/*
 Theme Name: Astra Child
 Template: astra
 Theme URI: https://wpastra.com/
 Description: Child theme for Astra (AC-Chicago)
 Author: You
 Version: 1.0.0
*/

/* single knob for accent colors */

/* Accent palette (edit these 5 only) */
:root{
--accent-weds-rgb: 85,122,78; --accent-thurs-rgb: 213, 137, 54; --accent-fri-rgb: 189, 79, 108; --accent-sat-rgb: 73, 155, 221; --accent-sun-rgb: 150, 107, 157;
}


/* For direct image children */
.hero-fixed img {
    max-width: 1200px !important;
    width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
}

/* For cases where the image is in a container */
.hero-fixed {
    max-width: 1400px !important;
    margin: 0 auto !important;
    width: 100% !important;
}

.hero-fixed img {
    width: 100% !important;
    height: auto !important;
}
/* =========================================================
   Floating arrows (page-to-page)
   ========================================================= */

/* Style ANY .day-nav, no matter where it’s placed */
.day-nav{
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1000;
  width: 48px; height: 48px;
  border-radius: 999px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(0,0,0,.3);
  color: #fff; text-decoration: none;
  box-shadow: 0 8px 20px rgba(0,0,0,.25);

  /* Hide the link text visually but keep it for screen readers */
  font-size: 0; line-height: 0;
}

/* Sides */
.day-nav.nav-left  { left: 12px; }
.day-nav.nav-right { right: 12px; }

/* Draw the arrow via CSS so the link text can be "Wednesday"/"Friday" */
.day-nav.nav-left::before,
.day-nav.nav-right::before{
  display: block;
  font-size: 28px; line-height: 1; font-weight: 700;
  content: "";
}
.day-nav.nav-left::before  { content: "‹"; }
.day-nav.nav-right::before { content: "›"; }

