/* Svasottama — Kalari Booking
   Built to survive Elementor / theme global styles. Everything is scoped to
   .svkb and the properties page builders commonly force (border-radius,
   background, text-transform, padding, min-height) are reset explicitly. */

.svkb{
  --k-ochre:#B07318;
  --k-ochre-d:#8A5A12;
  --k-ochre-l:#D9A05B;
  --k-ink:#1C1409;
  --k-body:#4A4034;
  --k-mute:#8A8073;
  --k-line:#E0D6C2;
  --k-line-s:#EFE8DA;
  --k-cream:#FBF8F1;
  --k-tint:#FDF7EA;
  --k-err:#9B3227;
  --k-ok:#2F6B3C;

  max-width:1120px;
  margin:0 auto;
  padding:0 0 32px;
  color:var(--k-body);
  font-size:15px;
  line-height:1.6;
  text-align:left;
  -webkit-font-smoothing:antialiased;
}
.svkb *,.svkb *::before,.svkb *::after{ box-sizing:border-box; }

/* ---- neutralise inherited control styling ------------------------- */
.svkb .svkb-opt,
.svkb .svkb-day,
.svkb .svkb-nav,
.svkb .svkb-pay,
.svkb .svkb-seg-i{
  -webkit-appearance:none !important;
  appearance:none !important;
  text-transform:none !important;
  letter-spacing:normal !important;
  font-family:inherit !important;
  font-weight:400;
  box-shadow:none !important;
  text-shadow:none !important;
  min-height:0 !important;
  min-width:0 !important;
  max-width:none !important;
  width:auto;
  height:auto;
  line-height:1.5;
  text-decoration:none !important;
  text-align:left;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  outline:none;
}
.svkb input,.svkb select,.svkb textarea{
  -webkit-appearance:none !important;
  appearance:none !important;
  font-family:inherit !important;
  font-size:15px !important;
  text-transform:none !important;
  letter-spacing:normal !important;
  border-radius:4px !important;
  min-height:0 !important;
  box-shadow:none !important;
  margin:0 !important;
  width:100%;
}
.svkb h2,.svkb h3,.svkb h4,.svkb p,.svkb span,.svkb div,.svkb dt,.svkb dd,.svkb label{
  text-transform:none;
}

/* ---- layout -------------------------------------------------------- */
.svkb-grid{ display:grid; gap:28px; grid-template-columns:1fr; align-items:start; }
@media(min-width:980px){
  .svkb-grid{ grid-template-columns:minmax(0,1fr) 340px; gap:36px; }
  .svkb-aside{ position:sticky; top:24px; }
}

.svkb-block{ margin:0 0 26px; }
.svkb-block:last-child{ margin-bottom:0; }

.svkb-lab{
  display:flex; align-items:center; gap:9px;
  font-size:11px !important; font-weight:600;
  letter-spacing:.16em !important; text-transform:uppercase !important;
  color:var(--k-ochre-d); margin:0 0 11px;
}
.svkb-lab::before{ content:''; width:14px; height:1px; background:var(--k-ochre); flex:none; }

