/* ============================================================
   TOKENS
   Selection colour system — ONE rule, no gradients anywhere:
     · CARDS (size, coat, breed, service, extra, salon)
         → border: var(--green) · background: var(--sel) · ✓ badge
     · CHIPS (stepper, day, slot, groomer)
         → background: var(--green) · text: #fff
   ============================================================ */
#groomy-booking-live{
  --cream:#FBF7F0; --cream-2:#F5EFE4; --paper:#FFFFFF;
  --ink:#2C4034; --ink-2:#57695F; --ink-3:#8C9A92;
  --green:#33513F; --green-d:#243B2D; --sage:#B9CBAA;
  --sel:#E4EDDB;                    /* the one selected-card fill */
  --orange:#E2794F; --orange-l:#F0AE8C; --orange-xl:#FBE7DC;
  --yellow:#F5DC97; --yellow-d:#6B5310;
  --line:#E8DFD0; --line-2:#DCD0BC;
  --r-m:14px; --r-l:20px; --r-xl:28px;
  --sh-s:0 1px 3px rgba(44,64,52,.05);
  --sh-m:0 8px 24px rgba(44,64,52,.09);
}
#groomy-booking-live,
#groomy-booking-live *{box-sizing:border-box}
#groomy-booking-live,
#groomy-booking-live{margin:0;padding:0}
/* reserve the scrollbar gutter so short steps and tall steps have the
   SAME content width — otherwise the whole layout jumps between steps */
#groomy-booking-live{scrollbar-gutter:stable}
#groomy-booking-live{font-family:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}
#groomy-booking-live .serif{font-family:"Fraunces",Georgia,serif;font-style:italic;font-weight:600}
#groomy-booking-live button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit}
#groomy-booking-live input,
#groomy-booking-live textarea{font-family:inherit;font-size:inherit}
#groomy-booking-live :focus-visible{outline:2.5px solid var(--orange);outline-offset:2px;border-radius:6px}
/* ---------- topbar ---------- */
#groomy-booking-live .topbar{position:sticky;top:0;z-index:60;background:rgba(251,247,240,.9);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
#groomy-booking-live .topbar-in{max-width:1180px;margin:0 auto;padding:12px 22px;display:flex;align-items:center;gap:18px}
#groomy-booking-live .logo{font-weight:700;letter-spacing:.14em;font-size:15px;color:var(--green)}
#groomy-booking-live .logo span{color:var(--orange)}
#groomy-booking-live .topbar-note{margin-left:auto;display:flex;align-items:center;gap:11px}
#groomy-booking-live .pill-live{display:inline-flex;align-items:center;gap:6px;background:var(--sel);color:var(--green);
  padding:4px 10px;border-radius:99px;font-size:11px;font-weight:600}
#groomy-booking-live .dot{width:5px;height:5px;border-radius:50%;background:var(--green);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}
50%{opacity:.35}}
#groomy-booking-live .btn-notes{border:1px solid var(--line-2);background:var(--paper);padding:5px 12px;border-radius:99px;
  font-size:11.5px;font-weight:600;color:var(--ink-2);transition:.15s}
#groomy-booking-live .btn-notes:hover{border-color:var(--sage);color:var(--green)}
#groomy-booking-live .btn-notes.on{background:var(--green);color:#fff;border-color:var(--green)}
@media (max-width:560px){#groomy-booking-live .pill-live{display:none}}
#groomy-booking-live .wrap{max-width:1180px;margin:0 auto;padding:24px 22px 90px}
#groomy-booking-live .masthead{margin:4px 0 20px}
#groomy-booking-live .eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-bottom:8px}
#groomy-booking-live .eyebrow::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--orange)}
#groomy-booking-live h1{font-size:clamp(25px,3.2vw,35px);line-height:1.12;margin:0 0 8px;font-weight:700;letter-spacing:-.02em}
#groomy-booking-live .lede{color:var(--ink-2);max-width:58ch;margin:0;font-size:14px}
#groomy-booking-live .cols{display:grid;grid-template-columns:1fr 292px;gap:22px;align-items:start}
@media (max-width:980px){#groomy-booking-live .cols{grid-template-columns:1fr}
#groomy-booking-live .rail{position:static !important;order:-1}}
/* ---------- main stepper (CHIP rule) ----------
   Height is LOCKED: the bar is always 46px tall on every step, whatever
   the labels do. Nothing inside is allowed to wrap, grow or push. */
#groomy-booking-live .stepper{display:flex;flex-wrap:nowrap;align-items:center;gap:2px;
  height:46px;min-height:46px;max-height:46px;overflow:hidden;
  background:var(--paper);border:1px solid var(--line-2);border-radius:99px;
  padding:3px;margin:0 0 18px}
#groomy-booking-live .step{flex:1 1 0;display:flex;align-items:center;justify-content:center;gap:7px;
  height:38px;padding:0 8px;border-radius:99px;font-size:12.5px;font-weight:600;
  line-height:1;color:var(--ink-3);transition:background .16s,color .16s;
  white-space:nowrap;min-width:0;overflow:hidden}
#groomy-booking-live .step b{width:18px;height:18px;border-radius:50%;background:var(--cream-2);color:var(--ink-3);
  display:grid;place-items:center;font-size:10px;font-weight:700;flex:0 0 18px;line-height:1}
#groomy-booking-live .step em{font-style:normal;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1}
#groomy-booking-live .step.done{color:var(--green)}
#groomy-booking-live .step.done b{background:var(--sage);color:var(--green-d)}
#groomy-booking-live .step.now{background:var(--green);color:#fff}
#groomy-booking-live .step.now b{background:rgba(255,255,255,.24);color:#fff}
#groomy-booking-live .step.clickable{cursor:pointer}
#groomy-booking-live .step.clickable:hover{background:var(--cream-2)}
/* mobile behaviour for .step lives in the mobile block at the end of this sheet */
/* ---------- panel ---------- */
#groomy-booking-live .panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xl);
  padding:26px 28px;box-shadow:var(--sh-s);min-height:430px}
@media (max-width:560px){#groomy-booking-live .panel{padding:20px 17px}
#groomy-booking-live .wrap{padding:18px 14px 80px}}
#groomy-booking-live .panel-head{margin-bottom:16px}
#groomy-booking-live .panel-head .kicker{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--orange);margin-bottom:6px}
#groomy-booking-live .panel-head h2{font-size:22px;margin:0 0 5px;letter-spacing:-.01em;font-weight:700}
#groomy-booking-live .panel-head p{margin:0;color:var(--ink-2);font-size:13.5px;max-width:64ch}
/* ---------- search — always top ---------- */
#groomy-booking-live .search{position:relative;margin-bottom:6px}
#groomy-booking-live .search input{width:100%;padding:12px 15px 12px 42px;border-radius:99px;border:1.5px solid var(--line-2);
  background:var(--cream);font-size:13.5px;outline:none;transition:.15s}
#groomy-booking-live .search input:focus{border-color:var(--sage);background:#fff;box-shadow:0 0 0 4px var(--sel)}
#groomy-booking-live .search .ic{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--ink-3)}
#groomy-booking-live .search .clr{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:26px;height:26px;
  border-radius:50%;color:var(--ink-3);display:grid;place-items:center}
#groomy-booking-live .search .clr:hover{background:var(--cream-2);color:var(--ink)}
#groomy-booking-live .search-hint{font-size:11.5px;color:var(--ink-3);margin:0 0 18px 17px}
#groomy-booking-live .orbar{display:flex;align-items:center;gap:12px;margin:0 0 18px;color:var(--ink-3);font-size:11px;
  font-weight:600;letter-spacing:.12em;text-transform:uppercase}
#groomy-booking-live .orbar::before,
#groomy-booking-live .orbar::after{content:"";flex:1;height:1px;background:var(--line)}
/* ---------- tree sub-stepper ---------- */
#groomy-booking-live .sub{display:flex;margin:0 0 18px;border:1px solid var(--line);border-radius:var(--r-l);
  overflow:hidden;background:var(--cream)}
#groomy-booking-live .ss{flex:1;padding:11px 14px;display:flex;align-items:center;gap:10px;min-width:0;
  border-right:1px solid var(--line);transition:.16s;text-align:left;background:none}
#groomy-booking-live .ss:last-child{border-right:none}
#groomy-booking-live .ss b{width:20px;height:20px;border-radius:50%;flex:0 0 20px;display:grid;place-items:center;
  font-size:10.5px;font-weight:700;background:var(--line);color:var(--ink-3)}
#groomy-booking-live .ss > span{min-width:0}
#groomy-booking-live .ss .lab{display:block;font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;
  color:var(--ink-3);line-height:1.2}
#groomy-booking-live .ss .val{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-top:1px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
#groomy-booking-live .ss .val.ph{color:var(--ink-3);font-weight:500}
#groomy-booking-live .ss.done{background:var(--paper);cursor:pointer}
#groomy-booking-live .ss.done b{background:var(--sage);color:var(--green-d)}
#groomy-booking-live .ss.done:hover{background:var(--sel)}
#groomy-booking-live .ss.now{background:var(--paper);box-shadow:inset 0 -3px 0 var(--orange)}
#groomy-booking-live .ss.now b{background:var(--orange);color:#fff}
#groomy-booking-live .ss.now .lab{color:var(--orange)}
#groomy-booking-live .ss.wait{opacity:.42}
@media (max-width:700px){#groomy-booking-live .sub{flex-direction:column}
#groomy-booking-live .ss{border-right:none;border-bottom:1px solid var(--line)}
#groomy-booking-live .ss.now{box-shadow:inset 3px 0 0 var(--orange)}}
/* ---------- CARDS (single selection rule) ---------- */
#groomy-booking-live .grid{display:grid;gap:12px}
#groomy-booking-live .g-size{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
#groomy-booking-live .g-coat{grid-template-columns:repeat(auto-fit,minmax(196px,1fr))}
#groomy-booking-live .g-breed{grid-template-columns:repeat(auto-fill,minmax(156px,1fr))}
#groomy-booking-live .g-serv{grid-template-columns:repeat(auto-fit,minmax(252px,1fr))}
#groomy-booking-live .g-extra{grid-template-columns:repeat(auto-fit,minmax(238px,1fr))}
#groomy-booking-live .g-loc{grid-template-columns:repeat(auto-fit,minmax(308px,1fr))}
#groomy-booking-live .card{background:var(--paper);border:1.5px solid var(--line-2);border-radius:var(--r-l);
  padding:16px 15px;text-align:left;transition:.16s;position:relative;display:block;width:100%}
#groomy-booking-live .card:hover{border-color:var(--sage);transform:translateY(-2px);box-shadow:var(--sh-m)}
#groomy-booking-live .card.sel{border-color:var(--green);background:var(--sel)}
/* one ✓ badge, used by every selectable card incl. .loc */
#groomy-booking-live .tick{position:absolute;top:11px;right:11px;width:21px;height:21px;border-radius:50%;
  background:var(--green);color:#fff;display:none;place-items:center;font-size:11px}
#groomy-booking-live .sel > .tick{display:grid}
#groomy-booking-live .card-fig{display:grid;place-items:center;margin-bottom:10px}
#groomy-booking-live .card-fig svg{width:100%;height:100%;color:var(--green)}
#groomy-booking-live .card:hover .card-fig svg{color:var(--orange)}
#groomy-booking-live .card.sel .card-fig svg{color:var(--green-d)}
#groomy-booking-live .g-size .card-fig{height:104px}
#groomy-booking-live .g-coat .card-fig{height:96px}
#groomy-booking-live .card-t{font-weight:600;font-size:15px;line-height:1.28;margin-bottom:3px}
#groomy-booking-live .card-s{font-size:12px;color:var(--ink-3);line-height:1.4}
#groomy-booking-live .card-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
#groomy-booking-live .tag{font-size:11px;font-weight:600;padding:3px 9px;border-radius:99px;background:var(--cream-2);color:var(--ink-2)}
#groomy-booking-live .tag.price{background:var(--orange-xl);color:var(--orange)}
#groomy-booking-live .tag.time{background:var(--sel);color:var(--green)}
#groomy-booking-live .card.sel .tag{background:rgba(255,255,255,.75)}
#groomy-booking-live .ex{font-size:11.5px;color:var(--ink-3);margin-top:7px;line-height:1.45}
#groomy-booking-live .breedcard{padding:13px 10px 14px;text-align:center;display:flex;flex-direction:column}
#groomy-booking-live .breedcard .card-fig{height:74px;margin-bottom:8px}
#groomy-booking-live .breedcard .card-t{font-size:12.5px;line-height:1.32;margin:0 0 8px;flex:1;
  display:flex;align-items:center;justify-content:center}
