/*
Theme Name: Skåneländska Flaggans Dag
Theme URI: https://www.skaneflaggan.nu
Author: Stiftelsen Skåneländska Flaggans Dag
Author URI: https://www.skaneflaggan.nu
Description: Elegant, editorial WordPress theme for Stiftelsen Skåneländska Flaggans Dag — firandet av den rödgula korsflaggan och utnämningen av Årets skåning. Sidor byggs och redigeras helt visuellt med WordPress blockredigerare (Gutenberg). Pristagare hanteras som egna, redigerbara inlägg (Vinnare).
Version: 1.0.0
Requires at least: 6.3
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: skaneflaggan
Tags: foundation, editorial, custom-post-type, block-editor, full-width, translation-ready
*/

/* =============================================================
   NOTE FOR EDITORS
   -------------------------------------------------------------
   The block below (until "WORDPRESS BRIDGE") is the original
   design system for the site. You normally do not need to touch
   it — colours, fonts and spacing all live here as CSS variables
   at the top (:root). Change --red, --gold etc. to re-skin.
   ============================================================= */

/* =============================================================
   Stiftelsen Skåneländska Flaggans Dag — Design System
   Sleek · minimalist · editorial. Cream base, deep Skåne red
   as structural accent, Skåne gold used sparingly for links.
   ============================================================= */

:root{
  --cream:      #FBF8F2;
  --cream-2:    #F4EEE3;
  --white:      #ffffff;
  --ink:        #1E1B18;
  --ink-soft:   #3d3833;
  --muted:      #736c62;
  --line:       #E7DFD1;

  --red:        #A81C2C;   /* deep Skåne red */
  --red-600:    #921626;
  --red-700:    #79111F;   /* footer / darkest */
  --red-tint:   #F6E9EA;

  --gold:       #C98A12;   /* Skåne gold — interactive only */
  --gold-bright:#E4A61C;

  --shadow-sm: 0 1px 2px rgba(30,27,24,.06), 0 2px 8px rgba(30,27,24,.05);
  --shadow-md: 0 6px 24px rgba(30,27,24,.10);
  --shadow-lg: 0 24px 60px rgba(30,27,24,.16);

  --radius:   14px;
  --radius-sm: 9px;
  --maxw: 1180px;
  --serif: "Fraunces", Georgia, "Times New Roman", serif;
  --sans:  "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--cream);
  line-height:1.65;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ max-width:100%; display:block; }
a{ color:var(--red-600); text-decoration:none; transition:color .18s ease; }
a:hover{ color:var(--gold); }

h1,h2,h3,h4{ font-family:var(--serif); font-weight:600; color:var(--ink); line-height:1.12; letter-spacing:-.01em; margin:0 0 .5em; }
h1{ font-size:clamp(2.3rem,5.2vw,4rem); font-weight:600; }
h2{ font-size:clamp(1.7rem,3.4vw,2.6rem); }
h3{ font-size:1.35rem; }
p{ margin:0 0 1.1em; }