.day-nav:hover{
  background: rgba(0,0,0,.6);
  transform: translateY(-50%) scale(1.05);
}
.day-nav:focus-visible{ outline: 3px solid #fff; outline-offset: 2px; }

@media (max-width:700px){
  .day-nav{ width: 40px; height: 40px; }
  .day-nav.nav-left  { left: 6px; }
  .day-nav.nav-right { right: 6px; }
  .day-nav.nav-left::before,
  .day-nav.nav-right::before{ font-size: 24px; }
}


/* =========================================================
   AC-Chicago - consolidated CSS  (ASCII-only / CSS-only)
   ========================================================= */

/* ------------ Global knobs ------------ */
:root{
  --day-img-w: 70px;            /* tarot thumbnail width in list */
  --schedule-width: 800px;      /* width of day cards */
  --slot-h: 46px;               /* 1-hour row height */
  --tarot-z: 3500;               /* z-index */
}

/* =========================================================
   Drawer component
   ========================================================= */
.drawer{
  border:1px solid var(--color-border, #E5E7EB);
  border-radius:12px;
  background:#fff;
  margin:1rem 0;
  box-shadow:0 1px 2px rgba(0, 0, 0, .04);
}
.drawer > summary{
  position:relative;
  cursor:pointer;
  padding:1rem 3rem 1rem;
  text-align:center;
  color:var(--heading, #0F1B2E);
  font-family:var(--wp--preset--font-family--heading, "Space Grotesk"), system-ui, sans-serif;
  font-weight:700;
  line-height:1.2;
}
.drawer.drawer-h2 > summary{ font-size:clamp(2rem, 2.2vw, 1.2rem); line-height:1.15; color:graytext; }
.drawer.drawer-h2[open] > summary{ color:#0F1B2E; }
.drawer > summary::-webkit-details-marker{ display:none; }
.drawer > summary::after{
  content:"+";
  position:absolute; right:1rem; top:50%; transform:translateY(-50%);
  font-size:1.25rem; color:inherit;
}
.drawer[open] > summary::after{ content:"-"; }
.drawer > *:not(summary){ padding:0 1rem 1rem; color:var(--text, #2D312F); }
@media (max-width:782px){
  .drawer{ border-radius:10px; }
  .drawer.drawer-h2 > summary{ font-size:clamp(1.35rem, 5vw, 1.75rem); }
}

/* =========================================================
   Five-day list (Astra page front)
   ========================================================= */
.day-list{ display:grid; gap:1rem; }

.day-row{
  position:relative;
  display:grid;
  grid-template-columns:88px var(--day-img-w) 1fr auto;
  align-items:center;
  gap:1rem;
  background:#fff;
  border:1px solid #E5E7EB;
  border-radius:14px;
  padding:1rem 1.25rem;
  color:inherit;
  text-decoration:none;
  box-shadow:0 1px 6px rgba(0, 0, 0, .05);
  transition:transform .18s ease, box-shadow .18s ease;
}
.day-row::before{
  content:"";
  position:absolute; left:0; top:0; bottom:0; width:6px;
  background:var(--accent, #2563EB);
  border-top-left-radius:14px; border-bottom-left-radius:14px;
}
.day-row:hover{ transform:translateY(-2px); box-shadow:0 8px 18px rgba(0, 0, 0, .08); }

.day-row:hover,
.day-row:focus-within {
  z-index: 10;
}

.day-date{ display:flex; flex-direction:column; align-items:center; line-height:1; }
.day-date .num{ font-weight:700; font-size:2rem; }
.day-date .mon{ font-size:.75rem; letter-spacing:.08em; }

.day-img{
  width:var(--day-img-w);
  object-fit:cover;
  border-radius:0px;
  display:block;
  transition: transform .18s ease, box-shadow .18s ease;
  will-change: transform;
  position: relative; z-index: 0;
}

/* Only the image “pops” when hovered; also on keyboard focus within the row */
.day-img:hover,
.day-row:focus-within .day-img{
  transform: scale(1.66);
  z-index: 1;
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce){
  .day-img{ transition:none; }
  .day-img:hover,
  .day-row:focus-within .day-img{ transform:none; box-shadow:none; }
}

.day-body .day-title{
  margin:0 0 .25rem;
  font-weight:700;
  font-size:1.25rem;
  color: var(--accent);
}

.day-body .meta{ margin:0; font-size:.95rem; opacity:.75; }

.day-cta{
  justify-self:end;
  padding:.6rem .9rem;
  border-radius:10px;
  background:var(--accent, #2563EB);
  color:#fff;
  font-weight:600;
  white-space:nowrap;
  text-decoration:none;
  display:inline-block;
}

/* per-row accents */
.day-row.accent-weds  { --accent: rgb(var(--accent-weds-rgb)); }
.day-row.accent-thurs { --accent: rgb(var(--accent-thurs-rgb)); }
.day-row.accent-fri   { --accent: rgb(var(--accent-fri-rgb)); }
.day-row.accent-sat   { --accent: rgb(var(--accent-sat-rgb)); }
.day-row.accent-sun   { --accent: rgb(var(--accent-sun-rgb)); }


/* make the left side a single link without extra wrappers */
.day-link{ display:contents; color:inherit; text-decoration:none; }

/* simple focus outline */
.day-row:focus-within{
  outline:2px solid rgba(37, 99, 235, .5);
  outline-offset:2px;
}
.day-link:hover .day-body .day-title,
.day-link:focus-visible .day-body .day-title{ text-decoration:underline; }

@supports not (display:contents){
  .day-link{
    display:grid;
    grid-template-columns:88px var(--day-img-w) 1fr;
    align-items:center;
    gap:1rem;
    grid-column:1 / 4;
  }
}

@media (max-width:640px){
  .day-row{ grid-template-columns:72px calc(var(--day-img-w) * .75) 1fr; }
  .day-cta{ grid-column:1 / -1; justify-self:start; margin-top:.5rem; }
  .day-img{ width:calc(var(--day-img-w) * .75); }
  .day-date .num{ font-size:1.6rem; }
}

/* =========================================================
   Day schedule cards (per-day page)
   ========================================================= */

/* outer wrapper centers cards */
.wp-block-group.day-schedule{
  display:grid; gap:12px;
  grid-template-columns:min(100%, var(--schedule-width));
  justify-content:center;
}

/* each hour card */
.wp-block-group.day-schedule .wp-block-columns{
  width:min(100%, var(--schedule-width)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:10px 16px !important;
  border:1px solid #E5E7EB !important;
  border-radius:12px !important;
  background:#fff !important;
  align-items:center !important;
  min-height:var(--slot-h) !important;
}
.wp-block-group.day-schedule .wp-block-columns.slot.double{
  min-height:calc(var(--slot-h) * 2) !important;
}

/* time column */
.wp-block-group.day-schedule .wp-block-columns > .wp-block-column:first-child{
  flex-basis:100px !important; max-width:100px;
}
.wp-block-group.day-schedule .wp-block-columns > .wp-block-column:last-child{ min-width:0; }

/* text */
.wp-block-group.day-schedule h2.wp-block-heading{
  margin:0; font-weight:700; font-size:1rem; line-height:1.2;
}
.wp-block-group.day-schedule p{
  margin:0; line-height:1.45; hyphens:none; word-break:normal; overflow-wrap:break-word;
}

/* Add details only for logged-in */
.logged-in .wp-block-group.day-schedule .wp-block-columns > .wp-block-column:last-child p:empty::before{
  content:"Add details...";
  color:#6B7280; font-style:italic;
}
:not(.logged-in) .wp-block-group.day-schedule p:empty::before{ content:none; }

@media (max-width:700px){
  .wp-block-group.day-schedule .wp-block-columns{ gap:10px; }
  .wp-block-group.day-schedule .wp-block-columns > .wp-block-column:first-child{
    max-width:none; flex-basis:auto !important;
  }
}



/* =========================================================
   Hide footer on all non-home pages
   ========================================================= */
body:not(.home) .site-footer,
body:not(.home) .ast-footer-overlay{ display:none !important; }

/* =========================================================
   PAGE-SPECIFIC: Wednesday (page ID 338)
   Header tint + tarot card as the logo (adjustable height)
   ========================================================= */

.page-id-338{ --accent: rgb(var(--accent-weds-rgb));  --accent-80: rgba(var(--accent-weds-rgb),  .8); }

/* Site header tint (logo/menu bar) */
.page-id-338 header#masthead,
.page-id-338 .site-header,
.page-id-338 .main-header-bar,
.page-id-338 .ast-primary-header-bar,
.page-id-338 .ast-above-header-bar,
.page-id-338 .ast-below-header-bar,
.page-id-338.ast-theme-transparent-header header#masthead,
.page-id-338.ast-theme-transparent-header .main-header-bar,
.page-id-338 .ast-sticky-active .main-header-bar{
  background:var(--accent-80) !important;
}
.page-id-338.ast-theme-transparent-header .main-header-bar:before,
.page-id-338 .ast-primary-header-bar:before{ content:none !important; }

/* Tarot card as the logo: height control */
body.page-id-338{ --tarot-h: 98px; }  /* set the height you want */

/* Use the logo link box as the frame; keep Astra layout intact */
body.page-id-338 header#masthead .site-branding .custom-logo-link{
  position:relative;
  display:inline-block !important;
  height:var(--tarot-h) !important;
  width:auto !important;
  aspect-ratio:229 / 312;
  line-height:0;
  padding:0 !important;
  margin:0 !important;
  background:none !important;
  box-shadow:none !important;
}

/* Hide the actual img, but keep its dimensions so spacing is unchanged */
body.page-id-338 header#masthead .site-branding img.custom-logo{
  height:var(--tarot-h) !important;
  width:auto !important;
  opacity:0 !important;
}

/* Paint the tarot card inside the same box (no shorthand) */
body.page-id-338 header#masthead .site-branding .custom-logo-link::after{
  content:"";
  position:absolute; inset:0;
  background-image:url("https://ac-chicago.org/wp-content/uploads/2025/09/two_of_cups.png");
  background-position:center;
  background-size:contain;  /* no cropping */
  background-repeat:no-repeat;
  border:2px solid #fff;
  border-radius:12px;
  box-shadow:0 6px 14px rgba(0, 0, 0, .15);
  pointer-events:none;
}
/* Wednesday: remove frame */
body.page-id-338 header#masthead .site-branding .custom-logo-link::after{
  border:none !important;
  box-shadow:none !important;
}

/* =========================================================
   PAGE-SPECIFIC: Thursday (page ID 340)
   Accent + tarot card (adjust height/URL as needed)
   ========================================================= */
.page-id-340{ --accent: rgb(var(--accent-thurs-rgb)); --accent-80: rgba(var(--accent-thurs-rgb), .8); }
.page-id-340 header#masthead,
.page-id-340 .site-header,
.page-id-340 .main-header-bar,
.page-id-340 .ast-primary-header-bar,
.page-id-340 .ast-above-header-bar,
.page-id-340 .ast-below-header-bar,
.page-id-340.ast-theme-transparent-header header#masthead,
.page-id-340.ast-theme-transparent-header .main-header-bar,
.page-id-340 .ast-sticky-active .main-header-bar{
  background:var(--accent-80) !important;
}
.page-id-340.ast-theme-transparent-header .main-header-bar:before,
.page-id-340 .ast-primary-header-bar:before{ content:none !important; }

body.page-id-340{ --tarot-h: 88px; }
body.page-id-340 header#masthead .site-branding .custom-logo-link{
  position:relative; display:inline-block !important;
  height:var(--tarot-h) !important; width:auto !important; aspect-ratio:229/312; line-height:0;
}
body.page-id-340 header#masthead .site-branding img.custom-logo{
  height:var(--tarot-h) !important; width:auto !important; opacity:0 !important;
}
body.page-id-340 header#masthead .site-branding .custom-logo-link::after{
  content:""; position:absolute; inset:0;
  background-image:url("https://ac-chicago.org/wp-content/uploads/2025/09/the_hermit.png");
  background-position:center; background-size:contain; background-repeat:no-repeat;
  border:none !important; box-shadow:none !important; border-radius:12px; pointer-events:none;
}

/* =========================================================
   PAGE-SPECIFIC: Friday (page ID 432)
   ========================================================= */
.page-id-432{ --accent: rgb(var(--accent-fri-rgb));   --accent-80: rgba(var(--accent-fri-rgb),   .8); }
.page-id-432 header#masthead,
.page-id-432 .site-header,
.page-id-432 .main-header-bar,
.page-id-432 .ast-primary-header-bar,
.page-id-432 .ast-above-header-bar,
.page-id-432 .ast-below-header-bar,
.page-id-432.ast-theme-transparent-header header#masthead,
.page-id-432.ast-theme-transparent-header .main-header-bar,
.page-id-432 .ast-sticky-active .main-header-bar{
  background:var(--accent-80) !important;
}
.page-id-432.ast-theme-transparent-header .main-header-bar:before,
.page-id-432 .ast-primary-header-bar:before{ content:none !important; }

body.page-id-432{ --tarot-h: 88px; }
body.page-id-432 header#masthead .site-branding .custom-logo-link{
  position:relative; display:inline-block !important;
  height:var(--tarot-h) !important; width:auto !important; aspect-ratio:229/312; line-height:0;
}
body.page-id-432 header#masthead .site-branding img.custom-logo{
  height:var(--tarot-h) !important; width:auto !important; opacity:0 !important;
}
body.page-id-432 header#masthead .site-branding .custom-logo-link::after{
  content:""; position:absolute; inset:0;
  background-image:url("https://ac-chicago.org/wp-content/uploads/2025/09/the_world.png");
  background-position:center; background-size:contain; background-repeat:no-repeat;
  border:none !important; box-shadow:none !important; border-radius:12px; pointer-events:none;
}

