/*
Theme Name: AoP
Theme URI: https://tencrucialdays250.org
Description: tencrucialdays250
Author: AoP
Version: 1.0
*/

/* ─── TOKENS ──────────────────────────────────────────────── */
:root{
	--buff:#C8A96E;
	--buff-lt:#E8D5A8;
	--buff-dk:#8B6E3A;
	--blue:#2B3A6B;
	--blue-lt:#4A5E9E;
	--blue-dk:#1A2444;
	--red:#9B1C1C;
	--red-lt:#C42B2B;
	--red-dk:#6B0E0E;
	--cream:#F5EDD8;
	--dark:#0E1220;
	--mid:#141B30;
	--white:#FAFAF5;
	--border:rgba(200,169,110,0.18);
}

/* ─── RESET / BASE ───────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'EB Garamond',Georgia,serif;background:var(--dark);color:var(--cream);overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}

/* texture / grain */
body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.055'/%3E%3C/svg%3E");}

/* ─── NAVBAR (default: Discover/Visit) ──────────────────── */
#navbar{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem;height:72px;background:rgba(14,18,32,0.97);border-bottom:1px solid var(--border);}
.nav-logo img{height:50px;background:var(--buff-lt);}
.nav-links{display:flex;align-items:center;gap:0.1rem;list-style:none;}
.nav-links>li{position:relative;}
.nav-links>li>a{font-family:'Cinzel',serif;font-size:0.7rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--buff-lt);padding:0.5rem 0.9rem;display:block;transition:color 0.2s;}
.nav-links>li>a:hover,.nav-links>li>a.active{color:var(--buff);}
.dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(-4px);background:var(--blue-dk);border:1px solid var(--border);border-top:2px solid var(--buff);min-width:210px;list-style:none;opacity:0;pointer-events:none;transition:opacity 0.2s,transform 0.2s;}
.nav-links>li:hover .dropdown{opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0);}
.dropdown li a{font-family:'Cinzel',serif;font-size:0.63rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--buff-lt);padding:0.6rem 1.1rem;display:block;border-bottom:1px solid rgba(200,169,110,0.1);transition:background 0.15s,color 0.15s;}
.dropdown li:last-child a{border-bottom:none;}
.dropdown li a:hover{background:rgba(200,169,110,0.1);color:var(--buff);}
.nav-donate{font-family:'Cinzel',serif;font-size:0.68rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--dark)!important;background:var(--buff);padding:0.5rem 1.2rem!important;transition:background 0.2s!important;}
.nav-donate:hover{background:var(--buff-lt)!important;}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:0.5rem;}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--buff-lt);margin:5px 0;transition:0.3s;}

/* ─── NAVBAR overrides (Home / index.html) ─────────────── */
.page-home #navbar{align-items:normal;justify-content:space-between;background:rgba(14,18,32,0);border-bottom:1px solid transparent;transition:background 0.4s,border-color 0.4s;}
.page-home #navbar.scrolled{background:rgba(14,18,32,0.97);border-color:rgba(200,169,110,0.25);}
.page-home .nav-logo img{height:70px;background:var(--buff-lt);}
.page-home .nav-links{gap:0.25rem;}
.page-home .nav-links>li>a{font-size:0.72rem;padding:0.5rem 1rem;}
.page-home .dropdown{top:calc(100% + 2px);min-width:220px;border:1px solid rgba(200,169,110,0.3);transform:translateX(-50%) translateY(-6px);}
.page-home .dropdown li a{font-size:0.65rem;font-weight:400;padding:0.65rem 1.2rem;border-bottom:1px solid rgba(200,169,110,0.12);}
.page-home .dropdown li a:hover{background:rgba(200,169,110,0.12);}
.page-home .nav-donate{font-size:0.7rem;padding:0.55rem 1.3rem!important;border:none;}
.page-home .nav-donate:hover{color:var(--dark)!important;}
.page-home .nav-toggle span{width:26px;}

/* ─── BREADCRUMB (Discover/Visit) ─────────────────────── */
.breadcrumb{position:relative;z-index:1;padding:0.75rem 2.5rem;border-bottom:1px solid rgba(200,169,110,0.1);display:flex;align-items:center;gap:0.6rem;font-family:'Oswald',sans-serif;font-size:0.6rem;font-weight:300;letter-spacing:0.2em;text-transform:uppercase;color:rgba(200,169,110,0.4);}
.breadcrumb a{transition:color 0.2s;}
.breadcrumb a:hover{color:var(--buff);}
.breadcrumb-sep{color:rgba(200,169,110,0.25);}
.breadcrumb-current{color:var(--buff);}

