/* Sa Calma — Calendario de salidas. CSS scoped bajo .scb-cal para no chocar con el tema. */

.scb-cal{
  --mar:#2C5DAA;--profundo:#0E2A47;--sol:#EC802A;--sol-h:#d86f1c;
  --papel:#FFFFFF;--niebla:#F1ECE3;--tinta:#1B2733;--tinta-s:#5C6773;
  --linea:#E4DCCF;--linea-f:#D3C8B6;
  --disp:#1F9A7E;--disp-bg:#E4F4EF;--lim:#C9860C;--lim-bg:#FBEFD6;
  --ago:#C4503B;--ago-bg:#F7E6E1;--cer:#7C8794;--cer-bg:#ECEDEF;
  --sombra:0 1px 2px rgba(14,42,71,.05),0 8px 24px rgba(14,42,71,.07);
  --sombra-a:0 2px 6px rgba(14,42,71,.10),0 18px 48px rgba(14,42,71,.18);
  --radio:14px;
  --font-display:"Gaya","Montserrat","Segoe UI",system-ui,sans-serif;
  --font-body:"Montserrat","Segoe UI",system-ui,-apple-system,sans-serif;
  font-family:var(--font-body);color:var(--tinta);line-height:1.6;
  max-width:1060px;margin:0 auto;-webkit-font-smoothing:antialiased;position:relative;
}
.scb-cal *{box-sizing:border-box}

/* Hero */
.scb-cal-hero{position:relative;border-radius:22px;overflow:hidden;
  background:linear-gradient(180deg,#BFE0EC 0%,#EAF4F0 46%,#3D7EC0 46%,#1F4E86 100%);
  box-shadow:var(--sombra)}
.scb-cal-hero-in{position:relative;z-index:2;padding:40px 34px 30px}
.scb-cal-sun{position:absolute;top:34px;right:40px;width:74px;height:74px;border-radius:50%;
  background:var(--sol);opacity:.92;z-index:1}
.scb-cal-waves{position:absolute;left:0;right:0;bottom:0;height:80px;z-index:1;opacity:.5}
.scb-cal-eyebrow{font-size:11px;letter-spacing:.26em;text-transform:uppercase;font-weight:700;
  color:var(--profundo);margin:0 0 10px}
.scb-cal .scb-cal-h1{font-family:var(--font-display);font-weight:700;color:var(--profundo);
  font-size:clamp(26px,4.4vw,40px);line-height:1.08;margin:0 0 10px;max-width:16ch}
.scb-cal-lede{margin:0;color:var(--profundo);opacity:.86;font-size:15px;max-width:46ch}

/* Selector de día */
.scb-cal-picker{background:var(--papel);border-radius:var(--radio);box-shadow:var(--sombra);
  margin:-26px auto 0;position:relative;z-index:4;padding:16px;border:1px solid var(--linea)}
.scb-cal-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:0 4px 12px;flex-wrap:wrap}
.scb-cal-picker-title{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
  color:var(--tinta-s);display:flex;align-items:center;gap:7px}
.scb-cal-otra{display:flex;align-items:center;gap:8px}
.scb-cal-otra label{font-size:12px;color:var(--tinta-s)}
.scb-cal input[type=date]{font-family:var(--font-body);font-size:13px;padding:7px 10px;border-radius:9px;
  border:1px solid var(--linea-f);background:var(--niebla);color:var(--tinta);cursor:pointer;width:auto}
.scb-cal-strip{display:flex;gap:8px;overflow-x:auto;padding:4px 4px 8px}
.scb-cal-strip::-webkit-scrollbar{height:6px}
.scb-cal-strip::-webkit-scrollbar-thumb{background:var(--linea-f);border-radius:6px}
.scb-cal .scb-cal-day{flex:0 0 auto;width:60px;border:1px solid var(--linea);background:var(--papel);
  border-radius:12px;padding:9px 4px 8px;text-align:center;cursor:pointer;color:var(--tinta);
  transition:transform .14s,border-color .14s,background .14s;font-family:var(--font-body)}