/* =========================================================
   PAGE-SPECIFIC: Saturday (page ID 434)
   ========================================================= */
.page-id-434{ --accent: rgb(var(--accent-sat-rgb));   --accent-80: rgba(var(--accent-sat-rgb),   .8); }
.page-id-434 header#masthead,
.page-id-434 .site-header,
.page-id-434 .main-header-bar,
.page-id-434 .ast-primary-header-bar,
.page-id-434 .ast-above-header-bar,
.page-id-434 .ast-below-header-bar,
.page-id-434.ast-theme-transparent-header header#masthead,
.page-id-434.ast-theme-transparent-header .main-header-bar,
.page-id-434 .ast-sticky-active .main-header-bar{
  background:var(--accent-80) !important;
}
.page-id-434.ast-theme-transparent-header .main-header-bar:before,
.page-id-434 .ast-primary-header-bar:before{ content:none !important; }

body.page-id-434{ --tarot-h: 88px; }
body.page-id-434 header#masthead .site-branding .custom-logo-link{
  position:relative; display:inline-block !important;
  height:var(--tarot-h) !important; width:auto !important; aspect-ratio:229/312; line-height:0;
}
body.page-id-434 header#masthead .site-branding img.custom-logo{
  height:var(--tarot-h) !important; width:auto !important; opacity:0 !important;
}
body.page-id-434 header#masthead .site-branding .custom-logo-link::after{
  content:""; position:absolute; inset:0;
  background-image:url("https://ac-chicago.org/wp-content/uploads/2025/09/six_of_pentacles.png");
  background-position:center; background-size:contain; background-repeat:no-repeat;
  border:none !important; box-shadow:none !important; border-radius:12px; pointer-events:none;
}