/* ─── PAGE HEADER (Discover/Visit) ────────────────────── */
#page-header{position:relative;z-index:1;padding:8rem 2rem 4.5rem;text-align:center;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(26,36,68,0.6) 0%,transparent 100%);}
#page-header::before{content:'';position:absolute;inset:0;z-index:-1;background-image:url('https://picsum.photos/seed/battle-wide/1800/600');background-size:cover;background-position:center 30%;opacity:0.15;}
.page-label{font-family:'Oswald',sans-serif;font-size:0.65rem;font-weight:300;letter-spacing:0.35em;text-transform:uppercase;color:var(--buff);margin-bottom:0.75rem;}
.page-title{font-family:'Cinzel Decorative',serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;color:var(--white);text-shadow:0 2px 20px rgba(0,0,0,0.6);margin-bottom:1rem;}
.page-divider{width:80px;height:2px;background:linear-gradient(to right,transparent,var(--buff),transparent);margin:0 auto 1.5rem;}
.page-intro{font-family:'EB Garamond',serif;font-size:clamp(1rem,1.8vw,1.15rem);line-height:1.85;color:rgba(245,237,216,0.75);max-width:760px;margin:0 auto;}

/* ─── REVEAL (shared) ─────────────────────────────────── */
.reveal{opacity:0;transform:translateY(22px);transition:opacity 0.65s ease,transform 0.65s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ─── DISCOVER: tabs + panels ────────────────────────── */
#tab-bar{position:sticky;top:72px;z-index:900;background:var(--mid);border-bottom:1px solid var(--border);display:flex;justify-content:center;}
.tab-btn{font-family:'Cinzel',serif;font-size:0.72rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:rgba(200,169,110,0.5);background:none;border:none;padding:1.1rem 2.5rem;cursor:pointer;border-bottom:3px solid transparent;transition:color 0.2s,border-color 0.2s;position:relative;}
.tab-btn:hover{color:var(--buff-lt);}
.tab-btn.active{color:var(--buff);border-bottom-color:var(--buff);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.panel-inner{max-width:900px;margin:0 auto;padding:4rem 2rem 6rem;position:relative;z-index:1;}
.panel-inner.wide{max-width:1100px;}
.history-entry{display:grid;grid-template-columns:3px 1fr;gap:0 2.5rem;margin-bottom:0;position:relative;}
.history-entry+.history-entry{margin-top:0;}
.timeline-rail{width:3px;background:linear-gradient(to bottom,var(--buff-dk),rgba(139,110,58,0.15));position:relative;}
.timeline-rail::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:13px;height:13px;border-radius:50%;background:var(--buff);border:3px solid var(--dark);box-shadow:0 0 0 2px var(--buff-dk);}
.history-body{padding:0 0 3.5rem 0;}
.history-chapter{font-family:'Oswald',sans-serif;font-size:0.6rem;font-weight:400;letter-spacing:0.3em;text-transform:uppercase;color:var(--buff);margin-bottom:0.5rem;}
.history-heading{font-family:'Cinzel',serif;font-size:clamp(1.15rem,2.2vw,1.5rem);font-weight:700;color:var(--white);margin-bottom:1rem;line-height:1.25;}
.history-text{font-family:'EB Garamond',serif;font-size:clamp(1rem,1.6vw,1.1rem);line-height:1.9;color:rgba(245,237,216,0.72);}
.history-text em{font-style:italic;color:rgba(245,237,216,0.9);}
.pull-quote{border-left:3px solid var(--buff);margin:1.5rem 0;padding:0.75rem 1.5rem;background:rgba(200,169,110,0.05);}
.pull-quote p{font-family:'EB Garamond',serif;font-style:italic;font-size:1.1rem;color:var(--buff-lt);line-height:1.6;}
.pull-quote cite{display:block;margin-top:0.5rem;font-family:'Oswald',sans-serif;font-size:0.6rem;font-weight:300;letter-spacing:0.2em;text-transform:uppercase;color:var(--buff-dk);font-style:normal;}
.timeline-section-title{font-family:'Cinzel',serif;font-size:0.65rem;font-weight:700;letter-spacing:0.25em;text-transform:uppercase;color:var(--buff);padding:0.6rem 1.2rem;background:rgba(200,169,110,0.08);border-left:3px solid var(--buff);margin-bottom:0;}
.tl-phase{margin-bottom:2.5rem;}
.tl-phase-label{font-family:'Cinzel Decorative',serif;font-size:clamp(1.1rem,2vw,1.4rem);font-weight:700;color:var(--white);margin-bottom:1.2rem;padding-bottom:0.6rem;border-bottom:1px solid var(--border);}
.tl-phase-label span{color:var(--buff);}
.tl-entries{display:flex;flex-direction:column;gap:0;}
.tl-entry{display:grid;grid-template-columns:130px 1fr;gap:0;position:relative;}
.tl-entry+.tl-entry{border-top:1px solid rgba(200,169,110,0.08);}
.tl-date-col{padding:1.1rem 1.2rem 1.1rem 0;border-right:2px solid rgba(200,169,110,0.2);text-align:right;position:relative;}
.tl-date-col::after{content:'';position:absolute;top:50%;right:-5px;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:var(--buff-dk);border:2px solid var(--dark);}
.tl-date{font-family:'Cinzel',serif;font-size:0.72rem;font-weight:700;letter-spacing:0.05em;color:var(--buff);line-height:1.3;}
.tl-event-col{padding:1.1rem 0 1.1rem 1.5rem;}
.tl-event-text{font-family:'EB Garamond',serif;font-size:1rem;line-height:1.7;color:rgba(245,237,216,0.72);}
.tl-event-text em{font-style:italic;color:rgba(245,237,216,0.9);}
.tl-event-text strong{font-weight:600;color:var(--cream);}
.tl-entry.highlight .tl-date-col::after{background:var(--red);border-color:var(--dark);width:10px;height:10px;right:-6px;}
.tl-entry.highlight .tl-date{color:var(--buff-lt);}
.tl-entry.highlight .tl-event-col{background:rgba(155,28,28,0.07);}
.tl-entry.battle .tl-event-col{background:rgba(155,28,28,0.12);border-left:3px solid var(--red);}
.tl-battle-label{font-family:'Oswald',sans-serif;font-size:0.58rem;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:var(--red-lt);margin-bottom:0.3rem;}
.tl-empty{color:rgba(245,237,216,0.28);font-style:italic;}
.gallery-intro{text-align:center;margin-bottom:3rem;}
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;}
.gallery-card{position:relative;overflow:hidden;cursor:pointer;aspect-ratio:4/3;border:1px solid var(--border);transition:border-color 0.3s;}
.gallery-card:hover{border-color:var(--buff-dk);}
.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease;}
.gallery-card:hover img{transform:scale(1.05);}
.gallery-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(14,18,32,0.92) 0%,rgba(14,18,32,0.2) 60%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.8rem;transition:background 0.3s;}
.gallery-card:hover .gallery-card-overlay{background:linear-gradient(to top,rgba(14,18,32,0.96) 0%,rgba(14,18,32,0.4) 60%);}
.gallery-card-tag{font-family:'Oswald',sans-serif;font-size:0.58rem;font-weight:400;letter-spacing:0.28em;text-transform:uppercase;color:var(--buff);margin-bottom:0.4rem;}
.gallery-card-name{font-family:'Cinzel',serif;font-size:clamp(1rem,2vw,1.3rem);font-weight:700;color:var(--white);line-height:1.2;margin-bottom:0.5rem;}
.gallery-card-desc{font-family:'EB Garamond',serif;font-size:0.92rem;line-height:1.55;color:rgba(245,237,216,0.6);}
.gallery-card-cta{display:inline-flex;align-items:center;gap:0.4rem;margin-top:0.9rem;font-family:'Oswald',sans-serif;font-size:0.6rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--buff);transition:gap 0.2s;}
.gallery-card:hover .gallery-card-cta{gap:0.7rem;}
.gallery-card-cta::after{content:'→';}