#groomy-booking-live .breedcard .card-meta{justify-content:center;margin:0}
#groomy-booking-live .breedcard .tick{top:8px;right:8px;width:19px;height:19px}
#groomy-booking-live .g-serv .card{padding:20px 19px}
#groomy-booking-live .g-serv .card-t{font-size:17px;margin-bottom:5px}
#groomy-booking-live .g-serv .card-s{font-size:12.5px;min-height:3.2em}
#groomy-booking-live .g-serv .tag.price{font-size:15px;padding:5px 13px;font-weight:700}
#groomy-booking-live .g-serv .tag.time{font-size:12px;padding:5px 11px}
#groomy-booking-live .g-extra .card{padding:18px 17px}
#groomy-booking-live .g-extra .card-t{font-size:14.5px}
#groomy-booking-live .g-extra .card-s{font-size:12px;min-height:2.8em}
#groomy-booking-live .g-extra .tag.price{font-size:14px;padding:4px 12px;font-weight:700}
/* what a service already covers — shown, never sold twice */
#groomy-booking-live .inc{font-size:11.5px;color:var(--green);background:var(--sel);border-radius:8px;
  padding:6px 9px;margin-top:9px;line-height:1.4}
#groomy-booking-live .card.sel .inc{background:rgba(255,255,255,.72)}
#groomy-booking-live .incbox{border:1px solid var(--line);background:var(--cream);border-radius:var(--r-l);
  padding:15px 17px;margin-bottom:24px}
#groomy-booking-live .incttl{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--green);margin-bottom:10px}
#groomy-booking-live .incchips{display:flex;flex-wrap:wrap;gap:7px}
#groomy-booking-live .incchip{font-size:12px;font-weight:500;color:var(--ink-2);background:var(--paper);
  border:1px solid var(--line-2);border-radius:99px;padding:5px 12px;text-decoration:line-through;
  text-decoration-color:var(--sage);text-decoration-thickness:1.5px}
#groomy-booking-live .seclab b.plus{background:var(--orange)}
/* section label */
#groomy-booking-live .seclab{display:flex;align-items:baseline;gap:10px;margin:26px 0 12px}
#groomy-booking-live .seclab:first-of-type{margin-top:0}
#groomy-booking-live .seclab b{width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;
  display:grid;place-items:center;font-size:11px;font-weight:700;flex:0 0 22px;align-self:center}
#groomy-booking-live .seclab h3{font-size:16px;margin:0;font-weight:700}
#groomy-booking-live .seclab span{font-size:12.5px;color:var(--ink-3);font-weight:500}
/* ---------- salon cards — roomy ---------- */
#groomy-booking-live .loc{display:flex;gap:16px;align-items:flex-start;padding:20px;border:1.5px solid var(--line-2);
  border-radius:var(--r-l);background:var(--paper);text-align:left;transition:.16s;width:100%;position:relative}
#groomy-booking-live .loc:hover{border-color:var(--sage);transform:translateY(-2px);box-shadow:var(--sh-m)}
#groomy-booking-live .loc.sel{border-color:var(--green);background:var(--sel)}
#groomy-booking-live .loc .pin{width:44px;height:44px;border-radius:13px;background:var(--orange-xl);color:var(--orange);
  display:grid;place-items:center;flex:0 0 44px}
#groomy-booking-live .loc.sel .pin{background:var(--green);color:#fff}
#groomy-booking-live .loc .body{min-width:0;flex:1}
#groomy-booking-live .loc .ln{font-weight:600;font-size:15.5px;line-height:1.3;display:block}
#groomy-booking-live .loc .la{font-size:12.5px;color:var(--ink-3);margin-top:4px;line-height:1.5;display:block}
#groomy-booking-live .loc .lh{font-size:12px;color:var(--ink-2);margin-top:10px;display:flex;align-items:center;gap:7px}
#groomy-booking-live .loc .tick{top:14px;right:14px}
#groomy-booking-live .badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  padding:4px 9px;border-radius:99px;background:var(--yellow);color:var(--yellow-d);margin-top:12px}
#groomy-booking-live .badge.ok{background:var(--sel);color:var(--green)}
/* ---------- calendar ---------- */
#groomy-booking-live .calbar{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
#groomy-booking-live .calbar .mn{font-size:16px;font-weight:700;min-width:160px}
#groomy-booking-live .calnav{width:32px;height:32px;border-radius:50%;border:1px solid var(--line-2);display:grid;
  place-items:center;transition:.15s;color:var(--ink-2);font-size:16px;line-height:1}
#groomy-booking-live .calnav:hover:not(:disabled){border-color:var(--sage);color:var(--green)}
#groomy-booking-live .calnav:disabled{opacity:.3;cursor:not-allowed}
#groomy-booking-live .calbar .leg{margin-left:auto;font-size:11.5px;color:var(--ink-3);display:flex;gap:14px}
#groomy-booking-live .calbar .leg i{font-style:normal;display:inline-flex;align-items:center;gap:5px}
#groomy-booking-live .sw{width:9px;height:9px;border-radius:3px;display:inline-block}
#groomy-booking-live .dowrow,
#groomy-booking-live .days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
#groomy-booking-live .dow{text-align:center;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-3);padding:2px 0}
#groomy-booking-live .dowrow{margin-bottom:6px}
#groomy-booking-live .days{margin-bottom:22px}
#groomy-booking-live .day{min-height:52px;aspect-ratio:1/.84;border-radius:var(--r-m);border:1.5px solid var(--line);
  background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:4px;transition:.14s;padding:2px}
#groomy-booking-live .day:hover:not(:disabled){border-color:var(--sage);transform:translateY(-1px)}
#groomy-booking-live .day.sel{background:var(--green);border-color:var(--green);color:#fff}
#groomy-booking-live .day:disabled{opacity:.32;cursor:not-allowed;background:var(--cream)}
#groomy-booking-live .day.blank{border:none;background:none;cursor:default;min-height:0}
#groomy-booking-live .day .dd{font-size:15px;font-weight:700;line-height:1}
#groomy-booking-live .day .fr{display:flex;gap:2.5px}
#groomy-booking-live .day .fr i{width:4px;height:4px;border-radius:50%;background:var(--sage);display:block}
#groomy-booking-live .day.sel .fr i{background:rgba(255,255,255,.85)}
#groomy-booking-live .day.busy .fr i{background:var(--orange-l)}
#groomy-booking-live .day .zero{font-size:9.5px;color:var(--ink-3);line-height:1}
#groomy-booking-live .day.today{border-color:var(--orange);border-width:2px}
@media (max-width:520px){#groomy-booking-live .dowrow,
#groomy-booking-live .days{gap:4px}
#groomy-booking-live .day{min-height:42px}
#groomy-booking-live .day .dd{font-size:13px}}
#groomy-booking-live .slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}
#groomy-booking-live .slot{padding:11px 6px;border-radius:var(--r-m);border:1.5px solid var(--line-2);background:var(--paper);
  font-weight:600;font-size:13.5px;transition:.15s}
#groomy-booking-live .slot:hover:not(:disabled){border-color:var(--sage)}
#groomy-booking-live .slot.sel{background:var(--green);border-color:var(--green);color:#fff}
#groomy-booking-live .slot:disabled{opacity:.3;cursor:not-allowed;text-decoration:line-through}
#groomy-booking-live .slot small{display:block;font-size:10px;font-weight:500;color:var(--ink-3);margin-top:2px}
#groomy-booking-live .slot.sel small{color:rgba(255,255,255,.75)}
#groomy-booking-live .notice{padding:12px 15px;border-radius:var(--r-m);background:var(--orange-xl);color:#9A4B26;
  font-size:12.5px;margin-bottom:16px;display:flex;gap:10px;align-items:flex-start;line-height:1.5}
#groomy-booking-live .gline{display:flex;gap:9px;margin-bottom:18px;flex-wrap:wrap;align-items:center}
#groomy-booking-live .glab{font-size:12px;color:var(--ink-3);font-weight:600;margin-right:2px}
#groomy-booking-live .groomer{display:flex;align-items:center;gap:9px;padding:7px 15px 7px 7px;border-radius:99px;
  border:1.5px solid var(--line-2);background:var(--paper);font-size:13px;font-weight:600;transition:.15s}
#groomy-booking-live .groomer:hover{border-color:var(--sage)}
#groomy-booking-live .groomer.sel{background:var(--green);border-color:var(--green);color:#fff}
#groomy-booking-live .av{width:27px;height:27px;border-radius:50%;background:var(--orange-xl);color:var(--orange);
  display:grid;place-items:center;font-size:11.5px;font-weight:700}
#groomy-booking-live .groomer.sel .av{background:rgba(255,255,255,.22);color:#fff}
#groomy-booking-live .escape{margin-top:18px;padding:14px 16px;border-radius:var(--r-m);background:var(--cream);
  border:1px dashed var(--line-2);display:flex;align-items:center;gap:12px;font-size:12.5px;color:var(--ink-2)}
#groomy-booking-live .escape .pw{color:var(--sage);flex:0 0 auto}
#groomy-booking-live .escape b{color:var(--ink)}
#groomy-booking-live .escape button{margin-left:auto;background:var(--green);color:#fff;padding:8px 16px;border-radius:99px;
  font-size:12px;font-weight:600;white-space:nowrap}
#groomy-booking-live .escape button:hover{background:var(--green-d)}
@media (max-width:560px){#groomy-booking-live .escape{flex-wrap:wrap}
#groomy-booking-live .escape button{margin-left:0;width:100%}}
/* ---------- form ---------- */
#groomy-booking-live .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:620px){#groomy-booking-live .fgrid{grid-template-columns:1fr}}
#groomy-booking-live .field label{display:block;font-size:12px;font-weight:600;color:var(--ink-2);margin-bottom:6px}
#groomy-booking-live .field input,
#groomy-booking-live .field textarea{width:100%;padding:12px 14px;border-radius:var(--r-m);
  border:1.5px solid var(--line-2);background:var(--cream);outline:none;transition:.15s;font-size:14px}
#groomy-booking-live .field input:focus,
#groomy-booking-live .field textarea:focus{border-color:var(--sage);background:#fff;box-shadow:0 0 0 4px var(--sel)}
#groomy-booking-live .field.full{grid-column:1/-1}
#groomy-booking-live .field textarea{min-height:74px;resize:vertical}
#groomy-booking-live .consent{display:flex;gap:11px;align-items:flex-start;font-size:12.5px;color:var(--ink-2);
  margin-top:16px;line-height:1.55}
#groomy-booking-live .consent input{margin-top:2px;accent-color:var(--green);width:16px;height:16px;flex:0 0 16px}
/* ---------- rail ---------- */
#groomy-booking-live .rail{position:sticky;top:78px;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r-xl);padding:20px;box-shadow:var(--sh-s)}
#groomy-booking-live .rail h3{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);
  margin:0 0 13px;font-weight:600}
#groomy-booking-live .rail-dog{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line);
  margin-bottom:12px}
#groomy-booking-live .rail-dog .fig{width:66px;height:58px;flex:0 0 66px;display:grid;place-items:center}
#groomy-booking-live .rail-dog .fig svg{width:100%;height:100%;color:var(--green)}
#groomy-booking-live .rail-dog .nm{font-weight:600;font-size:13.5px;line-height:1.25}
#groomy-booking-live .rail-dog .sb{font-size:11.5px;color:var(--ink-3);margin-top:3px}
#groomy-booking-live .rail-empty{text-align:center;color:var(--ink-3);font-size:12.5px;padding:20px 6px;line-height:1.5}
#groomy-booking-live .rail-empty svg{color:var(--line);margin-bottom:8px;width:76px;height:60px}
#groomy-booking-live .line{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;padding:5px 0;color:var(--ink-2)}
#groomy-booking-live .line b{font-weight:600;color:var(--ink);text-align:right}
#groomy-booking-live .line.mut{color:var(--ink-3);font-size:11.5px}
#groomy-booking-live .total{display:flex;justify-content:space-between;align-items:baseline;margin-top:12px;padding-top:12px;
  border-top:1.5px solid var(--line)}