/* =========================================================
   PAGE-SPECIFIC: Sunday (page ID 436)
   ========================================================= */
.page-id-436{ --accent: rgb(var(--accent-sun-rgb));   --accent-80: rgba(var(--accent-sun-rgb),   .8); }
.page-id-436 header#masthead,
.page-id-436 .site-header,
.page-id-436 .main-header-bar,
.page-id-436 .ast-primary-header-bar,
.page-id-436 .ast-above-header-bar,
.page-id-436 .ast-below-header-bar,
.page-id-436.ast-theme-transparent-header header#masthead,
.page-id-436.ast-theme-transparent-header .main-header-bar,
.page-id-436 .ast-sticky-active .main-header-bar{
  background:var(--accent-80) !important;
}
.page-id-436.ast-theme-transparent-header .main-header-bar:before,
.page-id-436 .ast-primary-header-bar:before{ content:none !important; }

body.page-id-436{ --tarot-h: 88px; }
body.page-id-436 header#masthead .site-branding .custom-logo-link{
  position:relative; display:inline-block !important;
  height:var(--tarot-h) !important; width:auto !important; aspect-ratio:229/312; line-height:0;
}
body.page-id-436 header#masthead .site-branding img.custom-logo{
  height:var(--tarot-h) !important; width:auto !important; opacity:0 !important;
}
body.page-id-436 header#masthead .site-branding .custom-logo-link::after{
  content:""; position:absolute; inset:0;
  background-image:url("https://ac-chicago.org/wp-content/uploads/2025/09/the_fool.png");
  background-position:center; background-size:contain; background-repeat:no-repeat;
  border:none !important; box-shadow:none !important; border-radius:12px; pointer-events:none;
}