.container{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 24px; }
.narrow{ max-width:760px; }
.section{ padding:clamp(56px,9vw,116px) 0; }
.center{ text-align:center; }
.eyebrow{
  font-family:var(--sans); font-weight:600; font-size:.78rem;
  letter-spacing:.22em; text-transform:uppercase; color:var(--red);
  margin:0 0 18px;
}
.lead{ font-size:1.2rem; color:var(--ink-soft); }
.muted{ color:var(--muted); }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.55em;
  font-family:var(--sans); font-weight:600; font-size:.98rem;
  padding:.85em 1.6em; border-radius:100px; cursor:pointer;
  border:1.5px solid transparent; transition:all .2s ease; line-height:1;
}
.btn-primary{ background:var(--red); color:#fff; box-shadow:var(--shadow-sm); }
.btn-primary:hover{ background:var(--red-600); color:#fff; transform:translateY(-2px); box-shadow:var(--shadow-md); }
.btn-outline{ border-color:var(--ink); color:var(--ink); background:transparent; }
.btn-outline:hover{ border-color:var(--gold); color:var(--gold); background:transparent; }
.btn-light{ background:#fff; color:var(--red-600); }
.btn-light:hover{ background:var(--cream-2); color:var(--red-700); transform:translateY(-2px); }
.btn .arrow{ transition:transform .2s ease; }
.btn:hover .arrow{ transform:translateX(4px); }

.textlink{
  font-weight:600; color:var(--gold); display:inline-flex; align-items:center; gap:.4em;
  border-bottom:1px solid transparent; padding-bottom:1px;
}
.textlink:hover{ color:var(--gold-bright); border-color:var(--gold-bright); }

/* ---------- Header / Nav ---------- */
.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(251,248,242,.82);
  backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid var(--line);
}
.nav{ display:flex; align-items:center; justify-content:space-between; height:74px; }
.brand{ display:flex; align-items:center; gap:12px; color:var(--ink); }
.brand:hover{ color:var(--ink); }
.brand .mark{
  width:30px; height:30px; border-radius:5px; flex:0 0 auto;
  background:
    linear-gradient(var(--gold),var(--gold)) center/100% 34% no-repeat,
    linear-gradient(90deg, var(--gold) 0 33%, transparent 0) center/34% 100% no-repeat,
    var(--red);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);
}
.brand b{ font-family:var(--serif); font-size:1.1rem; font-weight:600; letter-spacing:-.01em; }
.brand span{ display:block; font-family:var(--sans); font-size:.66rem; letter-spacing:.19em; text-transform:uppercase; color:var(--muted); font-weight:600; margin-top:1px; }
.nav-links{ display:flex; align-items:center; gap:6px; list-style:none; margin:0; padding:0; }
.nav-links a{
  color:var(--ink-soft); font-weight:500; font-size:.96rem;
  padding:.5em .85em; border-radius:8px; position:relative;
}
.nav-links a:hover{ color:var(--red); background:rgba(168,28,44,.05); }
.nav-links a.active{ color:var(--red); }
.nav-links a.active::after{
  content:""; position:absolute; left:.85em; right:.85em; bottom:.15em; height:2px;
  background:var(--gold); border-radius:2px;
}
.nav-cta{ margin-left:10px; }
.nav-toggle{ display:none; background:none; border:0; cursor:pointer; padding:8px; }
.nav-toggle span{ display:block; width:24px; height:2px; background:var(--ink); margin:5px 0; border-radius:2px; transition:.25s; }

/* ---------- Hero ---------- */
.hero{ position:relative; background:var(--cream); overflow:hidden; }
.hero-grid{
  display:grid; grid-template-columns:1.05fr 1fr; gap:56px; align-items:center;
  padding:clamp(48px,7vw,96px) 0;
}
.hero-badge{
  display:inline-flex; align-items:center; gap:.55em;
  background:#fff; border:1px solid var(--line); color:var(--red);
  font-weight:600; font-size:.82rem; letter-spacing:.04em;
  padding:.5em 1em; border-radius:100px; box-shadow:var(--shadow-sm); margin-bottom:26px;
}
.hero-badge .dot{ width:7px; height:7px; border-radius:50%; background:var(--gold); }
.hero h1{ margin-bottom:.35em; }
.hero h1 em{ font-style:italic; color:var(--red); font-weight:500; }
.hero p{ font-size:1.18rem; color:var(--ink-soft); max-width:34ch; }
.hero-actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
.hero-media{ position:relative; }
.hero-media img{
  width:100%; border-radius:20px; box-shadow:var(--shadow-lg);
  aspect-ratio:4/3; object-fit:cover; object-position:center top;
}
.hero-media .caption{
  position:absolute; left:18px; bottom:18px; right:18px;
  background:rgba(30,27,24,.62); backdrop-filter:blur(6px); color:#fff;
  border-radius:12px; padding:12px 16px; font-size:.86rem;
}
.hero-media .caption b{ display:block; font-family:var(--serif); font-size:1.05rem; }
.hero-media .caption span{ color:#f0d9a0; }

/* subtle flag stripe motif */
.flagstripe{ height:6px; background:var(--red); position:relative; }
.flagstripe::before{ content:""; position:absolute; inset:0; background:
   repeating-linear-gradient(90deg, transparent 0 60px, rgba(255,255,255,.15) 60px 61px); }

/* ---------- Feature / About ---------- */
.feature{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,6vw,80px); align-items:center; }
.feature-media{ position:relative; }
.feature-media img{ border-radius:16px; box-shadow:var(--shadow-md); }
.feature-media .flagchip{
  position:absolute; right:-16px; top:-16px; width:84px; height:56px; border-radius:8px;
  box-shadow:var(--shadow-md); background:
    linear-gradient(var(--gold),var(--gold)) center/100% 30% no-repeat,
    linear-gradient(90deg, var(--gold) 0 34%, transparent 0) 42% center/34% 100% no-repeat,
    var(--red);
  border:3px solid #fff;
}
.stats{ display:flex; gap:34px; margin-top:28px; flex-wrap:wrap; }
.stat b{ font-family:var(--serif); font-size:2.2rem; color:var(--red); display:block; line-height:1; }
.stat span{ font-size:.85rem; color:var(--muted); letter-spacing:.02em; }

/* ---------- Bands ---------- */
.band-cream{ background:var(--cream-2); }
.band-white{ background:var(--white); }
.divider{ height:1px; background:var(--line); border:0; margin:0; }

/* ---------- CTA ---------- */
.cta{ background:var(--red); color:#fff; border-radius:24px; padding:clamp(40px,6vw,72px); position:relative; overflow:hidden; }
.cta::after{
  content:""; position:absolute; right:-60px; top:-60px; width:260px; height:260px; border-radius:50%;
  background:radial-gradient(circle at center, rgba(230,166,28,.35), transparent 70%);
}
.cta h2{ color:#fff; }
.cta p{ color:rgba(255,255,255,.85); max-width:52ch; }
.cta .eyebrow{ color:var(--gold-bright); }
.cta-inner{ position:relative; z-index:1; }

/* ---------- Page header ---------- */
.page-head{ background:var(--cream-2); border-bottom:1px solid var(--line); padding:clamp(48px,7vw,90px) 0 clamp(40px,6vw,70px); }
.page-head .eyebrow{ color:var(--red); }
.page-head p{ font-size:1.15rem; color:var(--ink-soft); max-width:62ch; }
.breadcrumb{ font-size:.82rem; color:var(--muted); margin-bottom:18px; letter-spacing:.02em; }
.breadcrumb a{ color:var(--muted); }
.breadcrumb a:hover{ color:var(--red); }

/* ---------- Flag storytelling (alternating) ---------- */
.story{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(34px,6vw,76px); align-items:center; margin-bottom:clamp(48px,7vw,96px); }
.story:last-child{ margin-bottom:0; }
.story.reverse .story-text{ order:2; }
.story.reverse .story-media{ order:1; }
.story-media img{ border-radius:16px; box-shadow:var(--shadow-md); width:100%; }
.story-media figcaption{ font-size:.82rem; color:var(--muted); margin-top:10px; text-align:center; font-style:italic; }
.story-text .num{ font-family:var(--serif); font-size:.95rem; color:var(--gold); font-weight:600; letter-spacing:.04em; }
.story-text h2{ margin-top:6px; }

/* ---------- Winners: timeline + grid ---------- */
.filters{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:44px; }
.filter{
  border:1.5px solid var(--line); background:#fff; color:var(--ink-soft);
  font-family:var(--sans); font-weight:600; font-size:.9rem; padding:.5em 1.15em;
  border-radius:100px; cursor:pointer; transition:.18s;
}
.filter:hover{ border-color:var(--gold); color:var(--gold); }
.filter.active{ background:var(--red); border-color:var(--red); color:#fff; }

.winners-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.wcard{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; box-shadow:var(--shadow-sm); display:flex; flex-direction:column;
  transition:transform .22s ease, box-shadow .22s ease;
}
.wcard:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); }
.wcard-photo{ position:relative; aspect-ratio:4/3; background:var(--cream-2); overflow:hidden; }
.wcard-photo img{ width:100%; height:100%; object-fit:cover; object-position:center top; transition:transform .4s ease; }
.wcard:hover .wcard-photo img{ transform:scale(1.04); }
.wcard-photo .noimg{
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  background:
    linear-gradient(var(--gold),var(--gold)) center/100% 26% no-repeat,
    linear-gradient(90deg, var(--gold) 0 34%, transparent 0) 40% center/30% 100% no-repeat,
    var(--red);
  opacity:.9;
}
.wcard-photo .noimg span{ background:rgba(0,0,0,.28); color:#fff; padding:.4em 1em; border-radius:100px; font-size:.8rem; font-weight:600; }
.wcard-year{
  position:absolute; top:12px; left:12px; background:rgba(30,27,24,.72); color:#fff;
  font-family:var(--serif); font-weight:600; font-size:.95rem; padding:.25em .7em; border-radius:7px;
  backdrop-filter:blur(4px);
}
.wcard-body{ padding:20px 20px 22px; display:flex; flex-direction:column; flex:1; }
.wcard-cat{ font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-bottom:6px; }
.wcard-body h3{ font-size:1.22rem; margin-bottom:8px; }
.wcard-body p{ font-size:.93rem; color:var(--muted); margin-bottom:18px; }
.wcard-actions{ margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:6px; border-top:1px solid var(--line); }
.wcard-actions .btn{ padding:.6em 1.15em; font-size:.85rem; }

/* ---------- Team ---------- */
.team-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.member{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:26px 22px; text-align:center; box-shadow:var(--shadow-sm); }
.member .avatar{
  width:76px; height:76px; border-radius:50%; margin:0 auto 16px;
  display:flex; align-items:center; justify-content:center;
  background:var(--cream-2); color:var(--red); font-family:var(--serif); font-size:1.5rem; font-weight:600;
  border:2px solid var(--line);
}
.member h3{ font-size:1.1rem; margin-bottom:3px; }
.member .role{ color:var(--red); font-weight:600; font-size:.86rem; }
.member .place{ color:var(--muted); font-size:.82rem; margin-top:2px; }

/* ---------- Accordion / FAQ ---------- */
.accordion{ border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:#fff; }
.acc-item + .acc-item{ border-top:1px solid var(--line); }
.acc-head{
  width:100%; text-align:left; background:none; border:0; cursor:pointer;
  padding:22px 24px; font-family:var(--serif); font-size:1.15rem; font-weight:600; color:var(--ink);
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.acc-head:hover{ color:var(--red); }
.acc-icon{ flex:0 0 auto; width:24px; height:24px; position:relative; transition:transform .25s; }
.acc-icon::before,.acc-icon::after{ content:""; position:absolute; background:var(--red); border-radius:2px; }
.acc-icon::before{ top:11px; left:3px; right:3px; height:2px; }
.acc-icon::after{ left:11px; top:3px; bottom:3px; width:2px; transition:opacity .25s; }
.acc-item.open .acc-icon::after{ opacity:0; }
.acc-panel{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
.acc-panel-inner{ padding:0 24px 24px; color:var(--ink-soft); }
.acc-panel-inner ol,.acc-panel-inner ul{ padding-left:1.2em; }
.acc-panel-inner li{ margin-bottom:.5em; }
.acc-panel-inner .para{ margin-bottom:1em; }

/* ---------- Contact ---------- */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.field{ margin-bottom:18px; }
.field label{ display:block; font-weight:600; font-size:.88rem; margin-bottom:7px; color:var(--ink-soft); }
.field input,.field textarea,.field select{
  width:100%; font-family:var(--sans); font-size:1rem; color:var(--ink);
  padding:.8em 1em; border:1.5px solid var(--line); border-radius:10px; background:#fff; transition:.18s;
}
.field input:focus,.field textarea:focus,.field select:focus{ outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(201,138,18,.15); }
.field textarea{ resize:vertical; min-height:130px; }
.form-note{ font-size:.82rem; color:var(--muted); margin-top:6px; }
.form-success{ display:none; background:var(--red-tint); border:1px solid #e5c9cd; color:var(--red-700); padding:16px 18px; border-radius:12px; margin-bottom:18px; }
.form-success.show{ display:block; }
.contact-card{ background:var(--cream-2); border:1px solid var(--line); border-radius:var(--radius); padding:32px; }
.contact-line{ display:flex; gap:14px; align-items:flex-start; margin-bottom:22px; }
.contact-line:last-child{ margin-bottom:0; }
.contact-line .ico{ flex:0 0 auto; width:42px; height:42px; border-radius:10px; background:#fff; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--red); }
.contact-line b{ display:block; font-size:.98rem; }
.contact-line a{ font-weight:600; }

/* ---------- Winner CMS template ---------- */
.winner-hero{ background:var(--cream-2); border-bottom:1px solid var(--line); }
.winner-hero-grid{ display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(30px,5vw,64px); align-items:center; padding:clamp(40px,6vw,80px) 0; }
.winner-hero-media img{ border-radius:18px; box-shadow:var(--shadow-lg); width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center top; }
.winner-hero .award-year{ font-family:var(--serif); color:var(--red); font-size:1.15rem; font-weight:600; }
.winner-hero h1{ margin:.15em 0 .25em; }
.winner-hero .cat{ font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); font-weight:700; }
.winner-bio{ font-size:1.08rem; color:var(--ink-soft); }
.winner-bio h2{ font-size:1.5rem; margin-top:1.4em; }
.winner-motivation{ border-left:3px solid var(--gold); padding:6px 0 6px 24px; font-family:var(--serif); font-size:1.4rem; font-style:italic; color:var(--ink); margin:8px 0 32px; }
.winner-nav{ display:flex; justify-content:space-between; gap:16px; margin-top:48px; padding-top:28px; border-top:1px solid var(--line); }

/* ---------- Footer ---------- */
.site-footer{ background:var(--red-700); color:rgba(255,255,255,.82); padding:64px 0 30px; }
.footer-top{ display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:40px; padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,.14); }
.site-footer .brand b, .site-footer .brand{ color:#fff; }
.site-footer .brand span{ color:rgba(255,255,255,.6); }
.footer-about{ max-width:38ch; font-size:.95rem; margin-top:18px; }
.footer-col h4{ color:#fff; font-family:var(--sans); font-size:.8rem; letter-spacing:.16em; text-transform:uppercase; margin-bottom:16px; font-weight:700; }
.footer-col ul{ list-style:none; margin:0; padding:0; }
.footer-col li{ margin-bottom:10px; }
.footer-col a{ color:rgba(255,255,255,.82); font-size:.95rem; }
.footer-col a:hover{ color:var(--gold-bright); }
.footer-bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding-top:24px; font-size:.85rem; color:rgba(255,255,255,.6); }

/* ---------- Reveal on scroll ---------- */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease; }
.reveal.in{ opacity:1; transform:none; }

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .hero-grid,.feature,.story,.contact-grid,.winner-hero-grid,.footer-top{ grid-template-columns:1fr; }
  .story.reverse .story-text{ order:1; } .story.reverse .story-media{ order:2; }
  .winners-grid{ grid-template-columns:repeat(2,1fr); }
  .team-grid{ grid-template-columns:repeat(2,1fr); }
  .hero-media{ order:-1; }
  .feature-media{ order:-1; }
  .footer-top{ gap:32px; }
}
@media (max-width:640px){
  body{ font-size:16px; }
  .nav-links{
    position:fixed; inset:74px 0 auto 0; flex-direction:column; align-items:stretch;
    background:var(--cream); border-bottom:1px solid var(--line); padding:14px 24px 22px; gap:2px;
    box-shadow:var(--shadow-md); transform:translateY(-140%); transition:transform .3s ease; z-index:99;
  }
  .nav-links.open{ transform:none; }
  .nav-links a{ padding:.8em .4em; font-size:1.05rem; }
  .nav-links a.active::after{ display:none; }
  .nav-cta{ margin-left:0; margin-top:6px; }
  .nav-toggle{ display:block; }
  .winners-grid{ grid-template-columns:1fr; }
  .team-grid{ grid-template-columns:1fr; }
  .stats{ gap:22px; }
}

/* =============================================================
   WORDPRESS BRIDGE
   -------------------------------------------------------------
   Makes the native Gutenberg block editor output look like the
   original design. The page content is built from core blocks
   (headings, paragraphs, images, buttons, columns, groups,
   details) so everything is editable visually — this section
   maps those blocks onto the design system above.
   ============================================================= */

/* Main content is full-width; each section/band manages its own
   width through the .container helper. */
.site-main{ width:100%; }
.site-main > *{ margin-block:0; }

/* Core block width helpers so a group can act as a section band. */
.wp-block-group.section{ padding:clamp(56px,9vw,116px) 0; }
.wp-block-group.container,
.wp-block-group.page-head > .wp-block-group.container{ max-width:var(--maxw); }
.wp-block-group.is-layout-flow.container > *{ margin-block:0; }

/* Reasonable default rhythm inside text columns */
.wp-block-group.narrow{ max-width:760px; }

/* Images placed as blocks keep the editorial rounded look */
.entry-content .wp-block-image img,
.wp-block-image.story-media img,
.wp-block-image.feature-media img{ border-radius:16px; }
.wp-block-image{ margin:0; }
.wp-block-image figcaption{ font-size:.82rem; color:var(--muted); margin-top:10px; text-align:center; font-style:italic; }

/* ---- Buttons: map core button block onto .btn styles ---- */
.wp-block-button__link{
  display:inline-flex; align-items:center; gap:.55em;
  font-family:var(--sans); font-weight:600; font-size:.98rem;
  padding:.85em 1.6em; border-radius:100px; cursor:pointer;
  border:1.5px solid transparent; transition:all .2s ease; line-height:1;
  background:var(--red); color:#fff; box-shadow:var(--shadow-sm); text-decoration:none;
}
.wp-block-button__link:hover{ background:var(--red-600); color:#fff; transform:translateY(-2px); box-shadow:var(--shadow-md); }
.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent; border-color:var(--ink); color:var(--ink); box-shadow:none;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover{ border-color:var(--gold); color:var(--gold); background:transparent; transform:none; }

/* Buttons inside the red CTA band */
.cta .wp-block-button__link{ background:#fff; color:var(--red-600); }
.cta .wp-block-button__link:hover{ background:var(--cream-2); color:var(--red-700); }
.cta .wp-block-button.is-style-outline .wp-block-button__link{ background:transparent; border-color:rgba(255,255,255,.6); color:#fff; }
.cta .wp-block-button.is-style-outline .wp-block-button__link:hover{ border-color:#fff; color:#fff; }

/* Core buttons group spacing */
.wp-block-buttons{ gap:14px; margin-top:34px; }

/* ---- Details block styled as the FAQ accordion ---- */
.wp-block-details{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  padding:0; margin:0 0 -1px; overflow:hidden;
}
.wp-block-details + .wp-block-details{ border-top:0; }
.wp-block-details summary{
  list-style:none; cursor:pointer;
  padding:22px 24px; font-family:var(--serif); font-size:1.15rem; font-weight:600; color:var(--ink);
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.wp-block-details summary::-webkit-details-marker{ display:none; }
.wp-block-details summary::after{
  content:"+"; color:var(--red); font-family:var(--sans); font-size:1.4rem; line-height:1; flex:0 0 auto;
}
.wp-block-details[open] summary::after{ content:"–"; }
.wp-block-details summary:hover{ color:var(--red); }
.wp-block-details > *:not(summary){ padding:0 24px; color:var(--ink-soft); }
.wp-block-details > *:last-child{ padding-bottom:24px; }
.wp-block-details ol, .wp-block-details ul{ padding-left:1.2em; }
.wp-block-details li{ margin-bottom:.5em; }
/* Wrap the whole FAQ list so the accordion reads as one card */
.faq-list{ border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.faq-list .wp-block-details{ border-left:0; border-right:0; border-radius:0; }
.faq-list .wp-block-details:first-child{ border-top:0; }

/* ---- Columns fallbacks ---- */
.wp-block-columns{ gap:clamp(36px,6vw,80px); align-items:center; }

/* Divider block */
.wp-block-separator.divider-line{ height:1px; background:var(--line); border:0; opacity:1; margin:0; max-width:none; }

/* Keep classic grids working when built from groups */
.wp-block-group.hero-grid,
.wp-block-group.feature,
.wp-block-group.contact-grid,
.wp-block-group.winner-hero-grid{ display:grid; }
.wp-block-group.stats{ display:flex; }
.wp-block-group.team-grid,
.wp-block-group.winners-grid{ display:grid; }

/* Reveal-on-scroll: never hide content if JS is disabled or in editor */
.no-js .reveal, .block-editor-page .reveal{ opacity:1; transform:none; }

/* ---- WordPress nav-menu integration ---- */
.nav-links li{ list-style:none; }
.nav-links .current-menu-item > a,
.nav-links .current_page_item > a,
.nav-links .current-menu-parent > a{ color:var(--red); }
.nav-links .current-menu-item > a::after,
.nav-links .current_page_item > a::after{
  content:""; position:absolute; left:.85em; right:.85em; bottom:.15em; height:2px;
  background:var(--gold); border-radius:2px;
}
.nav-links .nav-cta{ margin-left:10px; }
.nav-links .nav-cta > a{
  background:var(--red); color:#fff; border-radius:100px;
  box-shadow:var(--shadow-sm); padding:.6em 1.25em;
}
.nav-links .nav-cta > a:hover{ background:var(--red-600); color:#fff; }
.nav-links .nav-cta > a::after{ display:none !important; }
.site-header .custom-logo{ width:34px; height:34px; border-radius:6px; }