#groomy-booking-live .total span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
#groomy-booking-live .total b{font-size:24px;font-weight:700;color:var(--green)}
#groomy-booking-live .total i{font-style:normal;font-size:11px;color:var(--ink-3);display:block;text-align:right;margin-top:2px}
/* ---------- nav ---------- */
#groomy-booking-live .navbar{display:flex;gap:10px;align-items:center;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
#groomy-booking-live .btn{padding:12px 24px;border-radius:99px;font-weight:600;font-size:14px;transition:.16s;
  display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
#groomy-booking-live .btn-p{background:var(--orange);color:#fff;box-shadow:0 5px 16px rgba(226,121,79,.3)}
#groomy-booking-live .btn-p:hover{background:#d16a41;transform:translateY(-1px)}
#groomy-booking-live .btn-p:disabled{background:var(--line);color:var(--ink-3);box-shadow:none;cursor:not-allowed;transform:none}
#groomy-booking-live .btn-g{border:1.5px solid var(--line-2);color:var(--ink-2)}
#groomy-booking-live .btn-g:hover:not(:disabled){border-color:var(--sage);color:var(--green);background:var(--paper)}
#groomy-booking-live .btn-g:disabled{opacity:.35;cursor:not-allowed}
#groomy-booking-live .btn-t{color:var(--ink-3);padding:12px 14px;font-weight:600;font-size:13px}
#groomy-booking-live .btn-t:hover{color:var(--green);text-decoration:underline}
#groomy-booking-live .navbar .sp{margin-left:auto}
#groomy-booking-live .hint{font-size:12px;color:var(--ink-3)}
@media (max-width:560px){#groomy-booking-live .navbar{flex-wrap:wrap}
#groomy-booking-live .navbar .hint{order:-1;width:100%}
#groomy-booking-live .btn-p{flex:1;justify-content:center}}
#groomy-booking-live .count{font-size:12px;color:var(--ink-3);margin-bottom:10px}
/* ---------- notes ---------- */
#groomy-booking-live .note{display:none;background:#2C4034;color:#DDE7D3;border-radius:var(--r-m);padding:12px 15px;
  font-size:12px;line-height:1.55;margin-bottom:16px;border-left:3px solid var(--orange)}
#groomy-booking-live .note b{color:#fff;display:block;margin-bottom:3px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}
#groomy-booking-live.notes .note{display:block}
#groomy-booking-live .note-i{display:none}
#groomy-booking-live.notes .note-i{display:inline}
/* ==================================================================
   MOBILE — app shell for 375×812 (iPhone mini), safe down to 320.
   Sticky header + progress · scrolling content · fixed action bar.
   ================================================================== */
#groomy-booking-live #mobar,
#groomy-booking-live #sheet,
#groomy-booking-live #scrim{display:none}
@media (max-width:760px){#groomy-booking-live{--bar:62px}
/* belt-and-braces: nothing may create a horizontal scrollbar, because
     page-level overflow is what drags a fixed footer off-screen */
#groomy-booking-live,
#groomy-booking-live{max-width:100%;overflow-x:clip}
#groomy-booking-live .wrap,
#groomy-booking-live .cols,
#groomy-booking-live .panel,
#groomy-booking-live .grid,
#groomy-booking-live .sub{min-width:0;max-width:100%}
#groomy-booking-live{padding-bottom:calc(var(--bar) + env(safe-area-inset-bottom,0px))}
#groomy-booking-live .wrap{padding:10px 12px 16px}
#groomy-booking-live .masthead{display:none}
/* stepper + question carry the context */
/* --- sticky header block --- */
#groomy-booking-live .topbar-in{padding:0 14px;height:46px;gap:10px}
#groomy-booking-live .logo{font-size:14px}
#groomy-booking-live .btn-notes{padding:5px 10px;font-size:11px}
#groomy-booking-live .stepper{position:sticky;top:74px;z-index:50;height:40px;min-height:40px;max-height:40px;
    margin:0 0 10px;box-shadow:0 6px 14px -8px rgba(44,64,52,.5)}
/* only the ACTIVE step is wide enough to carry its name; the rest collapse
     to their number. Moving on animates one shut and the next one open. */
#groomy-booking-live .step{height:32px;flex:0 1 36px;min-width:36px;gap:0;padding:0;overflow:hidden;
    transition:flex-grow .3s cubic-bezier(.3,.9,.4,1),padding .3s cubic-bezier(.3,.9,.4,1),
               gap .3s,background .18s,color .18s}
#groomy-booking-live .step b{width:20px;height:20px;font-size:10.5px;flex:0 0 20px}
#groomy-booking-live .step em{display:none}
#groomy-booking-live .step.now{flex-grow:1;gap:8px;padding:0 12px}
#groomy-booking-live .step.now em{display:block;font-size:12.5px}
/* --- panel --- */
#groomy-booking-live .panel{padding:16px 14px;border-radius:20px;min-height:auto}
#groomy-booking-live .panel-head{margin-bottom:12px}
#groomy-booking-live .panel-head h2{font-size:19px}
#groomy-booking-live .panel-head p{font-size:12.5px}
#groomy-booking-live .panel-head .kicker{font-size:10px;margin-bottom:4px}
#groomy-booking-live .navbar{display:none}
/* replaced by the fixed bar */
#groomy-booking-live .rail{display:none}
/* replaced by the sheet */
/* --- tree: one-line breadcrumb of chips instead of a 3-cell block ---
     shows the LABEL until chosen ("Kailis"), then the VALUE ("Dvigubas") --- */
#groomy-booking-live .sub{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:15px;border:none;background:none;
    border-radius:0;overflow-x:auto;overflow-y:hidden;margin-bottom:12px;
    padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
#groomy-booking-live .sub::-webkit-scrollbar{display:none}
/* 0 0 auto: chips keep their size and the ROW scrolls — with 0 1 auto they
     squashed against each other instead ("pills bursting") */
#groomy-booking-live .ss{position:relative;flex:0 0 auto;flex-direction:row;align-items:center;gap:6px;
    padding:5px 11px;border:1.5px solid var(--line-2);border-right:1.5px solid var(--line-2);
    border-radius:99px;background:var(--paper);min-width:0}
#groomy-booking-live .ss+.ss::before{content:"›";position:absolute;left:-11px;top:50%;transform:translateY(-50%);
    color:var(--ink-3);font-size:13px;line-height:1}
#groomy-booking-live .ss b{width:15px;height:15px;font-size:8.5px;flex:0 0 15px}
#groomy-booking-live .ss.now{box-shadow:none;border-color:var(--orange);background:var(--orange-xl)}
#groomy-booking-live .ss.done{border-color:var(--sage)}
#groomy-booking-live .ss > span{display:flex;align-items:center;min-width:0}
#groomy-booking-live .ss .lab,
#groomy-booking-live .ss .val{line-height:1.25}
#groomy-booking-live .ss .val{font-size:11.5px;max-width:104px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#groomy-booking-live .ss.has .lab{display:none}
/* value replaces the label once chosen */
#groomy-booking-live .ss:not(.has) .val{display:none}
#groomy-booking-live .ss:not(.has) .lab{font-size:11.5px;text-transform:none;letter-spacing:0;color:var(--ink-2)}
#groomy-booking-live .ss.now:not(.has) .lab{color:var(--orange);font-weight:600}
/* --- trim the chrome: every px here is a card that fits --- */
#groomy-booking-live .panel-head .kicker{display:none}
/* stepper + sub-stepper already say where you are */
#groomy-booking-live .search-hint{display:none}
#groomy-booking-live .orbar{display:none}
#groomy-booking-live .esc-long{display:none}
/* keep the offer, drop the explanation */
/* --- grids: fit the width, no horizontal scroll --- */
#groomy-booking-live .g-breed{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#groomy-booking-live .g-serv,
#groomy-booking-live .g-extra,
#groomy-booking-live .g-loc{grid-template-columns:minmax(0,1fr);gap:8px}
#groomy-booking-live .card{padding:12px 11px;border-radius:16px}
#groomy-booking-live .breedcard .card-fig{height:48px}
#groomy-booking-live .card-t{font-size:13.5px}
#groomy-booking-live .card-s{font-size:11.5px}
#groomy-booking-live .ex{display:none}
/* kg range is enough on a phone */
/* size + coat become full-width ROWS so all 5–6 options are on screen at once,
     which also makes them directly comparable instead of scroll-and-remember */
#groomy-booking-live .g-size,
#groomy-booking-live .g-coat{grid-template-columns:minmax(0,1fr);gap:7px}
#groomy-booking-live .g-size .card,
#groomy-booking-live .g-coat .card{display:flex;align-items:center;gap:12px;
    padding:9px 34px 9px 11px;text-align:left}
#groomy-booking-live .g-size .card-fig,
#groomy-booking-live .g-coat .card-fig{height:46px;width:58px;flex:0 0 58px;margin:0}
#groomy-booking-live .g-size .card-t,
#groomy-booking-live .g-coat .card-t{margin:0;font-size:14px}
#groomy-booking-live .g-size .card-s,
#groomy-booking-live .g-coat .card-s{margin-top:1px}
#groomy-booking-live .g-size .ct,
#groomy-booking-live .g-coat .ct{min-width:0;flex:1}
#groomy-booking-live .g-size .card-meta,
#groomy-booking-live .g-coat .card-meta{margin:0 0 0 auto;flex:0 0 auto}
#groomy-booking-live .g-size .tick,
#groomy-booking-live .g-coat .tick{top:50%;right:11px;transform:translateY(-50%)}
#groomy-booking-live .g-serv .card{padding:14px 13px}
#groomy-booking-live .g-serv .card-t{font-size:15px}
#groomy-booking-live .g-serv .card-s,
#groomy-booking-live .g-extra .card-s{min-height:0;font-size:11.5px}
#groomy-booking-live .g-serv .tag.price{font-size:14px}
#groomy-booking-live .breedcard .card-t{font-size:11.5px;margin-bottom:6px}
#groomy-booking-live .tick{width:18px;height:18px;top:8px;right:8px}
#groomy-booking-live .inc{font-size:10.5px;padding:5px 8px}
#groomy-booking-live .incbox{padding:12px 13px;margin-bottom:16px;border-radius:14px}
#groomy-booking-live .seclab{margin:18px 0 10px}
#groomy-booking-live .seclab h3{font-size:14.5px}
#groomy-booking-live .seclab span{font-size:11.5px}
/* --- salon: compact rows --- */
#groomy-booking-live .loc{padding:11px 34px 11px 12px;gap:11px;border-radius:14px}
#groomy-booking-live .loc .pin{width:32px;height:32px;flex:0 0 32px;border-radius:10px}
#groomy-booking-live .loc .pin svg{width:17px;height:17px}
#groomy-booking-live .loc .ln{font-size:13.5px}
#groomy-booking-live .loc .la{font-size:11px;margin-top:2px}
#groomy-booking-live .loc .lh{font-size:10.5px;margin-top:5px}
#groomy-booking-live .loc .lh svg{width:11px;height:11px}
#groomy-booking-live .badge{margin-top:6px;padding:3px 8px;font-size:9px}
#groomy-booking-live .loc .tick{top:50%;right:11px;transform:translateY(-50%)}
/* --- calendar --- */
#groomy-booking-live .calbar{gap:8px;margin-bottom:10px}
#groomy-booking-live .calbar .mn{font-size:14.5px;min-width:0;flex:1}
#groomy-booking-live .calnav{width:30px;height:30px}
#groomy-booking-live .calbar .leg{width:100%;margin-left:0;gap:12px;font-size:10.5px;order:3}
#groomy-booking-live .dowrow,
#groomy-booking-live .days{gap:4px}
#groomy-booking-live .dow{font-size:9px}
/* aspect-ratio + min-height forced a MIN-WIDTH of ~48px per cell →
     7×48 + gaps + padding overflowed 375px. Fixed height, free width. */