.scb-cal .scb-cal-day:hover{transform:translateY(-2px);border-color:var(--mar)}
.scb-cal-day .dow{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-s);font-weight:700}
.scb-cal-day .dnum{font-family:var(--font-display);font-weight:700;font-size:20px;margin-top:2px;line-height:1}
.scb-cal-day .dmon{font-size:10px;color:var(--tinta-s);margin-top:2px;text-transform:uppercase;letter-spacing:.08em}
.scb-cal .scb-cal-day.sel{background:var(--sol);border-color:var(--sol);color:#fff;box-shadow:0 6px 16px rgba(236,128,42,.35)}
.scb-cal-day.sel .dow,.scb-cal-day.sel .dmon{color:rgba(255,255,255,.9)}
.scb-cal-day.today .dnum{color:var(--sol)}
.scb-cal-day.sel.today .dnum{color:#fff}

/* Banner agencia */
.scb-cal-agency-banner{display:flex;align-items:center;gap:14px;margin-top:22px;
  background:linear-gradient(100deg,var(--sol) 0%,#f39b4e 100%);color:#fff;
  border-radius:16px;padding:16px 20px;box-shadow:0 8px 24px rgba(236,128,42,.28)}
.scb-cal-ab-ic{flex:0 0 auto;width:44px;height:44px;border-radius:12px;
  background:rgba(255,255,255,.2);display:grid;place-items:center}
.scb-cal-agency-banner b{display:block;font-family:var(--font-display);font-size:16px;font-weight:700}
.scb-cal-agency-banner span{font-size:13.5px;opacity:.95}

/* Panel del día */
.scb-cal-panel{margin-top:26px}
.scb-cal-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;
  flex-wrap:wrap;margin-bottom:6px}
.scb-cal .scb-cal-date{font-family:var(--font-display);font-weight:700;font-size:24px;color:var(--profundo);
  text-transform:capitalize;margin:0}
.scb-cal-sub{color:var(--tinta-s);font-size:14px;margin:2px 0 0}
.scb-cal-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--tinta-s)}
.scb-cal-legend span{display:inline-flex;align-items:center;gap:6px}
.scb-cal-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}
.scb-i-disp{background:var(--disp)}.scb-i-lim{background:var(--lim)}.scb-i-ago{background:var(--ago)}

/* Horarios del día */
.scb-cal-hours-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
  color:var(--tinta-s);margin:16px 0 8px}
.scb-cal-hours-rail{display:flex;gap:8px;flex-wrap:wrap;padding:0 0 6px}
.scb-cal-hour-pill{flex:0 0 auto;border:1px solid var(--linea);background:var(--papel);color:var(--profundo);
  border-radius:999px;padding:6px 13px;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;
  display:inline-flex;align-items:center;gap:7px}
.scb-cal-hour-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--disp)}
.scb-cal-hour-pill.s-limitado::before{background:var(--lim)}
.scb-cal-hour-pill.s-agotado::before,.scb-cal-hour-pill.s-cerrado::before{background:var(--cer)}

/* Secciones y tarjetas */
.scb-cal-seclabel{display:flex;align-items:center;gap:12px;margin:24px 0 12px}
.scb-cal .scb-cal-seclabel h4{font-family:var(--font-display);margin:0;font-size:14px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-s)}
.scb-cal-seclabel .rule{flex:1;height:1px;background:var(--linea)}
.scb-cal-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.scb-cal-card{background:var(--papel);border:1px solid var(--linea);border-radius:var(--radio);
  padding:16px 16px 14px;box-shadow:var(--sombra);display:flex;flex-direction:column;gap:12px;
  transition:transform .16s,box-shadow .16s,border-color .16s;position:relative;overflow:hidden}
