/* =========================================================
   CHOC EN BOUCHE — EVENTS V3
   Occasion -> Theme archive -> Individual setups
   ========================================================= */

.events-page{--events-max:1480px}
.events-shell{width:min(var(--events-max),calc(100% - 48px));margin:0 auto;position:relative;z-index:1}
.events-topbar{min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid rgba(212,175,55,.20)}
.events-logo{display:inline-flex;align-items:center}
.events-logo img{width:190px;height:auto;display:block}
.events-topnav{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.events-topnav a{color:rgba(255,255,255,.72);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;transition:color .2s ease}
.events-topnav a:hover{color:var(--accent)}

.events-hero,.archive-hero{min-height:660px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:80px 0}
.events-hero h1,.archive-hero h1{max-width:1000px;margin:0;font-family:var(--font-display);font-size:clamp(4.4rem,8vw,8.6rem);font-weight:500;line-height:.92;letter-spacing:.01em}
.events-hero__lead,.archive-hero__lead{max-width:760px;margin:32px auto 0;color:rgba(255,255,255,.68);font-size:1.08rem;line-height:1.85}
.events-hero__actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:36px}
.btn-secondary{background:transparent;color:rgba(255,255,255,.80);border-color:rgba(255,255,255,.28)}
.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}

.archive-back{align-self:flex-start;margin-bottom:54px;color:rgba(212,175,55,.78);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.archive-hero__meta{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:28px}
.archive-hero__meta span{padding:7px 13px;border:1px solid rgba(212,175,55,.38);border-radius:999px;color:var(--accent);font-size:.7rem;letter-spacing:.09em;text-transform:uppercase}

.occasion-section,.inspiration-section,.quote-section,.setup-section{padding:92px 0;border-top:1px solid rgba(212,175,55,.16)}
.occasion-heading,.inspiration-heading,.setup-section__heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:60px;align-items:end;margin-bottom:46px}
.occasion-heading h2,.inspiration-heading h2,.setup-section__heading h2,.quote-intro h2{margin:10px 0 0;font-family:var(--font-display);font-size:clamp(2.5rem,4.5vw,4.8rem);font-weight:400;line-height:1.05}
.occasion-heading__copy,.inspiration-heading>p,.setup-section__heading>p{margin:0;color:rgba(255,255,255,.58);line-height:1.85}

