/* ============================================================
   Preserve A Spot — events archive ("Night at the Lodge" wall).
   Self-contained & prefixed (.aspot-*) so it won't touch Divi.
   ============================================================ */
.aspot-arch{
  --gold:#c9a159; --gold-d:#b8862f; --ink:#15120e; --line:rgba(201,161,89,.18);
  --disp:"Playfair Display",serif; --serif:"Cormorant Garamond",serif;
  --sans:"Montserrat",sans-serif; --mono:"JetBrains Mono",monospace;
  background:var(--ink); color:#e9e1d2; display:block;
}
.aspot-arch *{box-sizing:border-box;}

/* ---- filter bar ---- */
/* 0.49.5 — sticky guard. position:sticky dies inside ANY ancestor whose overflow
   isn't visible, and Divi silently sets overflow:hidden on a section/row when it has
   a border-radius, an animation, or Advanced->Visibility->Overflow set. Staging's
   module sat in a bare section; a rebuilt live page may not. Scoped by :has() so it
   only touches the wrappers around the wall. */
.et_pb_section:has(.aspot-barwrap),.et_pb_row:has(.aspot-barwrap),
.et_pb_column:has(.aspot-barwrap),.et_pb_module:has(.aspot-barwrap),
.et_pb_code:has(.aspot-barwrap),.et_pb_code_inner:has(.aspot-barwrap),
.et_pb_section:has(.aspot-barwrap) .et_pb_row,
.et-l:has(.aspot-barwrap),.et_builder_inner_content:has(.aspot-barwrap){overflow:visible!important}
.aspot-barwrap{position:sticky;top:var(--aspot-sticky-top,0px);z-index:30;background:rgba(21,18,14,.93);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.aspot-bar{width:min(1280px,92vw);margin-inline:auto;display:flex;align-items:center;
  gap:16px;flex-wrap:wrap;padding:14px 0;}
.aspot-chips{display:flex;gap:8px;flex-wrap:wrap;}
/* The count, members switch, view buttons and theme toggle are ONE right-hand
   cluster. Loose in the flex row they wrapped independently, stranding the view
   buttons and the moon on a second line hard against the left edge. */
.aspot-bar-r{display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  margin-left:auto;justify-content:flex-end;}
@media(max-width:900px){.aspot-bar-r{width:100%;justify-content:flex-start;}}
.aspot-chip{font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.08em;
  text-transform:uppercase;padding:9px 15px;border:1px solid rgba(255,255,255,.14);
  color:#bcb2a0;cursor:pointer;transition:.18s;display:flex;align-items:center;gap:8px;
  background:transparent;border-radius:2px;white-space:nowrap;}
.aspot-chip .d{width:8px;height:8px;border-radius:50%;}
.aspot-chip:hover{border-color:var(--gold);color:#f1e8d7;}
.aspot-chip.on{background:var(--gold);border-color:var(--gold);color:#1c150a;}
.aspot-cnt{text-align:right;font-family:var(--mono);font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;color:#8c8474;white-space:nowrap;}
.aspot-mtog{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);
  font-weight:600;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#bcb2a0;
  cursor:pointer;user-select:none;transition:.18s;padding:0;border:0;background:transparent;
  white-space:nowrap;}
.aspot-mtog:hover{color:#f1e8d7;}
.aspot-mtog .sw{width:34px;height:19px;border-radius:20px;background:rgba(255,255,255,.16);
  position:relative;transition:.2s;flex:none;}
.aspot-mtog .sw::after{content:"";position:absolute;top:2px;left:2px;width:15px;height:15px;
  border-radius:50%;background:#f3ecdd;box-shadow:0 1px 3px rgba(0,0,0,.4);transition:.2s;}
.aspot-mtog.on{color:var(--gold);}
.aspot-mtog.on .sw{background:var(--gold);}
.aspot-mtog.on .sw::after{transform:translateX(15px);background:#1c150a;}

/* ---- card wall — ONE server-rendered set of cards, two layouts ---- */
.aspot-grid{width:min(1280px,92vw);margin:clamp(34px,4vw,54px) auto clamp(60px,8vw,110px);
  display:grid;gap:clamp(14px,1.5vw,22px);}
/* MASONRY (default) — 12-col editorial mosaic. aspot-archive.js assigns the span
   classes across the VISIBLE cards after every filter (see its notes). */
.aspot-grid.is-masonry{grid-template-columns:repeat(12,1fr);}
.aspot-grid.is-masonry .aspot-card{grid-column:span 4;min-height:clamp(330px,26vw,420px);}
.aspot-grid.is-masonry .aspot-card.m-wide{grid-column:span 6;}
.aspot-grid.is-masonry .aspot-card.m-tall{grid-column:span 4;min-height:clamp(430px,34vw,560px);}
.aspot-grid.is-masonry .aspot-card.m-hero{grid-column:span 8;min-height:clamp(430px,34vw,560px);}
/* GRID — square 1:1 cards. Event art is 450×500 (9:10), so the square crop trims
   ~10% of the height; object-fit centres it.
   Column count comes from --aspot-cols on .aspot-arch (the shortcode's columns=""
   attribute, default 3). The old auto-fill minmax(280px) landed on 4 columns at
   desktop, which made the art read small; 3 gives each card ~50% more area. */
.aspot-grid.is-grid{grid-template-columns:repeat(var(--aspot-cols,3),1fr);}
@media(max-width:1024px){.aspot-grid.is-grid{grid-template-columns:repeat(min(var(--aspot-cols,3),2),1fr);}}
.aspot-grid.is-grid .aspot-card{aspect-ratio:1/1;}
.aspot-grid.is-grid .aspot-card-body{text-align:center;}
.aspot-grid.is-grid .aspot-card-body .ct,
.aspot-grid.is-grid .aspot-card-body .mrow{justify-content:center;}
.aspot-card{position:relative;overflow:hidden;border:1px solid rgba(201,161,89,.14);
  display:flex;align-items:flex-end;text-decoration:none;color:inherit;
  background:#1c1813;transition:transform .35s,box-shadow .35s,border-color .35s;}
.aspot-card[hidden]{display:none;}
.aspot-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:saturate(.92) brightness(.82);transition:transform .6s,filter .35s;}
.aspot-card::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(15,12,9,0) 30%,rgba(15,12,9,.5) 62%,rgba(13,10,7,.93) 100%);}
.aspot-card:hover{transform:translateY(-5px);border-color:rgba(201,161,89,.5);
  box-shadow:0 30px 50px -28px rgba(0,0,0,.8);}
.aspot-card:hover img{transform:scale(1.07);filter:saturate(1.02) brightness(.9);}
.aspot-dtchip{position:absolute;top:16px;left:16px;z-index:2;background:rgba(13,10,7,.6);
  backdrop-filter:blur(4px);border:1px solid rgba(201,161,89,.3);text-align:center;
  padding:7px 11px;line-height:1;display:flex;flex-direction:column;gap:3px;}
.aspot-dtchip .mo{font-family:var(--mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);}
.aspot-dtchip .d{font-family:var(--disp);font-weight:600;font-size:22px;color:#fbf6ec;}
.aspot-card-mem{position:absolute;top:16px;right:16px;z-index:2;font-family:var(--sans);
  font-weight:600;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);
  border:1px solid rgba(201,161,89,.5);padding:5px 8px;background:rgba(13,10,7,.55);backdrop-filter:blur(4px);}
.aspot-card-body{position:relative;z-index:2;padding:22px;width:100%;display:flex;flex-direction:column;}
.aspot-card-body .ct{display:inline-flex;align-items:center;gap:7px;font-family:var(--sans);
  font-weight:600;font-size:10px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:9px;color:#e9e1d2;}
.aspot-card-body .ct .d{width:8px;height:8px;border-radius:50%;}
.aspot-card-body .h3{font-family:var(--disp);font-weight:500;font-size:22px;line-height:1.12;
  margin-bottom:9px;color:#fbf6ec;}
.aspot-card-body .mrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-family:var(--serif);font-size:16px;color:#cbc0aa;}
.aspot-card-body .price{font-family:var(--sans);font-weight:700;font-size:12px;color:#1c150a;
  background:var(--gold);padding:3px 9px;border-radius:2px;}
.aspot-empty{grid-column:1/-1;text-align:center;padding:70px 20px;font-family:var(--serif);
  font-size:22px;color:#8c8474;}

@media(max-width:560px){
  .aspot-grid.is-grid{grid-template-columns:1fr;}
  .aspot-cnt{order:3;flex-basis:100%;text-align:left;}
  .aspot-mtog{margin-left:0;}
}

/* ---- "show more" pager ---- */
/* Padding was clamp(30–52px) on top and only clamp(8–16px) below, so the button sat
   hard against whatever followed it. Balanced. */
.aspot-morewrap{width:min(1280px,92vw);margin-inline:auto;display:flex;justify-content:center;
  padding:clamp(30px,4vw,52px) 0}
.aspot-morewrap[hidden]{display:none}
.aspot-more{display:inline-flex;align-items:center;gap:14px;cursor:pointer;
  font:600 11.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;
  background:transparent;border:1px solid rgba(201,161,89,.45);color:var(--gold);
  padding:16px 32px;transition:background .18s,color .18s,border-color .18s}
.aspot-more:hover,.aspot-more:focus{background:var(--gold);border-color:var(--gold);color:#1c150a;outline:none}
.aspot-more .ct{font-family:var(--mono);font-size:10px;letter-spacing:.14em;opacity:.75}

/* ---- view switcher ---- */
.aspot-viewtog{display:inline-flex;gap:4px;border:1px solid var(--line);padding:3px;}
.aspot-viewtog button{width:32px;height:30px;display:inline-flex;align-items:center;justify-content:center;
  background:transparent;border:0;color:#9b9384;cursor:pointer;transition:.18s;}
.aspot-viewtog button svg{width:17px;height:17px;}
.aspot-viewtog button:hover{color:#f1e8d7;}
.aspot-viewtog button.on{background:var(--gold);color:#1c150a;}

.aspot-grid.hide,.aspot-list.hide,.aspot-cal.hide{display:none;}

/* ---- list (agenda) ---- */
.aspot-list{width:min(1100px,92vw);margin:clamp(30px,3.5vw,48px) auto clamp(60px,8vw,110px);}
.aspot-lmo{display:flex;align-items:baseline;gap:16px;margin:clamp(20px,2.4vw,34px) 0 10px;}
.aspot-lmo:first-child{margin-top:0;}
.aspot-lmo h3{font-family:var(--disp);font-style:italic;font-weight:500;font-size:clamp(22px,3vw,30px);margin:0;color:#f3ecdd;}
.aspot-lmo .rule{flex:1;height:1px;background:var(--line);}
.aspot-lrow{display:grid;grid-template-columns:70px 1fr auto;gap:clamp(16px,2.4vw,32px);align-items:center;
  padding:20px 6px;border-bottom:1px solid rgba(201,161,89,.12);text-decoration:none;color:inherit;transition:background .18s,padding .18s;}
.aspot-lrow:hover{background:rgba(201,161,89,.05);padding-left:14px;}
.aspot-lrow .ldate{text-align:center;line-height:1;}
.aspot-lrow .ldate .mo{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);display:block;}
.aspot-lrow .ldate .dy{font-family:var(--disp);font-weight:600;font-size:30px;color:#fbf6ec;}
.aspot-lrow .ct{font-family:var(--sans);font-weight:600;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#cbc0aa;display:inline-flex;align-items:center;gap:7px;}
.aspot-lrow .ct .d{width:8px;height:8px;border-radius:50%;}
.aspot-lrow .ct em{color:var(--gold);font-style:normal;}
.aspot-lrow .h3{font-family:var(--disp);font-weight:500;font-size:21px;color:#f3ecdd;display:block;margin:6px 0 5px;}
.aspot-lrow .meta{font-family:var(--serif);font-size:16px;color:#a89e8c;}
.aspot-lrow .laside{display:flex;align-items:center;gap:16px;}
.aspot-lrow .laside .price{font-family:var(--sans);font-weight:700;font-size:12px;color:#1c150a;background:var(--gold);padding:4px 10px;}
.aspot-lrow .go{font-family:var(--sans);font-weight:600;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);white-space:nowrap;}
@media(max-width:680px){.aspot-lrow{grid-template-columns:56px 1fr;}.aspot-lrow .laside{grid-column:2;justify-self:start;}}

/* ---- calendar ---- */
.aspot-cal{width:min(1240px,92vw);margin:clamp(24px,3vw,40px) auto clamp(60px,8vw,110px);}
.aspot-mbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.aspot-mbar .mtitle{font-family:var(--disp);font-weight:500;font-size:clamp(22px,3vw,30px);color:#f3ecdd;}
.aspot-mbar .mtitle span{color:var(--gold);}
.aspot-mbar .mnav button{width:40px;height:40px;border:1px solid var(--line);background:transparent;color:var(--gold);
  font-size:18px;cursor:pointer;transition:.18s;margin-left:6px;}
.aspot-mbar .mnav button:hover{background:var(--gold);color:#1c150a;}
.aspot-calgrid{border:1px solid var(--cd-line, rgba(201,161,89,.16));background:#1b1712;box-shadow:0 30px 60px -44px rgba(0,0,0,.85);}
.aspot-dow{display:grid;grid-template-columns:repeat(7,1fr);background:#0f0c09;}
.aspot-dow div{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);text-align:center;padding:12px 4px;}
.aspot-weeks{display:grid;grid-template-columns:repeat(7,1fr);}
.aspot-cell{min-height:120px;border-right:1px solid rgba(201,161,89,.1);border-bottom:1px solid rgba(201,161,89,.1);padding:8px 8px 10px;position:relative;overflow:hidden;}
.aspot-cell:nth-child(7n){border-right:none;}
.aspot-cell.out{background:rgba(0,0,0,.18);}
.aspot-cell.out .dn{opacity:.35;}
.aspot-cell.today{background:rgba(201,161,89,.07);}
.aspot-cell .dn{font-family:var(--mono);font-size:12px;color:#cbc0aa;}
.aspot-cell.today .dn{color:var(--gold);font-weight:600;}
.aspot-ev{display:block;margin-top:6px;padding:3px 6px;background:rgba(201,161,89,.1);border-left:2px solid var(--gold);
  text-decoration:none;overflow:hidden;}
.aspot-ev .t{font-family:var(--sans);font-size:11px;color:#e9e1d2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;}
.aspot-ev:hover{background:rgba(201,161,89,.2);}
.aspot-cell .more{font-family:var(--mono);font-size:9.5px;color:#9b9384;margin-top:5px;}
@media(max-width:680px){
  .aspot-cell{min-height:70px;padding:4px;}
  .aspot-ev{padding:0;background:transparent;border-left:0;}
  .aspot-ev .t{display:none;}
  .aspot-ev{width:9px;height:9px;border-radius:50%;background:var(--gold);display:inline-block;margin:3px 2px 0 0;}
}

/* ---- theme toggle (sun / moon) ---- */
.aspot-themetog{width:32px;height:30px;border:1px solid var(--line);background:transparent;color:#9b9384;
  cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.18s;flex:none;}
.aspot-themetog svg{width:16px;height:16px;}
.aspot-themetog:hover{color:#f1e8d7;}
.aspot-themetog .moon{display:none;}

/* ============================================================
   LIGHT MODE — cream/bone editorial ("Almanac"). Self-contained:
   the .aspot-arch block repaints its own ground, so it doesn't
   depend on the surrounding Divi section colour.
   ============================================================ */
html.lodge-light .aspot-arch{background:#faf6ed;color:#4a4438;}
html.lodge-light .aspot-barwrap{background:rgba(250,246,237,.93);border-bottom-color:rgba(143,36,24,.16);}
html.lodge-light .aspot-chip{border-color:rgba(28,26,23,.18);color:#6a6253;}
html.lodge-light .aspot-chip:hover{border-color:var(--gold-d);color:#1c1a17;}
html.lodge-light .aspot-cnt{color:#9a907c;}
html.lodge-light .aspot-mtog{color:#6a6253;}
html.lodge-light .aspot-mtog .sw{background:rgba(28,26,23,.2);}
html.lodge-light .aspot-mtog .sw::after{background:#fff;}
html.lodge-light .aspot-mtog.on{color:var(--gold-d);}
html.lodge-light .aspot-viewtog{border-color:rgba(28,26,23,.18);}
html.lodge-light .aspot-viewtog button{color:#a89380;}
html.lodge-light .aspot-viewtog button.on{background:var(--gold);color:#1c150a;}
html.lodge-light .aspot-card{background:#f4ede0;border-color:rgba(143,36,24,.14);}
html.lodge-light .aspot-empty{color:#9a907c;}
html.lodge-light .aspot-lmo h3{color:#1c1a17;}
html.lodge-light .aspot-lmo .rule{background:rgba(143,36,24,.2);}
html.lodge-light .aspot-lrow{border-bottom-color:rgba(143,36,24,.14);}
html.lodge-light .aspot-lrow:hover{background:rgba(201,161,89,.1);}
html.lodge-light .aspot-lrow .ldate .dy{color:#1c1a17;}
html.lodge-light .aspot-lrow .h3{color:#1c1a17;}
html.lodge-light .aspot-lrow .meta{color:#5a5446;}
html.lodge-light .aspot-lrow .ct{color:#7a7263;}
html.lodge-light .aspot-mbar .mtitle{color:#1c1a17;}
html.lodge-light .aspot-mbar .mnav button{border-color:rgba(28,26,23,.18);color:#3a352d;}
html.lodge-light .aspot-calgrid{background:#fff;border-color:rgba(143,36,24,.16);}
html.lodge-light .aspot-dow{background:#f4ede0;}
html.lodge-light .aspot-cell{border-color:rgba(143,36,24,.1);}
html.lodge-light .aspot-cell.out{background:#f6efe2;}
html.lodge-light .aspot-cell.out .dn{color:#c2b8a4;}
html.lodge-light .aspot-cell.today{background:rgba(201,161,89,.13);}
html.lodge-light .aspot-cell .dn{color:#3a352d;}
html.lodge-light .aspot-ev{color:#2a2620;background:rgba(143,36,24,.06);}
html.lodge-light .aspot-ev:hover{background:var(--gold);color:#1c150a;}
html.lodge-light .aspot-themetog{border-color:rgba(28,26,23,.18);color:#a89380;}
html.lodge-light .aspot-themetog:hover{color:#1c1a17;}
html.lodge-light .aspot-themetog .sun{display:none;}
html.lodge-light .aspot-themetog .moon{display:inline-flex;}

/* ---- photo-wall responsiveness (masonry spans; grid re-flows on its own) ---- */
@media(max-width:820px){
  .aspot-grid.is-masonry .aspot-card{grid-column:span 6;}
  .aspot-grid.is-masonry .aspot-card.m-wide,
  .aspot-grid.is-masonry .aspot-card.m-hero{grid-column:span 12;}
  .aspot-grid.is-masonry .aspot-card.m-tall{grid-column:span 6;min-height:380px;}
}
@media(max-width:620px){
  .aspot-grid.is-masonry .aspot-card,
  .aspot-grid.is-masonry .aspot-card.m-wide,
  .aspot-grid.is-masonry .aspot-card.m-hero,
  .aspot-grid.is-masonry .aspot-card.m-tall{grid-column:span 12;min-height:300px;}
}

/* light mode — pager */
html.lodge-light .aspot-more{border-color:rgba(143,36,24,.4);color:#8f2418}
html.lodge-light .aspot-more:hover,html.lodge-light .aspot-more:focus{background:#8f2418;border-color:#8f2418;color:#faf6ed}


/* ---- 0.38.1: the chip row stays ONE row ----
   With every category now represented the row wrapped to two lines and pushed the
   wall down. It scrolls sideways instead, with the overflow faded rather than cut. */
/* superseded by the 0.38.4 two-band bar below */


/* ============================================================
   0.38.3 — TEC's own top bar + tablet column count
   ============================================================ */

/* The Events Calendar prints its date picker / "Today" / prev-next bar above our
   wall from its own stylesheet, in near-black on near-black: on the Lodge ground it
   read as a smudge with an invisible icon. It is the plugin's markup, so it has to
   be skinned by selector rather than authored. */
.aspot-events-page .tribe-events-header,
.aspot-events-page .tribe-events-c-events-bar,
.aspot-events-page .tribe-events-c-top-bar{background:transparent!important;border:0;
  margin:0 auto clamp(14px,2vw,22px);width:min(1280px,92vw);padding:0}
.aspot-events-page .tribe-events-c-top-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.aspot-events-page .tribe-events-c-top-bar__datepicker-button,
.aspot-events-page .tribe-events-c-top-bar__datepicker-desktop,
.aspot-events-page .tribe-events-c-top-bar__today-button,
.aspot-events-page .tribe-events-c-top-bar__nav-link{background:transparent!important;
  border:1px solid var(--line)!important;border-radius:0!important;box-shadow:none!important;
  color:var(--bone)!important;font-family:var(--sans);font-weight:600;font-size:11.5px;
  letter-spacing:.14em;text-transform:uppercase;min-height:40px;padding:0 16px;
  display:inline-flex;align-items:center;gap:8px;transition:border-color .18s,color .18s,background .18s}
.aspot-events-page .tribe-events-c-top-bar__nav-link{width:40px;padding:0;justify-content:center}
.aspot-events-page .tribe-events-c-top-bar__datepicker-button:hover,
.aspot-events-page .tribe-events-c-top-bar__today-button:hover,
.aspot-events-page .tribe-events-c-top-bar__nav-link:hover{border-color:var(--gold)!important;
  background:var(--gold)!important;color:#1c150a!important}
/* the date label and its chevron were the same colour as the ground */
.aspot-events-page .tribe-events-c-top-bar__datepicker-desktop,
.aspot-events-page .tribe-events-c-top-bar__datepicker-mobile,
.aspot-events-page .tribe-events-c-top-bar__datepicker-time{color:var(--bone)!important}
.aspot-events-page .tribe-events-c-top-bar svg,
.aspot-events-page .tribe-events-c-top-bar path,
.aspot-events-page .tribe-common-c-svgicon{color:var(--gold)!important;fill:var(--gold)!important}
.aspot-events-page .tribe-events-c-top-bar__datepicker-button:hover svg,
.aspot-events-page .tribe-events-c-top-bar__today-button:hover svg,
.aspot-events-page .tribe-events-c-top-bar__nav-link:hover path{fill:#1c150a!important;color:#1c150a!important}
html.lodge-light .aspot-events-page .tribe-events-c-top-bar__datepicker-button,
html.lodge-light .aspot-events-page .tribe-events-c-top-bar__today-button,
html.lodge-light .aspot-events-page .tribe-events-c-top-bar__nav-link{
  border-color:rgba(28,26,23,.18)!important;color:#1c1a17!important}
html.lodge-light .aspot-events-page .tribe-events-c-top-bar svg,
html.lodge-light .aspot-events-page .tribe-events-c-top-bar path{color:#8f2418!important;fill:#8f2418!important}
html.lodge-light .aspot-events-page .tribe-events-c-top-bar__datepicker-button:hover,
html.lodge-light .aspot-events-page .tribe-events-c-top-bar__today-button:hover,
html.lodge-light .aspot-events-page .tribe-events-c-top-bar__nav-link:hover{
  background:#8f2418!important;border-color:#8f2418!important;color:#faf6ed!important}

/* A columns="4" wall kept all four columns on a 1080px iPad — ~250px each, so the
   art was postage-stamp sized and the titles wrapped to three lines. Cap by the
   space actually available, not just by the phone breakpoint. */
/* --- 0.38.6: width-driven, not count-driven ---
   `columns="4"` was obeyed literally at any size above the phone breakpoint, so a
   810px tablet drew four ~180px slivers. Between the phone and the desktop the wall
   now fills by AVAILABLE WIDTH with a 240px floor, capped at three, so cards can
   never be narrower than they are readable. */
@media(max-width:1240px){
  .aspot-grid.is-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));}
}
@media(max-width:1240px) and (min-width:561px){
  .aspot-grid.is-grid{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:820px){
  .aspot-grid.is-grid{grid-template-columns:repeat(2,1fr);}
}
/* --- masonry keeps its rhythm on a tablet ---
   0.38.3 collapsed every span to 6, which turned the mosaic into a plain two-column
   grid — the wall lost the whole point of the view. The 12-column track stays; only
   the span vocabulary shrinks, so a tablet still gets a full-width hero, an
   eight-wide feature and three-up rows. */
@media(max-width:1240px){
  .aspot-grid.is-masonry .aspot-card{grid-column:span 4;min-height:clamp(300px,34vw,380px);}
  .aspot-grid.is-masonry .aspot-card.m-wide{grid-column:span 8;}
  .aspot-grid.is-masonry .aspot-card.m-hero{grid-column:span 12;min-height:clamp(340px,42vw,460px);}
  .aspot-grid.is-masonry .aspot-card.m-tall{grid-column:span 4;grid-row:span 1;}
}
@media(max-width:820px){
  .aspot-grid.is-masonry .aspot-card{grid-column:span 6;}
  .aspot-grid.is-masonry .aspot-card.m-wide,
  .aspot-grid.is-masonry .aspot-card.m-hero{grid-column:span 12;}
  .aspot-grid.is-masonry .aspot-card.m-tall{grid-column:span 6;}
}
@media(max-width:560px){
  .aspot-grid.is-masonry .aspot-card,
  .aspot-grid.is-masonry .aspot-card.m-wide,
  .aspot-grid.is-masonry .aspot-card.m-hero,
  .aspot-grid.is-masonry .aspot-card.m-tall{grid-column:span 12;}
}


/* ============================================================
   0.38.4 — THE FILTER BAR IS TWO BANDS, NOT ONE CROWDED ROW
   Sharing one line with the count / members switch / view buttons left the
   categories about half the width, so they had to clip — and the fade that
   softened the clip just made "CHILDREN & FA…" look broken. Categories get
   the full width on their own band; the controls sit under them, right
   aligned. Still one line of chips, and now they mostly fit outright.
   ============================================================ */
.aspot-bar{flex-wrap:wrap;gap:0;padding:0;}
.aspot-chips{flex-wrap:nowrap;order:1;flex:1 0 100%;min-width:0;
  overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none;
  gap:7px;padding:13px 0 12px;}
.aspot-chips::-webkit-scrollbar{display:none}
.aspot-chip{flex:none;white-space:nowrap;font-size:11px;letter-spacing:.07em;padding:8px 13px;}
.aspot-chip .d{width:7px;height:7px}
.aspot-bar-r{order:2;flex:1 0 100%;margin-left:0;justify-content:flex-end;
  gap:14px;padding:9px 0 11px;border-top:1px solid rgba(201,161,89,.13);}
@media(max-width:900px){
  .aspot-bar-r{justify-content:space-between;}
  .aspot-chips{padding:11px 0 10px;}
}
html.lodge-light .aspot-bar-r{border-top-color:rgba(28,26,23,.1)}


/* ============================================================
   0.42.0 — LEGACY EVENTS-FEED MODULE (Resort Activities et al)
   These pages do NOT use [aspot_events]; they use the old Divi events-feed
   module, which is why none of the archive styling reached them: white date
   badges, rounded corners, a grey wash over every photo, pill "MORE INFO"
   buttons. Skinned to the Lodge card language so a page still on the old
   module does not look like a different site. Replacing the module with
   [aspot_events] is still the better answer — see CHANGELOG 0.42.0.
   ============================================================ */
.decm_events_wrapper,.decm-events-wrapper,.et_pb_decm_events{--l-gold:#c9a159;--l-ink:#15120e;--l-line:rgba(201,161,89,.2)}
.decm_event,.decm-event,.decm_event_wrapper,.et_pb_decm_event{border-radius:0!important;
  border:1px solid var(--l-line)!important;box-shadow:none!important;overflow:hidden;background:var(--l-ink)!important}
/* the grey wash: replace with a bottom-up scrim so titles read without flattening the photo */
.decm_event .decm_event_image:after,.decm-event .event-image:after,
.decm_event_wrapper .decm_image_wrapper:after{background:linear-gradient(to top,
  rgba(13,10,7,.88) 0%,rgba(13,10,7,.45) 38%,rgba(13,10,7,.06) 72%)!important;opacity:1!important}
.decm_event img,.decm-event img{filter:saturate(.95) contrast(1.03)!important}
/* date badge: gold-ruled ink block, not a white card */
.decm_event_date,.decm-event-date,.decm_date_wrapper{background:rgba(13,10,7,.82)!important;
  border:1px solid var(--l-line)!important;border-radius:0!important;box-shadow:none!important;
  color:#f3ecdd!important;padding:10px 12px!important}
.decm_event_date *,.decm-event-date *,.decm_date_wrapper *{color:#f3ecdd!important;text-shadow:none!important}
.decm_event_date .decm_day,.decm_date_wrapper .decm_day{font-family:"Playfair Display",Georgia,serif!important;
  font-weight:600!important;font-size:27px!important;color:#fbf6ec!important;line-height:1!important}
.decm_event_date .decm_month,.decm_date_wrapper .decm_month{font-family:"JetBrains Mono",monospace!important;
  font-size:9.5px!important;letter-spacing:.22em!important;text-transform:uppercase!important;color:var(--l-gold)!important}
/* title + button */
.decm_event_title,.decm-event-title,.decm_event_title a{font-family:"Playfair Display",Georgia,serif!important;
  font-weight:500!important;color:#f6f0e4!important;text-decoration:none!important}
.decm_event_title a:hover{color:var(--l-gold)!important}
.decm_read_more,.decm-read-more,.decm_event_button,.decm_button{border-radius:0!important;
  background:transparent!important;border:1px solid var(--l-gold)!important;color:var(--l-gold)!important;
  font-family:"Montserrat",sans-serif!important;font-weight:600!important;font-size:10.5px!important;
  letter-spacing:.16em!important;text-transform:uppercase!important;padding:11px 18px!important;
  min-height:44px;display:inline-flex!important;align-items:center;transition:.18s}
.decm_read_more:hover,.decm-read-more:hover,.decm_event_button:hover,.decm_button:hover{
  background:var(--l-gold)!important;color:#1c150a!important}
/* load more */
.decm_load_more,.decm-load-more,.decm_pagination a{border-radius:0!important;background:var(--l-gold)!important;
  border:1px solid var(--l-gold)!important;color:#1c150a!important;font-family:"Montserrat",sans-serif!important;
  font-weight:600!important;font-size:11.5px!important;letter-spacing:.18em!important;text-transform:uppercase!important;
  padding:15px 32px!important;min-height:52px}
.decm_load_more:hover,.decm-load-more:hover{background:transparent!important;color:var(--l-gold)!important}
html.lodge-light .decm_event,html.lodge-light .decm-event{background:#fff!important;border-color:rgba(28,26,23,.14)!important}
html.lodge-light .decm_event_title,html.lodge-light .decm_event_title a{color:#1c1a17!important}
html.lodge-light .decm_read_more,html.lodge-light .decm-read-more{border-color:#8f2418!important;color:#8f2418!important}
html.lodge-light .decm_read_more:hover{background:#8f2418!important;color:#faf6ed!important}
html.lodge-light .decm_load_more{background:#8f2418!important;border-color:#8f2418!important;color:#faf6ed!important}


/* ============================================================
   0.42.2 — the white band under the wall
   The dark ground on these pages comes from a DIVI SECTION background, and
   it ends where the section ends: the wall then overflows past it and the
   page's own white shows through, which also clipped the bottom of the last
   row of cards. The ground belongs to the theme, not to a per-page Divi
   setting — so any page carrying the wall paints its shell.
   ============================================================ */
body:has(.aspot-arch) #page-container,
body:has(.aspot-arch) #et-main-area,
body:has(.aspot-arch) #main-content,
body:has(.aspot-arch) .entry-content,
#main-content:has(.aspot-arch) .et_pb_section,
#main-content:has(.aspot-arch) .et_pb_row,
#main-content:has(.aspot-arch) .et_pb_column{background-color:var(--ink)!important}
/* the section must not crop the wall it contains */
#main-content:has(.aspot-arch) .et_pb_section,
#main-content:has(.aspot-arch) .et_pb_row,
#main-content:has(.aspot-arch) .et_pb_code,
#main-content:has(.aspot-arch) .et_pb_text{overflow:visible!important;min-height:0!important}
/* and the wall needs its own floor, so it never butts the footer */
.aspot-arch{display:block;padding-bottom:clamp(40px,6vw,90px)}
html.lodge-light body:has(.aspot-arch) #page-container,
html.lodge-light body:has(.aspot-arch) #et-main-area,
html.lodge-light body:has(.aspot-arch) #main-content,
html.lodge-light body:has(.aspot-arch) .entry-content,
html.lodge-light #main-content:has(.aspot-arch) .et_pb_section,
html.lodge-light #main-content:has(.aspot-arch) .et_pb_row,
html.lodge-light #main-content:has(.aspot-arch) .et_pb_column{background-color:#faf6ed!important}


/* ---- 0.43.0: the controls band with no chip row above it ---- */
.aspot-bar:not(:has(.aspot-chips)) .aspot-bar-r{border-top:0;padding:13px 0 12px}


/* ---- 0.46.0: explicit mosaic spans (see mosaicPlan in aspot-archive.js) ---- */
.aspot-grid.is-masonry .aspot-card.m-6{grid-column:span 6}
.aspot-grid.is-masonry .aspot-card.m-8{grid-column:span 8}
.aspot-grid.is-masonry .aspot-card.m-12{grid-column:span 12;min-height:clamp(340px,30vw,470px)}
@media(max-width:1240px){
  .aspot-grid.is-masonry .aspot-card.m-6{grid-column:span 6}
  .aspot-grid.is-masonry .aspot-card.m-8{grid-column:span 8}
  .aspot-grid.is-masonry .aspot-card.m-12{grid-column:span 12}
}
@media(max-width:820px){
  .aspot-grid.is-masonry .aspot-card.m-6,
  .aspot-grid.is-masonry .aspot-card.m-8,
  .aspot-grid.is-masonry .aspot-card.m-12{grid-column:span 12}
}
