/* Reserved tokens use the shared NYTE palette, typography and controls. */
.buy-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;padding-top:64px;padding-bottom:88px;align-items:start}
.buy-brand{padding:28px 0}.buy-brand h1{font-size:clamp(38px,4.1vw,60px);margin:22px 0 28px}.buy-kicker{font:500 12px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--mint)}
.buy-notes{margin:36px 0}.buy-notes h2{font-size:17px;letter-spacing:0;margin:24px 0 8px}.buy-notes p,.buy-contract{font-size:15px;color:var(--t2)}
.buy-contract{border-block:1px solid var(--rule);padding:16px 0;margin-bottom:24px}.buy-contract summary{cursor:pointer;color:var(--t1)}.buy-contract dt{color:var(--t1);margin-top:16px}.buy-contract dd{margin:4px 0 0}
.buy-fine{font-size:13px;line-height:1.65;color:var(--t3)}
.buy-workspace{min-width:0;border:1px solid var(--rule);border-radius:8px;background:var(--panel);padding:28px}
.buy-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0 0 26px;gap:10px;border-bottom:1px solid var(--rule);font-size:12px;color:var(--t3)}
.buy-steps span{display:block;width:28px;height:28px;line-height:26px;border:1px solid var(--control);border-radius:50%;text-align:center;margin-bottom:8px;font-family:var(--mono)}
.buy-steps [aria-current]{color:var(--mint);font-weight:600}.buy-steps [aria-current] span{background:var(--mint);color:var(--ink)}
.buy-step{padding:28px 0 0}.buy-step h2{font-size:clamp(28px,2.5vw,36px);margin:10px 0 16px;scroll-margin-top:100px}.buy-step>p:not(.buy-kicker){color:var(--t2);font-size:15px}
.buy-step fieldset{min-width:0;margin:24px 0 0;padding:0;border:0}.buy-step legend{font-size:14px;font-weight:600;margin-bottom:12px}.buy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.buy-grid>.buy-field{margin:0}
.buy-choice{display:flex;gap:10px;align-items:start;padding:16px;border:1px solid var(--control);border-radius:6px;background:var(--bg-alt);cursor:pointer;min-width:0}.buy-choice:has(input:checked){border-color:var(--mint);background:var(--selected)}.buy-choice:has(input:focus-visible){outline:2px solid var(--link);outline-offset:3px}.buy-choice input{margin:5px 0 0;flex:none;accent-color:var(--mint)}.buy-choice strong{display:block;font-size:16px;line-height:1.4;margin-bottom:8px}.buy-choice small{display:block;color:var(--t2);font-size:13px;line-height:1.6}.buy-price{display:block;color:var(--mint);margin-bottom:8px;font-family:var(--mono)}.buy-price small{display:inline;font-family:var(--sans)}
.buy-tabs{display:flex;flex-wrap:wrap;gap:12px 20px;font-size:14px}.buy-tabs input{accent-color:var(--mint)}#buy-grades>.buy-fine{margin:0 0 14px}
.buy-field{display:block;font-size:14px;margin-bottom:18px}.buy-field input,.buy-field select,.buy-counter input{display:block;width:100%;min-width:0;min-height:46px;border:1px solid var(--control);border-radius:4px;background:var(--bg);color:var(--t1);font:inherit;padding:10px;margin-top:6px;color-scheme:dark}.buy-field input::placeholder{color:var(--t3)}
.buy-counter{display:flex;gap:6px}.buy-counter input{margin:0;font-size:16px}.buy-counter button{flex:0 0 42px;border:1px solid var(--control);border-radius:4px;background:var(--inset)}.buy-counter button:disabled{opacity:.4;cursor:default}
.buy-total{padding:16px;margin-top:24px;border:1px solid var(--rule);border-radius:4px;background:var(--bg-alt);overflow-wrap:anywhere}.buy-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.buy-actions .btn{white-space:normal;text-align:center;padding:12px 18px}.buy-fallback{border-top:1px solid var(--rule);margin-top:28px;padding-top:20px;font-size:14px;color:var(--t2)}.buy-fallback a{display:block;margin-top:4px}
#buy-calendar iframe{width:100%;height:740px;border:0;margin-top:24px;background:white;border-radius:4px}
.buy-layout [hidden]{display:none!important}
@media(max-width:1000px){.buy-layout{gap:32px;padding-top:36px;grid-template-columns:1fr}.buy-workspace{order:-1;padding:22px}.buy-grid{grid-template-columns:1fr}}
@media(max-width:700px){.buy-layout{grid-template-columns:1fr;gap:24px;padding-top:16px}.buy-brand{padding:12px 0}.buy-brand h1{font-size:40px;margin:16px 0}.buy-brand .lede{font-size:16px}.buy-notes{margin:20px 0}.buy-notes h2{margin-top:16px}.buy-workspace{padding:18px}.buy-steps{gap:6px;font-size:11px}.buy-step h2{font-size:29px}.buy-brand .buy-fine{font-size:12px}}

.buy-unit-list{list-style:none;margin:0;padding:0}.buy-unit-list li+li{margin-top:12px}.buy-unit-list label{display:flex;align-items:baseline;gap:10px;cursor:pointer;font-size:15px;line-height:1.6}.buy-unit-list input{flex:none;accent-color:var(--mint)}.buy-field small{display:block;color:var(--t3);margin-top:6px}

.buy-workspace .facility-grid{grid-template-columns:1fr}

.buy-reserve { border: 1px solid var(--line, #ccc); padding: 24px; margin: 24px 0; border-radius: 12px; }
.buy-reserve p { margin: 12px 0; }
.buy-reserve-terms { display: block; margin: 20px 0; }
.buy-reserve-terms input { width: auto; margin-right: 8px; }
.buy-reserve button:disabled { opacity: .55; cursor: not-allowed; }