#groomy-booking-live .day{aspect-ratio:auto;height:46px;min-height:0;min-width:0;border-radius:11px;gap:2px}
#groomy-booking-live .day .dd{font-size:13px}
#groomy-booking-live .day .fr i{width:3px;height:3px}
#groomy-booking-live .day .zero{font-size:8.5px}
#groomy-booking-live .days{margin-bottom:16px}
#groomy-booking-live .slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
#groomy-booking-live .slot{padding:9px 2px;font-size:12.5px}
#groomy-booking-live .slot small{font-size:9px}
#groomy-booking-live .gline{gap:6px;margin-bottom:14px}
#groomy-booking-live .groomer{padding:5px 12px 5px 5px;font-size:12px}
#groomy-booking-live .av{width:23px;height:23px;font-size:10.5px}
#groomy-booking-live .notice{font-size:11.5px;padding:10px 12px}
#groomy-booking-live .search input{padding:11px 14px 11px 40px;font-size:13px}
#groomy-booking-live .search-hint{font-size:10.5px;margin-bottom:12px}
#groomy-booking-live .orbar{font-size:10px;margin-bottom:12px}
#groomy-booking-live .escape{flex-wrap:wrap;padding:12px;font-size:11.5px}
#groomy-booking-live .escape button{width:100%;margin-left:0}
#groomy-booking-live .fgrid{gap:10px}
#groomy-booking-live .field input,
#groomy-booking-live .field textarea{padding:11px 12px;font-size:16px}
/* 16px = no iOS zoom */
#groomy-booking-live .field textarea{min-height:104px}
#groomy-booking-live .note{font-size:11px;padding:10px 12px}
#groomy-booking-live .done-screen{padding:18px 6px}
#groomy-booking-live .done-screen .big{width:70px;height:70px}
#groomy-booking-live .done-screen h2{font-size:21px}
/* ---------- fixed action bar ---------- */
#groomy-booking-live #mobar{position:fixed;left:0;right:0;bottom:0;z-index:70;max-width:100vw;
    background:rgba(255,255,255,.96);backdrop-filter:blur(14px);
    border-top:1px solid var(--line);box-sizing:border-box;
    min-height:calc(var(--bar) + env(safe-area-inset-bottom,0px));
    padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));
    display:flex;align-items:center;gap:9px}
#groomy-booking-live .mo-sum{flex:1 1 auto;min-width:0;text-align:left;padding:2px 4px}
#groomy-booking-live .mo-sum .t{display:flex;align-items:baseline;gap:6px}
#groomy-booking-live .mo-sum .p{font-size:18px;font-weight:700;color:var(--green);line-height:1.1}
#groomy-booking-live .mo-sum .d{font-size:11px;color:var(--ink-3)}
#groomy-booking-live .mo-sum .w{font-size:11px;color:var(--ink-3);display:block;margin-top:1px;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#groomy-booking-live .mo-sum .car{transition:.2s;color:var(--ink-3);margin-left:4px}
#groomy-booking-live .mo-sum.open .car{transform:rotate(180deg)}
#groomy-booking-live .mo-back{width:44px;height:44px;flex:0 0 44px;border-radius:50%;border:1.5px solid var(--line-2);
    display:grid;place-items:center;color:var(--ink-2)}
#groomy-booking-live .mo-back:disabled{opacity:.3}
#groomy-booking-live .mo-next{height:44px;padding:0 20px;border-radius:99px;background:var(--orange);color:#fff;
    font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:7px;
    box-shadow:0 5px 16px rgba(226,121,79,.3)}
#groomy-booking-live .mo-next:disabled{background:var(--line);color:var(--ink-3);box-shadow:none}
/* ---------- summary sheet ---------- */
#groomy-booking-live #scrim{display:block;position:fixed;inset:0;background:rgba(44,64,52,.4);z-index:68;
    opacity:0;pointer-events:none;transition:.2s}
#groomy-booking-live #scrim.on{opacity:1;pointer-events:auto}
#groomy-booking-live #sheet{display:block;position:fixed;left:0;right:0;z-index:69;
    bottom:calc(var(--bar) + env(safe-area-inset-bottom,0px));
    background:var(--paper);border-radius:22px 22px 0 0;border-top:1px solid var(--line);
    padding:16px 16px 18px;max-height:62vh;overflow-y:auto;
    transform:translateY(102%);transition:transform .24s cubic-bezier(.3,.9,.4,1);
    box-shadow:0 -14px 40px rgba(44,64,52,.16)}
#groomy-booking-live #sheet.on{transform:translateY(0)}
#groomy-booking-live #sheet .grab{width:38px;height:4px;border-radius:99px;background:var(--line-2);margin:0 auto 12px}
#groomy-booking-live #sheet h3{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);
    margin:0 0 10px;font-weight:600}
#groomy-booking-live #sheet .rail-dog{padding-bottom:12px;margin-bottom:10px}
#groomy-booking-live #sheet .total{margin-top:10px;padding-top:10px}}
@media (max-width:359px){#groomy-booking-live .g-size,
#groomy-booking-live .g-coat,
#groomy-booking-live .g-breed{grid-template-columns:minmax(0,1fr)}
#groomy-booking-live .slots{grid-template-columns:repeat(2,minmax(0,1fr))}
#groomy-booking-live .mo-next{padding:0 15px;font-size:13px}}
#groomy-booking-live .done-screen{text-align:center;padding:30px 18px}
#groomy-booking-live .done-screen .big{width:88px;height:88px;border-radius:50%;background:var(--sel);display:grid;place-items:center;margin:0 auto 18px}
#groomy-booking-live .done-screen h2{font-size:26px;margin:0 0 8px}
#groomy-booking-live .done-screen p{color:var(--ink-2);max-width:44ch;margin:0 auto 20px}
#groomy-booking-live .recap{max-width:400px;margin:0 auto;text-align:left;background:var(--cream);border-radius:var(--r-l);padding:18px}
/* ---------- LIVE AMELIA PRODUCTION LAYER ---------- */
#groomy-booking-live .live-status{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);
  border-radius:var(--r-m);background:var(--cream);color:var(--ink-2);font-size:12.5px;margin-bottom:16px}
#groomy-booking-live .live-status .spin{width:17px;height:17px;border:2px solid var(--line-2);border-top-color:var(--orange);
  border-radius:50%;animation:liveSpin .8s linear infinite;flex:0 0 17px}
@keyframes liveSpin{to{transform:rotate(360deg)}}
#groomy-booking-live .live-error{padding:14px 16px;border:1px solid #efb6a0;border-radius:var(--r-m);background:#fff2ec;
  color:#8b4429;font-size:13px;line-height:1.55;margin-bottom:16px}
#groomy-booking-live .live-error b{display:block;margin-bottom:3px;color:#74371f}
#groomy-booking-live .live-retry{display:inline-flex;margin-top:9px;padding:8px 13px;border-radius:99px;background:var(--orange);color:#fff;font-weight:600}
#groomy-booking-live .real-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:99px;background:var(--sel);
  color:var(--green);font-size:10.5px;font-weight:700;white-space:nowrap}
#groomy-booking-live .real-badge::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--green)}
#groomy-booking-live .service-desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
#groomy-booking-live .salon-static{display:flex;align-items:flex-start;gap:13px;padding:15px 16px;border:1px solid var(--line);
  border-radius:var(--r-l);background:var(--cream);margin-bottom:20px}
#groomy-booking-live .salon-static .pin{width:38px;height:38px;border-radius:12px;background:var(--orange-xl);color:var(--orange);
  display:grid;place-items:center;flex:0 0 38px}
#groomy-booking-live .salon-static strong{display:block;font-size:13.5px;margin-bottom:2px}
#groomy-booking-live .salon-static span{font-size:11.5px;color:var(--ink-3)}
#groomy-booking-live .slot-empty{padding:18px;border:1px dashed var(--line-2);border-radius:var(--r-m);text-align:center;
  color:var(--ink-3);font-size:12.5px;background:var(--cream)}
#groomy-booking-live .choice-block{margin-top:17px}
#groomy-booking-live .choice-label{display:block;font-size:12px;font-weight:600;color:var(--ink-2);margin-bottom:8px}
#groomy-booking-live .choice-row{display:flex;flex-wrap:wrap;gap:8px}
#groomy-booking-live .choice-chip{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;
  border:1.5px solid var(--line-2);border-radius:99px;background:var(--paper);font-size:12.5px;font-weight:600;
  color:var(--ink-2);transition:.15s}
#groomy-booking-live .choice-chip:hover{border-color:var(--sage)}
#groomy-booking-live .choice-chip.sel{background:var(--green);border-color:var(--green);color:#fff}
#groomy-booking-live .field-help{font-size:10.5px;color:var(--ink-3);margin-top:5px}
#groomy-booking-live .checkout-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-m);
  background:var(--sel);color:var(--green-d);font-size:11.5px;margin-top:16px}
#groomy-booking-live .btn-loading{pointer-events:none;opacity:.75}
#groomy-booking-live .btn-loading::after{content:"";width:13px;height:13px;border:2px solid rgba(255,255,255,.45);
  border-top-color:#fff;border-radius:50%;animation:liveSpin .7s linear infinite}
#groomy-booking-live .technical-small{font-size:10.5px;color:var(--ink-3);margin-top:8px}
@media (max-width:760px){#groomy-booking-live .salon-static{margin-bottom:14px;padding:11px 12px}
#groomy-booking-live .choice-chip{min-height:38px;padding:7px 12px;font-size:12px}
#groomy-booking-live .live-status,
#groomy-booking-live .live-error{font-size:11.5px}}


/* ============================================================
   GROOMY BOOKING V1.2 — CONTENT-SAFE / FLUID LAYOUT
   Real Amelia content can contain long breed names, service titles,
   descriptions and option labels. Nothing important is line-clamped.
   ============================================================ */
#groomy-booking-live,
#groomy-booking-live *{
  min-width:0;
}

#groomy-booking-live .panel,
#groomy-booking-live .rail,
#groomy-booking-live .card,
#groomy-booking-live .loc{
  overflow-wrap:anywhere;
  word-break:normal;
}

#groomy-booking-live .panel{
  min-height:0;
}

/* Headings remain compact and never force the layout wider. */
#groomy-booking-live .panel-head h2{
  max-width:100%;
  font-size:clamp(20px,2.25vw,27px);
  line-height:1.14;
  overflow-wrap:anywhere;
}
#groomy-booking-live .panel-head p{
  max-width:72ch;
  line-height:1.65;
  overflow-wrap:anywhere;
}

/* Service / extra cards: fluid content, no artificial equal text heights. */
#groomy-booking-live .g-serv,
#groomy-booking-live .g-extra{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
}
#groomy-booking-live .g-serv .card,
#groomy-booking-live .g-extra .card{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  height:auto;
  min-height:0;
  padding:20px 20px 18px;
  overflow:visible;
}
#groomy-booking-live .g-serv .card-t,
#groomy-booking-live .g-extra .card-t{
  padding-right:30px;
  margin:0 0 8px;
  font-size:clamp(15px,1.35vw,17px);
  line-height:1.35;
  overflow-wrap:anywhere;
  hyphens:auto;
}
#groomy-booking-live .g-serv .card-s,
#groomy-booking-live .g-extra .card-s,
#groomy-booking-live .service-desc{
  display:block;
  min-height:0;
  max-height:none;
  margin:0;
  font-size:12.5px;
  line-height:1.62;
  overflow:visible;
  -webkit-line-clamp:unset;
  -webkit-box-orient:initial;
  color:var(--ink-2);
  overflow-wrap:anywhere;
}
#groomy-booking-live .g-serv .card-meta,
#groomy-booking-live .g-extra .card-meta{
  margin-top:auto;
  padding-top:14px;
  align-items:center;
}
#groomy-booking-live .g-serv .tag,
#groomy-booking-live .g-extra .tag{
  white-space:normal;
  line-height:1.25;
  text-align:center;
}

/* Breed names can be very long; let cards grow instead of squeezing text. */
#groomy-booking-live .g-breed{
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  align-items:stretch;
}
#groomy-booking-live .breedcard{
  height:auto;
  min-height:0;
}
#groomy-booking-live .breedcard .card-t{
  min-height:0;
  flex:0 0 auto;
  align-items:flex-start;
  overflow-wrap:anywhere;
  hyphens:auto;
}

/* Pills / included-service labels must wrap instead of escaping the card. */
#groomy-booking-live .incchips{
  align-items:flex-start;
}
#groomy-booking-live .incchip,
#groomy-booking-live .choice-chip,
#groomy-booking-live .badge,
#groomy-booking-live .real-badge{
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
}
#groomy-booking-live .incchip{
  border-radius:14px;
  line-height:1.4;
}
#groomy-booking-live .choice-chip{
  text-align:center;
  line-height:1.35;
}