/* ─── SCHEDULE: events list ─────────────────────────── */
.page-schedule .panel-inner{max-width:900px;}
.schedule-day{padding:1.75rem 0 0;border-top:1px solid rgba(200,169,110,0.12);margin-top:1.75rem;}
.schedule-day:first-of-type{border-top:none;margin-top:0;padding-top:0;}
.schedule-day-head{margin-bottom:1.25rem;text-align:left;}
.schedule-day-label{font-family:'Oswald',sans-serif;font-size:0.6rem;font-weight:400;letter-spacing:0.3em;text-transform:uppercase;color:rgba(200,169,110,0.55);margin-bottom:0.35rem;}
.schedule-day-date{font-family:'Cinzel Decorative',serif;font-size:clamp(1.4rem,2.8vw,2.05rem);font-weight:700;color:var(--white);line-height:1.2;}
.schedule-event{padding:1.35rem 0;border-bottom:1px solid rgba(200,169,110,0.1);}
.schedule-event:last-child{border-bottom:none;padding-bottom:0;}
.schedule-event-title{font-family:'Cinzel',serif;font-size:clamp(1.05rem,2vw,1.35rem);font-weight:700;color:var(--buff-lt);line-height:1.25;margin-bottom:0.6rem;}
.schedule-event-desc{font-family:'EB Garamond',serif;font-size:clamp(1rem,1.6vw,1.1rem);line-height:1.85;color:rgba(245,237,216,0.72);}
.schedule-event-meta{list-style:none;display:flex;flex-wrap:wrap;gap:0.5rem 1.25rem;margin-top:0.9rem;padding-left:0;}
.schedule-event-meta li{font-family:'Oswald',sans-serif;font-size:0.62rem;font-weight:300;letter-spacing:0.2em;text-transform:uppercase;color:rgba(200,169,110,0.62);position:relative;padding-left:0.9rem;}
.schedule-event-meta li::before{content:'•';position:absolute;left:0;top:0;color:rgba(200,169,110,0.35);}

