/* St Annes "Your week" planner (TEST build).
   Hidden until stannes-week.js builds it, so the page still works with JavaScript off. */
.sw[hidden]{display:none !important}
.sw{padding:clamp(34px,4vw,56px) 0 clamp(10px,2vw,24px)}
.sw__card{
  max-width:880px;margin:0 auto;padding:clamp(22px,3.2vw,38px) clamp(16px,3vw,40px) clamp(22px,3vw,34px);
  border-radius:26px;border:1px solid rgba(201,162,91,.40);
  background:linear-gradient(160deg,#FCF8F3 0%,#F6EFE6 100%);
  box-shadow:5px 5px 14px rgba(148,124,100,.28),-5px -5px 14px rgba(255,255,255,.95);
  text-align:center;
}
.sw__eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:#C9A25B;margin-bottom:10px}
.sw__headline{font-family:'Playfair Display',Georgia,serif;font-weight:600;font-size:clamp(1.55rem,3.4vw,2.3rem);line-height:1.16;letter-spacing:-.012em;color:#2A1F1A;margin:0 auto 6px;max-width:19em}
.sw__headline em{font-style:italic;color:#C76A4A;font-weight:500}
.sw__sub{font-size:1rem;color:#5C5048;max-width:34em;margin:0 auto clamp(18px,2.6vw,26px)}

.sw__days{display:grid;grid-template-columns:repeat(7,1fr);gap:clamp(5px,1.2vw,12px);margin:0 auto;padding:0;list-style:none}
.sw__days>li{margin:0;padding:0;list-style:none;min-width:0}
.sw__day{
  width:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  min-height:clamp(78px,10vw,104px);padding:10px 2px 9px;border:0;border-radius:18px;cursor:pointer;
  font-family:'Outfit',sans-serif;color:#482C5B;background:linear-gradient(160deg,#FCF8F3,#F3E9DD);
  box-shadow:4px 4px 10px rgba(148,124,100,.28),-4px -4px 10px rgba(255,255,255,.95);
  transition:box-shadow .2s ease,transform .2s ease,background .2s ease;
}
.sw__day:hover{transform:translateY(-2px)}
.sw__dname{font-size:clamp(.74rem,1.5vw,.92rem);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.sw__dtime{font-family:'Playfair Display',Georgia,serif;font-size:clamp(.74rem,1.5vw,.98rem);font-weight:600;white-space:nowrap}
.sw__dtag{position:absolute;top:-9px;left:50%;transform:translateX(-50%);font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  padding:2px 8px;border-radius:99px;background:#482C5B;color:#fff;white-space:nowrap}
.sw__day.is-closed{
  background:transparent;color:#9A8C80;cursor:pointer;
  box-shadow:inset 3px 3px 8px rgba(148,124,100,.26),inset -3px -3px 8px rgba(255,255,255,.95);
}
.sw__day.is-closed .sw__dtime{font-family:'Outfit',sans-serif;font-weight:500;font-size:clamp(.66rem,1.3vw,.8rem);letter-spacing:.03em}
.sw__day.is-closed:hover{transform:none}
.sw__day.is-today{outline:2px solid #E6B85C;outline-offset:2px}
.sw__day.is-next:not(.is-selected){background:linear-gradient(160deg,#FFF3D6,#F7E2B0)}
.sw__day.is-selected{
  background:linear-gradient(160deg,#5A3A74,#482C5B 60%,#3A2349);color:#fff;
  box-shadow:inset 2px 2px 6px rgba(0,0,0,.25),0 8px 18px rgba(72,44,91,.30);
}
.sw__day.is-selected.is-closed{background:linear-gradient(160deg,#EFE6DB,#E8DCCD);color:#5C5048;box-shadow:inset 3px 3px 8px rgba(148,124,100,.34),inset -3px -3px 8px rgba(255,255,255,.9)}
.sw__day.is-selected .sw__dtag{background:#E6B85C;color:#2A1F1A}
.sw__day:focus-visible{outline:2px solid #E6B85C;outline-offset:3px}

.sw__panel{margin:clamp(20px,3vw,28px) auto 0;max-width:640px;padding:clamp(16px,2.4vw,22px) clamp(16px,3vw,26px);border-radius:20px;
  background:rgba(255,255,255,.62);border:1px solid rgba(201,162,91,.30)}
.sw__ptitle{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.15rem,2.2vw,1.4rem);font-weight:600;color:#2A1F1A;margin-bottom:4px}
.sw__ptext{font-size:.98rem;color:#5C5048;margin-bottom:16px}
.sw__pbtns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.sw__btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 26px;border-radius:999px;font-family:'Outfit',sans-serif;font-weight:600;font-size:1rem;text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.sw__btn--book{color:#fff;background:linear-gradient(160deg,#5A3A74,#482C5B 55%,#3A2349);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 10px 22px rgba(72,44,91,.30)}
.sw__btn--book:hover{transform:translateY(-1px);background:linear-gradient(160deg,#654183,#52316A 55%,#412855)}
.sw__btn--alt{color:#482C5B;background:#FCF8F3;border:1.5px solid rgba(72,44,91,.40)}
.sw__btn--alt:hover{background:#fff;transform:translateY(-1px)}
.sw__fine{font-size:.82rem;color:#7A6B5E;margin-top:12px}
.sw__panel.is-swap{animation:swIn .28s ease both}
@keyframes swIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

/* the welcome card repeats the hours once the planner is showing */
.has-week .clv-open__hours{display:none}

@media(max-width:560px){
  .sw__card{border-radius:22px}
  .sw__day{border-radius:14px;padding:9px 0 8px}
  .sw__dtag{font-size:.54rem;padding:2px 6px;top:-8px}
  .sw__btn{width:100%}
}
@media(prefers-reduced-motion:reduce){.sw__panel.is-swap{animation:none}.sw__day{transition:none}}
