/* GORKY STUDIO — виджет онлайн-записи. Использует токены сайта (styles.css): --card, --line, --gold, --muted… */
.gbook { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius, 22px); padding: 22px; max-width: 760px; margin: 0 auto; color: var(--text); }
.gb-titlerow { display: flex; align-items: center; gap: 10px; }
.gb-title { font-family: var(--display); font-weight: 600; font-size: 20px; margin: 0; }
.gb-back { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line-2); background: transparent; color: inherit; font-size: 22px; line-height: 1; cursor: pointer; flex: 0 0 auto; }
.gb-back:hover { border-color: var(--gold); }
.gb-crumbs { color: var(--muted); font-size: 14px; margin: 8px 0 0; }
.gb-body { display: flex; flex-direction: column; gap: 10px; margin-top: 18px; }
.gb-card { display: flex; flex-direction: column; gap: 6px; text-align: left; width: 100%; padding: 16px; border-radius: var(--radius-sm, 12px); border: 1px solid var(--line-2); background: var(--card-2); color: inherit; font: inherit; cursor: pointer; }
button.gb-card:hover { border-color: var(--gold); }
.gb-room { cursor: default; }
.gb-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.gb-price { color: var(--gold-ink); font-weight: 600; white-space: nowrap; }
.gb-muted { color: var(--muted); font-size: 14px; }
.gb-desc { white-space: pre-line; }
.gb-group { margin: 10px 0 0; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.gb-branchwrap { display: flex; gap: 10px; align-items: stretch; }
.gb-branchwrap .gb-card { flex: 1; }
.gb-maplink { align-self: center; color: var(--gold-ink); font-size: 14px; white-space: nowrap; }
.gb-gallery { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; margin: -4px -4px 6px; padding: 4px; }
.gb-gallery img { height: 180px; width: auto; max-width: 85%; border-radius: 10px; object-fit: cover; scroll-snap-align: start; flex: 0 0 auto; }
.gb-choose { align-self: flex-start; margin-top: 6px; }
.gb-chips { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 8px; }
.gb-times { grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); }
.gb-ends { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.gb-chip { padding: 12px 10px; border-radius: 12px; border: 1px solid var(--line-2); background: var(--card-2); color: inherit; font: inherit; cursor: pointer; text-align: center; }
.gb-chip:hover { border-color: var(--gold); }
.gb-end { display: flex; flex-direction: column; gap: 2px; }
.gb-end span { font-size: 13px; color: var(--muted); }
.gb-nav { justify-content: flex-start; margin-top: 6px; }
.gb-form { display: flex; flex-direction: column; gap: 12px; }
.gb-field { display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: var(--muted); }
.gb-field input, .gb-field textarea { font: inherit; color: var(--text); background: var(--card-2); border: 1px solid var(--line-2); border-radius: 12px; padding: 12px 14px; width: 100%; box-sizing: border-box; }
.gb-field input:focus, .gb-field textarea:focus { outline: 2px solid var(--gold); outline-offset: 1px; }
.gb-promo { display: flex; gap: 10px; align-items: flex-end; }
.gb-promo .gb-field { flex: 1; }
.gb-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.gb-summary { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 10px 0; }
.gb-summary p { margin: 4px 0; }
.gb-total { font-family: var(--display); font-weight: 600; font-size: 20px; }
.gb-ok { color: #3fbf6f; font-size: 14px; }
.gb-error { color: #ff6b6b; font-size: 14px; margin: 0; }
.gb-rules summary { cursor: pointer; color: var(--gold-ink); font-size: 14px; }
.gb-pre { white-space: pre-line; font-size: 14px; color: var(--muted); }
.gb-check { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--muted); }
.gb-check input { margin-top: 3px; width: 18px; height: 18px; flex: 0 0 auto; accent-color: var(--gold); }
.gb-check a { color: var(--gold-ink); }
.gb-status span { font-size: 15px; }
.gbook-page { min-height: 100vh; padding: 20px 16px 60px; }
.gbook-top { display: flex; align-items: center; justify-content: space-between; max-width: 760px; margin: 0 auto 18px; }
.gbook-top img { height: 40px; width: auto; }
.gbook-top a { color: var(--muted); font-size: 14px; }
@media (max-width: 560px) {
  .gbook { padding: 16px; border-radius: 16px; }
  .gb-branchwrap { flex-direction: column; }
  .gb-gallery img { height: 150px; }
}
.booking[hidden] { display: none !important; }
.gbook-legal{max-width:760px;margin:18px auto 0;font-size:12px;line-height:1.5;color:var(--muted,#8a8a8a);text-align:center}
.gbook-legal a{color:inherit;text-decoration:underline}
.gb-hint{margin:-8px 0 2px;font-size:13px;line-height:1.4}
.gb-access{margin-top:12px;border-color:var(--gold,#e8c46a)}
.gb-access b{font-size:18px}
.gb-access .btn{align-self:flex-start;margin-top:6px}