/* Reservation summary: long service/date text gets its own wrapping column. */
#groomy-booking-live .line{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:8px 14px;
  line-height:1.45;
}
#groomy-booking-live .line > b{
  min-width:max-content;
  max-width:150px;
  white-space:normal;
  overflow-wrap:anywhere;
  text-align:right;
}
#groomy-booking-live .rail-dog > div:last-child{
  min-width:0;
}
#groomy-booking-live .rail-dog .nm,
#groomy-booking-live .rail-dog .sb{
  overflow-wrap:anywhere;
}
#groomy-booking-live .total{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
}
#groomy-booking-live .total > div{
  min-width:0;
  max-width:170px;
}
#groomy-booking-live .total i{
  white-space:normal;
  line-height:1.35;
}

/* Long status / notice copy. */
#groomy-booking-live .live-status,
#groomy-booking-live .live-error,
#groomy-booking-live .notice,
#groomy-booking-live .checkout-note,
#groomy-booking-live .escape{
  min-width:0;
  overflow-wrap:anywhere;
}
#groomy-booking-live .live-status{
  align-items:flex-start;
}
#groomy-booking-live .live-status .real-badge{
  flex:0 0 auto;
}

/* Do not expose implementation/debug details in the customer UI. */
#groomy-booking-live .technical-small{
  color:var(--ink-3);
  font-size:11px;
  line-height:1.45;
}

@media (max-width:980px){
  #groomy-booking-live .rail{
    max-width:100%;
  }
}

@media (max-width:760px){
  #groomy-booking-live .g-serv,
  #groomy-booking-live .g-extra{
    grid-template-columns:minmax(0,1fr);
  }
  #groomy-booking-live .g-serv .card,
  #groomy-booking-live .g-extra .card{
    padding:15px 14px 14px;
    border-radius:16px;
  }
  #groomy-booking-live .g-serv .card-t,
  #groomy-booking-live .g-extra .card-t{
    padding-right:26px;
    margin-bottom:6px;
    font-size:15px;
    line-height:1.35;
  }
  #groomy-booking-live .g-serv .card-s,
  #groomy-booking-live .g-extra .card-s,
  #groomy-booking-live .service-desc{
    font-size:11.75px;
    line-height:1.58;
  }
  #groomy-booking-live .g-serv .card-meta,
  #groomy-booking-live .g-extra .card-meta{
    padding-top:11px;
  }
  #groomy-booking-live .panel-head p{
    font-size:12.25px;
    line-height:1.58;
  }
  #groomy-booking-live .incchip{
    width:100%;
  }
  #groomy-booking-live .choice-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
  }
  #groomy-booking-live .choice-chip{
    width:100%;
  }
}

@media (max-width:560px){
  #groomy-booking-live .g-breed{
    grid-template-columns:minmax(0,1fr);
  }
  #groomy-booking-live .breedcard{
    display:grid;
    grid-template-columns:54px minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    gap:3px 11px;
    align-items:center;
    padding:10px 34px 10px 10px;
    text-align:left;
  }
  #groomy-booking-live .breedcard .card-fig{
    grid-column:1;
    grid-row:1 / span 2;
    width:54px;
    height:48px;
    margin:0;
  }
  #groomy-booking-live .breedcard .card-t{
    grid-column:2 / 4;
    grid-row:1;
    display:block;
    margin:0;
    font-size:12.5px;
    line-height:1.32;
    text-align:left;
  }
  #groomy-booking-live .breedcard .card-meta{
    grid-column:2 / 4;
    grid-row:2;
    justify-content:flex-start;
    margin:2px 0 0;
  }
  #groomy-booking-live .line{
    grid-template-columns:minmax(0,1fr) auto;
    font-size:12px;
  }
  #groomy-booking-live .line > b{
    max-width:112px;
    font-size:11.5px;
  }
  #groomy-booking-live .choice-row{
    grid-template-columns:minmax(0,1fr);
  }
  #groomy-booking-live .mo-sum .w{
    max-width:100%;
  }
}

@media (max-width:380px){
  #groomy-booking-live .panel{
    padding-left:12px;
    padding-right:12px;
  }
  #groomy-booking-live .g-serv .card,
  #groomy-booking-live .g-extra .card{
    padding-left:12px;
    padding-right:12px;
  }
  #groomy-booking-live .mo-next{
    padding-left:13px;
    padding-right:13px;
  }
}

/* ============================================================
   GROOMY BOOKING V1.3 — REAL CONTENT-FIRST REDESIGN
   No service-description grids. Long Amelia copy gets real space.
   ============================================================ */
#groomy-booking-live .cols{
  grid-template-columns:minmax(0,1fr) 304px;
  gap:24px;
}
#groomy-booking-live .panel{
  padding:28px;
  border-radius:26px;
}
#groomy-booking-live .panel-head{
  max-width:780px;
  margin-bottom:20px;
}
#groomy-booking-live .panel-head h2{
  margin-bottom:7px;
  font-size:clamp(21px,2vw,26px);
  line-height:1.18;
}
#groomy-booking-live .panel-head p{
  margin:0;
  max-width:70ch;
  font-size:13.5px;
  line-height:1.58;
}

/* First step: compact choice rows instead of oversized illustration cards. */
#groomy-booking-live .g-size,
#groomy-booking-live .g-coat{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  align-items:stretch;
}
#groomy-booking-live .g-size .card,
#groomy-booking-live .g-coat .card{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  grid-template-rows:auto auto auto;
  gap:2px 13px;
  align-items:center;
  min-height:94px;
  padding:13px 42px 13px 13px;
  overflow:hidden;
  border-radius:18px;
  text-align:left;
}
#groomy-booking-live .g-size .card-fig,
#groomy-booking-live .g-coat .card-fig{
  grid-column:1;
  grid-row:1 / -1;
  width:64px;
  height:62px;
  margin:0;
}
#groomy-booking-live .g-size .ct,
#groomy-booking-live .g-coat .ct{
  grid-column:2;
  min-width:0;
}
#groomy-booking-live .g-size .card-t,
#groomy-booking-live .g-coat .card-t{
  margin:0 0 2px;
  font-size:14px;
  line-height:1.28;
}
#groomy-booking-live .g-size .card-s,
#groomy-booking-live .g-coat .card-s{
  margin:0;
  font-size:11.5px;
  line-height:1.4;
}
#groomy-booking-live .g-size .ex{
  display:block;
  margin:5px 0 0;
  color:var(--ink-3);
  font-size:10.5px;
  line-height:1.35;
}
#groomy-booking-live .g-coat .card-meta{
  grid-column:2;
  margin:6px 0 0;
  justify-content:flex-start;
}
#groomy-booking-live .g-size .tick,
#groomy-booking-live .g-coat .tick{
  top:12px;
  right:12px;
  transform:none;
}

/* Breed step: deliberately only two columns so long names never become narrow towers. */
#groomy-booking-live .g-breed{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
#groomy-booking-live .breedcard{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  gap:3px 11px;
  align-items:center;
  min-height:76px;
  padding:10px 36px 10px 10px;
  text-align:left;
}
#groomy-booking-live .breedcard .card-fig{
  grid-column:1;
  grid-row:1 / 3;
  width:52px;
  height:52px;
  margin:0;
}
#groomy-booking-live .breedcard .card-t{
  grid-column:2 / 4;
  grid-row:1;
  display:block;
  margin:0;
  font-size:12.5px;
  line-height:1.34;
  text-align:left;
}
#groomy-booking-live .breedcard .card-meta{
  grid-column:2 / 4;
  grid-row:2;
  margin:3px 0 0;
  justify-content:flex-start;
}
#groomy-booking-live .breedcard .tag{
  max-width:100%;
  white-space:normal;
  font-size:10.5px;
  line-height:1.25;
}

/* Services/extras are NOT cards in a multi-column grid anymore. */
#groomy-booking-live .g-serv,
#groomy-booking-live .g-extra{
  display:flex;
  flex-direction:column;
  gap:10px;
  width:100%;
}
#groomy-booking-live .service-option{
  width:100%;
  overflow:hidden;
  border:1.5px solid var(--line-2);
  border-radius:18px;
  background:var(--paper);
  box-shadow:0 1px 2px rgba(44,64,52,.03);
  transition:border-color .16s,background .16s,box-shadow .16s,transform .16s;
}
#groomy-booking-live .service-option:hover{
  border-color:var(--sage);
  box-shadow:var(--sh-m);
  transform:translateY(-1px);
}
#groomy-booking-live .service-option.sel{
  border-color:var(--green);
  background:var(--sel);
}
#groomy-booking-live .service-pick{
  display:grid;
  width:100%;
  grid-template-columns:36px minmax(0,1fr) auto;
  gap:13px;
  align-items:center;
  padding:15px 17px;
  border:0;
  background:transparent;
  color:var(--ink);
  text-align:left;
}
#groomy-booking-live .service-select{
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  border:1.5px solid var(--line-2);
  border-radius:50%;
  background:var(--paper);
  color:#fff;
  transition:.16s;
}
#groomy-booking-live .service-select svg{
  width:13px;
  height:13px;
}
#groomy-booking-live .service-option.sel .service-select{
  border-color:var(--green);
  background:var(--green);
}
#groomy-booking-live .service-heading{
  display:block;
  min-width:0;
}
#groomy-booking-live .service-heading strong{
  display:block;
  padding:0;
  color:var(--ink);
  font-size:15px;
  font-weight:700;
  line-height:1.34;
  overflow-wrap:anywhere;
}
#groomy-booking-live .service-heading > span{
  display:block;
  margin-top:3px;
  color:var(--ink-3);
  font-size:11px;
  font-weight:500;
  line-height:1.35;
}
#groomy-booking-live .service-price{
  display:flex;
  min-width:92px;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
  padding-left:12px;
  text-align:right;
}
#groomy-booking-live .service-price b{
  color:var(--green);
  font-size:19px;
  font-weight:700;
  line-height:1.1;
  white-space:nowrap;
}
#groomy-booking-live .service-price small{
  color:var(--ink-3);
  font-size:10.5px;
  font-weight:600;
  white-space:nowrap;
}

/* Description has its own real content area. */
#groomy-booking-live .service-details{
  border-top:1px solid var(--line);
  background:rgba(251,247,240,.58);
}
#groomy-booking-live .service-option.sel .service-details{
  border-top-color:rgba(51,81,63,.15);
  background:rgba(255,255,255,.48);
}
#groomy-booking-live .service-details summary{
  display:flex;
  min-height:40px;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 17px 9px 66px;
  color:var(--ink-2);
  font-size:11.5px;
  font-weight:600;
  cursor:pointer;
  list-style:none;
  user-select:none;
}
#groomy-booking-live .service-details summary::-webkit-details-marker{display:none}
#groomy-booking-live .details-chevron{
  flex:0 0 auto;
  color:var(--ink-3);
  font-size:16px;
  line-height:1;
  transition:transform .18s;
}
#groomy-booking-live .service-details[open] .details-chevron{transform:rotate(180deg)}
#groomy-booking-live .service-copy{
  padding:3px 18px 17px 66px;
  color:var(--ink-2);
  font-size:12.25px;
  line-height:1.58;
}
#groomy-booking-live .service-copy__p{
  margin:0 0 9px;
  color:inherit;
  font-size:inherit;
  line-height:inherit;
}
#groomy-booking-live .service-copy__p:last-child{margin-bottom:0}
#groomy-booking-live .service-copy__label{
  margin-top:3px;
  color:var(--ink);
  font-weight:700;
}
#groomy-booking-live .service-copy__result{
  margin-top:12px;
  padding:9px 11px;
  border-radius:10px;
  background:var(--sel);
  color:var(--green-d);
}
#groomy-booking-live .service-copy__alert{
  margin-top:12px;
  padding:10px 11px;
  border-left:3px solid var(--orange);
  border-radius:9px;
  background:var(--orange-xl);
  color:#874323;
  font-weight:600;
}
#groomy-booking-live .service-copy__muted{
  margin:0;
  color:var(--ink-3);
}
#groomy-booking-live .service-copy__list{
  display:grid;
  gap:6px;
  margin:5px 0 11px;
  padding:0;
  list-style:none;
}
#groomy-booking-live .service-copy__list li{
  position:relative;
  margin:0;
  padding-left:17px;
  color:var(--ink-2);
  font-size:12.25px;
  line-height:1.5;
}
#groomy-booking-live .service-copy__list li::before{
  content:"";
  position:absolute;
  top:.62em;
  left:2px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--orange);
}

