.glestain-schedule{background:#F4F1EA;color:#302F2B;border-radius:14px;padding:clamp(12px,2.5vw,28px);font-family:inherit}.glestain-schedule__header{background:#302F2B;color:#FFFEFB;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-radius:9px;margin-bottom:20px}.glestain-schedule__header h2{color:#FFFEFB;margin:0;font-size:1.25rem}.glestain-schedule__header span{font-size:.87rem}.glestain-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.glestain-month{min-width:0}.glestain-month h3{color:#302F2B;font-size:1.1rem;margin:0 0 8px}.glestain-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid #D9D4CA;border-top:1px solid #D9D4CA;background:#FFFEFB}.glestain-week{text-align:center;background:#EEEAE2;color:#625D55;font-size:.82rem;font-weight:600;padding:8px 0;border-right:1px solid #D9D4CA;border-bottom:1px solid #D9D4CA}.glestain-cell{min-width:0;min-height:83px;padding:4px 2px;box-sizing:border-box;border-right:1px solid #D9D4CA;border-bottom:1px solid #D9D4CA}.glestain-day{display:block;font-size:.85rem;font-weight:600;margin:0 0 5px 3px}.glestain-cell-events{display:flex;flex-direction:column;gap:3px;min-width:0}.glestain-event-tag{background:var(--event-bg,#E8DDCA);color:#302F2B;display:block;font-size:clamp(7px,.68vw,11px);font-weight:600;border-radius:3px;padding:3px 1px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;line-height:1.3}.glestain-list-title{color:#302F2B;border-top:1px solid #C6C0B6;padding-top:24px;margin:30px 0 14px;font-size:1.3rem}.glestain-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.glestain-list-month h4{color:#302F2B;font-size:1.1rem;margin:0 0 9px}.glestain-list-card{background:var(--event-bg,#E8DDCA);border-radius:9px;padding:15px;margin-bottom:12px;color:#302F2B}.glestain-list-card strong{font-size:1.05rem}.glestain-list-card p{font-size:.9rem;margin:5px 0;color:#302F2B}.glestain-list-card .glestain-event-period{font-weight:600}.glestain-event-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.glestain-event-actions a{background:#FFFEFB;color:#302F2B!important;text-decoration:none!important;border:1px solid #BBB3A7;border-radius:6px;padding:7px 10px;font-size:.82rem}.glestain-event-actions a:hover{background:#302F2B;color:#FFFEFB!important}.glestain-noevent{color:#777269;font-size:.9rem}@media(max-width:850px){.glestain-months,.glestain-lists{grid-template-columns:1fr}.glestain-event-tag{font-size:clamp(8px,2vw,11px)}.glestain-cell{min-height:76px}}@media(max-width:430px){.glestain-schedule{padding:10px}.glestain-schedule__header{padding:12px}.glestain-schedule__header h2{font-size:1rem}.glestain-schedule__header span{font-size:.73rem}.glestain-cell{min-height:67px}.glestain-event-tag{font-size:8px;letter-spacing:-.4px;padding:3px 0}}

/* Version 1.1: weekly continuous multi-day event bars */
.glestain-grid--bars{border-bottom:0}
.glestain-weekrow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:27px repeat(var(--glestain-lanes),minmax(23px,auto));column-gap:0;row-gap:3px;background:#FFFEFB;border-left:1px solid #D9D4CA;border-top:1px solid #D9D4CA;padding-bottom:4px;position:relative;isolation:isolate;min-width:0}
.glestain-daycell{min-width:0;border-right:1px solid #D9D4CA;border-bottom:1px solid #D9D4CA;padding:4px 2px;z-index:0}
.glestain-daycell--empty{background:#F2EFE8}
.glestain-daycell .glestain-day{margin:0 0 0 4px;font-size:.82rem}
.glestain-weekbar{z-index:1;align-self:center;min-width:0;margin:0 3px;padding:4px 6px;border-radius:5px;background:var(--event-bg,#E8DDCA);font-size:clamp(10px,.9vw,12px);line-height:1.25;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#302F2B;text-align:center;box-sizing:border-box}
@media(max-width:650px){.glestain-weekrow{grid-template-rows:25px repeat(var(--glestain-lanes),minmax(21px,auto));row-gap:2px}.glestain-weekbar{font-size:9px;padding:4px 1px;margin:0 1px;letter-spacing:-.15px}.glestain-daycell .glestain-day{font-size:.75rem;margin-left:2px}}


/* Aesop-inspired premium finishing, rounded corners retained */
.glestain-schedule {
  background: #F4F1EA;
  color: #302F2B;
  border: 1px solid #E1DBD1;
  border-radius: 12px;
  box-shadow: none;
  width: 100%;
  max-width: 1440px;
  margin-inline: auto;
}
.glestain-schedule__header {
  background:#302F2B;
  color:#F4F1EA;
  border-radius: 8px;
  letter-spacing: .035em;
}
.glestain-schedule__header h2, .glestain-schedule__header span { color:#F4F1EA; }
.glestain-month h3,.glestain-list-month h4,.glestain-list-title {color:#302F2B;}
.glestain-grid, .glestain-weekrow {background: #FFFEFB;}
.glestain-week {background:#EEEAE2;color:#5F5B55;}
.glestain-weekbar {
  border-radius: 7px;
  color:#302F2B;
  font-weight:650;
  border:1px solid rgba(48,47,43,.07);
  text-overflow: ellipsis;
}
.glestain-list-card {
  border-radius: 9px;
  border: 1px solid rgba(48,47,43,.08);
  color:#302F2B;
}
.glestain-list-card p {color:#302F2B;}
.glestain-event-actions a {
  background:#FFFEFB;
  color:#302F2B!important;
  border-color:#C6C0B6;
  border-radius:7px;
}
.glestain-event-actions a:hover {background:#302F2B;color:#fff!important;}
@media(min-width:1024px){
  .glestain-schedule{width:100%;max-width:1440px;margin-inline:auto;padding:28px 30px;}
  .glestain-months{gap:30px;}
  .glestain-weekbar{font-size:12px;padding:5px 8px;}
}

/* 1.4 Modern Monotone — four distinct muted venue colors */
.glestain-schedule {background:#F7F7F5;color:#252927;border-color:#DDDFDB;border-radius:12px;}
.glestain-schedule__header {background:#242725;color:#FFFFFF;border-radius:8px;}
.glestain-schedule__header h2,.glestain-schedule__header span {color:#FFFFFF;}
.glestain-month h3,.glestain-list-month h4,.glestain-list-title {color:#242725;}
.glestain-grid,.glestain-weekrow {background:#FFFFFF;}
.glestain-week {background:#EFEFEC;color:#4D5350;border-color:#DDDFDB;}
.glestain-weekrow,.glestain-daycell,.glestain-grid {border-color:#DDDFDB;}
.glestain-daycell--empty {background:#F5F5F2;}
.glestain-weekbar {color:#252927;border:1px solid rgba(36,39,37,.10);border-radius:7px;}
.glestain-list-card {color:#252927;border-color:rgba(36,39,37,.11);border-radius:9px;}
.glestain-list-card p {color:#252927;}
.glestain-event-actions a {background:#FFFFFF;color:#252927!important;border-color:#BFC3BE;}
.glestain-event-actions a:hover {background:#242725;color:#FFFFFF!important;}

/* 1.5 Pure Monochrome: four grayscale bands, weekend date accents */
.glestain-schedule {background:#F6F6F5;color:#252525;border-color:#DEDEDB;}
.glestain-schedule__header {background:#252525;color:#fff;}
.glestain-schedule__header h2,.glestain-schedule__header span {color:#fff;}
.glestain-month h3,.glestain-list-title,.glestain-list-month h4 {color:#252525;}
.glestain-grid,.glestain-weekrow {background:#fff;}
.glestain-week {background:#ECECE9;color:#555;border-color:#D8D8D5;}
.glestain-weekrow,.glestain-daycell,.glestain-grid {border-color:#D8D8D5;}
.glestain-daycell--empty {background:#F4F4F2;}
.glestain-daycell .glestain-day {color:#252525;}
.glestain-daycell.glestain-sun .glestain-day, .glestain-week.glestain-sun {color:#8A4B4B;}
.glestain-daycell.glestain-sat .glestain-day, .glestain-week.glestain-sat {color:#4B627A;}
.glestain-weekbar {background:var(--event-bg,#424442);color:var(--event-fg,#fff);border:1px solid rgba(0,0,0,.18);border-radius:7px;}
.glestain-list-card {background:#fff;color:#252525;border:1px solid #E0E0DD;border-radius:9px;}
.glestain-list-card strong,.glestain-list-card p {color:#252525;}
.glestain-event-actions a {background:#fff;color:#252525!important;border-color:#C8C8C5;}
.glestain-event-actions a:hover {background:#252525;color:#fff!important;}

/* 1.6 Monthly list cards follow their corresponding calendar band colors */
.glestain-list-card {
  background: var(--event-bg,#E5E7E5);
  color: var(--event-fg,#303330);
  border: 1px solid rgba(0,0,0,.15);
}
.glestain-list-card strong, .glestain-list-card p {
  color: var(--event-fg,#303330);
}
.glestain-list-card .glestain-event-actions a {
  background: rgba(255,255,255,.94);
  color: #252525 !important;
  border-color: rgba(0,0,0,.20);
}
.glestain-list-card .glestain-event-actions a:hover {
  background: #252525;
  color: #FFFFFF !important;
}

/* v1.7 Typography refinement: high-contrast, understated luxury */
.glestain-schedule { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", sans-serif; -webkit-font-smoothing: antialiased; }
.glestain-schedule .glestain-month h3,
.glestain-schedule .glestain-list-month h4 {font-weight:600;letter-spacing:.025em;}
.glestain-schedule .glestain-weekbar {
  color:var(--event-fg,#FFFFFF) !important;
  font-weight:650;
  font-size:clamp(11px, .9vw, 13px);
  line-height:1.5;
  padding:5px 7px;
  letter-spacing:0;
  text-shadow:none;
}
.glestain-schedule .glestain-list-card {
  background:var(--event-bg,#E5E7E5) !important;
  color:var(--event-fg,#303330) !important;
  padding:19px 20px;
  border-radius:10px;
  box-shadow:none;
}
.glestain-schedule .glestain-list-card strong {
  display:block;
  color:var(--event-fg,#303330) !important;
  font-size:1.08rem;
  font-weight:700;
  line-height:1.55;
  letter-spacing:.015em;
}
.glestain-schedule .glestain-list-card p {
  color:var(--event-fg,#303330) !important;
  font-size:.93rem;
  font-weight:500;
  line-height:1.7;
  margin:5px 0;
  opacity:1;
}
.glestain-schedule .glestain-list-card .glestain-event-period {
  font-size:1rem;
  font-weight:650;
  margin-top:7px;
}
.glestain-schedule .glestain-event-actions a {
  font-size:.86rem;
  font-weight:600;
  line-height:1.45;
  min-height:35px;
  display:inline-flex;
  align-items:center;
  background:#FFF !important;
  color:#222 !important;
  border:1px solid #888 !important;
}
.glestain-schedule .glestain-event-actions a:hover,
.glestain-schedule .glestain-event-actions a:focus-visible {
  background:#252525 !important;
  color:#FFF !important;
}
@media(max-width:650px) {
  .glestain-schedule .glestain-weekbar {font-size:10px;padding:4px 2px;}
  .glestain-schedule .glestain-list-card {padding:16px;}
  .glestain-schedule .glestain-list-card strong {font-size:1.04rem;}
  .glestain-schedule .glestain-list-card p {font-size:.91rem;}
}

/* v1.8 White venue style: visible border on white bands/cards */
.glestain-schedule .glestain-weekbar { border:1px solid rgba(0,0,0,.24); }
.glestain-schedule .glestain-list-card { border:1px solid rgba(0,0,0,.21); }

/* v1.9 Four-tone monochrome: white and mist gray remain distinct. */
.glestain-schedule .glestain-weekbar {
  background:var(--event-bg,#FFFFFF) !important;
  color:var(--event-fg,#303330) !important;
  border:1px solid rgba(35,39,37,.24) !important;
}
.glestain-schedule .glestain-list-card {
  background:var(--event-bg,#FFFFFF) !important;
  color:var(--event-fg,#303330) !important;
  border:1px solid rgba(35,39,37,.23) !important;
}


/* v2.0 Mobile width correction + compact expandable monthly schedule */
.glestain-schedule, .glestain-schedule *, .glestain-schedule *::before, .glestain-schedule *::after {box-sizing:border-box;}
.glestain-schedule {min-width:0; width:100%; max-width:1440px; margin-left:auto; margin-right:auto;}
.glestain-months,.glestain-lists,.glestain-list-month,.glestain-month {min-width:0;}
.glestain-mobile-event {display:none;}
@media (max-width:767px) {
  .glestain-schedule { width:100% !important; max-width:100% !important; margin:0 auto !important; padding:12px 8px !important; position:relative; left:auto !important; right:auto !important; transform:none !important; overflow-x:clip; }
  .glestain-schedule__header {padding:12px 10px; flex-wrap:wrap;}
  .glestain-months,.glestain-lists {grid-template-columns:minmax(0,1fr) !important; gap:18px; width:100%; margin-inline:auto;}
  .glestain-month,.glestain-list-month {width:100%; margin:0 auto;}
  .glestain-weekbar {font-size:10px !important; padding:4px 1px !important;}
  .glestain-list-title {margin-top:24px; padding-top:16px;}
  .glestain-list-month h4 {margin-bottom:8px;}
  .glestain-schedule .glestain-list-card {padding:0 !important;margin-bottom:7px !important;min-width:0;overflow:hidden;}
  .glestain-desktop-event {display:none !important;}
  .glestain-mobile-event {display:block; color:var(--event-fg,#252525);}
  .glestain-mobile-event summary {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;align-items:center;padding:11px 12px;cursor:pointer;list-style:none;}
  .glestain-mobile-event summary::-webkit-details-marker {display:none;}
  .glestain-mobile-title {grid-column:1;font-size:14px;font-weight:600;line-height:1.35;min-width:0;overflow-wrap:anywhere;color:var(--event-fg,#252525);}
  .glestain-mobile-period {grid-column:1;font-size:12px;font-weight:500;line-height:1.4;color:var(--event-fg,#252525);}
  .glestain-mobile-hint {grid-column:2;grid-row:1 / span 2;white-space:nowrap;font-size:11px;font-weight:500;color:var(--event-fg,#252525);}
  .glestain-mobile-hint::after {content:' ▾';}
  .glestain-mobile-event[open] .glestain-mobile-hint::after {content:' ▴';}
  .glestain-mobile-details {padding:0 12px 12px;border-top:1px solid rgba(0,0,0,.13);}
  .glestain-schedule .glestain-mobile-details p {font-size:12px;line-height:1.5;margin:7px 0;color:var(--event-fg,#252525)!important;}
  .glestain-mobile-details .glestain-event-actions {margin-top:10px;}
  .glestain-mobile-details .glestain-event-actions a {font-size:11px;min-height:32px;padding:7px 9px;}
}

/* v2.1: keep calendar add actions visible in mobile event headings */
@media (max-width:767px) {
 .glestain-mobile-event {position:relative; min-width:0;}
 .glestain-mobile-event details {display:block; width:100%; min-width:0;}
 .glestain-mobile-event summary {padding:10px 145px 10px 12px; display:flex; flex-direction:column; align-items:flex-start; gap:2px; min-height:61px;}
 .glestain-mobile-event .glestain-mobile-title {font-size:14px;line-height:1.35;font-weight:600;}
 .glestain-mobile-event .glestain-mobile-period {font-size:12px;line-height:1.4;}
 .glestain-mobile-event .glestain-mobile-hint {font-size:10px;line-height:1.2;opacity:.8;}
 .glestain-mobile-event .glestain-mobile-hint::after {content:none !important;}
 .glestain-mobile-event details[open] .glestain-mobile-hint {opacity:.75;}
 .glestain-mobile-head-actions {position:absolute;top:50%;right:9px;transform:translateY(-50%);display:flex;gap:4px;align-items:center;z-index:2;}
 .glestain-mobile-head-actions a {display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;min-height:32px;padding:6px 7px;border:1px solid currentColor;border-radius:5px;background:transparent;color:var(--event-fg,#252525) !important;font-size:10px !important;line-height:1.1;font-weight:600;text-decoration:none !important;}
 .glestain-mobile-head-actions a:focus-visible {outline:2px solid currentColor;outline-offset:2px;}
 .glestain-mobile-details {padding-top:5px;}
}
@media (max-width:370px) {
 .glestain-mobile-event summary {padding-right:132px;}
 .glestain-mobile-head-actions {right:6px;gap:3px;}
 .glestain-mobile-head-actions a {font-size:9px !important;padding:5px 5px;}
}

/* v2.2: arrow-only toggle at the far right of mobile rows */
@media (max-width:767px) {
  .glestain-mobile-event summary { position:relative; padding-right:172px; }
  .glestain-mobile-event .glestain-mobile-hint {
    position:absolute; right:9px; top:50%; transform:translateY(-50%);
    display:block; font-size:12px; line-height:1; opacity:.85;
    pointer-events:none; transition:transform .15s ease;
  }
  .glestain-mobile-event details[open] .glestain-mobile-hint {transform:translateY(-50%) rotate(180deg);}
  .glestain-mobile-head-actions {right:30px;}
}
@media (max-width:370px) {
  .glestain-mobile-event summary {padding-right:154px;}
  .glestain-mobile-event .glestain-mobile-hint {right:7px;}
  .glestain-mobile-head-actions {right:26px;}
}

/* v2.3 Mobile accordion: stable header actions and smooth content reveal */
@media (max-width:767px) {
  .glestain-mobile-event .glestain-mobile-head-actions {
    top:15px !important;
    transform:none !important;
    right:30px !important;
  }
  .glestain-mobile-event summary {
    min-height:64px;
    position:relative;
  }
  .glestain-mobile-event .glestain-mobile-hint {
    top:31px !important;
  }
  .glestain-mobile-event .glestain-mobile-details {
    overflow:hidden;
  }
}
@media (max-width:370px) {
  .glestain-mobile-event .glestain-mobile-head-actions {right:26px !important;}
}

/* Premium event detail links, calendar bars and monthly listing */
.glestain-schedule a.glestain-weekbar { display:block; text-decoration:none!important; color:var(--event-fg,#252525)!important; cursor:pointer; }
.glestain-schedule a.glestain-weekbar:hover { filter:brightness(.94); }
.glestain-schedule a.glestain-weekbar:focus-visible { outline:2px solid #252525; outline-offset:2px; }

/* Premium page: auto 1200px wide; [glestain_calendar wide="1200"] */
@media (min-width: 768px) {
  .glestain-schedule.glestain-schedule--wide {
    box-sizing: border-box !important;
    position: relative !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: min(1200px, calc(100vw - 48px)) !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
@media (max-width: 767px) {
  .glestain-schedule.glestain-schedule--wide {
    box-sizing: border-box !important;
    left: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Non-clickable calendar bands */
.glestain-schedule span.glestain-weekbar{display:block;cursor:default;text-decoration:none!important;}
