/* Find My Sunny Stay (/discover). Namespaced .sd so the theme's global styles stay out of the way. */
body.sos-discover-page{margin:0;padding:0;background:#f6fbfc;color:#1a3a3f;font-family:var(--sos-font-body,'Manrope',sans-serif);-webkit-font-smoothing:antialiased;min-height:100vh}
body.sos-discover-page>:not(.sd):not(script):not(style):not(link):not(noscript){display:none !important}
.sd{--t:#0c9cbe;--td:#087a94;--tl:rgba(12,156,190,.1);--o:#f8a41e;--od:#e5930e;--ink:#1a3a3f;--mut:#5c7378;--faint:#9bacb1;--line:#dfeaed;--sand:#ddeef0;
  position:relative;min-height:100vh;display:flex;flex-direction:column;isolation:isolate}
.sd:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(60% 50% at 100% 0%,rgba(248,164,30,.14),rgba(248,164,30,0) 60%),
  radial-gradient(55% 45% at 0% 100%,rgba(12,156,190,.14),rgba(12,156,190,0) 60%),#f6fbfc}
.sd button{font-family:inherit;cursor:pointer}
.sd *,.sd *:before,.sd *:after{box-sizing:border-box}

/* ---- header */
.sd__head{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;height:68px;padding:0 20px;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.sd__logo{display:inline-flex;align-items:center;justify-self:start}
.sd__logo img{height:52px;width:auto;display:block}
.sd__progress{display:flex;gap:6px;align-items:center;justify-self:center}
.sd__pstep{display:inline-flex;align-items:center;gap:9px;border:0;background:none;padding:8px 12px;border-radius:999px;color:var(--faint);font-weight:700;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;transition:color .2s,background .2s}
.sd__pstep em{font-style:normal}
.sd__pnum{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;background:#eef3f4;color:var(--faint);transition:background .2s,color .2s}
.sd__pstep.is-active{color:var(--ink)}
.sd__pstep.is-active .sd__pnum{background:var(--t);color:#fff;box-shadow:0 0 0 4px var(--tl)}
.sd__pstep.is-done{color:var(--td);cursor:pointer}
.sd__pstep.is-done .sd__pnum{background:var(--tl);color:var(--td)}
.sd__pstep:not(.is-done):not(.is-active){cursor:default}
.sd__pstep+.sd__pstep:before{content:"";width:22px;height:2px;border-radius:2px;background:var(--line);margin-right:6px}
.sd__close{justify-self:end;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);display:grid;place-items:center;font-size:18px;transition:background .15s,border-color .15s}
.sd__close:hover{background:#eef3f4;border-color:#cfe3e9}

/* ---- main / steps */
.sd__main{flex:1;width:100%;max-width:1120px;margin:0 auto;padding:36px 20px 140px}
.sd__step{display:none}
.sd__step.is-visible{display:block;animation:sdIn .38s cubic-bezier(.2,.8,.2,1)}
@keyframes sdIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.sd__shead{text-align:center;max-width:720px;margin:0 auto 28px}
.sd__eye{margin:0 0 8px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--o)}
.sd__title{margin:0;font-family:var(--sos-font-display,'Sand Beach',serif);font-weight:400;font-size:clamp(38px,5.4vw,58px);line-height:1.05;letter-spacing:.02em;color:var(--ink)}
.sd__lede{margin:12px auto 0;font-size:16px;line-height:1.55;color:var(--mut);max-width:560px}
.sd__lede b{color:var(--ink)}

/* ---- step 1: parties */
.sd__parties{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.sd-party{position:relative;display:flex;flex-direction:column;width:100%;padding:0;border:0;background:#fff;border-radius:20px;overflow:hidden;text-align:left;box-shadow:0 1px 2px rgba(26,58,63,.05),0 10px 28px rgba(26,58,63,.08);outline:3px solid transparent;outline-offset:-3px;transition:transform .2s,box-shadow .2s,outline-color .2s}
.sd-party:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(26,58,63,.05),0 18px 40px rgba(26,58,63,.14)}
.sd-party:focus-visible{outline-color:rgba(12,156,190,.6)}
.sd-party.is-selected{outline-color:var(--t);box-shadow:0 0 0 5px var(--tl),0 18px 40px rgba(26,58,63,.14)}
.sd-party__img{display:flex;flex:none;align-items:center;justify-content:center;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(160deg,#eaf6f9 0%,#f6fbfc 55%,#fff3dd 130%)}
.sd-party__ic{width:118px;height:118px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 12px 30px rgba(12,156,190,.16),0 1px 2px rgba(26,58,63,.06);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.sd-party__ic i{font-size:62px;line-height:1;color:var(--t)}
.sd-party:hover .sd-party__ic{transform:translateY(-3px) scale(1.04);box-shadow:0 18px 40px rgba(12,156,190,.22),0 1px 2px rgba(26,58,63,.06)}
.sd-party.is-selected .sd-party__ic{background:var(--t)}
.sd-party.is-selected .sd-party__ic i{color:#fff}
.sd-party__body{display:block;flex:1;padding:14px 16px 16px}
.sd-party__l{display:block;font-size:17px;font-weight:800;color:var(--ink)}
.sd-party__s{display:block;margin-top:3px;font-size:13px;font-weight:600;color:var(--mut)}
.sd-party__check,.sd-tile__check{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;background:var(--o);color:#fff;display:grid;place-items:center;font-size:15px;box-shadow:0 3px 10px rgba(0,0,0,.25);opacity:0;transform:scale(.6);transition:opacity .2s,transform .2s;z-index:1}
.sd-party.is-selected .sd-party__check,.sd-tile.is-selected .sd-tile__check{opacity:1;transform:none}
.sd__extras{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 22px;margin-top:26px}
.sd-toggle{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 18px 0 14px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font-weight:700;font-size:14px;transition:background .15s,border-color .15s,color .15s}
.sd-toggle i{font-size:20px;color:var(--t)}
.sd-toggle:hover{border-color:#bcd9e1}
.sd-toggle[aria-pressed="true"]{background:var(--t);border-color:var(--t);color:#fff}
.sd-toggle[aria-pressed="true"] i{color:#fff}
.sd__areas{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}
.sd__areas-l{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:800;color:var(--mut);margin-right:2px}
.sd__areas-l i{font-size:16px;color:var(--t)}
.sd-chip{height:38px;padding:0 15px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font-weight:700;font-size:13px;transition:background .15s,border-color .15s,color .15s}
.sd-chip:hover{border-color:#bcd9e1}
.sd-chip.is-active{background:var(--ink);border-color:var(--ink);color:#fff}

/* ---- messages */
.sd__msg{max-width:640px;margin:0 auto 22px;padding:18px 22px;border-radius:18px;background:#fff7ed;border:1px solid #fed7aa;text-align:center;animation:sdIn .3s ease}
.sd__msg--soft{background:#fff;border-color:var(--line)}
.sd__msg-cap{margin:0 0 4px;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--od)}
.sd__msg--soft .sd__msg-cap{color:var(--td)}
.sd__msg-t{margin:0;font-size:19px;font-weight:800;color:var(--ink);line-height:1.3}
.sd__msg-t em{font-style:normal;color:var(--t)}
.sd__msg-d{margin:6px 0 0;font-size:14px;color:var(--mut);line-height:1.5}

/* ---- step 2: calendar */
.sd-cal{max-width:860px;margin:0 auto;background:#fff;border-radius:22px;padding:18px 22px 22px;box-shadow:0 1px 2px rgba(26,58,63,.05),0 10px 28px rgba(26,58,63,.08)}
.sd-cal__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.sd-cal__hint{margin:0;font-size:14.5px;font-weight:600;color:var(--mut)}
.sd-cal__hint b{color:var(--ink)}
.sd-cal__clear{border:0;background:none;color:var(--td);font-weight:700;font-size:13px;padding:6px 8px;border-radius:8px}
.sd-cal__clear:hover{background:var(--tl)}
.sd-cal__scroller{position:relative}
.sd-cal__months{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.sd-cal__nav{position:absolute;top:2px;width:38px;height:38px;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:var(--ink);display:grid;place-items:center;font-size:16px;z-index:2;transition:border-color .15s,color .15s}
.sd-cal__nav:hover:not(:disabled){border-color:var(--t);color:var(--t)}
.sd-cal__nav:disabled{opacity:.35;cursor:default}
.sd-cal__nav--prev{left:0}.sd-cal__nav--next{right:0}
.sd-cal__title{margin:0 0 12px;text-align:center;font-size:15px;font-weight:800;color:var(--ink);line-height:42px}
.sd-cal__wk{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}
.sd-cal__wk span{text-align:center;font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--faint)}
.sd-cal__days{display:grid;grid-template-columns:repeat(7,1fr);row-gap:4px}
.sd-cal__day{position:relative;height:44px;border:0;background:none;border-radius:999px;font-weight:600;font-size:14px;color:var(--ink);padding:0;transition:background .12s,color .12s}
.sd-cal__day:not(:disabled):hover{background:var(--tl)}
.sd-cal__day:disabled{color:var(--faint);opacity:.55;cursor:default}
.sd-cal__day.is-out{visibility:hidden}
.sd-cal__day.is-today:after{content:"";position:absolute;left:50%;bottom:6px;width:5px;height:5px;border-radius:50%;background:var(--o);transform:translateX(-50%)}
.sd-cal__day.is-in{background:var(--tl);border-radius:0}
.sd-cal__day.is-ci,.sd-cal__day.is-co{background:var(--t);color:#fff;font-weight:800}
.sd-cal__day.is-ci.has-co{border-radius:999px 0 0 999px}
.sd-cal__day.is-co{border-radius:0 999px 999px 0}
.sd-cal__day.is-ci:hover,.sd-cal__day.is-co:hover{background:var(--td)}
.sd-cal__day.is-hov,.sd-cal__day:not(:disabled).is-hov:hover{background:var(--t);color:#fff;font-weight:800;border-radius:0 999px 999px 0}
.sd-cal__hint-s{font-weight:500;color:var(--faint);margin-left:4px}

/* ---- step 3: tiles */
.sd__loader{display:none;align-items:center;justify-content:center;gap:12px;padding:46px 0;font-weight:700;color:var(--mut)}
.sd__loader[data-active]{display:flex}
.sd__spin{width:26px;height:26px;border-radius:50%;border:3px solid var(--tl);border-top-color:var(--t);animation:sdSpin .8s linear infinite}
@keyframes sdSpin{to{transform:rotate(360deg)}}
.sd__tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.sd__tiles.is-busy{opacity:.45;pointer-events:none}
.sd__tiles.is-off{display:none}
.sd-tile{position:relative;display:flex;flex-direction:column;width:100%;padding:0;border:0;background:#fff;border-radius:20px;overflow:hidden;text-align:left;box-shadow:0 1px 2px rgba(26,58,63,.05),0 10px 28px rgba(26,58,63,.08);outline:3px solid transparent;outline-offset:-3px;transition:transform .2s,box-shadow .2s,outline-color .2s}
.sd-tile:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(26,58,63,.05),0 18px 40px rgba(26,58,63,.14)}
.sd-tile:focus-visible{outline-color:rgba(12,156,190,.6)}
.sd-tile.is-selected{outline-color:var(--t);box-shadow:0 0 0 5px var(--tl),0 18px 40px rgba(26,58,63,.14)}
.sd-tile.is-hidden{display:none}
.sd-tile__img{display:block;flex:none;aspect-ratio:4/3;background:var(--sand);overflow:hidden;position:relative}
.sd-tile__img:after{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.28));pointer-events:none}
.sd-tile__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.sd-tile:hover .sd-tile__img img{transform:scale(1.05)}
.sd-tile__count{position:absolute;top:10px;left:10px;z-index:1;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.94);color:var(--ink);font-size:12px;font-weight:800;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.sd-tile__count:empty{display:none}
.sd-tile__body{display:block;flex:1;padding:13px 15px 15px}
.sd-tile__l{display:block;font-size:16px;font-weight:800;color:var(--ink)}
.sd-tile__s{display:block;margin-top:2px;font-size:12.5px;font-weight:600;color:var(--mut)}
.sd__empty{max-width:640px;margin:0 auto;padding:30px 26px;border-radius:22px;background:#fff;border:1px solid var(--line);text-align:center;box-shadow:0 10px 28px rgba(26,58,63,.08)}
.sd__empty-btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:18px}

/* ---- footer */
.sd__foot{position:fixed;left:0;right:0;bottom:0;z-index:20;padding:0 20px calc(14px + env(safe-area-inset-bottom,0px));pointer-events:none}
.sd__foot-in{pointer-events:auto;max-width:1120px;margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:12px 14px;border-radius:22px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:0 -4px 24px rgba(26,58,63,.08),0 18px 44px rgba(26,58,63,.14)}
.sd__sum{margin:0;text-align:center;font-size:14px;font-weight:600;color:var(--mut);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sd__sum b{color:var(--ink);font-weight:800}
.sd-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:50px;padding:0 22px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font-weight:800;font-size:14.5px;letter-spacing:.01em;text-decoration:none;transition:background .15s,border-color .15s,color .15s,transform .15s,opacity .15s}
.sd-btn i{font-size:17px}
.sd-btn--ghost:hover:not(:disabled){border-color:#bcd9e1;background:#f6fbfc}
.sd-btn--primary{background:var(--o);border-color:var(--o);color:#fff;padding:0 26px;box-shadow:0 10px 26px rgba(248,164,30,.35)}
.sd-btn--primary:hover:not(:disabled){background:var(--od);border-color:var(--od);transform:translateY(-1px)}
.sd-btn:disabled{opacity:.45;cursor:default;box-shadow:none}
.sd-btn--primary.is-checking{opacity:1;background:#ffd58a;border-color:#ffd58a;color:#7a4b00;animation:sdPulse 1.2s ease-in-out infinite}
@keyframes sdPulse{0%,100%{opacity:1}50%{opacity:.7}}
.sd-btn b{font-weight:900}

/* ---- responsive */
@media (max-width:980px){.sd__parties{grid-template-columns:repeat(2,minmax(0,1fr))}.sd__tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){
  .sd__head{height:60px;padding:0 12px;grid-template-columns:auto 1fr auto}
  .sd__logo img{height:42px}
  .sd__pstep{padding:6px 5px;gap:6px;font-size:10.5px;letter-spacing:.04em}.sd__pstep em{display:none;white-space:nowrap}.sd__pstep.is-active em{display:inline}.sd__pstep+.sd__pstep:before{width:12px;margin-right:2px}
  .sd__main{padding:26px 16px 170px}
  .sd__shead{margin-bottom:20px}.sd__lede{font-size:15px}
  .sd-cal{padding:14px 12px 16px;border-radius:18px}
  .sd-cal__months{grid-template-columns:1fr;gap:18px}
  .sd-cal__day{height:40px}
  .sd__tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .sd-tile__body{padding:11px 12px 13px}.sd-tile__l{font-size:14.5px}.sd-tile__s{font-size:12px}
  .sd-party__body{padding:11px 12px 13px}.sd-party__l{font-size:15px}.sd-party__ic{width:92px;height:92px}.sd-party__ic i{font-size:48px}
  .sd__foot{padding:0 10px calc(10px + env(safe-area-inset-bottom,0px))}
  .sd__foot-in{grid-template-columns:auto 1fr;grid-template-areas:"sum sum" "back next";gap:10px;padding:10px 10px}
  .sd__sum{grid-area:sum;white-space:normal;font-size:13px}
  #sd-back{grid-area:back;height:46px;padding:0 16px}#sd-back span{display:none}
  #sd-next{grid-area:next;height:46px;width:100%}
}
@media (max-width:420px){.sd__parties{gap:12px}.sd-party__s{font-size:12px}.sd__extras{gap:10px 12px}.sd-chip{height:36px;padding:0 12px;font-size:12.5px}}
@media (prefers-reduced-motion:reduce){.sd__step.is-visible,.sd__msg{animation:none}.sd-party,.sd-tile,.sd-party__img img,.sd-tile__img img{transition:none}}
