.gt-book{--gt-ink:#18222d;--gt-muted:#6b7280;--gt-yellow:#fbdf60;--gt-mint:#c8e6d0;--gt-coral:#e8892b;--gt-cream:#f6f1e8;--gt-border:rgba(24,34,45,.1);font-family:Inter,system-ui,sans-serif;color:var(--gt-ink)}
.gt-book__head{margin:0 0 1.25rem}
.gt-book__eyebrow{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gt-coral)}
.gt-book__title{margin:.2rem 0 .35rem;font-family:Poppins,Inter,sans-serif;font-size:clamp(1.35rem,3vw,1.75rem)}
.gt-book__sub{margin:0;color:var(--gt-muted);max-width:36rem}
.gt-book__layout{display:grid;grid-template-columns:1.05fr .95fr;gap:1.25rem;align-items:start}
@media(max-width:820px){.gt-book__layout{grid-template-columns:1fr}}
.gt-cal,.gt-book__side{background:#fff;border:1px solid var(--gt-border);border-radius:24px;padding:1.1rem 1.15rem;box-shadow:0 12px 36px rgba(24,34,45,.06)}
.gt-cal__nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}
.gt-cal__label{font-family:Poppins,sans-serif;font-size:1.05rem;text-transform:capitalize}
.gt-cal__btn{width:2.25rem;height:2.25rem;border-radius:999px;border:1px solid var(--gt-border);background:var(--gt-cream);cursor:pointer;font-size:1.2rem;line-height:1}
.gt-cal__btn:hover{background:var(--gt-yellow)}
.gt-cal__dow{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.35rem;text-align:center;font-size:.72rem;font-weight:700;color:var(--gt-muted)}
.gt-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem}
.gt-cal__day{appearance:none;border:0;background:transparent;border-radius:14px;aspect-ratio:1;display:grid;place-items:center;font-weight:600;font-size:.92rem;cursor:default;color:var(--gt-muted);position:relative}
.gt-cal__day.is-open{background:rgba(200,230,208,.55);color:var(--gt-ink);cursor:pointer}
.gt-cal__day.is-open:hover{background:var(--gt-mint)}
.gt-cal__day.is-full{background:rgba(232,137,43,.12);color:var(--gt-coral);cursor:not-allowed}
.gt-cal__day.is-closed,.gt-cal__day.is-past,.gt-cal__day.is-blocked{opacity:.45}
.gt-cal__day.is-selected{outline:2px solid var(--gt-ink);background:var(--gt-yellow)!important;color:var(--gt-ink)!important}
.gt-cal__day.is-empty{visibility:hidden}
.gt-cal__legend{display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin-top:.85rem;font-size:.78rem;color:var(--gt-muted)}
.gt-dot{display:inline-block;width:.65rem;height:.65rem;border-radius:50%;margin-right:.35rem;vertical-align:middle}
.gt-dot--open{background:var(--gt-mint)}.gt-dot--full{background:var(--gt-coral)}.gt-dot--closed{background:#c5c9ce}
.gt-muted{color:var(--gt-muted);margin:0}
.gt-slots__list{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0 1rem}
.gt-slot{border:1px solid var(--gt-border);background:#fff;border-radius:999px;padding:.55rem .9rem;font-weight:700;font-size:.88rem;cursor:pointer}
.gt-slot:hover{background:var(--gt-cream)}
.gt-slot.is-selected{background:var(--gt-yellow);border-color:transparent}
.gt-slot:disabled{opacity:.4;cursor:not-allowed}
.gt-float{position:relative;margin:0 0 .85rem}
.gt-float input,.gt-float textarea{width:100%;border:1.5px solid var(--gt-border);border-radius:16px;padding:1.15rem .95rem .45rem;font:inherit;background:#fff;box-sizing:border-box}
.gt-float textarea{resize:vertical;min-height:5rem}
.gt-float label{position:absolute;left:.95rem;top:50%;transform:translateY(-50%);color:var(--gt-muted);pointer-events:none;transition:.18s ease;font-size:.92rem}
.gt-float--area label{top:1.1rem;transform:none}
.gt-float input:focus,.gt-float textarea:focus{outline:0;border-color:var(--gt-coral)}
.gt-float input:focus+label,.gt-float input:not(:placeholder-shown)+label,
.gt-float textarea:focus+label,.gt-float textarea:not(:placeholder-shown)+label{top:.35rem;font-size:.72rem;color:var(--gt-coral);transform:none}
.gt-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;width:100%;border:0;border-radius:999px;padding:.9rem 1.2rem;font-weight:800;font-family:inherit;font-size:1rem;cursor:pointer;background:var(--gt-yellow);color:var(--gt-ink);text-decoration:none;box-sizing:border-box}
.gt-btn:hover{filter:brightness(.98)}
.gt-btn--wa{background:#25D366;color:#fff;margin-bottom:.5rem}
.gt-btn--ghost{background:transparent;border:1.5px solid var(--gt-border)}
.gt-form__err{color:#b42318;font-size:.88rem;margin:.5rem 0 0}
.gt-success p{margin:0 0 1rem;font-weight:600}
@media(prefers-reduced-motion:reduce){.gt-float label{transition:none}}

/* 1.6.2 polish */
.gt-cal__btn:focus-visible,.gt-cal__day.is-open:focus-visible,.gt-slot:focus-visible,.gt-btn:focus-visible{
  outline:none;box-shadow:0 0 0 3px rgba(251,223,96,.65),0 0 0 5px rgba(24,34,45,.18)
}
.gt-btn:disabled{opacity:.48;cursor:not-allowed;filter:none}
.gt-form__err{
  background:#fff5f2;border:1px solid #fecaca;border-left:4px solid #c2410c;
  border-radius:12px;padding:.65rem .85rem;color:#7c2d12
}
.gt-success{
  background:#eefaf3;border:1px solid #bbf7d0;border-radius:16px;padding:1rem
}
.gt-cal__day.is-open,.gt-slot,.gt-btn{transition:background .15s ease,filter .15s ease,box-shadow .15s ease}
@media(prefers-reduced-motion:reduce){.gt-cal__day.is-open,.gt-slot,.gt-btn,.gt-float label{transition:none}}
@media(max-width:480px){
  .gt-cal,.gt-book__side{border-radius:18px;padding:.9rem}
  .gt-slots__list{gap:.35rem}
}