/* Summary: labels and long values never fight for one flex line. */
#groomy-booking-live .rail .line,
#groomy-booking-live #sheet .line{
  grid-template-columns:minmax(0,1fr);
  gap:2px;
  padding:7px 0;
}
#groomy-booking-live .rail .line > b,
#groomy-booking-live #sheet .line > b{
  min-width:0;
  max-width:none;
  text-align:left;
}
#groomy-booking-live .rail .line:not(.mut) > b,
#groomy-booking-live #sheet .line:not(.mut) > b{
  color:var(--green);
}
#groomy-booking-live .rail .line.mut,
#groomy-booking-live #sheet .line.mut{
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}
#groomy-booking-live .rail .line.mut > b,
#groomy-booking-live #sheet .line.mut > b{
  text-align:right;
}

@media (max-width:980px){
  #groomy-booking-live .cols{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:860px){
  #groomy-booking-live .g-size,
  #groomy-booking-live .g-coat{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:700px){
  #groomy-booking-live .panel{padding:17px 14px;border-radius:20px}
  #groomy-booking-live .g-breed{grid-template-columns:minmax(0,1fr)}
  #groomy-booking-live .service-pick{
    grid-template-columns:30px minmax(0,1fr);
    gap:10px;
    padding:13px 13px 11px;
  }
  #groomy-booking-live .service-select{width:27px;height:27px}
  #groomy-booking-live .service-price{
    grid-column:2;
    grid-row:2;
    min-width:0;
    flex-direction:row;
    align-items:baseline;
    gap:8px;
    padding:5px 0 0;
    text-align:left;
  }
  #groomy-booking-live .service-price b{font-size:17px}
  #groomy-booking-live .service-heading strong{font-size:14px;line-height:1.36}
  #groomy-booking-live .service-details summary{
    padding:9px 13px 9px 53px;
  }
  #groomy-booking-live .service-copy{
    padding:3px 13px 15px 53px;
    font-size:11.75px;
  }
  #groomy-booking-live .service-copy__list li{font-size:11.75px}
}
@media (max-width:520px){
  #groomy-booking-live .g-size .card,
  #groomy-booking-live .g-coat .card{
    grid-template-columns:54px minmax(0,1fr);
    min-height:82px;
    padding:10px 34px 10px 10px;
  }
  #groomy-booking-live .g-size .card-fig,
  #groomy-booking-live .g-coat .card-fig{
    width:54px;
    height:52px;
  }
  #groomy-booking-live .g-size .ex{display:none}
  #groomy-booking-live .breedcard{
    grid-template-columns:46px minmax(0,1fr);
    min-height:68px;
    padding:9px 32px 9px 9px;
  }
  #groomy-booking-live .breedcard .card-fig{width:46px;height:44px}
  #groomy-booking-live .breedcard .card-t,
  #groomy-booking-live .breedcard .card-meta{grid-column:2 / 3}
  #groomy-booking-live .service-copy,
  #groomy-booking-live .service-details summary{padding-left:13px}
  #groomy-booking-live .service-details summary{font-size:11px}
}

/* ======================================================================
   V1.4 — FINAL FLOW / DIRECT PAYMENT / REAL-CONTENT-SAFE LAYOUT
   ====================================================================== */
#groomy-booking-live{
  --v14-green:#33513F;
  --v14-sage:#DCE8D1;
  --v14-sage-2:#EFF5E9;
  --v14-orange:#E2794F;
  --v14-orange-soft:#FBE7DC;
  --v14-yellow:#F6E3A6;
  --v14-cream:#FBF7F0;
  --v14-paper:#FFFFFF;
}
#groomy-booking-live .wrap{max-width:1220px;padding-top:28px}
#groomy-booking-live .masthead{max-width:760px;margin-bottom:22px}
#groomy-booking-live .masthead h1{font-family:'Montserrat','Poppins',sans-serif;font-size:clamp(30px,3.2vw,43px);line-height:1.08;letter-spacing:-.035em}
#groomy-booking-live .masthead .serif{font-family:'Fraunces',Georgia,serif;font-weight:600}
#groomy-booking-live .cols{grid-template-columns:minmax(0,1fr) 300px;gap:24px}
#groomy-booking-live .panel{padding:30px;border-radius:30px;box-shadow:0 14px 44px rgba(44,64,52,.07)}
#groomy-booking-live .panel-head h2{font-family:'Montserrat','Poppins',sans-serif;font-size:clamp(22px,2.4vw,31px);line-height:1.15;letter-spacing:-.025em}
#groomy-booking-live .panel-head p{max-width:70ch}

/* First step: content-sized rows, not giant empty cards. */
#groomy-booking-live .g-size,
#groomy-booking-live .g-coat{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#groomy-booking-live .g-size .card,
#groomy-booking-live .g-coat .card{
  display:grid;
  grid-template-columns:68px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  min-height:94px;
  padding:12px 38px 12px 12px;
  border-radius:18px;
  overflow:visible;
}
#groomy-booking-live .g-size .card-fig,
#groomy-booking-live .g-coat .card-fig{width:68px;height:66px;margin:0;grid-row:1/3}
#groomy-booking-live .g-size .ct,
#groomy-booking-live .g-coat .ct{min-width:0}
#groomy-booking-live .g-size .card-t,
#groomy-booking-live .g-coat .card-t{font-size:14.5px;font-weight:700;overflow-wrap:anywhere}
#groomy-booking-live .g-size .card-s,
#groomy-booking-live .g-coat .card-s{font-size:11.5px;line-height:1.4}
#groomy-booking-live .g-size .ex{margin-top:3px;font-size:10.5px;line-height:1.35}
#groomy-booking-live .g-coat .card-meta{grid-column:3;grid-row:1/3;align-self:center;margin:0}
#groomy-booking-live .g-breed{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
#groomy-booking-live .breedcard{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  align-items:center;
  gap:2px 12px;
  min-height:82px;
  padding:10px 34px 10px 10px;
  text-align:left;
}
#groomy-booking-live .breedcard .card-fig{grid-row:1/3;width:58px;height:56px;margin:0}
#groomy-booking-live .breedcard .card-t{grid-column:2;display:block;justify-content:initial;margin:0;font-size:12.5px;line-height:1.36;text-align:left;overflow-wrap:anywhere}
#groomy-booking-live .breedcard .card-meta{grid-column:2;margin:4px 0 0;justify-content:flex-start}

/* Long service content is an accordion row, never a grid card. */
#groomy-booking-live .g-serv,
#groomy-booking-live .g-extra{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
#groomy-booking-live .service-option{border-radius:19px;overflow:hidden}
#groomy-booking-live .service-pick{grid-template-columns:34px minmax(0,1fr) 112px;padding:17px 18px;gap:14px}
#groomy-booking-live .service-heading strong{font-size:15.5px;line-height:1.35}
#groomy-booking-live .service-price{min-width:100px}
#groomy-booking-live .service-copy{max-width:760px;font-size:12.5px;line-height:1.62}

/* Final step */
#groomy-booking-live .final-head{margin-bottom:20px}
#groomy-booking-live .final-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
#groomy-booking-live .final-content{display:grid;gap:14px;min-width:0}
#groomy-booking-live .final-section,
#groomy-booking-live .payment-box{
  border:1px solid var(--line);
  border-radius:22px;
  background:var(--paper);
  box-shadow:0 8px 28px rgba(44,64,52,.05);
}
#groomy-booking-live .final-section{padding:20px}
#groomy-booking-live .final-section__head,
#groomy-booking-live .payment-box__top{display:flex;align-items:flex-start;gap:11px;margin-bottom:17px}
#groomy-booking-live .final-index{display:grid;width:31px;height:31px;flex:0 0 31px;place-items:center;border-radius:10px;background:var(--orange-xl);color:var(--orange);font-size:10px;font-weight:800;letter-spacing:.05em}
#groomy-booking-live .final-section__head strong,
#groomy-booking-live .payment-box__top strong{display:block;color:var(--ink);font-family:'Montserrat','Poppins',sans-serif;font-size:15px;line-height:1.25}
#groomy-booking-live .final-section__head small,
#groomy-booking-live .payment-box__top small{display:block;margin-top:3px;color:var(--ink-3);font-size:11px;line-height:1.4}
#groomy-booking-live .client-fields{display:grid;grid-template-columns:1fr 1fr;gap:11px}
#groomy-booking-live .client-name{grid-column:1/-1}
#groomy-booking-live .final-section .field label{font-size:11.5px}
#groomy-booking-live .final-section .field input,
#groomy-booking-live .final-section .field textarea{background:var(--cream);border-color:var(--line-2);font-size:14px}
#groomy-booking-live .final-section .field textarea{min-height:112px;line-height:1.5}
#groomy-booking-live .pet-fields{gap:13px}
#groomy-booking-live .choice-block{padding-top:2px}
#groomy-booking-live .choice-label{display:block;margin-bottom:8px;color:var(--ink-2);font-size:11.5px;font-weight:600;line-height:1.45}
#groomy-booking-live .choice-row{display:flex;flex-wrap:wrap;gap:7px}
#groomy-booking-live .choice-chip{min-height:38px;padding:8px 15px;border:1.5px solid var(--line-2);border-radius:999px;background:var(--paper);color:var(--ink-2);font-size:12px;font-weight:600;line-height:1.25;white-space:normal;text-align:center;transition:.16s}
#groomy-booking-live .choice-chip:hover{border-color:var(--sage);background:var(--cream)}
#groomy-booking-live .choice-chip.sel{border-color:var(--green);background:var(--sel);color:var(--green-d)}

#groomy-booking-live .payment-box{position:sticky;top:96px;padding:17px;background:linear-gradient(180deg,#fff,var(--cream))}
#groomy-booking-live .payment-choice{
  display:grid;
  width:100%;
  grid-template-columns:43px minmax(0,1fr) 26px;
  gap:11px;
  align-items:center;
  margin:0 0 9px;
  padding:13px;
  border:1.5px solid var(--line-2);
  border-radius:17px;
  background:var(--paper);
  color:var(--ink);
  text-align:left;
  transition:.18s;
}
#groomy-booking-live .payment-choice:hover{border-color:var(--sage);transform:translateY(-1px);box-shadow:0 9px 24px rgba(44,64,52,.07)}
#groomy-booking-live .payment-choice.sel{border-color:var(--green);background:var(--sel);box-shadow:0 0 0 3px rgba(51,81,63,.06)}
#groomy-booking-live .payment-icon{display:grid;width:43px;height:43px;place-items:center;border-radius:13px;background:var(--orange-xl);color:var(--orange)}
#groomy-booking-live .payment-icon.onsite{background:var(--yellow);color:#775c12}
#groomy-booking-live .payment-icon svg{width:22px;height:22px}
#groomy-booking-live .payment-copy{display:block;min-width:0}
#groomy-booking-live .payment-copy strong{display:block;color:var(--ink);font-size:13px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}
#groomy-booking-live .payment-copy small{display:block;margin-top:3px;color:var(--ink-3);font-size:10.5px;line-height:1.42;overflow-wrap:anywhere}
#groomy-booking-live .payment-copy em{display:block;margin-top:6px;color:var(--green);font-size:9.5px;font-style:normal;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
#groomy-booking-live .payment-radio{display:grid;width:23px;height:23px;place-items:center;border:1.5px solid var(--line-2);border-radius:50%;background:#fff;color:#fff}
#groomy-booking-live .payment-choice.sel .payment-radio{border-color:var(--green);background:var(--green)}
#groomy-booking-live .payment-radio svg{width:11px;height:11px}
#groomy-booking-live .final-order-mini{display:grid;grid-template-columns:86px minmax(0,1fr);gap:7px 10px;margin-top:16px;padding-top:15px;border-top:1px solid var(--line);font-size:10.5px;line-height:1.4}
#groomy-booking-live .final-order-mini>span{color:var(--ink-3)}
#groomy-booking-live .final-order-mini>strong{min-width:0;color:var(--ink);font-weight:600;text-align:right;overflow-wrap:anywhere}
#groomy-booking-live .final-total{grid-column:1/-1;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:7px;padding-top:12px;border-top:1px dashed var(--line-2)}
#groomy-booking-live .final-total span{color:var(--ink-2);font-size:11px;font-weight:600}
#groomy-booking-live .final-total b{color:var(--green);font-family:'Montserrat','Poppins',sans-serif;font-size:25px;line-height:1}
#groomy-booking-live .final-consent{margin:16px 2px 0}
#groomy-booking-live .final-consent a{color:var(--green);font-weight:600;text-decoration:underline;text-underline-offset:2px}
#groomy-booking-live .direct-pay-note{display:flex;align-items:flex-start;gap:10px;margin-top:13px;padding:12px 14px;border-radius:14px;background:var(--v14-sage-2);color:var(--ink-2);font-size:11.5px;line-height:1.5}
#groomy-booking-live .direct-pay-note>svg{flex:0 0 auto;margin-top:3px;color:var(--green)}
#groomy-booking-live .direct-pay-note b{color:var(--green-d)}
#groomy-booking-live .final-error{margin-bottom:16px}

