/* smartCal additions on top of base.css (smartForm's design system) */
.langbtn{background:none;border:1px solid var(--line);border-radius:999px;padding:5px 11px;font:inherit;font-size:.88rem;color:var(--navy);cursor:pointer}
.langbtn:hover{background:#fff}
.langbtn span{opacity:.55}.langbtn .on{opacity:1;font-weight:800}.langbtn .lg-sep{margin:0 5px;opacity:.35}
.plans3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:1040px!important}
.h1a{color:var(--navy)!important;display:inline!important}
.cal-mock .cm-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:6px 0 12px}
.cal-mock .cm-grid span{text-align:center;font-size:.8rem;padding:6px 0;border-radius:8px;color:#9aa3b8}
.cal-mock .cm-grid span.h{font-weight:700;color:var(--muted);font-size:.72rem}
.cal-mock .cm-grid span.on{background:#eaf1ff;color:var(--blue);font-weight:700}
.cal-mock .cm-grid span.sel{background:var(--blue);color:#fff}
.cal-mock .cm-grid span.sh{background:#fff6e5;color:#a15c00}
.cm-times{display:flex;gap:6px;flex-wrap:wrap}
.cm-times span{border:1px solid #b8cbf3;color:var(--blue);border-radius:8px;padding:5px 10px;font-size:.8rem;font-weight:700}
.cm-times span.pick{background:var(--navy);border-color:var(--navy);color:#fff}
.cm-shab{margin-top:10px;font-size:.8rem;color:#a15c00;background:#fff6e5;border-radius:8px;padding:6px 10px}
.legal{padding:26px 0 40px}
.legal .panel{max-width:860px;margin:0 auto;padding:28px 30px}
.legal h2{font-size:1.2rem;margin-top:1.4em}
.legal h3{font-size:1rem;margin-top:1em}
.legal li{margin:4px 0}
.prefix-inp{display:flex;align-items:stretch;border:1px solid #cdd6e6;border-radius:10px;overflow:hidden;background:#fff}
.prefix-inp span{background:var(--soft);color:var(--muted);padding:0 8px;display:flex;align-items:center;font-size:.85rem;white-space:nowrap;border-right:1px solid var(--line)}
.prefix-inp .inp{border:0!important;border-radius:0!important;min-width:0}
@media (max-width:900px){.plans3{grid-template-columns:1fr}}

/* ---------- public booking pages ---------- */
body.bookbody{display:block}
.bk-wrap{max-width:1000px;margin:0 auto;padding:28px 14px 40px}
.bk-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 40px rgba(16,40,80,.10);padding:20px 24px;position:relative}
.bk-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.bk-body{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:26px}
.bk-info h1{font-size:1.55rem;margin:4px 0 10px}
.bk-info .meta{display:flex;flex-direction:column;gap:6px;color:#3b4664;font-weight:600;font-size:.95rem}
.bk-info .meta .shab{color:#a15c00;font-weight:600}
.bk-info .desc{white-space:pre-wrap;color:#4a5470;margin-top:14px}
.bk-info .chosen{margin-top:16px;background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:10px 12px;color:var(--navy)}
.bk-pick h2{font-size:1.15rem}
.pick-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:18px}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.navbtn{font-size:1.4rem;width:36px;height:36px;border-radius:50%}
.navbtn:disabled{opacity:.3;cursor:default}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.cal-grid.loading{opacity:.45}
.cal-grid .dow{font-size:.72rem;font-weight:700;color:var(--muted);padding:4px 0}
.cal-grid .day{aspect-ratio:1/1;border:0;border-radius:50%;background:none;font:inherit;font-size:.95rem;color:#a3abbd;cursor:default;max-width:46px;margin:0 auto;width:100%}
.cal-grid .day.has{background:#eaf1ff;color:var(--blue);font-weight:800;cursor:pointer}
.cal-grid .day.has:hover{background:#d6e4fd}
.cal-grid .day.sel{background:var(--blue);color:#fff}
.cal-grid .day.shab{background:#fff6e5;color:#c58a3a}
.tzrow{display:flex;flex-direction:column;gap:4px;margin-top:14px;font-size:.85rem;color:var(--muted);font-weight:600}
.tzsel{border:1px solid var(--line);border-radius:8px;padding:6px 8px;font:inherit;font-size:.88rem;background:#fff;max-width:100%}
.bk-times h3{font-size:.98rem;margin:6px 0 10px}
.bk-times{max-height:440px;overflow-y:auto;padding-inline-end:4px}
.slot-row{display:flex;gap:6px;margin-bottom:8px}
.slot{flex:1;border:1px solid #b8cbf3;background:#fff;color:var(--blue);font:inherit;font-weight:700;border-radius:10px;padding:10px 6px;cursor:pointer}
.slot:hover{border-color:var(--blue)}
.slot.sel{background:#5d6b86;border-color:#5d6b86;color:#fff}
.slot-next{flex:1;padding:10px 6px}
.bk-form{max-width:480px}
.bk-form .choice{display:flex;gap:8px;align-items:center}
.linkbtn{background:none;border:0;color:var(--blue);font:inherit;font-weight:600;cursor:pointer;padding:0;align-self:flex-start}
.bk-brand{text-align:center;font-size:.8rem;color:var(--muted);margin-top:18px}
.bk-brand a{font-weight:700;text-decoration:none}
.bk-msg{text-align:center;padding:40px}
.bk-profile{max-width:620px;margin:0 auto;text-align:center}
.avatar{width:64px;height:64px;border-radius:50%;background:var(--blue);color:#fff;font-weight:800;font-size:1.6rem;display:flex;align-items:center;justify-content:center;margin:4px auto 10px}
.ev-list{display:flex;flex-direction:column;gap:10px;margin-top:6px;text-align:start}
.ev-item{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-inline-start:6px solid var(--blue);border-radius:12px;padding:12px 14px;text-decoration:none;color:var(--navy)}
.ev-item:hover{background:var(--soft)}
.bk-manage{max-width:620px;margin:0 auto;text-align:center}
.big-ic{width:58px;height:58px;border-radius:50%;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;font-size:1.7rem;font-weight:800;color:#fff;background:var(--ok)}
.big-ic.cancelled{background:var(--err)}
.big-ic.pending{background:var(--warn)}
.bk-kv{display:flex;flex-direction:column;gap:8px;text-align:start;margin:16px 0;border-top:1px solid var(--line);padding-top:14px}
.kvr{display:grid;grid-template-columns:90px 1fr;gap:10px;align-items:baseline}
.kvr a{word-break:break-all}
.acts{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.cancel-panel{margin-top:14px;text-align:start}
.center{text-align:center}
@media (max-width:760px){
  .bk-wrap{padding:10px 8px 30px}
  .bk-card{padding:16px 14px;border-radius:14px}
  .bk-body,.pick-grid{grid-template-columns:1fr;gap:16px}
  .bk-info h1{font-size:1.3rem}
  .bk-times{max-height:none}
  .bk-event.is-form .bk-info .desc{display:none}
}
/* ---------- dashboard ---------- */
.subnav{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 16px}
.subnav a{padding:7px 13px;border-radius:999px;text-decoration:none;color:var(--navy);font-weight:600;font-size:.92rem;background:rgba(255,255,255,.6);border:1px solid var(--line)}
.subnav a.on{background:var(--blue);color:#fff;border-color:var(--blue)}
.linkbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:14px}
.linkbar code{font-size:.9rem;word-break:break-all}
.bk-list{display:flex;flex-direction:column;gap:10px}
.bk-row{display:grid;grid-template-columns:150px 1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.bk-row .when b{display:block;color:var(--navy)}
.bk-row .who b{color:var(--navy)}
.bk-row .acts{justify-content:flex-end}
.bk-row details{grid-column:1/-1;font-size:.9rem;color:#4a5470}
.tag{display:inline-block;font-size:.72rem;font-weight:700;border-radius:999px;padding:2px 8px;background:#eef2f9;color:#4a5470;margin-inline-start:6px}
.tag.paid{background:#e6f6ed;color:var(--ok)}
.tag.pending{background:#fff3df;color:var(--warn)}
.tag.cancel{background:#fde8e8;color:var(--err)}
.ev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.ev-card{background:#fff;border:1px solid var(--line);border-top:5px solid var(--blue);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:6px}
.ev-card h3{margin:0;font-size:1.05rem}
.ev-card .acts{justify-content:flex-start;margin-top:auto}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.week{display:flex;flex-direction:column;gap:8px}
.wrow{display:grid;grid-template-columns:minmax(150px,max-content) 1fr;gap:10px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 12px}
.wrow .ranges{display:flex;flex-direction:column;gap:6px}
.range{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.range input[type=time]{border:1px solid #cdd6e6;border-radius:8px;padding:5px 6px;font:inherit}
.qrow{display:grid;grid-template-columns:1fr 130px auto auto;gap:6px;align-items:center;margin-bottom:6px}
.shab-list{font-size:.9rem;color:#4a5470;margin:6px 0 0;padding-inline-start:18px}
.soon{opacity:.8}
@media (max-width:760px){
  .bk-row{grid-template-columns:1fr}
  .bk-row .acts{justify-content:flex-start}
  .grid2,.grid3{grid-template-columns:1fr}
  .wrow{grid-template-columns:1fr}
  .qrow{grid-template-columns:1fr 1fr}
}
.bk-form .field{margin:0!important;padding:0!important}
.bk-form.stack{gap:12px}

@media (max-width:520px){
  .site-header .wrap{gap:8px}
  .nav{gap:2px;flex-wrap:nowrap}
  .nav a{padding:6px 7px;font-size:.86rem}
  .nav .btn.sm{padding:7px 10px}
  .langbtn{padding:4px 8px;font-size:.8rem}
  .brand b{font-size:1.05rem}
  .brand img{width:28px;height:28px}
}

/* white label (Pro Plus) */
.wl-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.wl-head img{max-height:40px;max-width:160px;object-fit:contain}
.wl-head b{color:var(--navy);font-size:1rem}
.wl-logo{max-height:72px;max-width:220px;object-fit:contain;display:block;margin:4px auto 10px}
.white-label .cal-grid .day.has{background:color-mix(in srgb,var(--blue) 14%,#fff)}
.white-label .slot{border-color:color-mix(in srgb,var(--blue) 45%,#fff)}
.brand-prev{display:flex;align-items:center;gap:10px;border:1px dashed var(--line);border-radius:10px;padding:10px;min-height:60px}
.brand-prev img{max-height:48px;max-width:180px}
.plans4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:1180px!important}
@media (max-width:1100px){.plans4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.plans4{grid-template-columns:1fr}}

/* keep long select options from widening the form on phones */
.field{min-width:0}
select.inp{max-width:100%;min-width:0;text-overflow:ellipsis}

/* phones: header becomes two rows (brand, then nav) so the language toggle and Contact never push the page wider */
@media (max-width:560px){
  .site-header .wrap{flex-wrap:wrap;row-gap:0;padding-top:4px;padding-bottom:4px}
  .site-header .nav{width:100%;margin:0;justify-content:space-between;flex-wrap:nowrap;gap:2px}
  .site-header .nav a{padding:6px 6px;font-size:.84rem;white-space:nowrap}
  .site-header .nav .btn.sm{padding:6px 9px}
  .langbtn{padding:4px 8px;font-size:.8rem;white-space:nowrap}
}