/* Mobile: avoid fixed for better performance */
@media (max-width:782px){
  .page-id-338,
  .page-id-340,
  .page-id-432,
  .page-id-434,
  .page-id-436{
    background-attachment: scroll, scroll;
  }
}

/* Ensure tarot logo sits above header chrome */
.page-id-338 header#masthead .site-branding .custom-logo-link,
.page-id-340 header#masthead .site-branding .custom-logo-link,
.page-id-432 header#masthead .site-branding .custom-logo-link,
.page-id-434 header#masthead .site-branding .custom-logo-link,
.page-id-436 header#masthead .site-branding .custom-logo-link{
  /* already position:relative in your CSS; just give it a stack level */
  z-index: var(--tarot-z);
}

/* Put the tarot image (::after) on the same (or higher) plane */
.page-id-338 header#masthead .site-branding .custom-logo-link::after,
.page-id-340 header#masthead .site-branding .custom-logo-link::after,
.page-id-432 header#masthead .site-branding .custom-logo-link::after,
.page-id-434 header#masthead .site-branding .custom-logo-link::after,
.page-id-436 header#masthead .site-branding .custom-logo-link::after{
  z-index: calc(var(--tarot-z) + 1); /* sits above the link box itself */
}


/* =========================================================
   Soft page background (safe version: no pseudo-elements)
   ========================================================= */

