/*
Theme Name: Loge Sint Jan
Theme URI: https://sintjanloge.nl/
Description: Editorial block child theme for Loge Sint Jan.
Author: Loge Sint Jan
Template: twentytwentyfive
Version: 0.4.2
Requires at least: 6.7
Text Domain: sintjan
*/

:root { color-scheme: light; }
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
a { text-underline-offset: .16em; }
:focus-visible { outline: 3px solid var(--wp--preset--color--brass); outline-offset: 3px; }
.wp-site-blocks { overflow: clip; }
.sintjan-header { border-bottom: 1px solid rgba(23,38,59,.13); }
.sintjan-wordmark a { text-decoration: none; letter-spacing: .025em; }
.sintjan-footer { border-top: 1px solid rgba(23,38,59,.14); }
.sintjan-eyebrow { letter-spacing: .15em; text-transform: uppercase; font-size: .78rem; font-weight: 650; }
.sintjan-hero { position: relative; }
.sintjan-hero h1 { max-width: 17ch; text-wrap: balance; }
.sintjan-hero p { max-width: 60ch; }
.sintjan-cards { align-items: stretch; }
.sintjan-card { height: 100%; border-top: 2px solid var(--wp--preset--color--brass); }
.sintjan-card h3 { margin-top: 0; }
.sintjan-card p:last-child { margin-bottom: 0; }
.sintjan-quote { border-left: 3px solid var(--wp--preset--color--brass); }
.wp-block-navigation .wp-block-navigation-item__content:hover { text-decoration: underline; text-underline-offset: .25em; }
.wp-block-post-title a { text-decoration: none; }
@media (max-width: 781px) {
 .sintjan-hero { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; }
 .sintjan-hero h1 { font-size: clamp(2.5rem, 10vw, 4.25rem) !important; }
 .sintjan-header .wp-block-site-title { font-size: 1.1rem; }
 .sintjan-cards { gap: 1rem !important; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

.sintjan-footer a { color: inherit; }
.sintjan-footer .wp-block-site-title a { color: var(--wp--preset--color--white); }

/* Footer: content-led, accessible, responsive. */
.sintjan-footer { color:var(--wp--preset--color--white); }
.sintjan-footer-inner { padding-block:clamp(3.5rem,6vw,6rem) 1.6rem; }
.sintjan-footer .sintjan-footer-grid { align-items:flex-start; }
.sintjan-footer .sintjan-footer-title { font-family:var(--wp--preset--font-family--serif); font-size:clamp(1.65rem,2.6vw,2.2rem); margin:0 0 1rem; }
.sintjan-footer .sintjan-footer-lead { max-width:31ch; line-height:1.65; color:#d6dce4; }
.sintjan-footer .sintjan-footer-motto { margin-top:1.6rem; color:#d9bd88; font-family:var(--wp--preset--font-family--serif); font-size:1.25rem; }
.sintjan-footer .sintjan-footer-heading { color:#d9bd88; font:700 .8rem/1.4 var(--wp--preset--font-family--sans); letter-spacing:.11em; text-transform:uppercase; margin:0 0 1.25rem; }
.sintjan-footer .sintjan-footer-links { padding:0; margin:0; list-style:none; }
.sintjan-footer .sintjan-footer-links li { margin:0 0 .65rem; }
.sintjan-footer .sintjan-footer-address { font-style:normal; line-height:1.85; margin:0 0 1rem; }
.sintjan-footer .sintjan-footer-small-link { margin:0 0 .55rem; }
.sintjan-footer .sintjan-footer-social { margin:0; }
.sintjan-footer .sintjan-footer-social-label { margin-top:.8rem; }
.sintjan-footer a { color:inherit; text-decoration-thickness:1px; text-underline-offset:.23em; }
.sintjan-footer a:hover { color:#e5c68e; }
.sintjan-footer .wp-block-social-link a:hover { color:var(--wp--preset--color--navy); }
.sintjan-footer .sintjan-footer-rule { margin:clamp(2.2rem,4vw,3.5rem) 0 1.3rem; border-color:rgba(255,255,255,.25); }
.sintjan-footer .sintjan-footer-bottom { gap:.5rem 2rem; color:#cad2dc; font-size:.8rem; }
.sintjan-footer .sintjan-footer-bottom p { margin:0; }
@media (max-width:781px) { .sintjan-footer-inner { padding-block:3rem 1.5rem; } .sintjan-footer-grid { gap:2rem !important; } }

/* v0.4: page measure is for reading; structural regions use the wide measure. */
:root { --sintjan-wide: 1360px; --sintjan-gutter: clamp(1.25rem, 3.4vw, 3.5rem); }
.sintjan-header > .alignwide,
.sintjan-footer > .alignwide {
  box-sizing: border-box;
  width: calc(100% - 2 * var(--sintjan-gutter));
  max-width: var(--sintjan-wide);
  margin-inline: auto;
}
/* CSS grid avoids Gutenberg's percentage flex-basis + column-gap squeeze. */
.sintjan-footer .sintjan-footer-grid.wp-block-columns {
  display: grid;
  grid-template-columns: minmax(15rem, 1.55fr) minmax(10rem, 1fr) minmax(13rem, 1.1fr) minmax(8rem, .7fr);
  column-gap: clamp(1.5rem, 3.1vw, 3.5rem);
  row-gap: 2.5rem;
}
.sintjan-footer .sintjan-footer-grid > .wp-block-column {
  min-width: 0;
  width: auto;
  flex-basis: auto !important;
  margin: 0;
}
/* Lodge green is deliberately introduced without replacing Masonic navy. */
.sintjan-header { border-top: 4px solid var(--wp--preset--color--heritage); }
.sintjan-wordmark a { color: var(--wp--preset--color--forest); }
.sintjan-card { border-top-color: var(--wp--preset--color--heritage); }
.sintjan-quote { border-left-color: var(--wp--preset--color--heritage); }
.sintjan-footer { border-top: 5px solid var(--wp--preset--color--heritage); }
.sintjan-footer .sintjan-footer-heading { color: #A9D5BC; }
.sintjan-footer a:hover { color: #BDE4CB; }
.wp-block-button__link:hover { filter: brightness(1.12); }
:focus-visible { outline-color: var(--wp--preset--color--heritage); }
@media (max-width: 1050px) {
  .sintjan-footer .sintjan-footer-grid.wp-block-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .sintjan-footer .sintjan-footer-grid.wp-block-columns {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 2rem;
  }
}

/* v0.4.1 — separate structural width from the reading measure.
   A wide Group with constrained children still constrains those children. */
.sintjan-main,
.sintjan-main-content {
  width: 100%;
  max-width: none;
}
.sintjan-main-content > .alignwide,
.sintjan-wide-section {
  box-sizing: border-box;
  width: min(calc(100% - 2 * var(--sintjan-gutter)), var(--sintjan-wide));
  max-width: none;
  margin-inline: auto;
}
/* The footer's grid, divider and utility bar share a single width. */
.sintjan-footer > .sintjan-footer-inner,
.sintjan-footer .sintjan-footer-inner {
  box-sizing: border-box;
  width: min(calc(100% - 2 * var(--sintjan-gutter)), var(--sintjan-wide));
  max-width: none;
  margin-inline: auto;
}
.sintjan-footer-inner > .sintjan-footer-grid,
.sintjan-footer-inner > .sintjan-footer-rule,
.sintjan-footer-inner > .sintjan-footer-bottom {
  width: 100%;
  max-width: none;
}
.sintjan-footer .sintjan-footer-bottom {
  justify-content: space-between;
}
/* Allow editorial intros to remain a comfortable line length in wide sections. */
.sintjan-wide-section > p:not(.alignwide),
.sintjan-wide-section > h2:not(.alignwide) {
  max-width: 760px;
}


/* v0.4.2 — homepage sections should use the structural width, not the reading width. */
.home .sintjan-main-content {
  width: 100%;
  max-width: none;
}
.home .sintjan-main-content > .alignfull,
.home .sintjan-main-content > .alignwide {
  margin-block: 0;
}
.home .sintjan-main-content > .alignfull > .alignwide,
.home .sintjan-main-content > .alignfull > .sintjan-wide-section,
.home .sintjan-main-content > .alignwide,
.home .sintjan-main-content > .sintjan-wide-section {
  box-sizing: border-box;
  width: min(calc(100% - 2 * var(--sintjan-gutter)), var(--sintjan-wide));
  max-width: none;
  margin-inline: auto;
}
.home .sintjan-main-content .sintjan-card {
  padding-right: 1rem;
}
.sintjan-footer .sintjan-footer-social-links {
  margin-top: .9rem;
}
.sintjan-footer .sintjan-footer-social-links li {
  margin: 0 0 .55rem;
}