.scb-cal-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--mar)}
.scb-cal-card.s-limitado::before{background:var(--lim)}
.scb-cal-card.s-agotado::before,.scb-cal-card.s-cerrado::before{background:var(--cer)}
.scb-cal-card:hover{transform:translateY(-3px);box-shadow:var(--sombra-a);border-color:var(--linea-f)}
.scb-cal-ctop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.scb-cal-hora{display:flex;flex-direction:column;line-height:1}
.scb-cal-hora b{font-family:var(--font-display);font-size:26px;font-weight:700;color:var(--profundo);font-variant-numeric:tabular-nums}
.scb-cal-hora small{font-size:11px;color:var(--tinta-s);text-transform:uppercase;letter-spacing:.1em;margin-top:3px}
.scb-cal-pill{font-size:11.5px;font-weight:700;padding:5px 11px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.scb-cal-pill i{width:7px;height:7px;border-radius:50%;background:currentColor}
.scb-cal-pill.disponible{background:var(--disp-bg);color:var(--disp)}
.scb-cal-pill.limitado{background:var(--lim-bg);color:var(--lim)}
.scb-cal-pill.agotado{background:var(--ago-bg);color:var(--ago)}
.scb-cal-pill.cerrado{background:var(--cer-bg);color:var(--cer)}
.scb-cal .scb-cal-card h5{margin:0;font-family:var(--font-display);font-size:17px;font-weight:700;color:var(--tinta);line-height:1.2}
.scb-cal-boat{display:flex;align-items:center;gap:8px;color:var(--tinta-s);font-size:13.5px;font-weight:600}
.scb-cal-boat svg{flex:0 0 auto;color:var(--mar)}
.scb-cal-cfoot{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--linea);padding-top:12px}
.scb-cal-precio{line-height:1.1}
.scb-cal-precio small{display:block;font-size:10.5px;color:var(--tinta-s);text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.scb-cal-precio b{font-family:var(--font-display);font-size:19px;color:var(--profundo);font-weight:700}
.scb-cal-precio b span{font-size:12px;font-weight:600;color:var(--tinta-s)}
.scb-cal .scb-cal-btn{font-family:var(--font-body);border:none;cursor:pointer;font-weight:700;font-size:13.5px;
  padding:10px 16px;border-radius:10px;transition:transform .12s,background .14s;white-space:nowrap;width:auto}
.scb-cal .scb-cal-btn-book{background:var(--sol);color:#fff}
.scb-cal .scb-cal-btn-book:hover{background:var(--sol-h);transform:translateY(-1px)}
.scb-cal .scb-cal-btn-off{background:var(--niebla);color:var(--tinta-s);cursor:not-allowed}

/* Estados */
.scb-cal-state{text-align:center;padding:48px 20px;color:var(--tinta-s)}
.scb-cal-state .big{font-size:34px;margin-bottom:8px}
.scb-cal .scb-cal-state h4{font-family:var(--font-display);color:var(--tinta);margin:0 0 6px}
.scb-cal-spin{width:34px;height:34px;border:3px solid var(--niebla);border-top-color:var(--mar);
  border-radius:50%;margin:0 auto 12px;animation:scbspin .8s linear infinite}
@keyframes scbspin{to{transform:rotate(360deg)}}
.scb-cal-foot{margin:26px 0 10px;font-size:12.5px;color:var(--tinta-s);text-align:center}

/* Modal */
.scb-cal-overlay{display:none;position:fixed;inset:0;z-index:99999}
.scb-cal-overlay.show{display:block}
.scb-cal-veil{position:absolute;inset:0;background:rgba(9,24,40,.55);display:flex;align-items:flex-start;
  justify-content:center;padding:40px 16px;overflow:auto}
.scb-cal-modal{background:var(--papel);border-radius:18px;max-width:460px;width:100%;box-shadow:var(--sombra-a);overflow:hidden}
.scb-cal-modal-hd{background:var(--mar);color:#fff;padding:16px 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.scb-cal-modal-hd small{display:block;font-size:11px;opacity:.85;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.scb-cal .scb-cal-modal-hd h4{margin:2px 0 0;font-family:var(--font-display);font-size:17px;font-weight:700;color:#fff}
.scb-cal-modal-hd span{font-size:12.5px;opacity:.9}
.scb-cal .scb-cal-x{background:rgba(255,255,255,.18);border:none;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:15px;flex:0 0 auto;padding:0}
.scb-cal-modal-bd{padding:14px 18px 18px}
.scb-cal-mrow{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--linea);font-size:14px}
.scb-cal-mrow:last-of-type{border-bottom:none}
.scb-cal-mrow span{color:var(--tinta-s)}
.scb-cal-mrow b{color:var(--tinta);font-weight:700}
.scb-cal-agency{display:flex;gap:12px;align-items:flex-start;background:var(--niebla);
  border:1px solid var(--linea-f);border-radius:14px;padding:14px;margin-top:12px}
.scb-cal-agency svg{flex:0 0 auto;color:var(--sol);margin-top:2px}
.scb-cal-agency b{display:block;font-family:var(--font-display);color:var(--tinta);font-size:14.5px;margin-bottom:3px}
.scb-cal-agency p{margin:0;font-size:13px;color:var(--tinta-s)}
.scb-cal-modal .scb-cal-btn-book{width:100%;margin-top:14px;padding:13px}

@media(max-width:560px){
  .scb-cal-hero-in{padding:30px 22px 24px}
  .scb-cal-sun{width:54px;height:54px;top:24px;right:26px}
  .scb-cal .scb-cal-date{font-size:20px}
}
@media(prefers-reduced-motion:reduce){.scb-cal *{transition:none!important;animation:none!important}}
