/* /quote.html — choices on the left, the price on the right (under the choices on phones).
   Buttons and groups reuse the simulator's (.ts-*), inputs the booking link page's (.mb-input). */
.qt-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: var(--space-8); align-items: start; }
.qt-layout .ts-controls { gap: var(--space-8); }
.qt-seg3 { grid-template-columns: repeat(3, 1fr); }
.qt-sub { margin-top: var(--space-2); }
.ts-films button[disabled] { opacity: .45; cursor: not-allowed; }
#qt-film-group[hidden] { display: none; }
.qt-result { position: sticky; top: calc(var(--space-6) + 64px); display: grid; gap: var(--space-3); padding: var(--space-6); background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); }
.ts-films button .qt-price { font: 600 15px/20px var(--font-mono); color: var(--ink); }
.qt-total { margin: 0; font-size: clamp(44px, 7vw, 64px); line-height: 1; font-weight: 600; color: var(--ink); }
.qt-star { font-size: .45em; vertical-align: top; color: var(--redline-text); margin-left: 4px; }
.qt-star[hidden] { display: none; }
.qt-fine { margin: 0; font-size: 12px; line-height: 18px; color: var(--ink-muted); }
.qt-result .vt-kv dd { text-align: right; padding-left: var(--space-3); }
.qt-result .vt-kv dt { font-family: var(--font-sans); }
.qt-cta { margin-top: var(--space-2); }
.qt-cta [aria-disabled="true"] { opacity: .45; pointer-events: none; }
.qt-form { display: grid; gap: var(--space-2); margin-top: var(--space-2); }
.qt-form[hidden] { display: none; }
.qt-form .vt-btn { justify-self: start; margin-top: var(--space-2); }
.qt-opt { text-transform: none; letter-spacing: 0; font-weight: 400; color: var(--ink-muted); }
.qt-msg { margin: 0; color: var(--redline-text); }
.qt-msg--ok { color: var(--ink); padding: var(--space-3) var(--space-4); box-shadow: inset 3px 0 0 var(--ok, #3ecf8e); background: var(--surface-raised); }
.qt-trap { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
@media (max-width: 900px) {
  .qt-layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .qt-result { position: static; }
}