/* ─── REGISTRATION: reenactor ────────────────────────── */
.page-registration .panel-inner{max-width:900px;}
.reg-card{border:1px solid rgba(200,169,110,0.14);background:rgba(255,255,255,0.02);padding:1.6rem 1.6rem 1.5rem;margin-bottom:1.35rem;}
.reg-card-title{font-family:'Cinzel',serif;font-size:0.8rem;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:var(--buff);margin-bottom:1rem;}
.reg-events{list-style:none;display:flex;flex-direction:column;gap:0.85rem;padding-left:0;}
.reg-events li{font-family:'EB Garamond',serif;font-size:clamp(1rem,1.6vw,1.1rem);line-height:1.7;color:rgba(245,237,216,0.75);}
.reg-date{font-family:'Oswald',sans-serif;font-size:0.62rem;font-weight:400;letter-spacing:0.2em;text-transform:uppercase;color:rgba(200,169,110,0.62);}
.reg-sep{margin:0 0.55rem;color:rgba(245,237,216,0.22);}
.reg-name{color:var(--cream);font-weight:600;}
.reg-note{margin-left:0.5rem;color:rgba(245,237,216,0.45);font-style:italic;}
.reg-links{list-style:none;display:flex;flex-direction:column;gap:0.75rem;padding-left:0;}
.reg-link{font-family:'Oswald',sans-serif;font-size:0.66rem;font-weight:400;letter-spacing:0.16em;text-transform:uppercase;color:var(--buff-lt);display:inline-flex;align-items:center;gap:0.45rem;border-bottom:1px solid rgba(200,169,110,0.35);padding-bottom:0.15rem;transition:color 0.2s,border-color 0.2s,gap 0.2s;}
.reg-link:hover{color:var(--buff);border-bottom-color:var(--buff);gap:0.65rem;}
.reg-link::after{content:'↗';font-size:0.75em;opacity:0.85;}
.reg-muted{font-family:'Oswald',sans-serif;font-size:0.62rem;font-weight:300;letter-spacing:0.2em;text-transform:uppercase;color:rgba(200,169,110,0.4);}
.reg-split{margin-top:1.1rem;}
.reg-split-head{margin:0.25rem 0 1.2rem;}
.reg-split-title{font-family:'Cinzel Decorative',serif;font-size:clamp(1.35rem,2.8vw,2.05rem);font-weight:700;color:var(--white);line-height:1.2;margin-bottom:0.35rem;}
.reg-split-sub{font-family:'EB Garamond',serif;font-size:1.05rem;line-height:1.7;color:rgba(245,237,216,0.65);max-width:60ch;}
.reg-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;align-items:stretch;}
.reg-card-cta{margin-bottom:0;}
.reg-card-kicker{font-family:'Oswald',sans-serif;font-size:0.6rem;font-weight:400;letter-spacing:0.3em;text-transform:uppercase;color:rgba(200,169,110,0.55);margin-bottom:0.5rem;}
.reg-card-title-sm{font-family:'Cinzel',serif;font-size:1.1rem;font-weight:700;color:var(--white);margin-bottom:0.6rem;line-height:1.25;}
.reg-card-body{font-family:'EB Garamond',serif;font-size:1rem;line-height:1.8;color:rgba(245,237,216,0.7);margin-bottom:1.1rem;}
.reg-btn{display:inline-flex;align-items:center;justify-content:center;gap:0.45rem;font-family:'Cinzel',serif;font-size:0.72rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;padding:0.95rem 1.35rem;background:rgba(155,28,28,0.9);color:var(--white);border:2px solid rgba(155,28,28,0.9);transition:background 0.2s,border-color 0.2s;cursor:pointer;}
.reg-btn:hover{background:rgba(196,43,43,0.95);border-color:rgba(196,43,43,0.95);}

