/* Timetable and memberships widget styles, inlined from web/embed/*.html so
   the real live data renders directly in the page instead of an iframe. */
:root{
  --tt-pill-radius:50px;
  --tt-tab-radius:99px;
  --avenir:Avenir,"Avenir Next","Avenir LT Std",Poppins,"Helvetica Neue",Arial,sans-serif;
  --tt-poppins:Poppins,"Avenir Next",Arial,sans-serif;
  --ms-card-bg:#000;
  --ms-card-border:rgba(255,255,255,.32);
  --ms-card-radius:30px;
  --ms-card-w:310px;
  --ms-card-pad:40px;
  --ms-rule:rgba(255,255,255,.3);
  --helv:"Helvetica Neue",Helvetica,Arial,sans-serif;
}

/* ---- timetable ---- */
.tt{max-width:1000px;margin:0 auto;padding:0 12px 8px}
.tt-days{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;padding:4px 0 18px;margin:0;list-style:none}
.tt-day{
  font-family:var(--tt-poppins);font-size:16px;font-weight:600;letter-spacing:.2px;line-height:1.2;
  padding:6px 24px;border-radius:var(--tt-tab-radius);border:0;background:#fff;color:#000;
  cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.tt-day[aria-selected="true"]{background:#000;color:#fff;box-shadow:0 0 0 1.5px rgba(255,255,255,.45)}
.tt-day:focus-visible{outline:3px solid var(--green);outline-offset:2px}
.tt-today{font-size:9px;font-weight:700;letter-spacing:1.4px;line-height:1;color:var(--green);margin-bottom:2px}
.tt-day[aria-selected="true"] .tt-today{color:#8fd08f}
.tt-dayname{line-height:1.2}
.tt-day.is-today{padding-top:3px;padding-bottom:5px}
@media (max-width:700px){
  .tt-days{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-left:4px;padding-right:4px}
  .tt-days::-webkit-scrollbar{display:none}
  .tt-day{font-size:12px;padding:6px 18px}
  .tt-today{font-size:7.2px;letter-spacing:1.1px}
  #ttBody{padding-right:6px}
}
.tt-panel{background:rgba(255,255,255,.85);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:30px;padding:36px 40px}
.tt-row{display:grid;grid-template-columns:237px 57px 1fr 142px;align-items:center;column-gap:24px;padding:12px 0}
.tt-time{font-family:var(--avenir);font-size:16px;font-weight:700;letter-spacing:.8px;color:#fff;background:#000;border-radius:var(--tt-pill-radius);height:45px;display:flex;align-items:center;justify-content:center;white-space:nowrap}
.tt-badge{width:57px;height:57px;border-radius:50%;object-fit:contain;flex:0 0 57px;background:#fff}
.tt-name{font-family:var(--avenir);font-size:24px;font-weight:400;color:#000;line-height:1.25;text-transform:uppercase}
.tt-sub{display:block;font-size:13px;letter-spacing:.4px;color:rgba(0,0,0,.55);text-transform:none;margin-top:2px}
.tt-book{font-family:var(--avenir);font-size:16px;font-weight:400;letter-spacing:.8px;color:#fff;background:var(--green);border:0;border-radius:var(--tt-pill-radius);height:45px;display:flex;align-items:center;justify-content:center;white-space:nowrap;cursor:pointer;text-decoration:none;transition:filter .15s ease}
.tt-book:hover{filter:brightness(1.15)}
.tt-book[aria-disabled="true"]{background:#6b6b6b;cursor:default;filter:none}
.tt-row.is-gone{opacity:.5}
.tt-row.is-gone .tt-time{text-decoration:line-through;text-decoration-thickness:1px}
.tt-row.is-gone .tt-badge{filter:grayscale(1)}
.tt-gone{background:transparent;color:rgba(0,0,0,.45);border:1px solid rgba(0,0,0,.18);font-size:13px;letter-spacing:1px;cursor:default}
@media (max-width:900px){.tt-panel{padding:22px 20px}.tt-row{grid-template-columns:150px 57px 1fr 142px;column-gap:16px}.tt-name{font-size:21px}}
@media (max-width:700px){
  .tt-panel{border-radius:22px;padding:10px 14px}
  .tt-row{grid-template-columns:auto 1fr;grid-template-areas:"time name" "book book";gap:10px 14px;padding:14px 4px}
  .tt-time{grid-area:time;font-size:14px;height:38px;padding:0 16px}
  .tt-badge{display:none}
  .tt-name{grid-area:name;font-size:19px}
  .tt-book{grid-area:book;width:100%;font-size:15px;height:44px}
}
#ttBody{overflow-y:auto;scrollbar-gutter:stable;padding-right:18px;scrollbar-width:thin;scrollbar-color:var(--green) transparent}
#ttBody::-webkit-scrollbar{width:6px;background:transparent}
#ttBody::-webkit-scrollbar-track{background:transparent;border:0}
#ttBody::-webkit-scrollbar-button{display:none;width:0;height:0}
#ttBody::-webkit-scrollbar-corner{background:transparent}
#ttBody::-webkit-scrollbar-thumb{background:var(--green);border-radius:99px}
.tt-scroll{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 26px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 26px),transparent)}
.tt-scroll.at-end{-webkit-mask-image:none;mask-image:none}
.tt-msg{font-family:var(--avenir);font-size:17px;letter-spacing:.4px;text-align:center;padding:34px 16px;color:rgba(0,0,0,.62)}
.tt-msg.on-dark{color:rgba(255,255,255,.85)}

/* ---- memberships ---- */
.ms{max-width:1003px;margin:0 auto;padding:14px 12px 10px}
.ms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,var(--ms-card-w)));gap:17px 24px;justify-content:center;align-items:stretch}
.ms-card{position:relative;background:var(--ms-card-bg);border:1px solid var(--ms-card-border);border-radius:var(--ms-card-radius);padding:32px var(--ms-card-pad) 30px;display:flex;flex-direction:column;text-align:center;color:#fff}
.ms-ribbon{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;font-family:var(--helv);font-size:14px;line-height:20px;height:20px;padding:0 8px;white-space:nowrap}
.ms-name{font-family:var(--helv);font-size:20px;font-weight:700;line-height:1.2;margin:0 0 18px;min-height:48px;display:flex;align-items:center;justify-content:center}
.ms-price{background:rgba(0,0,0,.66);padding:10px 0 12px;margin:0 0 8px;display:flex;align-items:flex-start;justify-content:center;gap:2px}
.ms-cur{font-family:var(--helv);font-size:24px;font-weight:700;line-height:1.1}
.ms-amt{font-family:var(--helv);font-size:70px;font-weight:700;line-height:63px;letter-spacing:-.01em}
.ms-billing{font-family:var(--helv);font-size:12px;line-height:19.2px;color:rgba(255,255,255,.55);margin:0 0 14px;min-height:19px}
.ms-desc{font-family:var(--helv);font-size:14px;line-height:1.45;color:#fff;margin:0 0 14px}
.ms-valid{font-family:var(--helv);font-size:12px;color:#fff;margin:0 0 18px}
.ms-select{display:block;width:100%;background:var(--green);color:#fff;border:0;border-radius:0;font-family:var(--helv);font-size:16px;font-weight:400;line-height:22px;padding:12px 16px;cursor:pointer;text-decoration:none;text-align:center;transition:filter .15s ease,transform .15s ease}
.ms-select:hover{filter:brightness(1.22)}
.ms-select:active{transform:translateY(1px)}
.ms-feats{list-style:none;margin:30px 0 0;padding:0;border-top:1px solid var(--ms-rule)}
.ms-feat{display:flex;align-items:center;justify-content:flex-start;gap:8px;font-family:var(--avenir);font-size:14px;line-height:24px;padding:12px 0;text-align:left}
.ms-feat + .ms-feat{border-top:1px solid var(--ms-rule)}
.ms-feat svg{flex:0 0 16px;width:16px;height:16px;stroke:#fff;fill:none;stroke-width:1.5}
@media (max-width:700px){.ms-grid{grid-template-columns:minmax(0,340px);gap:15px}.ms-card{padding:30px 26px 26px}.ms-amt{font-size:60px;line-height:56px}}
.ms-msg{font-family:var(--avenir);font-size:17px;letter-spacing:.4px;text-align:center;padding:34px 16px;color:rgba(255,255,255,.75)}
