/* ============================================================
   Preserve A Spot — single event ("Night at the Lodge") hero.
   Scoped to .aspot-ev-* so it never leaks into the rest of Divi.
   ============================================================ */
:root{
  --aspot-gold:#c9a159; --aspot-gold-d:#b8862f; --aspot-ox:#8f2418;
  --aspot-disp:"Playfair Display",serif; --aspot-serif:"Cormorant Garamond",serif;
  --aspot-sans:"Montserrat",sans-serif; --aspot-mono:"JetBrains Mono",monospace;
}

.aspot-ev-hero{
  position:relative;min-height:64vh;display:flex;align-items:flex-end;overflow:hidden;
  background-size:cover;background-position:center;background-color:#15120e;
}
.aspot-ev-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(15,12,9,.5) 0%,rgba(15,12,9,.2) 40%,rgba(15,12,9,.85) 82%,#15120e 100%);
}
.aspot-ev-hin{
  position:relative;z-index:2;width:min(100% - clamp(36px,8vw,92px),1480px);
  margin:0 auto;padding:0 0 clamp(34px,4vw,56px);
}
.aspot-crumb{
  font-family:var(--aspot-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--aspot-gold)!important;margin-bottom:20px;display:inline-flex;align-items:center;gap:9px;
  text-decoration:none;transition:gap .2s;
}
.aspot-crumb:hover,.aspot-crumb:focus{gap:13px;color:#fbf6ec!important;}
.aspot-ev-tags{display:flex;gap:0;margin-bottom:16px;}
.aspot-ev-tags span{
  font-family:var(--aspot-sans);font-weight:600;font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:#fbf6ec;padding:8px 14px;line-height:1;
}
.aspot-ev-tags .cat{background:var(--aspot-ox);}
.aspot-ev-tags .cost{background:rgba(28,23,17,.82);backdrop-filter:blur(3px);}
.aspot-ev-title{
  font-family:var(--aspot-disp);font-weight:500;font-size:clamp(38px,5.6vw,74px);line-height:.98;
  margin:0;letter-spacing:-.015em;color:#fbf6ec!important;max-width:18ch;
  text-shadow:0 2px 30px rgba(0,0,0,.4);
}

/* If you place the hero via Theme Builder, hide TEC's default event title/header
   in that template so it isn't shown twice. Uncomment if needed:
.single-tribe_events .tribe-events-single-event-title,
.single-tribe_events .tribe-events-schedule{display:none;}
*/

/* ---------- single-event body ---------- */
.aspot-ev-body{width:min(100% - clamp(36px,8vw,92px),1480px);margin:clamp(40px,5vw,70px) auto clamp(60px,8vw,110px);
  display:grid;grid-template-columns:1.5fr .9fr;gap:clamp(34px,4vw,64px);align-items:start;
  font-family:var(--aspot-sans);color:#e9e1d2;}
.aspot-lead{font-family:var(--aspot-serif);font-size:clamp(22px,2vw,27px);line-height:1.5;color:#e6ddca;margin:0 0 28px;}
.aspot-prose{font-family:var(--aspot-serif);}
.aspot-prose p{font-size:19px;line-height:1.62;color:#cbc0aa;margin:0 0 20px;max-width:62ch;}
.aspot-prose a{color:var(--aspot-gold);text-decoration:underline;}
/* WordPress content headings arrived in Divi's near-black and vanished on the ink ground */
.aspot-prose h1,.aspot-prose h2,.aspot-prose h3,.aspot-prose h4,.aspot-prose h5,.aspot-prose h6{
  font-family:var(--aspot-disp);font-weight:500;color:#f3ecdd;line-height:1.16;margin:34px 0 12px;padding:0;}
.aspot-prose h1{font-size:clamp(28px,3vw,38px);}
.aspot-prose h2{font-size:clamp(25px,2.6vw,32px);}
.aspot-prose h3{font-size:clamp(22px,2.2vw,27px);}
.aspot-prose h4,.aspot-prose h5,.aspot-prose h6{font-size:20px;}
.aspot-prose ul,.aspot-prose ol{margin:0 0 22px;padding-left:20px;max-width:62ch;}
.aspot-prose li{font-family:var(--aspot-serif);font-size:18px;line-height:1.6;color:#cbc0aa;margin:0 0 8px;}
.aspot-prose li strong,.aspot-prose p strong{color:#f0e7d5;}
.aspot-prose blockquote{border-left:2px solid var(--aspot-gold);margin:24px 0;padding:4px 0 4px 20px;}
.aspot-sec-h{font-family:var(--aspot-mono);font-size:11px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--aspot-gold);margin:42px 0 18px;display:flex;align-items:center;gap:14px;}
.aspot-sec-h::after{content:"";flex:1;height:1px;background:rgba(201,161,89,.2);}
.aspot-sched{list-style:none;margin:0;padding:0;}
.aspot-sched li{display:flex;gap:22px;padding:15px 0;border-bottom:1px solid rgba(201,161,89,.14);align-items:baseline;}
.aspot-sched .tm{font-family:var(--aspot-mono);font-size:13px;letter-spacing:.06em;color:var(--aspot-gold);white-space:nowrap;min-width:104px;}
.aspot-sched .ds{font-family:var(--aspot-serif);font-size:19px;color:#ddd2bc;}

/* registration aside */
.aspot-reg{position:sticky;top:96px;background:#1c1813;border:1px solid rgba(201,161,89,.24);box-shadow:0 36px 70px -50px rgba(0,0,0,.9);}
.aspot-reg-top{padding:26px 28px 22px;border-bottom:1px solid rgba(201,161,89,.16);}
.aspot-price{font-family:var(--aspot-disp);font-weight:600;font-size:42px;color:#fbf6ec;line-height:1;}
.aspot-price small{font-family:var(--aspot-sans);font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#a59c8c;display:block;margin-top:8px;}
.aspot-reg-cd{margin-top:20px;}
.aspot-reg-cd .lab{font-family:var(--aspot-mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--aspot-gold);margin-bottom:10px;}
.aspot-cd{display:flex;gap:8px;}
.aspot-cd div{flex:1;text-align:center;background:rgba(0,0,0,.28);border:1px solid rgba(201,161,89,.18);padding:12px 4px 10px;}
.aspot-cd .n{font-family:var(--aspot-disp);font-weight:600;font-size:26px;line-height:1;color:#fbf6ec;}
.aspot-cd .u{font-family:var(--aspot-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--aspot-gold);opacity:.95;margin-top:7px;}
/* the page is ink-dark; the browser's default blue selection was the only blue on it */
.aspot-ev-page ::selection{background:var(--aspot-gold);color:#1c150a;}
.aspot-ev-page ::-moz-selection{background:var(--aspot-gold);color:#1c150a;}
.aspot-cd-live{font-family:var(--aspot-sans);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--aspot-gold);}
.aspot-reg-facts{padding:8px 28px;}
.aspot-reg-facts .row{display:flex;flex-direction:column;gap:4px;padding:15px 0;border-bottom:1px solid rgba(201,161,89,.12);}
.aspot-reg-facts .row:last-child{border-bottom:none;}
.aspot-reg-facts .k{font-family:var(--aspot-mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:#a59c8c;}
.aspot-reg-facts .v{font-family:var(--aspot-serif);font-size:18px;color:#e6ddca;line-height:1.3;display:flex;align-items:center;gap:8px;}
.aspot-dot{width:9px;height:9px;border-radius:50%;display:inline-block;}
.aspot-reg-facts .v.aspot-mem{color:var(--aspot-gold);font-style:italic;}
.aspot-reg-cta{padding:22px 28px 28px;}
.aspot-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;font-family:var(--aspot-sans);
  font-weight:600;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;padding:16px 26px;cursor:pointer;
  border:1px solid var(--aspot-gold);background:var(--aspot-gold-d);color:#1c150a!important;transition:.22s;text-decoration:none;}
.aspot-btn:hover{background:var(--aspot-gold);}
.aspot-reg-note{font-family:var(--aspot-serif);font-size:15px;color:#9b9384;text-align:center;margin-top:14px;line-height:1.4;}

/* map */
.aspot-mapcard{border:1px solid rgba(201,161,89,.2);background:#1b1712;overflow:hidden;}
.aspot-map-wrap{position:relative;}
.aspot-map-frame,.aspot-map iframe{width:100%;height:300px;border:0;display:block;filter:grayscale(.45) invert(.9) hue-rotate(180deg) contrast(.92) brightness(.95);}
.aspot-map-shield{position:absolute;inset:0;z-index:2;cursor:pointer;}
.aspot-map-shield.off{pointer-events:none;}
.aspot-map-shield .hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--aspot-sans);
  font-weight:600;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#f3ecdd;background:rgba(13,10,7,.62);
  backdrop-filter:blur(3px);border:1px solid rgba(201,161,89,.35);padding:9px 16px;white-space:nowrap;opacity:0;transition:opacity .2s;pointer-events:none;}
.aspot-map-wrap:hover .aspot-map-shield:not(.off) .hint{opacity:1;}
.aspot-map-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:18px 20px;border-top:1px solid rgba(201,161,89,.16);}
.aspot-map-foot .mv{font-family:var(--aspot-disp);font-weight:500;font-size:20px;color:#f3ecdd;}
.aspot-map-foot .ma{font-family:var(--aspot-serif);font-size:16px;color:#a89e8c;margin-top:3px;}
.aspot-btn-dir{display:inline-flex;align-items:center;gap:9px;font-family:var(--aspot-sans);font-weight:600;font-size:11.5px;
  letter-spacing:.14em;text-transform:uppercase;padding:12px 20px;border:1px solid var(--aspot-gold);color:var(--aspot-gold)!important;
  text-decoration:none;transition:.2s;white-space:nowrap;}
.aspot-btn-dir:hover{background:var(--aspot-gold);color:#1c150a!important;}

/* Gravity Forms registration is skinned in assets/aspot-gforms.css (enqueued on events). */

@media(max-width:880px){
  .aspot-ev-body{grid-template-columns:1fr;}
  .aspot-reg{position:static;}
}

/* ============================================================
   LIGHT MODE (cream/bone "Almanac") — driven by the global
   html.lodge-light class (aspot-theme.js). Hero stays cinematic.
   ============================================================ */
html.lodge-light .aspot-ev-page{background:#faf6ed;color:#4a4438;}
html.lodge-light .aspot-lead{color:#4a4438;}
html.lodge-light .aspot-prose p{color:#5a5446;}
html.lodge-light .aspot-prose a{color:#8f2418;}
html.lodge-light .aspot-prose h1,html.lodge-light .aspot-prose h2,html.lodge-light .aspot-prose h3,
html.lodge-light .aspot-prose h4,html.lodge-light .aspot-prose h5,html.lodge-light .aspot-prose h6{color:#1c1a17;}
html.lodge-light .aspot-prose li{color:#5a5446;}
html.lodge-light .aspot-prose li strong,html.lodge-light .aspot-prose p strong{color:#1c1a17;}
html.lodge-light .aspot-sched li{border-bottom-color:rgba(143,36,24,.14);}
html.lodge-light .aspot-sched .ds{color:#3a352d;}
html.lodge-light .aspot-sec-h::after{background:rgba(143,36,24,.2);}
html.lodge-light .aspot-reg{background:#f4ede0;border-color:rgba(143,36,24,.2);box-shadow:0 30px 60px -50px rgba(70,45,20,.4);}
html.lodge-light .aspot-reg-top{border-bottom-color:rgba(143,36,24,.16);}
html.lodge-light .aspot-price{color:#1c1a17;}
html.lodge-light .aspot-reg-facts .row{border-bottom-color:rgba(143,36,24,.12);}
html.lodge-light .aspot-reg-facts .v{color:#2a2620;}
html.lodge-light .aspot-cd div{background:rgba(143,36,24,.05);border-color:rgba(143,36,24,.16);}
html.lodge-light .aspot-cd .n{color:#1c1a17;}
html.lodge-light .aspot-cd .u{color:#8f2418;}
html.lodge-light .aspot-ev-page ::selection{background:#8f2418;color:#faf6ed;}
html.lodge-light .aspot-reg-note{color:#8a8170;}
html.lodge-light .aspot-mapcard{background:#f4ede0;border-color:rgba(143,36,24,.2);}
html.lodge-light .aspot-map-frame,html.lodge-light .aspot-map iframe{filter:grayscale(.3) contrast(.96) brightness(1);}
html.lodge-light .aspot-map-foot{border-top-color:rgba(143,36,24,.16);}
html.lodge-light .aspot-map-foot .mv{color:#1c1a17;}
html.lodge-light .aspot-map-foot .ma{color:#7a7263;}

/* ============================================================
   FILM · GALLERY · ORGANIZER (0.29.0)
   ============================================================ */
.aspot-film{position:relative;aspect-ratio:16/9;overflow:hidden;background:#12100c;border:1px solid rgba(201,161,89,.2);}
.aspot-film-p,.aspot-film-v,.aspot-film iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}
.aspot-film-p{object-fit:cover;opacity:.62;transition:opacity .35s,transform .8s;}
.aspot-film-v{object-fit:cover;opacity:1;}
.aspot-film:hover .aspot-film-p{opacity:.74;transform:scale(1.02);}
.aspot-film-go{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:50%;
  border:1px solid var(--aspot-gold);background:rgba(13,10,7,.5);backdrop-filter:blur(2px);cursor:pointer;padding:0;
  display:grid;place-items:center;transition:.25s;}
.aspot-film-go .tri{width:0;height:0;margin-left:5px;border-left:19px solid var(--aspot-gold);border-top:12px solid transparent;border-bottom:12px solid transparent;transition:.25s;}
.aspot-film-go:hover{background:var(--aspot-gold);}
.aspot-film-go:hover .tri{border-left-color:#1c150a;}
.aspot-film-go:focus-visible{outline:2px solid var(--aspot-gold);outline-offset:4px;}
.aspot-film-lab{position:absolute;left:20px;bottom:16px;font-family:var(--aspot-mono);font-size:10.5px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--aspot-gold);pointer-events:none;}

.aspot-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:start;}
.aspot-gal.is-n2{grid-template-columns:repeat(2,1fr);}
.aspot-gal.is-n1{grid-template-columns:1fr;}
.aspot-gal-i{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;background:#12100c;border:1px solid rgba(201,161,89,.18);}
.aspot-gal-i.is-square{aspect-ratio:1/1;}
.aspot-gal-i.is-portrait{aspect-ratio:3/4;}
.aspot-gal-i.is-lead{grid-column:1/-1;aspect-ratio:21/9;}
.aspot-gal-i.is-hid{display:none;}
.aspot-gal-i img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92) brightness(.9);transition:transform .6s,filter .3s;}
.aspot-gal-i:hover img{transform:scale(1.05);filter:none;}
.aspot-gal-i:focus-visible{outline:2px solid var(--aspot-gold);outline-offset:3px;}
.aspot-gal-i .more{position:absolute;inset:0;display:grid;place-items:center;background:rgba(13,10,7,.66);
  font-family:var(--aspot-mono);font-size:17px;letter-spacing:.06em;color:var(--aspot-gold);}
@media(max-width:600px){.aspot-gal{grid-template-columns:repeat(2,1fr);}.aspot-gal-i:first-child{grid-column:span 2;}}

.aspot-lb{position:fixed;inset:0;z-index:99999;background:rgba(10,8,5,.95);display:none;}
.aspot-lb.on{display:block;}
.aspot-lb-img{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:min(1180px,90vw);max-height:80vh;
  object-fit:contain;box-shadow:0 40px 90px -40px #000;}
.aspot-lb-n{position:absolute;left:0;right:0;bottom:26px;text-align:center;font-family:var(--aspot-mono);font-size:11px;
  letter-spacing:.28em;text-transform:uppercase;color:#c9a159;}
.aspot-lb button{position:absolute;background:transparent;border:1px solid rgba(201,161,89,.4);color:#e9dfc9;cursor:pointer;
  font-family:var(--aspot-mono);font-size:16px;line-height:1;width:48px;height:48px;display:grid;place-items:center;transition:.2s;}
.aspot-lb button:hover{background:var(--aspot-gold);color:#1c150a;border-color:var(--aspot-gold);}
.aspot-lb-x{top:22px;right:22px;}
.aspot-lb-p{left:22px;top:50%;transform:translateY(-50%);}
.aspot-lb-nx{right:22px;top:50%;transform:translateY(-50%);}

.aspot-org{border-top:1px solid rgba(201,161,89,.18);padding:22px 26px 26px;}
.aspot-org-h{font-family:var(--aspot-mono);font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--aspot-gold);}
.aspot-org-n{font-family:var(--aspot-disp);font-size:19px;color:#f3ecdd;margin-top:8px;}
.aspot-org-l{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:9px;}
.aspot-org-l li{display:flex;gap:14px;align-items:baseline;list-style:none;padding:0;}
.aspot-org-l .k{font-family:var(--aspot-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#8d8471;min-width:52px;}
.aspot-org-l a{font-family:var(--aspot-serif);font-size:16.5px;color:#e0d5bf;text-decoration:none;border-bottom:1px solid rgba(201,161,89,.35);transition:.2s;}
.aspot-org-l a:hover,.aspot-org-l a:focus{color:var(--aspot-gold);border-bottom-color:var(--aspot-gold);}

html.lodge-light .aspot-film{background:#efe6d6;border-color:rgba(143,36,24,.2);}
html.lodge-light .aspot-film-p{opacity:.9;}
html.lodge-light .aspot-film-go{background:rgba(250,246,237,.7);border-color:#8f2418;}
html.lodge-light .aspot-film-go .tri{border-left-color:#8f2418;}
html.lodge-light .aspot-film-go:hover{background:#8f2418;}
html.lodge-light .aspot-film-go:hover .tri{border-left-color:#faf6ed;}
html.lodge-light .aspot-film-lab{color:#8f2418;}
html.lodge-light .aspot-gal-i{background:#efe6d6;border-color:rgba(143,36,24,.18);}
html.lodge-light .aspot-gal-i img{filter:none;}
html.lodge-light .aspot-org{border-top-color:rgba(143,36,24,.16);}
html.lodge-light .aspot-org-h{color:#8f2418;}
html.lodge-light .aspot-org-n{color:#1c1a17;}
html.lodge-light .aspot-org-l .k{color:#8a8170;}
html.lodge-light .aspot-org-l a{color:#3a352d;border-bottom-color:rgba(143,36,24,.3);}
html.lodge-light .aspot-org-l a:hover,html.lodge-light .aspot-org-l a:focus{color:#8f2418;border-bottom-color:#8f2418;}