/* ─── CONTACT ───────────────────────────────────────── */
.page-contact .panel-inner{max-width:1000px;}
.contact-lede{margin-bottom:1.25rem;}
.contact-h2{font-family:'Cinzel Decorative',serif;font-size:clamp(1.35rem,2.8vw,2.05rem);font-weight:700;color:var(--white);line-height:1.2;margin-bottom:0.55rem;}
.contact-h2-lg{font-size:clamp(1.65rem,3.2vw,2.45rem);}
.contact-p{font-family:'EB Garamond',serif;font-size:1.05rem;line-height:1.75;color:rgba(245,237,216,0.7);max-width:70ch;}
.contact-faq{margin-top:0.75rem;margin-bottom:4rem;}
.faq-list{display:flex;flex-direction:column;gap:0.85rem;margin-top:0.75rem;}
.contact-card{border:1px solid rgba(200,169,110,0.14);background:rgba(255,255,255,0.02);padding:1.6rem 1.6rem 1.5rem;}
.contact-card-title{font-family:'Cinzel',serif;font-size:0.8rem;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:var(--buff);margin-bottom:1rem;}
/* Contact form (Contact Form 7) */
.contact-form-wrap{width:100%;}
.contact-form-wrap .wpcf7{width:100%;}
.contact-form-wrap .wpcf7-form{display:flex;flex-direction:column;gap:1rem;}
.contact-form-wrap .wpcf7-form p{margin:0;display:flex;flex-direction:column;gap:1rem;}
.contact-form-wrap .wpcf7-form-control-wrap{display:block;width:100%;}
.contact-form-wrap input[type="text"], .contact-form-wrap input[type="number"],.contact-form-wrap input[type="email"],.contact-form-wrap textarea{width:100%;background:rgba(14,18,32,0.55);border:1px solid rgba(200,169,110,0.18);color:var(--cream);padding:0.9rem 0.95rem;font-family:'EB Garamond',serif;font-size:1rem;line-height:1.4;outline:none;transition:border-color 0.2s,box-shadow 0.2s;}
.contact-form-wrap input[type="text"]::placeholder,.contact-form-wrap input[type="email"]::placeholder,.contact-form-wrap textarea::placeholder{color:rgba(245,237,216,0.35);}
.contact-form-wrap input[type="text"]:focus,.contact-form-wrap input[type="email"]:focus,.contact-form-wrap textarea:focus{border-color:rgba(200,169,110,0.55);box-shadow:0 0 0 3px rgba(200,169,110,0.12);}
.contact-form-wrap textarea{resize:vertical;min-height:140px;}
.contact-form-wrap input[type="submit"]{display:inline-flex;align-items:center;justify-content:center;font-family:'Cinzel',serif;font-size:0.72rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;padding:0.95rem 1.35rem;background:rgba(155,28,28,0.9);color:var(--white);border:2px solid rgba(155,28,28,0.9);transition:background 0.2s,border-color 0.2s;cursor:pointer;}
.contact-form-wrap input[type="submit"]:hover{background:rgba(196,43,43,0.95);border-color:rgba(196,43,43,0.95);}
.contact-form-wrap .wpcf7-list-item{display:block}
.contact-form-wrap .wpcf7-spinner{display:none;}
.contact-form-wrap .wpcf7-response-output{margin-top:1rem;font-family:'EB Garamond',serif;font-size:0.95rem;padding:0.75rem 1rem;border-radius:2px;text-align:left;}
.contact-form-wrap .wpcf7-response-output.wpcf7-validation-errors{background:rgba(155,28,28,0.15);border:1px solid rgba(155,28,28,0.4);color:var(--red-lt);}
.contact-form-wrap .wpcf7-response-output.wpcf7-mail-sent-ok{background:rgba(139,110,58,0.15);border:1px solid rgba(200,169,110,0.4);color:var(--buff-lt);}
.contact-form-wrap .wpcf7-not-valid-tip{display:none;}
.contact-form-wrap .hidden-fields-container{display:none;}
.contact-form-wrap .screen-reader-response{position:absolute;left:-9999px;}
.faq-item{border:1px solid rgba(200,169,110,0.12);background:rgba(200,169,110,0.04);padding:0.95rem 1rem;}
.faq-q-static{font-family:'Cinzel',serif;font-size:1.02rem;font-weight:700;color:rgba(245,237,216,0.92);line-height:1.35;margin-bottom:0.45rem;}
.faq-a-static{font-family:'EB Garamond',serif;font-size:1rem;line-height:1.75;color:rgba(245,237,216,0.68);}

/* ─── VISIT: simple list layout ───────────────────────── */
.page-visit .panel-inner{max-width:720px;}
.visit-region{margin-bottom:3.5rem;scroll-margin-top:96px;}
.visit-region:last-of-type{margin-bottom:0;}
.visit-region-title{font-family:'Cinzel',serif;font-size:0.65rem;font-weight:700;letter-spacing:0.25em;text-transform:uppercase;color:var(--buff);padding:0.6rem 1.2rem;background:rgba(200,169,110,0.08);border-left:3px solid var(--buff);margin-bottom:1.75rem;}
.visit-site{padding:1.35rem 0;border-bottom:1px solid rgba(200,169,110,0.1);}
.visit-site:last-child{border-bottom:none;padding-bottom:0;}
.visit-site-name{font-family:'Cinzel',serif;font-size:clamp(1.05rem,2vw,1.25rem);font-weight:700;color:var(--white);margin-bottom:0.65rem;line-height:1.3;}
.visit-link{font-family:'Oswald',sans-serif;font-size:0.68rem;font-weight:400;letter-spacing:0.12em;text-transform:uppercase;color:var(--buff-lt);display:inline-flex;align-items:center;gap:0.35rem;border-bottom:1px solid rgba(200,169,110,0.35);padding-bottom:0.15rem;transition:color 0.2s,border-color 0.2s,gap 0.2s;}
.visit-link:hover{color:var(--buff);border-bottom-color:var(--buff);gap:0.55rem;}
.visit-link::after{content:'↗';font-size:0.75em;opacity:0.85;}

/* ─── FOOTERS ─────────────────────────────────────────── */
/* Discover/Visit footer */
.site-footer-simple, .page-discover footer, .page-visit footer{position:relative;z-index:1;background:var(--dark);border-top:1px solid var(--border);padding:3rem 2rem 2rem;text-align:center;}
.footer-logo img{height:70px;margin:0 auto 1.2rem;}
.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:0.5rem 2rem;list-style:none;margin-bottom:1.5rem;}
.footer-nav a{font-family:'Cinzel',serif;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(200,169,110,0.45);transition:color 0.2s;}
.footer-nav a:hover{color:var(--buff);}
.footer-copy{font-family:'EB Garamond',serif;font-size:0.82rem;color:rgba(245,237,216,0.25);}