/* Make the site wrapper transparent on DAY pages only so the body’s
   background can show around your white cards (does not affect layout) */
.page-id-338 .site,
.page-id-340 .site,
.page-id-432 .site,
.page-id-434 .site,
.page-id-436 .site{
  background: transparent !important;
}

/* Put a softened image on the BODY itself (under everything) */
.page-id-338,
.page-id-340,
.page-id-432,
.page-id-434,
.page-id-436{
  /* 70% white layer over the image ≈ image visible at ~30% */
  background-image:
    linear-gradient(rgba(255,255,255,0.20), rgba(255,255,255,0.80)),
    url("https://ac-chicago.org/wp-content/uploads/2025/08/miss_basin-scaled.png");
  background-size: cover, cover;
  background-position: center top, center top;
  background-repeat: no-repeat, no-repeat;
  background-attachment: fixed, fixed;
}

/* Mobile: avoid fixed for better performance */
@media (max-width:782px){
  .page-id-338,
  .page-id-340,
  .page-id-432,
  .page-id-434,
  .page-id-436{
    background-attachment: scroll, scroll;
  }
}


/* =========================================================
   REGISTER page — Soft page background (safe version)
   ========================================================= */

/* Let the body background show around the white cards */
.page-id-514 .site{
  background: transparent !important;
}

/* Soften an image under everything on the page */
.page-id-514{
  background-image:
    /* white veil over the image (≈ 20–80% from top to bottom) */
    linear-gradient(rgba(255,255,255,0.95), rgba(255,255,255,0.80)),
    url("https://ac-chicago.org/wp-content/uploads/2025/08/Matthew_Goulish-scaled.png");
  background-size: cover, cover;
  background-position: center top, center top;
  background-repeat: no-repeat, no-repeat;
  background-attachment: fixed, fixed;   /* parallax-like */
}

/* Mobile: avoid fixed backgrounds (better perf) */
@media (max-width:782px){
  .page-id-514{ background-attachment: scroll, scroll; }
}

/* =========================================================
   REGISTER page — Soft page background (safe version)
   ========================================================= */

/* Let the body background show around the white cards */
.page-id-22 .site{
  background: transparent !important;
}

/* Soften an image under everything on the page */
.page-id-22{
  background-image:
    /* white veil over the image (≈ 20–80% from top to bottom) */
    linear-gradient(rgba(255,255,255,0.8), rgba(255,255,255,0.5)),
    url("https://ac-chicago.org/wp-content/uploads/2025/09/Balbuncha_light.png");
  background-size: cover, cover;
  background-position: center top, center top;
  background-repeat: no-repeat, no-repeat;
  background-attachment: fixed, fixed;   /* parallax-like */
}

/* Mobile: avoid fixed backgrounds (better perf) */
@media (max-width:782px){
  .page-id-522{ background-attachment: scroll, scroll; }
}

.vcenter {
  display:grid;
  place-items:center;      /* centers both vertically and horizontally */
  min-height: 220px;       /* or any height you need */
}
.vcenter > p { margin:0; } /* avoid extra spacing from the paragraph */

