.gr-book{max-width:1200px;margin:0 auto;color:#e9eef5}
.gr-book__header{margin:10px 0 14px}
.gr-book__header h2{margin:0 0 6px;font-size:24px}
.gr-book__note{opacity:.8;font-size:13px;margin-bottom:8px}
.gr-book__progress{height:6px;background:#1f2937;border-radius:999px;overflow:hidden}
.gr-book__progress>span{display:block;height:100%;background:#36b8ff}

.gr-book__grid{display:grid;grid-template-columns:1fr 360px;gap:20px}
.gr-book__left{display:flex;flex-direction:column;gap:16px}
.gr-book__aside .sum{background:#101418;border:1px solid #1f2730;border-radius:14px;padding:16px;position:sticky;top:16px}
.gr-book__aside h4{margin:0 0 12px 0}
#gr-summary{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
#gr-summary li{display:flex;justify-content:space-between;gap:8px;border-bottom:1px dashed #223041;padding-bottom:6px}
#gr-summary li.muted{opacity:.8;border:none}
.total{display:flex;justify-content:space-between;margin-top:10px;font-size:18px}

.gr-step{background:#101418;border:1px solid #1f2730;border-radius:14px;padding:16px}
.gr-step h3{margin:0 0 12px}
.gr-row{display:grid;grid-template-columns:1fr 160px 1fr 160px;gap:10px;margin-bottom:10px}
.gr-row label{align-self:center;opacity:.85}
.gr-row input, .gr-row select{background:#0d1217;border:1px solid #1f2730;border-radius:10px;padding:10px 12px;color:#e9eef5}

.gr-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}
.gr-btn{background:#0d1217;border:1px solid #1f2730;border-radius:10px;color:#e9eef5;padding:10px 14px;cursor:pointer}
.gr-btn.primary{background:#1fb6ff;border-color:#1fb6ff;color:#061018;font-weight:600}

.gr-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.gr-card-select{display:block;border:1px solid #1f2730;border-radius:12px;padding:12px;background:#0d1217;cursor:pointer}
.gr-card-select input{display:none}
.gr-card-select .title{display:block;font-weight:700;margin-bottom:6px}
.gr-card-select .price{opacity:.85}
.gr-card-select input:checked + .title,
.gr-card-select input:checked ~ .price{color:#1fb6ff}
.gr-card-select:has(input:checked){outline:2px solid #1fb6ff33}

.gr-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gr-toggle{display:flex;align-items:center;gap:10px;background:#0d1217;border:1px solid #1f2730;border-radius:10px;padding:10px}
.gr-inline{display:flex;align-items:center;gap:8px}
.gr-inline select{background:#0d1217;border:1px solid #1f2730;border-radius:8px;color:#e9eef5;padding:6px 10px}
.hint{opacity:.75;font-size:12px}

.gr-form .group{border:1px solid #1f2730;border-radius:12px;padding:12px;margin-bottom:10px;background:#0d1217}
.gr-form h4{margin:0 0 10px}
.gr-form .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.gr-form input, .gr-form select, .gr-form textarea{background:#0d1217;border:1px solid #1f2730;border-radius:10px;padding:10px;color:#e9eef5}
.gr-form textarea{min-height:80px}
.gr-form .agree{display:flex;gap:8px;margin-top:8px;align-items:center}

.confirm{background:#101418;border:1px solid #1f2730;border-radius:14px;padding:14px}
.confirm .row{display:flex;justify-content:space-between;border-bottom:1px dashed #223041;padding:6px 0}
.confirm .hr{height:1px;background:#1f2730;margin:10px 0}
.confirm .rows .row{border:none}
@media (max-width: 980px){
  .gr-book__grid{grid-template-columns:1fr}
  .gr-book__aside{order:-1}
}

/* ===== coupons / totals ===== */
.total .totals { display:flex; flex-direction:column; align-items:flex-end; }
#gr-total-old { font-size:14px; opacity:.6; margin-bottom:2px; }
#gr-total-old s { text-decoration: line-through; }
.coupon { margin:10px 0 12px; }
.coupon-row { display:flex; gap:8px; }
.coupon-row input[type="text"] { flex:1; min-width:0; }
.coupon-msg { font-size:12px; margin-top:6px; opacity:.85; }
.coupon-msg[data-state="ok"]  { color:#22c55e; }
.coupon-msg[data-state="err"] { color:#ef4444; }

/* coupons: applied view + linklike */
.coupon-applied .applied-line { margin: 6px 0 4px; }
.linklike {
  background: none; border: 0; padding: 0;
  font: inherit; text-decoration: underline; cursor: pointer;
  opacity: .8;
}
.linklike:hover { opacity: 1; }