/* ---- segmented control (step one) ---------------------------------- */
.svkb-seg{
  display:grid; grid-template-columns:1fr; gap:0;
  border:1px solid var(--k-line); border-radius:6px; overflow:hidden; background:#fff;
}
@media(min-width:620px){ .svkb-seg{ grid-template-columns:repeat(3,1fr); } }
.svkb-seg-i{
  display:block; padding:13px 16px;
  border:0; background:#fff; color:var(--k-body);
  border-bottom:1px solid var(--k-line);
  transition:background .14s,color .14s;
}
@media(min-width:620px){
  .svkb-seg-i{ border-bottom:0; border-right:1px solid var(--k-line); text-align:center; }
}
.svkb-seg-i:last-child{ border-right:0; border-bottom:0; }
.svkb-seg-i:hover{ background:var(--k-tint); }
.svkb-seg-i.is-on{ background:var(--k-ink); color:#F6EEDD; }
.svkb-seg-t{ display:block; font-size:15px; font-weight:600; color:inherit; line-height:1.3; }
.svkb-seg-s{ display:block; font-size:12.5px; margin-top:2px; color:inherit; opacity:.7; line-height:1.4; }

/* ---- option cards (rooms, programmes, plans) ----------------------- */
.svkb-opts{ display:grid; gap:9px; grid-template-columns:1fr; }
@media(min-width:720px){ .svkb-opts-3{ grid-template-columns:repeat(3,1fr); } }
@media(min-width:720px){ .svkb-opts-2{ grid-template-columns:repeat(2,1fr); } }

.svkb-opt{
  display:block; position:relative;
  padding:14px 15px 14px 17px;
  background:#fff;
  border:1px solid var(--k-line) !important;
  border-radius:6px !important;
  transition:border-color .14s, background .14s;
}
.svkb-opt::before{
  content:''; position:absolute; left:0; top:-1px; bottom:-1px; width:3px;
  background:transparent; border-radius:6px 0 0 6px;
}
.svkb-opt:hover{ border-color:var(--k-ochre) !important; }
.svkb-opt.is-on{
  border-color:var(--k-ochre) !important;
  background:var(--k-tint);
}
.svkb-opt.is-on::before{ background:var(--k-ochre); }
.svkb-opt.is-off{ opacity:.5; cursor:not-allowed; }

.svkb-opt-t{
  display:block; font-size:15.5px; font-weight:600;
  color:var(--k-ink) !important; line-height:1.3;
}
.svkb-opt-s{
  display:block; font-size:12.5px; color:var(--k-mute) !important;
  line-height:1.45; margin-top:3px;
}
.svkb-opt-p{
  display:block; margin-top:7px;
  font-size:15px; font-weight:700; color:var(--k-ochre-d) !important;
}
.svkb-opt-p small{ font-weight:400; font-size:11.5px; color:var(--k-mute) !important; }
.svkb-opt-tag{
  display:inline-block; margin-top:6px; padding:2px 8px;
  font-size:11px; border-radius:3px;
  background:#F3ECDC; color:var(--k-ochre-d) !important;
}
.svkb-opt-tag.is-low{ background:#FBEAE7; color:var(--k-err) !important; }

/* ---- fields -------------------------------------------------------- */
.svkb-fields{ display:grid; gap:14px; grid-template-columns:1fr; }
@media(min-width:620px){
  .svkb-fields-2{ grid-template-columns:1fr 150px; }
  .svkb-fields-2up{ grid-template-columns:1fr 1fr; }
}
.svkb-f{ display:block; }
.svkb-f > label{
  display:block; font-size:12px !important; font-weight:600;
  letter-spacing:.04em !important; text-transform:none !important;
  color:var(--k-mute) !important; margin:0 0 5px;
}
.svkb-f input,.svkb-f select,.svkb-f textarea{
  padding:11px 13px !important;
  color:var(--k-ink) !important;
  background:#fff !important;
  border:1px solid var(--k-line) !important;
  line-height:1.4;
}
.svkb-f select{
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 4.5L6 8.5L10 4.5' stroke='%23B07318' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 12px center !important;
  background-size:12px !important;
  padding-right:34px !important;
}
.svkb-f textarea{ resize:vertical; min-height:74px !important; }

/* country code + number */
.svkb-phone{ display:grid; grid-template-columns:minmax(0,128px) minmax(0,1fr); gap:8px; }
@media(max-width:400px){ .svkb-phone{ grid-template-columns:minmax(0,108px) minmax(0,1fr); } }
.svkb-phone select{
  padding:11px 26px 11px 11px !important;
  color:var(--k-ink) !important; background:#fff !important;
  border:1px solid var(--k-line) !important; line-height:1.4;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 4.5L6 8.5L10 4.5' stroke='%23B07318' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 9px center !important;
  background-size:11px !important;
  text-overflow:ellipsis;
}
.svkb-phone input{
  padding:11px 13px !important;
  color:var(--k-ink) !important; background:#fff !important;
  border:1px solid var(--k-line) !important; line-height:1.4;
}
.svkb-phone select:focus,.svkb-phone input:focus{
  border-color:var(--k-ochre) !important;
  box-shadow:0 0 0 3px rgba(176,115,24,.12) !important;
  outline:none !important;
}
.svkb-f input:focus,.svkb-f select:focus,.svkb-f textarea:focus{
  border-color:var(--k-ochre) !important;
  box-shadow:0 0 0 3px rgba(176,115,24,.12) !important;
  outline:none !important;
}

/* ---- calendar ------------------------------------------------------ */
.svkb-cal{
  background:#fff; border:1px solid var(--k-line);
  border-radius:6px; overflow:hidden; max-width:430px;
}
.svkb-cal-note{
  padding:9px 14px; font-size:12.5px; color:var(--k-ochre-d);
  background:var(--k-tint); border-bottom:1px solid var(--k-line-s);
}
.svkb-cal-hd{
  display:flex; align-items:center; justify-content:space-between;
  padding:9px 10px; border-bottom:1px solid var(--k-line-s);
}
.svkb-cal-m{ font-size:15px; font-weight:700; color:var(--k-ink); letter-spacing:.01em; }
.svkb-nav{
  display:flex; align-items:center; justify-content:center;
  width:30px !important; height:30px !important;
  padding:0 !important; margin:0 !important;
  font-size:17px; line-height:1;
  background:#fff !important; color:var(--k-ochre-d) !important;
  border:1px solid var(--k-line) !important;
  border-radius:4px !important;
}
.svkb-nav:hover{ background:var(--k-tint) !important; }
.svkb-nav[disabled]{ opacity:.3; cursor:default; }

.svkb-cal-b{ padding:9px 9px 11px; }
.svkb-dow{ display:grid; grid-template-columns:repeat(7,1fr); gap:3px; margin-bottom:5px; }
.svkb-dow span{
  text-align:center; font-size:10px !important; font-weight:600;
  letter-spacing:.08em; text-transform:uppercase !important;
  color:var(--k-mute) !important; padding:2px 0;
}
.svkb-days{ display:grid; grid-template-columns:repeat(7,1fr); gap:3px; }

.svkb-day{
  display:flex; align-items:center; justify-content:center;
  position:relative;
  height:40px !important;
  padding:0 !important; margin:0 !important;
  font-size:13.5px; font-weight:500;
  color:var(--k-ink) !important;
  background:#fff !important;
  border:1px solid transparent !important;
  border-radius:4px !important;
}
.svkb-day.is-pad{ background:transparent !important; cursor:default; }
.svkb-day.is-free{ background:#FAF4E7 !important; }
.svkb-day.is-free:hover{ background:#F2E4C6 !important; border-color:var(--k-ochre) !important; }
.svkb-day.is-out{
  background:#F6F5F3 !important; color:#C3BEB5 !important;
  cursor:not-allowed; text-decoration:line-through;
}
.svkb-day.is-past{ background:transparent !important; color:#D5D0C7 !important; cursor:not-allowed; }
.svkb-day.is-start,.svkb-day.is-end{
  background:var(--k-ochre) !important; color:#fff !important;
  border-color:var(--k-ochre-d) !important; font-weight:700;
}
.svkb-day.is-mid{ background:#F0E0BE !important; }
.svkb-day.is-out,
.svkb-day.is-out.is-mid{
  background:#F6F5F3 !important; color:#C3BEB5 !important;
  text-decoration:line-through; cursor:not-allowed;
}
.svkb-day .svkb-n{
  position:absolute; top:2px; right:4px;
  font-size:9px; font-weight:700; font-style:normal;
  color:var(--k-err) !important;
}

.svkb-key{
  display:flex; flex-wrap:wrap; gap:12px;
  padding:9px 14px; border-top:1px solid var(--k-line-s);
  background:#FCFAF5; font-size:11.5px; color:var(--k-mute);
}
.svkb-key span{ display:inline-flex; align-items:center; gap:5px; }
.svkb-key i{ width:12px; height:12px; border-radius:3px; display:block; }
.svkb-k1{ background:#FAF4E7; border:1px solid var(--k-line); }
.svkb-k2{ background:var(--k-ochre); }
.svkb-k3{ background:#F6F5F3; border:1px solid #E5E2DC; }

/* ---- summary ------------------------------------------------------- */
.svkb-card{
  background:#fff; border:1px solid var(--k-line);
  border-radius:6px; padding:18px;
}
.svkb-card-h{
  font-size:16px !important; font-weight:700; color:var(--k-ink) !important;
  margin:0 0 13px; padding:0 0 11px;
  border-bottom:1px solid var(--k-line-s);
}
.svkb-empty{ font-size:13.5px; color:var(--k-mute); line-height:1.6; margin:0; }

.svkb-dl{ display:block; margin:0 0 14px; }
.svkb-dl-r{
  display:flex; justify-content:space-between; align-items:baseline;
  gap:14px; padding:5px 0;
}
.svkb-dl-r dt{
  font-size:11.5px !important; letter-spacing:.06em; text-transform:uppercase !important;
  color:var(--k-mute) !important; margin:0; flex:none;
}
.svkb-dl-r dd{
  margin:0; text-align:right; font-size:14px;
  color:var(--k-ink) !important; font-weight:500;
}

.svkb-tot{
  display:flex; justify-content:space-between; align-items:baseline;
  gap:12px; padding:12px 0 0; border-top:1px solid var(--k-line-s);
}
.svkb-tot span{
  font-size:11.5px !important; letter-spacing:.08em;
  text-transform:uppercase !important; color:var(--k-mute) !important;
}
.svkb-tot strong{ font-size:28px; font-weight:700; color:var(--k-ink) !important; line-height:1.1; }
.svkb-due{
  display:flex; justify-content:space-between; align-items:baseline;
  gap:12px; padding-top:7px; font-size:13px; color:var(--k-mute);
}
.svkb-due strong{ color:var(--k-ochre-d) !important; font-weight:700; }

.svkb-pay{
  display:block; width:100% !important; margin:15px 0 0;
  padding:15px 16px !important;
  background:var(--k-ochre) !important; color:#fff !important;
  border:0 !important; border-radius:5px !important;
  font-size:14px !important; font-weight:700;
  letter-spacing:.03em !important; text-align:center;
  transition:background .16s;
}
.svkb-pay:hover:not([disabled]){ background:var(--k-ochre-d) !important; }
.svkb-pay[disabled]{ opacity:.4; cursor:not-allowed; }

.svkb-fine{
  margin:9px 0 0; font-size:11.5px; color:var(--k-mute) !important;
  line-height:1.55; text-align:center;
}
.svkb-fine a{ color:var(--k-ochre-d) !important; text-decoration:underline; }

.svkb-msg{ padding:11px 13px; border-radius:5px; font-size:13.5px; line-height:1.55; margin:13px 0 0; }
.svkb-msg-err{ background:#FBEAE7; border:1px solid #E8C4BD; color:var(--k-err) !important; }
.svkb-msg-warn{ background:var(--k-tint); border:1px solid var(--k-line); color:var(--k-ochre-d) !important; }
.svkb-msg-ok{ background:#EAF3EC; border:1px solid #C3DCC9; color:var(--k-ok) !important; }
.svkb-msg-ok strong{ display:block; font-size:15px; margin-bottom:3px; color:var(--k-ok) !important; }

.svkb-hidden{ display:none !important; }