.vcenter {
  display:grid;
  place-items:center;      /* centers both vertically and horizontally */
  min-height: 120px;       /* or any height you need */
}
.vcenter > p { margin:0; } /* avoid extra spacing from the paragraph */

/* --- Title ↔ Hero: keep gap consistent across breakpoints --- */

:root{
  /* title-to-header gap (and title-to-hero gap) */
  --title-gap: clamp(14px, 2vw, 22px); /* smaller cap on wide screens */
}
.page .entry-header{
  padding-top: var(--title-gap);
  padding-bottom: 0;
}

.page .entry-header .entry-title{ margin: 0; }
@media (min-width: 1440px){
  :root{ --title-gap: 16px; }  /* or 24px */
}
/* Mobile-only: bump the band around the title so it doesn't hug the header */
@media (max-width: 1200px){
  .page .entry-header{
    padding-top: calc(var(--title-gap) + 32px);
  }
  /* mirror the same gap below the title to keep it centered */
  .page .entry-header + .hero-fixed,
  .page .entry-header + .wp-block-image,
  .page .entry-header + .wp-block-group,
  .page .entry-header + .wp-block-columns{
    margin-top: calc(var(--title-gap) + 6px);
  }
}

/* Homepage formatting */

/* Center the 3-column board and lock the main column width */
.day-board{
  /* match the card width you already use elsewhere */
  --main: var(--schedule-width, 800px);
  --side: 260px;
  --gap: 20px;

  display: grid;
  /* 1fr | fixed middle | 1fr keeps it perfectly centered */
  grid-template-columns: minmax(0,1fr) minmax(0,var(--main)) minmax(0,1fr);
  align-items: start;
  gap: var(--gap);
  /* a little breathing room at very wide widths */
  padding-inline: clamp(12px, 3vw, 32px);
}

/* place each piece into the grid columns */
.board-left  { grid-column: 1; justify-self: end;   width: var(--side); }
.board-main  { grid-column: 2; min-width: 0; }   /* the day list column */
.board-right { grid-column: 3; justify-self: start; width: var(--side); }

/* sticky sidebars */
.board-col{
  position: sticky; top: 96px;  /* adjust to your header height */
  background:#fff; border:1px solid #E5E7EB; border-radius:12px;
  padding:12px 14px; box-shadow:0 1px 3px rgba(0,0,0,.06);
}


}
/* Mid screens: slightly narrower sidebars/gap */
@media (max-width: 1280px){
  .day-board{ --side: 180px; --gap: 16px; }
}

