:root{--booking-ink:#17242a;--booking-muted:#65747c;--booking-bg:#f5f7f7;--booking-line:#dbe2e5;--booking-accent:#d6f3f6;--booking-yellow:#f3df24}
.header-book{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;background:#21363f;color:#fff;text-decoration:none;font-weight:900;text-transform:uppercase;letter-spacing:.04em;font-size:13px;white-space:nowrap}
.header-book:hover,.header-book:focus-visible{background:#0e2028;color:#fff}
.hero-book-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.hero-book-actions .hero-quote{margin:0}
.hero-book-actions .hero-online{background:#21363f;color:#fff;border-color:#21363f;padding-left:18px;padding-right:18px}
.booking-hero{background:#eaf8f9;padding:70px 0 56px;border-bottom:1px solid #dbe8ea}
.booking-hero-inner{max-width:860px}
.booking-hero h1{font-size:clamp(42px,6vw,78px);line-height:.98;margin:9px 0 20px;color:var(--booking-ink);letter-spacing:-.035em}
.booking-hero p:not(.eyebrow){font-size:20px;line-height:1.55;max-width:780px;color:#3e5159}
.booking-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.booking-badges span{background:#fff;border:1px solid #d6e5e7;padding:9px 12px;font-size:14px;font-weight:800;color:#32464e}
.booking-section{background:var(--booking-bg);padding:54px 0 86px}
.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;align-items:start}
.booking-card{background:#fff;border:1px solid var(--booking-line);box-shadow:0 16px 50px rgba(21,41,49,.08)}
.booking-progress{padding:26px 34px 23px;border-bottom:1px solid var(--booking-line);position:relative}
.booking-progress-line{height:4px;background:#edf0f1;position:absolute;left:58px;right:58px;top:43px;z-index:0}
.booking-progress-line span{display:block;width:0;height:100%;background:#21363f;transition:width .25s ease}
.booking-progress ol{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);padding:0;margin:0;position:relative;z-index:1}
.booking-progress li{text-align:center;color:#8b979c;font-style:normal;font-size:12px;font-weight:800}
.booking-progress li span{display:flex;width:34px;height:34px;border-radius:50%;align-items:center;justify-content:center;margin:0 auto 8px;background:#fff;border:2px solid #d6dcdf;color:#7a878d;font-style:normal;transition:.2s}
.booking-progress li em{font-style:normal;white-space:nowrap}
.booking-progress li.active,.booking-progress li.done{color:#21363f}
.booking-progress li.active span,.booking-progress li.done span{border-color:#21363f;background:#21363f;color:#fff}
.booking-step{display:none;border:0;margin:0;padding:40px 42px 28px;min-width:0}
.booking-step.active{display:block}
.booking-step>legend{font-size:30px;font-weight:900;line-height:1.15;color:var(--booking-ink);padding:0;margin:0;display:table}
.step-intro{font-size:16px;color:var(--booking-muted);margin:10px 0 27px;line-height:1.5}
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:28px}
.choice-card{position:relative;display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;column-gap:12px;padding:18px;border:2px solid #e1e6e8;cursor:pointer;transition:.18s;background:#fff;min-height:104px}
.choice-card:hover{border-color:#afbec4}
.choice-card:has(input:checked){border-color:#21363f;background:#f4fbfc;box-shadow:inset 0 0 0 1px #21363f}
.choice-card input{position:absolute;opacity:0;pointer-events:none}
.choice-icon{grid-row:1/3;display:flex;align-items:flex-start;justify-content:center;font-size:25px;color:#21363f;padding-top:1px}
.choice-card strong{font-size:16px;color:#17242a;line-height:1.2}
.choice-card small{display:block;color:#6d7b81;margin-top:5px;line-height:1.35}
.form-grid{display:grid;gap:16px;margin-top:16px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:1.2fr .5fr .75fr}
.field{display:flex;flex-direction:column;gap:7px}.field.full{margin-top:20px}.field>span{font-weight:800;font-size:13px;color:#35474f}
.field input,.field select,.field textarea{width:100%;border:1px solid #cbd5d9;background:#fff;color:#17242a;padding:13px 14px;border-radius:0;font:inherit;min-height:48px}
.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(72,159,170,.16);border-color:#4b8e98}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#b64646;background:#fffafa}
.check-row{display:flex;gap:12px;align-items:flex-start;margin-top:22px;padding:14px 15px;border:1px solid #dce3e6;background:#fbfcfc;cursor:pointer}
.check-row input{margin-top:3px;width:18px;height:18px;accent-color:#21363f;flex:0 0 auto}.check-row span{display:flex;flex-direction:column;gap:3px}.check-row strong{font-size:14px}.check-row small{color:#758087;line-height:1.35}
.tv-count-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 0 22px;border-bottom:1px solid #edf0f1}.tv-count-row>span{font-weight:900;color:#253941}
.segmented{display:flex}.segmented label{position:relative}.segmented input{position:absolute;opacity:0}.segmented span{display:flex;align-items:center;justify-content:center;width:46px;height:42px;border:1px solid #cdd6d9;margin-left:-1px;font-weight:900;cursor:pointer;background:#fff}.segmented input:checked+span{background:#21363f;color:#fff;border-color:#21363f;position:relative;z-index:1}
.tv-detail-cards{display:grid;gap:18px;margin-top:22px}.tv-detail-card{border:1px solid #d9e0e3;padding:20px;background:#fbfcfc}.tv-detail-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.tv-detail-title strong{font-size:17px;color:#17242a}.tv-detail-title span{font-size:12px;color:#718087;text-transform:uppercase;letter-spacing:.07em;font-weight:800}
.tv-options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tv-addons{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:15px}.mini-check{display:flex;gap:8px;align-items:center;border:1px solid #dce3e6;background:white;padding:10px;font-size:13px;font-weight:700}.mini-check input{accent-color:#21363f}
.contact-method{border:0;padding:22px 0 0;margin:0}.contact-method legend{font-size:13px;font-weight:800;color:#35474f;margin-bottom:9px}.contact-method label{margin-right:18px;font-weight:700}.contact-method input{accent-color:#21363f}
.booking-review{border:1px solid #d8e0e3;background:#fbfcfc}.review-row{display:grid;grid-template-columns:145px 1fr;gap:16px;padding:14px 16px;border-bottom:1px solid #e5eaec;line-height:1.45}.review-row:last-child{border-bottom:0}.review-row dt{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#758087;font-weight:900}.review-row dd{margin:0;color:#24383f;font-weight:700;white-space:pre-line}
.booking-price-panel{display:grid;grid-template-columns:190px 1fr;gap:22px;margin-top:18px;background:#eaf8f9;padding:18px 20px;align-items:center}.booking-price-panel>div{display:flex;flex-direction:column}.price-label{text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.08em;color:#65777d}.booking-price-panel strong{font-size:20px;color:#182b32;margin-top:4px}.booking-price-panel p{margin:0;color:#56696f;font-size:13px;line-height:1.45}
.booking-nav{display:flex;justify-content:space-between;gap:12px;padding:20px 42px 34px}.booking-nav button{border:0;min-height:49px;padding:13px 22px;font:inherit;font-weight:900;cursor:pointer}.booking-back{background:#eef1f2;color:#293d45}.booking-next,.booking-submit{margin-left:auto;background:#21363f;color:#fff}.booking-submit{display:none;background:#f2df25;color:#17242a}.booking-error{color:#a02d2d;font-weight:800;font-size:14px;padding:0 42px;min-height:20px}.booking-honeypot{display:none!important}
.booking-aside{display:grid;gap:18px;position:sticky;top:116px}.booking-aside-card{background:#21363f;color:#fff;padding:27px}.booking-aside-card .eyebrow{color:#bcecf1}.booking-aside-card h2{font-size:28px;margin:6px 0 13px}.booking-phone{display:inline-block;color:#fff;font-size:22px;font-weight:900;text-decoration:none;border-bottom:2px solid #d7f4f7;padding-bottom:3px}.booking-aside-card p{color:#d5dee1;line-height:1.45}.booking-aside-card.compact{background:#fff;color:#17242a;border:1px solid #dbe2e5;padding:22px}.booking-aside-card.compact h3{margin:0 0 12px}.booking-aside-card ul{margin:0;padding-left:19px;color:#5a6d74;line-height:1.8}.trust-note .stars{color:#e6ce00;font-size:18px;letter-spacing:2px;margin-bottom:9px}.trust-note p{color:#65757b;margin-bottom:0;font-size:14px}
.booking-success{min-height:68vh;background:#f4f7f7;padding:90px 0}.booking-success-card{background:#fff;border:1px solid #dce3e5;text-align:center;padding:58px 38px;box-shadow:0 15px 50px rgba(20,40,48,.07)}.success-check{width:68px;height:68px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#21363f;color:#fff;font-size:34px;margin:0 auto 20px}.booking-success-card h1{font-size:52px;margin:8px 0 12px}.booking-success-card>p:not(.eyebrow){font-size:18px;color:#607179;max-width:560px;margin:0 auto;line-height:1.55}.success-actions{display:flex;gap:12px;justify-content:center;margin-top:28px}.success-actions .btn:not(.primary){border:1px solid #ccd6da;color:#21363f}
@media(max-width:1050px){.booking-layout{grid-template-columns:1fr}.booking-aside{position:static;grid-template-columns:repeat(3,1fr)}.header-phone{display:none}}
@media(max-width:800px){.header-book{font-size:11px;padding:8px 10px;min-height:38px}.booking-hero{padding:48px 0 40px}.booking-hero h1{font-size:48px}.booking-hero p:not(.eyebrow){font-size:17px}.booking-layout{display:block}.booking-section{padding:26px 0 60px}.booking-progress{padding:20px 12px 17px}.booking-progress-line{left:34px;right:34px;top:37px}.booking-progress li em{display:none}.booking-step{padding:30px 20px 22px}.booking-step>legend{font-size:25px}.choice-grid,.form-grid.two,.form-grid.three,.tv-options-grid{grid-template-columns:1fr}.tv-addons{grid-template-columns:1fr}.booking-nav{padding:18px 20px 27px}.booking-error{padding:0 20px}.booking-aside{grid-template-columns:1fr;margin-top:20px}.booking-price-panel{grid-template-columns:1fr}.review-row{grid-template-columns:1fr;gap:5px}.tv-count-row{align-items:flex-start;flex-direction:column}.booking-badges{display:grid}.hero-book-actions{align-items:stretch}.hero-book-actions .hero-quote{display:flex;justify-content:center}.success-actions{flex-direction:column}}
@media(max-width:420px){.header-book{padding:7px 8px;font-size:10px;letter-spacing:.02em}.booking-hero h1{font-size:41px}.segmented span{width:42px}.booking-card{margin-left:-2px;margin-right:-2px}}
.special-installation-block{margin-top:22px;border:1px solid #d9e0e3;background:#f7fafb;padding:20px}
.special-installation-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}
.special-installation-heading>div{display:flex;flex-direction:column;gap:4px}.special-installation-heading strong{font-size:16px;color:#17242a}.special-installation-heading span:not(.optional-pill){font-size:13px;color:#718087;line-height:1.4}
.optional-pill{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#50656d;border:1px solid #cbd7db;background:#fff;padding:5px 7px;white-space:nowrap}
.special-installation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.special-installation-grid .mini-check{min-height:44px}
.special-installation-note{margin:13px 0 0;color:#677980;font-size:12px;line-height:1.45}
@media(max-width:800px){.special-installation-grid{grid-template-columns:1fr}.special-installation-heading{align-items:center}.optional-pill{display:none}}