/* Result views */
#groomy-booking-live .inline-success,
#groomy-booking-live .result-card{max-width:760px;margin:0 auto;padding:52px 42px;border:1px solid var(--line);border-radius:30px;background:var(--paper);box-shadow:0 20px 60px rgba(44,64,52,.09);text-align:center}
#groomy-booking-live .inline-success__mark,
#groomy-booking-live .result-mark{display:grid;width:74px;height:74px;margin:0 auto 17px;place-items:center;border-radius:50%;background:var(--sel);color:var(--green);font-size:34px;font-weight:700}
#groomy-booking-live .result-card.is-error .result-mark{background:var(--orange-xl);color:var(--orange)}
#groomy-booking-live .inline-success h2,
#groomy-booking-live .result-card h1{margin:0 0 12px;font-family:'Montserrat','Poppins',sans-serif;font-size:clamp(28px,4vw,43px);line-height:1.08;letter-spacing:-.035em}
#groomy-booking-live .inline-success p,
#groomy-booking-live .result-card>p{max-width:55ch;margin:0 auto 23px;color:var(--ink-2)}
#groomy-booking-live .inline-success__facts,
#groomy-booking-live .result-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-width:560px;margin:22px auto 25px;text-align:left}
#groomy-booking-live .inline-success__facts>div,
#groomy-booking-live .result-facts>div{padding:13px 14px;border-radius:14px;background:var(--cream);border:1px solid var(--line)}
#groomy-booking-live .inline-success__facts span,
#groomy-booking-live .result-facts span{display:block;margin-bottom:3px;color:var(--ink-3);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
#groomy-booking-live .inline-success__facts b,
#groomy-booking-live .result-facts strong{display:block;color:var(--ink);font-size:12.5px;line-height:1.4;overflow-wrap:anywhere}
#groomy-booking-live .result-btn{margin-top:3px}
#groomy-booking-live.groomy-booking-result-shell .result-wrap{padding-top:65px;padding-bottom:100px}

@media(max-width:980px){
  #groomy-booking-live .cols{grid-template-columns:minmax(0,1fr)}
  #groomy-booking-live .final-grid{grid-template-columns:minmax(0,1fr)}
  #groomy-booking-live .payment-box{position:static}
}
@media(max-width:760px){
  #groomy-booking-live .wrap{padding-left:12px;padding-right:12px;padding-top:12px}
  #groomy-booking-live .panel{padding:17px 14px;border-radius:20px}
  #groomy-booking-live .g-size,
  #groomy-booking-live .g-coat,
  #groomy-booking-live .g-breed{grid-template-columns:minmax(0,1fr)}
  #groomy-booking-live .client-fields{grid-template-columns:minmax(0,1fr)}
  #groomy-booking-live .client-name{grid-column:auto}
  #groomy-booking-live .final-section{padding:15px}
  #groomy-booking-live .payment-box{padding:14px}
  #groomy-booking-live .service-pick{grid-template-columns:29px minmax(0,1fr);padding:13px}
  #groomy-booking-live .service-price{grid-column:2;grid-row:2;min-width:0;align-items:flex-start;flex-direction:row;padding:4px 0 0;gap:8px}
  #groomy-booking-live .service-details summary,
  #groomy-booking-live .service-copy{padding-left:13px}
  #groomy-booking-live .inline-success,
  #groomy-booking-live .result-card{padding:34px 19px;border-radius:23px}
}
@media(max-width:520px){
  #groomy-booking-live .g-size .card,
  #groomy-booking-live .g-coat .card{grid-template-columns:54px minmax(0,1fr);min-height:78px;padding:9px 32px 9px 9px;gap:10px}
  #groomy-booking-live .g-size .card-fig,
  #groomy-booking-live .g-coat .card-fig{width:54px;height:52px}
  #groomy-booking-live .g-coat .card-meta{grid-column:2;grid-row:auto;margin-top:4px;justify-content:flex-start}
  #groomy-booking-live .breedcard{grid-template-columns:46px minmax(0,1fr);min-height:66px;padding:8px 31px 8px 8px}
  #groomy-booking-live .breedcard .card-fig{width:46px;height:44px}
  #groomy-booking-live .payment-choice{grid-template-columns:39px minmax(0,1fr) 23px;padding:11px;gap:9px}
  #groomy-booking-live .payment-icon{width:39px;height:39px}
  #groomy-booking-live .payment-copy strong{font-size:12.5px}
  #groomy-booking-live .choice-chip{flex:1 1 calc(50% - 7px);min-width:0;padding:8px 9px}
  #groomy-booking-live .final-order-mini{grid-template-columns:72px minmax(0,1fr)}
  #groomy-booking-live .inline-success__facts,
  #groomy-booking-live .result-facts{grid-template-columns:minmax(0,1fr)}
}

/* ==================================================================
   V1.4 — GROOMY BANK PAYMENT SCREEN
   No Woo checkout UI. Pastel, compact, real-content-safe.
   ================================================================== */
#groomy-booking-live.groomy-payment-shell{
  min-height:calc(100vh - 74px);
  background:
    radial-gradient(circle at 8% 10%,rgba(185,203,170,.42),transparent 28%),
    radial-gradient(circle at 92% 14%,rgba(251,231,220,.9),transparent 27%),
    radial-gradient(circle at 76% 86%,rgba(245,220,151,.28),transparent 25%),
    var(--cream);
}
#groomy-booking-live .payment-wrap{padding-top:54px;padding-bottom:100px}
#groomy-booking-live .bank-page{position:relative;max-width:900px;margin:0 auto}
#groomy-booking-live .bank-page::before{
  content:"";position:absolute;z-index:0;top:-28px;right:-30px;width:120px;height:120px;
  border:2px dashed rgba(51,81,63,.13);border-radius:50%;pointer-events:none;transform:rotate(9deg)
}
#groomy-booking-live .bank-page__intro{position:relative;z-index:1;max-width:680px;margin-bottom:25px}
#groomy-booking-live .bank-page__intro .eyebrow{margin-bottom:10px}
#groomy-booking-live .bank-page__intro h1{
  max-width:650px;margin:0 0 12px;color:var(--ink);font-family:'Montserrat','Poppins',sans-serif;
  font-size:clamp(34px,5vw,58px);font-weight:800;line-height:1.02;letter-spacing:-.05em
}
#groomy-booking-live .bank-page__intro h1 .serif{color:var(--orange);font-family:'Fraunces',Georgia,serif;font-weight:600}
#groomy-booking-live .bank-page__intro p{max-width:62ch;margin:0;color:var(--ink-2);font-size:14px;line-height:1.65}
#groomy-booking-live .bank-order-strip{
  position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;
  margin-bottom:14px;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--line);
  box-shadow:0 10px 34px rgba(44,64,52,.06)
}
#groomy-booking-live .bank-order-strip>div{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;padding:14px 17px;background:rgba(255,255,255,.9)}
#groomy-booking-live .bank-order-strip span{color:var(--ink-3);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
#groomy-booking-live .bank-order-strip strong{min-width:0;color:var(--green);font-family:'Montserrat','Poppins',sans-serif;font-size:15px;font-weight:800;text-align:right;overflow-wrap:anywhere}
#groomy-booking-live .bank-grid{
  position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;
  padding:14px;border:1px solid var(--line);border-radius:25px;background:rgba(255,255,255,.78);
  box-shadow:0 22px 64px rgba(44,64,52,.09);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)
}
#groomy-booking-live .bank-card{
  position:relative;display:grid;grid-template-rows:64px auto 22px;min-width:0;min-height:150px;align-items:center;
  justify-items:center;gap:7px;padding:14px 11px 11px;border:1.5px solid var(--line-2);border-radius:19px;
  background:var(--paper);color:var(--ink);box-shadow:0 3px 12px rgba(44,64,52,.035);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease
}
#groomy-booking-live .bank-card:hover:not(:disabled){transform:translateY(-3px);border-color:var(--sage);background:#fff;box-shadow:0 13px 28px rgba(44,64,52,.09)}
#groomy-booking-live .bank-card:focus-visible{outline:3px solid rgba(226,121,79,.24);outline-offset:2px}
#groomy-booking-live .bank-card:disabled{cursor:wait;opacity:.48}
#groomy-booking-live .bank-card.is-loading{opacity:1;border-color:var(--orange);background:var(--orange-xl)}
#groomy-booking-live .bank-logo{display:grid;width:100%;height:64px;place-items:center;padding:9px;border-radius:13px;background:var(--cream)}
#groomy-booking-live .bank-logo img{display:block;max-width:100%;max-height:30px;width:auto;height:auto;object-fit:contain}
#groomy-booking-live .bank-card strong{max-width:100%;color:var(--ink);font-size:12px;font-weight:700;line-height:1.25;text-align:center;overflow-wrap:anywhere}
#groomy-booking-live .bank-arrow{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:var(--sel);color:var(--green);font-size:13px;font-weight:700;transition:transform .18s ease,background .18s ease,color .18s ease}
#groomy-booking-live .bank-card:hover:not(:disabled) .bank-arrow{transform:translateX(2px);background:var(--orange);color:#fff}
#groomy-booking-live .bank-status{position:relative;z-index:1;margin-top:12px;padding:12px 14px;border:1px solid rgba(51,81,63,.12);border-radius:14px;background:var(--sel);color:var(--green);font-size:12px;font-weight:600;text-align:center}
#groomy-booking-live .bank-status.is-error{border-color:rgba(226,121,79,.25);background:var(--orange-xl);color:#9a4b26}
#groomy-booking-live .bank-back{position:relative;z-index:1;display:inline-flex;margin-top:18px;align-items:center;gap:7px;color:var(--ink-2);font-size:12.5px;font-weight:600;text-decoration:none!important}
#groomy-booking-live .bank-back:hover{color:var(--green)}

@media(max-width:820px){
  #groomy-booking-live .bank-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  #groomy-booking-live .payment-wrap{padding:26px 12px 84px}
  #groomy-booking-live .bank-page::before{display:none}
  #groomy-booking-live .bank-page__intro{margin-bottom:18px}
  #groomy-booking-live .bank-page__intro h1{font-size:clamp(31px,10vw,40px);line-height:1.05}
  #groomy-booking-live .bank-page__intro p{font-size:12.5px}
  #groomy-booking-live .bank-order-strip{grid-template-columns:minmax(0,1fr)}
  #groomy-booking-live .bank-order-strip>div{padding:11px 13px}
  #groomy-booking-live .bank-grid{gap:8px;padding:9px;border-radius:20px}
  #groomy-booking-live .bank-card{grid-template-rows:52px auto 20px;min-height:129px;padding:10px 8px 8px;border-radius:15px}
  #groomy-booking-live .bank-logo{height:52px;padding:7px}
  #groomy-booking-live .bank-logo img{max-height:25px}
  #groomy-booking-live .bank-card strong{font-size:11px}
}
#groomy-booking-live .bank-cancel{padding:0;border:0;background:transparent;cursor:pointer}
#groomy-booking-live .bank-cancel:disabled{opacity:.45;cursor:wait}


/* ==================================================================
   V1.5 — WIDE DESKTOP + FULL-WIDTH FINAL STEP + SMART SUCCESS
   ================================================================== */
@media (min-width:1100px){
  #groomy-booking-live .wrap{max-width:1460px;padding-left:28px;padding-right:28px}
  #groomy-booking-live .cols{grid-template-columns:minmax(0,1fr) 340px;gap:28px}
  #groomy-booking-live .rail{padding:22px}
  #groomy-booking-live .panel{padding:34px 36px}
  #groomy-booking-live .masthead{max-width:900px}
}