/* START PATCH: mobile layout with 2-up side panels */
@media (max-width: 1024px){
  .day-board{
    /* two columns grid; main spans across, sidebars sit 2-up under it */
    --gap: 14px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "main main"
      "left right";
    gap: var(--gap);
    padding-inline: clamp(12px, 4vw, 20px);
  }

  /* place items into areas */
  .board-main  { grid-area: main; min-width: 0; }
  .board-left  { grid-area: left; }
  .board-right { grid-area: right; }

  /* kill desktop-only sizing/sticky on mobile */
  .board-col{
    position: static;
    top: auto;
    width: auto;
    padding: 12px;
  }
	/* Desktop (flanking layout): don't stretch to the main column's height */
@media (min-width: 1025px){
  .day-board{ align-items: start; }
  .board-col{ align-self: start; } /* left/right shouldn't stretch to row height */
}

@media (max-width: 1024px){
  .board-main{
    display: grid;
    grid-template-columns: min(100%, var(--schedule-width));
    justify-content: center; /* centers the inner track */
    min-width: 0;            /* guards against overflow */
  }
  /* Make the row that holds `left` + `right` stretch both items to the tallest */
  .day-board{
    align-items: stretch; /* grid items fill the track height */
  }

  /* Ensure each sidebar fills that row height visually */
  .board-col{
    display: flex;          /* lets the card fill and its contents flow */
    flex-direction: column; /* typical card layout */
  }
}

/* phones: stack side panels if too narrow for 2-up */
@media (max-width: 480px){
  .day-board{
    grid-template-columns: 1fr;
    grid-template-areas:
      "main"
      "left"
      "right";
  }
	
  .day-board{ 
    justify-items: center;           /* center grid items horizontally */
  }
  .board-col{
    width: min(100%, 520px);         /* comfortable card width on phones */
    margin-inline: auto;             /* center the card */
    align-self: start;               /* avoid stretching */
  }
}
/* END PATCH */

.day-row .day-body h3{ color: var(--accent) !important; }

/* Details inside day schedule cards */
.day-schedule details.slot{
  margin:0;   /* remove default block margin */
}

.day-schedule details.slot > summary{
  display:flex;
  align-items:center;
  gap:.5rem;
  cursor:pointer;
  font-weight:700;
  list-style:none;          /* remove default marker space */
  padding:0;                /* card already has padding */
}
.day-schedule details.slot > summary::-webkit-details-marker{ display:none; }

/* simple + / – indicator on the right */
.day-schedule details.slot > summary::after{
  content:"+";
  margin-left:auto;
  font-weight:700;
  line-height:1;
}
.day-schedule details.slot[open] > summary::after{ content:"–"; }

/* body spacing */
.day-schedule details.slot .slot-body{ margin-top:.5rem; }

/* NON-CLICKABLE titles (no drawer) */
.day-schedule .slot-title{
  margin:0;
  font-weight:700;
  color: var(--heading, #0F1B2E); /* same family as your time column */
}


/* CLICKABLE titles (details.slot) — accent color + reliable underline */
.day-schedule details.slot > summary,
.day-schedule details.slot > summary *{
  color: var(--accent, #2563EB) !important;   /* per-day accent with blue fallback */
  text-decoration: underline !important;      /* force underline even if theme resets */
  text-underline-offset: 2px;
}

.day-schedule details.slot > summary::-webkit-details-marker{ display:none; }

.day-schedule details.slot > summary:hover,
.day-schedule details.slot > summary:focus-visible{
  text-decoration-thickness: 2px;
}

/* plus/minus inherits the same accent */
.day-schedule details.slot > summary::after{
  content:"+";
  margin-left:auto;
  font-weight:700;
  line-height:1;
  color: currentColor; /* inherits accent */
}
.day-schedule details.slot[open] > summary::after{ content:"–"; }

/* UNLINKED slot titles — use the day's accent color, no underline */
.day-schedule .slot-title,
.day-schedule .slot-title *{
  margin:0;
  font-weight:600;
  color: var(--accent, var(--wp--preset--color--ast-global-color-2, #2563EB)) !important;
  text-decoration: none !important;
}

/* Day pages: make the top Register button use the page accent */
.page-id-338 .wp-block-button__link,
.page-id-340 .wp-block-button__link,
.page-id-432 .wp-block-button__link,
.page-id-434 .wp-block-button__link,
.page-id-436 .wp-block-button__link{
  background-color: var(--accent) !important;
  border-color: var(--accent) !important;
  color: #fff !important;
}

/* Hover / focus */
.page-id-338 .wp-block-button__link:hover,
.page-id-340 .wp-block-button__link:hover,
.page-id-432 .wp-block-button__link:hover,
.page-id-434 .wp-block-button__link:hover,
.page-id-436 .wp-block-button__link:hover,
.page-id-338 .wp-block-button__link:focus-visible,
.page-id-340 .wp-block-button__link:focus-visible,
.page-id-432 .wp-block-button__link:focus-visible,
.page-id-434 .wp-block-button__link:focus-visible,
.page-id-436 .wp-block-button__link:focus-visible{
  filter: brightness(.92);
  box-shadow: 0 6px 16px rgba(0,0,0,.12);
  text-decoration: none; /* keep it buttony */
}

header#masthead {
  position: relative;
  z-index: 4000;
  overflow: visible;   /* don't crop tarot */
  margin-bottom: -40px; /* pulls next section up underneath */
}