/* Home footer (index.html) */
footer{background:var(--dark);border-top:1px solid rgba(200,169,110,0.2);padding:4rem 2rem 2rem;}
.page-home .footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem;}
.page-home .footer-brand img{margin-bottom:1.2rem;width:250px;height:auto;background:var(--buff);}
.page-home .footer-tagline{font-family:'EB Garamond',serif;font-style:italic;font-size:0.95rem;line-height:1.7;color:rgba(245,237,216,0.5);margin-bottom:1.2rem;}
.page-home .footer-social{display:flex;gap:0.75rem;}
.page-home .social-btn{width:36px;height:36px;border:1px solid rgba(200,169,110,0.3);display:flex;align-items:center;justify-content:center;font-size:0.85rem;color:var(--buff-dk);transition:border-color 0.2s,color 0.2s;}
.page-home .social-btn:hover{border-color:var(--buff);color:var(--buff);}
.page-home .footer-col-title{font-family:'Cinzel',serif;font-size:0.7rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--buff);margin-bottom:1.2rem;}
.page-home .footer-links{list-style:none;display:flex;flex-direction:column;gap:0.55rem;}
.footer-links a{font-family:'EB Garamond',serif;font-size:0.9rem;color:rgba(245,237,216,0.5);transition:color 0.2s;}
.footer-links a:hover{color:var(--buff-lt);}
.footer-bottom{max-width:1200px;margin:0 auto;padding-top:2rem;border-top:1px solid rgba(200,169,110,0.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
.footer-copy{font-family:'EB Garamond',serif;font-size:0.8rem;color:rgba(245,237,216,0.3);}
.footer-copy a{color:var(--buff-dk);}

/* ─── HOME (index.html) sections ───────────────────────── */
section{position:relative;z-index:1;}
.section-label{font-family:'Oswald',sans-serif;font-size:0.65rem;font-weight:400;letter-spacing:0.35em;text-transform:uppercase;color:var(--buff);margin-bottom:0.75rem;}
.section-title{font-family:'Cinzel',serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;color:var(--white);line-height:1.15;margin-bottom:1rem;}
.section-title span{color:var(--buff);}
.section-body{font-family:'EB Garamond',serif;font-size:clamp(1rem,1.8vw,1.15rem);line-height:1.8;color:rgba(245,237,216,0.8);}
.rule{width:80px;height:2px;background:var(--buff);margin:1.2rem 0;}
.rule-center{margin-left:auto;margin-right:auto;}
.text-center{text-align:center;}
.announce-bar{background:var(--red-dk);border-top:1px solid var(--red);border-bottom:1px solid var(--red);padding:0.85rem 2rem;text-align:center;font-family:'Oswald',sans-serif;font-size:0.8rem;font-weight:400;letter-spacing:0.18em;text-transform:uppercase;color:var(--cream);}
.announce-bar a{color:var(--buff);text-decoration:underline;}
#hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.hero-slides{position:absolute;inset:0;}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.8s ease-in-out;}
.hero-slide.active{opacity:1;}
.hero-slide::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(14,18,32,0.5) 0%,rgba(14,18,32,0.5) 40%,rgba(14,18,32,0.7) 80%,rgba(14,18,32,0.95) 100%);}
.hero-content{position:relative;z-index:2;text-align:center;padding:5rem 1.5rem;max-width:900px;}
.hero-quote{font-family:'EB Garamond',serif;font-style:italic;font-size:clamp(1rem,2.2vw,1.45rem);color:var(--buff-lt);letter-spacing:0.03em;margin-bottom:2rem;opacity:0;animation:fadeUp 1s 0.3s forwards;}
.hero-eyebrow{font-family:'Oswald',sans-serif;font-size:clamp(0.65rem,1.5vw,0.9rem);font-weight:300;letter-spacing:0.35em;text-transform:uppercase;color:var(--buff);margin-bottom:0.75rem;opacity:0;animation:fadeUp 1s 0.6s forwards;}
.hero-title{font-family:'Cinzel Decorative',serif;font-size:clamp(2.4rem,7vw,5.5rem);font-weight:900;line-height:1;color:var(--white);text-shadow:0 4px 40px rgba(0,0,0,0.8);margin-bottom:0.4rem;opacity:0;animation:fadeUp 1s 0.9s forwards;}
.hero-title span{color:var(--buff);}
.hero-subtitle{font-family:'Cinzel',serif;font-size:clamp(1rem,2.5vw,1.6rem);font-weight:400;letter-spacing:0.22em;text-transform:uppercase;color:var(--buff-lt);margin-bottom:1.5rem;opacity:0;animation:fadeUp 1s 1.1s forwards;}
.hero-divider{margin:1.2rem auto;opacity:0;animation:fadeUp 1s 1.3s forwards;}
.hero-tagline{font-family:'EB Garamond',serif;font-size:clamp(1rem,2vw,1.3rem);font-style:italic;color:rgba(245,237,216,0.85);max-width:640px;margin:0 auto 2.4rem;line-height:1.7;opacity:0;animation:fadeUp 1s 1.5s forwards;}
.hero-tagline strong{font-style:normal;color:var(--buff);font-weight:600;}
.hero-date{font-family:'Oswald',sans-serif;font-size:clamp(0.85rem,1.8vw,1.1rem);font-weight:500;letter-spacing:0.25em;text-transform:uppercase;color:var(--buff-lt);margin-bottom:2.2rem;opacity:0;animation:fadeUp 1s 1.7s forwards;}
.hero-ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;opacity:0;animation:fadeUp 1s 1.9s forwards;}
.btn-primary{font-family:'Cinzel',serif;font-size:0.75rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;padding:1rem 2.4rem;background:var(--red);color:var(--white);border:2px solid var(--red);transition:background 0.2s,color 0.2s;cursor:pointer;}
.btn-primary:hover{background:var(--red-lt);border-color:var(--red-lt);}
.btn-secondary{font-family:'Cinzel',serif;font-size:0.75rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;padding:1rem 2.4rem;background:transparent;color:var(--buff-lt);border:2px solid rgba(200,169,110,0.6);transition:border-color 0.2s,color 0.2s;cursor:pointer;}
.btn-secondary:hover{border-color:var(--buff);color:var(--buff);}
#countdown-section{background:var(--blue-dk);border-top:3px solid var(--buff);border-bottom:3px solid var(--buff);padding:3.5rem 2rem;text-align:center;}
#countdown-section .section-label{color:var(--buff);}
.countdown-wrap{display:flex;justify-content:center;gap:clamp(1rem,4vw,3.5rem);margin-top:2rem;flex-wrap:wrap;}
.countdown-item{text-align:center;}
.countdown-num{font-family:'Cinzel Decorative',serif;font-size:clamp(2.8rem,7vw,5rem);font-weight:700;color:var(--buff);line-height:1;}
.countdown-lbl{font-family:'Oswald',sans-serif;font-size:0.7rem;font-weight:300;letter-spacing:0.25em;text-transform:uppercase;color:var(--buff-lt);margin-top:0.4rem;}
.countdown-sep{font-family:'Cinzel Decorative',serif;font-size:3rem;color:var(--buff-dk);align-self:flex-start;margin-top:0.35rem;}
#intro{padding:6rem 2rem;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.intro-img-wrap{position:relative;}
.intro-img-wrap img{width:100%;aspect-ratio:4/5;object-fit:cover;border:3px solid var(--buff-dk);}
.intro-img-wrap::before{content:'';position:absolute;top:-14px;left:-14px;right:14px;bottom:14px;border:2px solid rgba(200,169,110,0.25);pointer-events:none;}
.intro-badge{position:absolute;bottom:-20px;right:-20px;width:100px;height:100px;background:var(--red);border:3px solid var(--buff);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:'Cinzel',serif;}
.intro-badge .big{font-size:2rem;font-weight:900;color:var(--buff);line-height:1;}
.intro-badge .small{font-size:0.45rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--buff-lt);}
#locations{padding:6rem 2rem;background:linear-gradient(135deg,var(--blue-dk),var(--dark));}
.locations-inner{max-width:1200px;margin:0 auto;}
.locations-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem;}
.loc-card{background:rgba(27,36,68,0.4);border:1px solid rgba(200,169,110,0.15);border-top:3px solid var(--buff-dk);padding:0;overflow:hidden;transition:border-top-color 0.2s,transform 0.3s;}
.loc-card:hover{border-top-color:var(--buff);transform:translateY(-4px);}
.loc-card img{width:100%;aspect-ratio:16/9;object-fit:cover;}
.loc-card-body{padding:1.4rem;}
.loc-card-name{font-family:'Cinzel',serif;font-size:0.85rem;font-weight:700;color:var(--buff-lt);line-height:1.3;margin-bottom:0.6rem;}
.loc-card-desc{font-family:'EB Garamond',serif;font-size:0.9rem;line-height:1.6;color:rgba(245,237,216,0.65);}
.loc-card-link{display:inline-flex;align-items:center;gap:0.4rem;font-family:'Oswald',sans-serif;font-size:0.6rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--buff);margin-top:1rem;transition:gap 0.2s;}
.loc-card-link:hover{gap:0.7rem;}
.loc-card-link::after{content:'→';}
#reenact{padding:6rem 2rem;background:var(--blue-dk);border-top:1px solid rgba(200,169,110,0.2);}
.reenact-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.reenact-img{position:relative;}
.reenact-img img{width:100%;aspect-ratio:3/2;object-fit:cover;}
.reenact-img::after{content:'';position:absolute;inset:0;border:2px solid rgba(200,169,110,0.3);pointer-events:none;}
.reenact-tiles{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem;}
.reenact-tile{background:rgba(255,255,255,0.04);border:1px solid rgba(200,169,110,0.15);padding:1.2rem;transition:background 0.2s;}
.reenact-tile:hover{background:rgba(200,169,110,0.06);}
.reenact-tile-icon{font-size:1.4rem;margin-bottom:0.5rem;}
.reenact-tile-name{font-family:'Cinzel',serif;font-size:0.8rem;font-weight:600;color:var(--buff-lt);margin-bottom:0.35rem;}
.reenact-tile-desc{font-family:'EB Garamond',serif;font-size:0.85rem;line-height:1.5;color:rgba(245,237,216,0.6);}
#partners{padding:5rem 2rem;border-top:1px solid rgba(200,169,110,0.15);}
.partners-inner{max-width:1200px;margin:0 auto;}
.partners-logos{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:2rem 4rem;margin-top:2.5rem;}
.partner-item{font-family:'Cinzel',serif;font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:rgba(200,169,110,0.55);text-align:center;max-width:160px;line-height:1.4;transition:color 0.2s;}
.partner-item:hover{color:var(--buff);}
#newsletter{padding:5rem 2rem;background:linear-gradient(135deg,var(--blue-dk),var(--dark));border-top:3px solid var(--buff);text-align:center;}
.newsletter-inner{max-width:600px;margin:0 auto;}
/* Newsletter form (Contact Form 7) */
.newsletter-form-wrap{margin-top:2rem;max-width:480px;margin-left:auto;margin-right:auto;}
.newsletter-form-wrap .wpcf7{width:100%;}
.newsletter-form-wrap .wpcf7-form{display:flex;gap:0;align-items:stretch;}
.newsletter-form-wrap .wpcf7-form p{margin:0;display:flex;gap:0;flex:1;align-items:stretch;}
.newsletter-form-wrap .wpcf7-form-control-wrap{flex:1;display:flex;}
.newsletter-form-wrap input[type="email"]{flex:1;background:rgba(255,255,255,0.06);border:1px solid rgba(200,169,110,0.35);border-right:none;color:var(--cream);font-family:'EB Garamond',serif;font-size:1rem;padding:0.9rem 1.2rem;outline:none;width:100%;}
.newsletter-form-wrap input[type="email"]::placeholder{color:rgba(245,237,216,0.35);}
.newsletter-form-wrap input[type="email"]:focus{border-color:rgba(200,169,110,0.55);}
.newsletter-form-wrap input[type="submit"]{font-family:'Cinzel',serif;font-size:0.65rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;background:var(--buff);color:var(--dark);border:1px solid var(--buff);padding:0.9rem 1.6rem;cursor:pointer;white-space:nowrap;transition:background 0.2s;}
.newsletter-form-wrap input[type="submit"]:hover{background:var(--buff-lt);}
.newsletter-form-wrap .wpcf7-spinner{display:none;}
.newsletter-form-wrap .wpcf7-response-output{margin-top:1rem;font-family:'EB Garamond',serif;font-size:0.95rem;padding:0.75rem 1rem;border-radius:2px;text-align:center;}
.newsletter-form-wrap .wpcf7-response-output.wpcf7-validation-errors{background:rgba(155,28,28,0.15);border:1px solid rgba(155,28,28,0.4);color:var(--red-lt);}
.newsletter-form-wrap .wpcf7-response-output.wpcf7-mail-sent-ok{background:rgba(139,110,58,0.15);border:1px solid rgba(200,169,110,0.4);color:var(--buff-lt);}
.newsletter-form-wrap .wpcf7-not-valid-tip{display:none;}
.newsletter-form-wrap .hidden-fields-container{display:none;}
.newsletter-form-wrap .screen-reader-response{position:absolute;left:-9999px;}