/* Final confirmation form gets the whole application width: the outer summary rail is redundant here. */
#groomy-booking-live.is-final-step .cols{grid-template-columns:minmax(0,1fr)}
#groomy-booking-live.is-final-step .rail{display:none!important}
#groomy-booking-live.is-final-step .panel{max-width:none}
#groomy-booking-live.is-final-step .final-grid{grid-template-columns:minmax(0,1.55fr) minmax(390px,.72fr);gap:24px}
#groomy-booking-live.is-final-step .payment-box{position:sticky;top:100px;padding:22px}
#groomy-booking-live.is-final-step .payment-choice{grid-template-columns:48px minmax(0,1fr) 28px;gap:14px;padding:16px 15px;border-radius:19px}
#groomy-booking-live.is-final-step .payment-icon{width:48px;height:48px;border-radius:15px}
#groomy-booking-live.is-final-step .payment-copy strong{font-size:14px}
#groomy-booking-live.is-final-step .payment-copy small{font-size:11.5px;line-height:1.5}
#groomy-booking-live.is-final-step .payment-copy em{font-size:9.5px;line-height:1.45;white-space:normal}
#groomy-booking-live.is-final-step .final-order-mini{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;margin-top:18px;padding-top:17px;font-size:11px}
#groomy-booking-live.is-final-step .final-order-mini>span{margin-top:9px;font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
#groomy-booking-live.is-final-step .final-order-mini>span:first-child{margin-top:0}
#groomy-booking-live.is-final-step .final-order-mini>strong{text-align:left;font-size:12px;line-height:1.45}
#groomy-booking-live.is-final-step .final-total{grid-column:auto;margin-top:14px;padding-top:14px}

/* Server-side success screen uses the whole width and never inherits the booking panel/rail geometry. */
#groomy-booking-live.groomy-booking-result-shell{
  min-height:calc(100vh - 74px);
  background:radial-gradient(circle at 8% 10%,rgba(185,203,170,.34),transparent 28%),radial-gradient(circle at 91% 8%,rgba(251,231,220,.9),transparent 27%),var(--cream)
}
#groomy-booking-live.groomy-booking-result-shell .result-wrap{max-width:1280px;padding-top:44px;padding-bottom:100px}
#groomy-booking-live .success-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:20px;padding:4px 4px 0}
#groomy-booking-live .success-hero__copy{max-width:760px}
#groomy-booking-live .success-hero .result-mark{margin:0 0 15px;width:64px;height:64px;font-size:29px}
#groomy-booking-live .success-hero h1{margin:0 0 10px;color:var(--ink);font-family:'Montserrat','Poppins',sans-serif;font-size:clamp(34px,4.8vw,62px);line-height:1.02;letter-spacing:-.052em}
#groomy-booking-live .success-hero h1 .serif{color:var(--orange);font-family:'Fraunces',Georgia,serif;font-weight:600}
#groomy-booking-live .success-hero p{max-width:64ch;margin:0;color:var(--ink-2);font-size:14px;line-height:1.65}
#groomy-booking-live .success-badge{flex:0 0 auto;min-width:220px;padding:17px 20px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.8);box-shadow:0 12px 32px rgba(44,64,52,.07);text-align:right}
#groomy-booking-live .success-badge span{display:block;margin-bottom:5px;color:var(--ink-3);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
#groomy-booking-live .success-badge strong{display:block;color:var(--green);font-family:'Montserrat','Poppins',sans-serif;font-size:25px;line-height:1}
#groomy-booking-live .success-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.72fr);gap:20px;align-items:start}
#groomy-booking-live .success-main-card,#groomy-booking-live .success-side-card,#groomy-booking-live .success-location-card{border:1px solid var(--line);border-radius:27px;background:rgba(255,255,255,.92);box-shadow:0 18px 54px rgba(44,64,52,.07)}
#groomy-booking-live .success-main-card{padding:25px}
#groomy-booking-live .success-side{display:grid;gap:14px}
#groomy-booking-live .success-side-card{padding:21px}
#groomy-booking-live .success-section-head{display:flex;align-items:flex-start;gap:11px;margin-bottom:18px}
#groomy-booking-live .success-section-head>span{display:grid;width:31px;height:31px;flex:0 0 31px;place-items:center;border-radius:10px;background:var(--orange-xl);color:var(--orange);font-size:10px;font-weight:800}
#groomy-booking-live .success-section-head strong{display:block;color:var(--ink);font-family:'Montserrat','Poppins',sans-serif;font-size:15px;line-height:1.25}
#groomy-booking-live .success-section-head small{display:block;margin-top:3px;color:var(--ink-3);font-size:11px;line-height:1.4}
#groomy-booking-live .success-section-head.compact{margin-bottom:13px}
#groomy-booking-live .success-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
#groomy-booking-live .success-facts>div{min-width:0;padding:14px 15px;border:1px solid var(--line);border-radius:16px;background:var(--cream)}
#groomy-booking-live .success-facts>div.wide{grid-column:1/-1}
#groomy-booking-live .success-facts span{display:block;margin-bottom:4px;color:var(--ink-3);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
#groomy-booking-live .success-facts strong{display:block;color:var(--ink);font-size:13px;line-height:1.45;overflow-wrap:anywhere}
#groomy-booking-live .success-facts small{display:block;margin-top:4px;color:var(--ink-3);font-size:10.5px;line-height:1.45}
#groomy-booking-live .success-calendar{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
#groomy-booking-live .calendar-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
#groomy-booking-live .calendar-btn{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;min-width:0;padding:13px 14px;border:1.5px solid var(--line-2);border-radius:17px;background:#fff;color:var(--ink)!important;text-decoration:none!important;transition:.18s}
#groomy-booking-live .calendar-btn:hover{transform:translateY(-2px);border-color:var(--sage);box-shadow:0 10px 24px rgba(44,64,52,.07)}
#groomy-booking-live .calendar-btn>b{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;background:var(--sel);color:var(--green);font-size:17px;font-weight:800}
#groomy-booking-live .calendar-btn.apple>b{background:var(--orange-xl);color:var(--orange);font-family:Arial,sans-serif}
#groomy-booking-live .calendar-btn span{min-width:0}
#groomy-booking-live .calendar-btn strong{display:block;color:var(--ink);font-size:12.5px;line-height:1.3}
#groomy-booking-live .calendar-btn small{display:block;margin-top:3px;color:var(--ink-3);font-size:10px;line-height:1.4}
#groomy-booking-live .success-actions-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:10px}
#groomy-booking-live .success-action{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:15px;background:var(--v14-sage-2);color:var(--ink)!important;text-align:left;text-decoration:none!important;cursor:pointer}
#groomy-booking-live button.success-action{width:100%;font:inherit}
#groomy-booking-live .success-action>span{display:grid;width:34px;height:34px;place-items:center;border-radius:11px;background:#fff;color:var(--green);font-weight:800}
#groomy-booking-live .success-action strong{display:block;font-size:11.5px;line-height:1.3}
#groomy-booking-live .success-action small{display:block;margin-top:2px;color:var(--ink-3);font-size:9.5px;line-height:1.35;overflow-wrap:anywhere}
#groomy-booking-live .success-tips{display:grid;gap:13px;margin:0;padding:0;list-style:none;counter-reset:groomy-tips}
#groomy-booking-live .success-tips li{position:relative;padding-left:36px;counter-increment:groomy-tips}
#groomy-booking-live .success-tips li::before{content:counter(groomy-tips);position:absolute;left:0;top:0;display:grid;width:25px;height:25px;place-items:center;border-radius:9px;background:var(--sel);color:var(--green);font-size:9px;font-weight:800}
#groomy-booking-live .success-tips b{display:block;color:var(--ink);font-size:11.5px;line-height:1.4}
#groomy-booking-live .success-tips span{display:block;margin-top:3px;color:var(--ink-3);font-size:10.5px;line-height:1.45}
#groomy-booking-live .success-location-card{position:relative;overflow:hidden;padding:22px;background:linear-gradient(145deg,var(--green-d),var(--green));color:#fff}
#groomy-booking-live .success-location-card .paw{position:absolute;right:18px;top:13px;color:rgba(255,255,255,.25);font-size:31px}
#groomy-booking-live .success-location-card small{display:block;color:rgba(255,255,255,.65);font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
#groomy-booking-live .success-location-card strong{display:block;margin-top:4px;color:#fff;font-family:'Montserrat','Poppins',sans-serif;font-size:18px}
#groomy-booking-live .success-location-card p{margin:7px 0 13px;color:rgba(255,255,255,.82);font-size:11.5px;line-height:1.5}
#groomy-booking-live .success-location-card a{color:#fff!important;font-size:11px;font-weight:700;text-decoration:none!important}
#groomy-booking-live .success-footer-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:0 4px}
#groomy-booking-live .success-footer-row span{color:var(--ink-3);font-size:11px}
#groomy-booking-live .result-card--cancelled{max-width:760px;margin:35px auto;padding:48px 40px;border:1px solid var(--line);border-radius:28px;background:#fff;text-align:center;box-shadow:0 20px 60px rgba(44,64,52,.09)}
#groomy-booking-live .result-mark.is-error{background:var(--orange-xl);color:var(--orange)}

@media(max-width:1180px){
  #groomy-booking-live.is-final-step .final-grid{grid-template-columns:minmax(0,1.35fr) minmax(340px,.75fr)}
  #groomy-booking-live .success-layout{grid-template-columns:minmax(0,1fr)}
  #groomy-booking-live .success-side{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  #groomy-booking-live.is-final-step .final-grid{grid-template-columns:minmax(0,1fr)}
  #groomy-booking-live.is-final-step .payment-box{position:static}
  #groomy-booking-live .success-hero{align-items:flex-start;flex-direction:column}
  #groomy-booking-live .success-badge{min-width:0;text-align:left}
  #groomy-booking-live .success-actions-row{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:640px){
  #groomy-booking-live.groomy-booking-result-shell .result-wrap{padding:24px 12px 82px}
  #groomy-booking-live .success-hero{gap:16px;padding:0 3px}
  #groomy-booking-live .success-hero .result-mark{width:56px;height:56px;font-size:25px}
  #groomy-booking-live .success-hero h1{font-size:clamp(31px,10vw,40px)}
  #groomy-booking-live .success-main-card,#groomy-booking-live .success-side-card,#groomy-booking-live .success-location-card{border-radius:21px}
  #groomy-booking-live .success-main-card{padding:16px}
  #groomy-booking-live .success-facts,#groomy-booking-live .calendar-actions,#groomy-booking-live .success-side{grid-template-columns:minmax(0,1fr)}
  #groomy-booking-live .success-facts>div.wide{grid-column:auto}
  #groomy-booking-live .success-footer-row{align-items:flex-start;flex-direction:column}
  #groomy-booking-live.is-final-step .payment-box{padding:16px}
  #groomy-booking-live.is-final-step .payment-choice{grid-template-columns:43px minmax(0,1fr) 25px;padding:13px 12px;gap:10px}
  #groomy-booking-live.is-final-step .payment-icon{width:43px;height:43px}
}


/* ============================================================
   v1.6 LOGIC POLISH — no redesign, only flow/coupon refinements
   ============================================================ */
@media (min-width: 980px){
  #groomy-booking-live .masthead{max-width:none}
  #groomy-booking-live .lede{max-width:none;white-space:nowrap}
}
#groomy-booking-live .coupon-box{margin:14px 0 4px;padding:14px 15px;border:1px solid var(--line);border-radius:16px;background:var(--cream)}
#groomy-booking-live .coupon-box>label{display:flex;align-items:center;gap:7px;margin:0 0 8px;font-size:12px;font-weight:700;color:var(--ink)}
#groomy-booking-live .coupon-box>label span{font-size:10px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}
#groomy-booking-live .coupon-input{position:relative;display:flex;align-items:center}
#groomy-booking-live .coupon-input input{width:100%;min-width:0;height:44px;padding:0 42px 0 13px;border:1.5px solid var(--line-2);border-radius:12px;background:#fff;color:var(--ink);font-weight:700;letter-spacing:.035em;outline:none;text-transform:uppercase}
#groomy-booking-live .coupon-input input:focus{border-color:var(--sage);box-shadow:0 0 0 4px var(--sel)}
#groomy-booking-live .coupon-input>span{position:absolute;right:13px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--sel);color:var(--green);font-size:12px;font-weight:800;pointer-events:none}
#groomy-booking-live .coupon-box>small{display:block;margin-top:7px;color:var(--ink-3);font-size:10.5px;line-height:1.45}
@media (max-width:979px){#groomy-booking-live .lede{white-space:normal}}