.occasion-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.occasion-card{min-height:290px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;text-align:left;border:1px solid rgba(212,175,55,.30);border-radius:6px;background:#050505;color:var(--white);cursor:pointer;transition:transform .25s ease,border-color .25s ease,background .25s ease}
.occasion-card:nth-child(even){background:var(--card-bg);color:#111;border-color:rgba(255,255,255,.18)}
.occasion-card:hover{transform:translateY(-4px);border-color:var(--accent)}
.occasion-card__number{color:var(--accent);font-size:.72rem;font-weight:600;letter-spacing:.16em}
.occasion-card:nth-child(even) .occasion-card__number{color:rgba(0,0,0,.45)}
.occasion-card__title{display:block;margin-top:auto;font-family:var(--font-display);font-size:clamp(1.8rem,2.5vw,2.6rem);line-height:1}
.occasion-card__meta{display:block;margin-top:18px;font-size:.88rem;line-height:1.55;opacity:.65}

.event-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}
.event-filter{min-height:36px;padding:7px 18px;border:1px solid rgba(212,175,55,.42);border-radius:999px;background:#000;color:var(--accent);font-family:var(--font-body);font-size:.72rem;letter-spacing:.10em;text-transform:uppercase;cursor:pointer;transition:all .2s ease}
.event-filter:hover,.event-filter.is-active{background:var(--accent);color:#000}

.inspiration-grid,.setup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.theme-card,.setup-card{min-width:0;display:block;border:1px solid rgba(255,255,255,.10);background:#060606;color:#fff;text-decoration:none;transition:transform .25s ease,border-color .25s ease}
.theme-card:hover,.setup-card:hover{transform:translateY(-4px);border-color:rgba(212,175,55,.55)}
.theme-card.is-hidden{display:none}

.theme-card__image,.setup-card__image{position:relative;aspect-ratio:4/5}
.theme-card__count{position:absolute;top:16px;right:16px;z-index:2;padding:6px 10px;border:1px solid rgba(212,175,55,.65);border-radius:999px;background:rgba(0,0,0,.72);color:var(--accent);font-size:.66rem;font-weight:600;letter-spacing:.10em;text-transform:uppercase;backdrop-filter:blur(5px)}
.theme-card__placeholder,.setup-card__placeholder{position:relative;z-index:1;padding:10px 16px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:rgba(255,255,255,.58);font-size:.68rem;letter-spacing:.10em;text-transform:uppercase}
.setup-card__number{position:absolute;top:16px;left:16px;z-index:2;color:var(--accent);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.placeholder{display:grid;place-items:center;overflow:hidden}
.placeholder::before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent,rgba(255,255,255,.05)),radial-gradient(circle at 70% 24%,rgba(255,255,255,.14),transparent 28%)}
.placeholder--gold{background:linear-gradient(145deg,#241d0c,#0b0904 70%)}
.placeholder--lilac{background:linear-gradient(145deg,#cbb9d4,#877890)}
.placeholder--blue{background:linear-gradient(145deg,#4d627b,#131a23)}
.placeholder--rose{background:linear-gradient(145deg,#734e59,#1e1216)}
.placeholder--neutral{background:linear-gradient(145deg,#82786c,#201d19)}
.placeholder--dark{background:linear-gradient(145deg,#161616,#000)}
.placeholder--warm{background:linear-gradient(145deg,#9b7659,#312318)}
.placeholder--mixed{background:linear-gradient(145deg,#635b6b,#1c181f)}

.theme-card__body,.setup-card__body{padding:20px 20px 24px}
.theme-card__type,.setup-card__eyebrow{margin:0 0 7px;color:var(--accent);font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.theme-card h3,.setup-card h2{margin:0;font-family:var(--font-display);font-size:1.62rem;font-weight:400}
.theme-card__body>p:not(.theme-card__type),.setup-card__body>p:not(.setup-card__eyebrow){margin:10px 0 0;color:rgba(255,255,255,.54);font-size:.9rem;line-height:1.65}
.theme-card__link,.setup-card__quote{display:inline-block;margin-top:18px;color:var(--accent);font-size:.72rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
.setup-note{margin:28px 0 0;color:rgba(255,255,255,.44);font-size:.86rem;text-align:center}

.quote-section{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:74px;align-items:start}
.quote-intro{position:sticky;top:32px}
.quote-intro .section-divider{margin-left:0}
.quote-intro>p:last-child{max-width:520px;color:rgba(255,255,255,.62);line-height:1.85}
.quote-form{padding:34px;border:1px solid rgba(212,175,55,.28);border-radius:8px;background:rgba(8,8,8,.86)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.form-grid label{display:block}
.form-grid label>span{display:block;margin-bottom:7px;color:rgba(255,255,255,.62);font-size:.72rem;letter-spacing:.10em;text-transform:uppercase}
.form-grid__wide{grid-column:1/-1}
.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:1px solid rgba(212,175,55,.42);border-radius:6px;background:#000;color:#fff;font-family:var(--font-body);font-size:.95rem}
.quote-form input,.quote-form select{height:46px;padding:0 13px}
.quote-form textarea{padding:12px 13px;resize:vertical}
.quote-form__actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:26px}
.direct-whatsapp{color:var(--accent);font-size:.84rem}

.events-footer{display:grid;grid-template-columns:1fr 1.4fr auto;gap:24px;align-items:start;padding:34px 0 calc(38px + var(--safe-bottom));border-top:1px solid rgba(212,175,55,.24);font-size:.84rem}
.events-footer__brand{font-family:var(--font-display);color:#fff;font-size:1.15rem}
.events-footer__meta{display:flex;flex-wrap:wrap;gap:8px 20px;color:rgba(255,255,255,.50)}
.events-footer__meta a,.events-footer__links a{color:var(--accent)}
.events-footer__links{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:flex-end}

@media(max-width:1199px){
.occasion-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.inspiration-grid,.setup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:991px){
.occasion-heading,.inspiration-heading,.setup-section__heading,.quote-section{grid-template-columns:1fr;gap:32px}
.quote-intro{position:static}
.events-footer{grid-template-columns:1fr}
.events-footer__links{justify-content:flex-start}
}
@media(max-width:767px){
.events-shell{width:min(100% - 28px,var(--events-max))}
.events-topbar{min-height:84px}
.events-logo img{width:150px}
.events-topnav{gap:14px}
.events-topnav a{font-size:.64rem}
.events-hero,.archive-hero{min-height:560px;padding:60px 0}
.events-hero h1,.archive-hero h1{font-size:clamp(3.7rem,18vw,6rem)}
.occasion-grid,.inspiration-grid,.setup-grid{grid-template-columns:1fr}
.occasion-card{min-height:220px}
.form-grid{grid-template-columns:1fr}
.form-grid__wide{grid-column:auto}
.quote-form{padding:22px}
}
@media(max-width:575px){
.events-topnav a:nth-child(2){display:none}
.occasion-section,.inspiration-section,.quote-section,.setup-section{padding:68px 0}
.events-hero__actions{flex-direction:column;width:100%}
.events-hero__actions .btn{width:100%}
.event-filters{gap:7px}
.event-filter{font-size:.64rem;padding:6px 12px}
}