@keyframes fadeUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}
@keyframes bobDown{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(6px);}}

/* ─── RESPONSIVE (shared + home) ───────────────────────── */
@media (max-width:1024px){
	.locations-grid{grid-template-columns:1fr 1fr;}
	.page-home .footer-inner{grid-template-columns:1fr 1fr;}
	#intro{grid-template-columns:1fr;gap:3rem;}
	.intro-img-wrap{max-width:500px;margin:0 auto;}
	#reenact .reenact-inner{grid-template-columns:1fr;gap:3rem;}
}
@media (max-width:768px){
	.nav-links{display:none;}
	.nav-links.open{display:flex;flex-direction:column;position:fixed;top:72px;left:0;right:0;background:rgba(14,18,32,0.98);padding:1rem 0 2rem;border-bottom:2px solid var(--buff-dk);max-height:calc(100vh - 72px);overflow-y:auto;}
	.nav-links>li>a{padding:0.8rem 2rem;}
	.dropdown{position:static;transform:none;opacity:1;pointer-events:all;background:rgba(255,255,255,0.04);border:none;border-left:2px solid var(--buff-dk);margin-left:2rem;}
	.nav-toggle{display:block;}
	.page-discover .tab-btn{padding:1rem 1.2rem;font-size:0.65rem;}
	.page-discover .tl-entry{grid-template-columns:100px 1fr;}
	.page-discover .gallery-grid{grid-template-columns:1fr;}
	.breadcrumb{padding:0.75rem 1.2rem;}
	.panel-inner{padding:2.5rem 1.2rem 4rem;}
	.page-home .footer-inner{grid-template-columns:1fr;}
	.newsletter-form-wrap .wpcf7-form{flex-direction:column;}
	.newsletter-form-wrap .wpcf7-form p{flex-direction:column;}
	.newsletter-form-wrap input[type="email"]{border-right:1px solid rgba(200,169,110,0.35);}
	.countdown-sep{display:none;}
}
@media (max-width:480px){
	.page-discover .tl-entry{grid-template-columns:80px 1fr;}
	.page-discover .tl-date{font-size:0.62rem;}
	.page-discover .tab-btn{padding:0.9rem 0.8rem;letter-spacing:0.08em;}
	.locations-grid{grid-template-columns:1fr;}
	.reenact-tiles{grid-template-columns:1fr;}
	.hero-ctas{flex-direction:column;align-items:center;}
}