/* ============================================================
   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;}
.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:10px 4px;}
.aspot-cd .n{font-family:var(--aspot-disp);font-weight:600;font-size:25px;line-height:1;color:#fbf6ec;}
.aspot-cd .u{font-family:var(--aspot-mono);font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:#a59c8c;margin-top:5px;}
.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-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-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;}
