
:root{--scheme:dark;--page:#0d1119;--text:#f5f7fb;--muted:#b7c7df;--border:#344057;--accent:#a6c5ff;--surface:#161c27;--input-border:#596a85;--input:#101620;--selected:#1c2b45;--summary:#0e1520;--button:#326cda;--notice:#25334a;--success:#addfc7;--focus:#b6d0ff;color-scheme:dark}
:root[data-theme="light"]{--scheme:light;--page:#f2f5fa;--text:#172238;--muted:#4e5e74;--border:#c6d1e1;--accent:#2257a8;--surface:#fff;--input-border:#8294ad;--input:#fff;--selected:#eaf2ff;--summary:#f2f6fc;--button:#245dc3;--notice:#e8f0fc;--success:#176440;--focus:#2257a8;color-scheme:light}
.preview-bar{display:flex;align-items:center;gap:20px;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:18px}.preview-note{border:0;padding:0}#theme-toggle{flex-shrink:0;border:1px solid var(--input-border);border-radius:8px;padding:10px 14px;background:var(--surface);color:var(--text);font:inherit;font-size:13px;cursor:pointer;min-height:44px}
#dfw-booking .contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}#dfw-booking .contact-fields label{font-size:12px;min-width:0}#dfw-booking .contact-name{grid-column:1/-1}#dfw-booking .contact-fields input{padding:9px 10px;margin-top:5px;min-height:40px}#dfw-booking .reminder-choice{display:flex;align-items:start;gap:8px;margin-top:12px;font-size:12px;line-height:1.5;cursor:pointer}#dfw-booking .draft-status{font-size:11px;color:var(--muted);margin:7px 0 0;line-height:1.4}#dfw-booking>header{padding-top:10px}#dfw-booking .contact-fields input:focus{scroll-margin-top:10px}@media(max-width:430px){.preview-bar{align-items:start;gap:10px}.preview-note{font-size:10px}#theme-toggle{padding:8px;font-size:12px}#dfw-booking .contact-fields{gap:8px}#dfw-booking .contact-fields label:nth-child(2){grid-column:1/-1}#dfw-booking .contact-fields label:nth-child(3){grid-column:1/-1}#dfw-booking>header .eyebrow{display:none}#dfw-booking>header .sub{display:none}#dfw-booking .contact-fields{margin-top:10px}}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text);font-family:Inter,Arial,sans-serif}.preview{max-width:1240px;margin:auto;padding:32px}.preview-note{font-size:12px;letter-spacing:.09em;color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:20px}.hero{display:grid;grid-template-columns:1fr 510px;gap:70px;align-items:start;padding:54px 0}.intro{padding-top:55px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.15em;color:var(--accent);margin:0 0 14px}.intro h1{font-size:clamp(38px,4.5vw,62px);letter-spacing:-.04em;line-height:1.07;margin:0 0 25px}.intro>p:not(.eyebrow){color:var(--muted);font-size:18px;line-height:1.6;max-width:440px}.intro ul{list-style:none;padding:15px 0;line-height:2.5;color:var(--text)}.intro li:before{content:'✓';color:var(--accent);margin-right:12px}.intro .reference{font-size:13px!important;color:var(--muted)!important}#dfw-booking{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:28px;box-shadow:0 20px 65px #0003}#dfw-booking h2{font-size:27px;letter-spacing:-.025em;margin:0 0 7px}#dfw-booking .sub{color:var(--muted);font-size:14px;margin:0}#dfw-booking .steps{display:flex;list-style:none;padding:20px 0 16px;gap:20px;font-size:12px;color:var(--muted);margin:0 0 12px;border-bottom:1px solid var(--border)}#dfw-booking .steps [aria-current]{color:var(--accent);font-weight:700}#dfw-booking fieldset{border:0;padding:0;margin:20px 0}#dfw-booking legend,#dfw-booking .field{font-size:13px;font-weight:600}#dfw-booking legend{margin-bottom:10px}#dfw-booking .field{display:block;margin:16px 0}#dfw-booking select,#dfw-booking input:not([type=radio]):not([type=checkbox]){width:100%;border:1px solid var(--input-border);border-radius:8px;background:var(--input);color:var(--text);padding:12px;font:inherit;font-size:16px;margin-top:8px;color-scheme:var(--scheme)}#dfw-booking small{display:block;font-size:12px;font-weight:400;line-height:1.45;color:var(--muted);margin-top:5px}#dfw-booking .package{border:1px solid var(--border);border-radius:9px;margin:9px 0;padding:13px}#dfw-booking .package:has(input:checked){background:var(--selected);border-color:var(--accent)}#dfw-booking .package label{display:flex;align-items:start;gap:9px;cursor:pointer;font-size:13px}#dfw-booking .package label>span{flex:1}#dfw-booking input[type=radio],#dfw-booking input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px;flex-shrink:0;margin:1px 0 0}#dfw-booking details{font-size:12px;margin:9px 0 0 26px;color:var(--accent)}#dfw-booking summary{cursor:pointer;padding:3px 0}#dfw-booking details ul{padding-left:17px;line-height:1.8;color:var(--muted)}#dfw-booking .extra{display:flex;gap:10px;padding:12px 0;cursor:pointer;align-items:start;font-size:13px}#dfw-booking .extra>span{flex:1}#dfw-booking .extra strong{white-space:nowrap}#dfw-booking .price-box{background:var(--summary);border:1px solid var(--border);border-radius:10px;padding:16px;margin-top:20px}#dfw-booking .line{display:flex;justify-content:space-between;gap:20px;font-size:12px;line-height:1.6;color:var(--muted);margin:5px 0}#dfw-booking .line>span:last-child{white-space:nowrap}#dfw-booking .total{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--border);margin-top:12px;padding-top:14px;font-size:14px}#dfw-booking .total strong{font-size:30px;letter-spacing:-.04em;font-variant-numeric:tabular-nums}#dfw-booking .price-note{font-size:11px;line-height:1.5;color:var(--muted);margin:9px 0 0}#dfw-booking .actions{display:flex;gap:10px}#dfw-booking button{background:var(--button);border:1px solid var(--button);color:white;font:inherit;font-size:14px;font-weight:600;border-radius:8px;padding:14px 18px;cursor:pointer;min-height:46px}#dfw-booking #next{flex:1}#dfw-booking .secondary{background:transparent;border-color:var(--input-border)}#dfw-booking .notice{background:var(--notice);border-radius:8px;padding:12px;font-size:13px;line-height:1.55;color:var(--text)}#dfw-booking #review{font-size:14px;line-height:1.7}#dfw-booking #completion{color:var(--success);font-size:14px;line-height:1.5}#dfw-booking :focus-visible{outline:3px solid var(--focus);outline-offset:4px}#dfw-booking [hidden]{display:none!important}@media(max-width:950px){.hero{gap:30px;grid-template-columns:1fr 470px}.intro h1{font-size:40px}}@media(max-width:780px){.preview{padding:20px}.hero{grid-template-columns:1fr;padding:25px 0}.intro{padding:0}.intro h1{font-size:38px}.intro ul,.intro .reference{display:none}.intro>p:not(.eyebrow){font-size:16px;margin-bottom:0}#dfw-booking{padding:22px}}@media(max-width:380px){.preview{padding:12px}#dfw-booking{padding:16px}.hero{gap:20px}#dfw-booking .steps{gap:12px}#dfw-booking .package label{font-size:12px}}
#dfw-booking>header{position:sticky;top:0;z-index:2;background:var(--surface);padding:12px 0 14px;border-bottom:1px solid var(--border)}#dfw-booking .heading-row{display:flex;align-items:center;justify-content:space-between;gap:14px}#dfw-booking .running{text-align:right;white-space:nowrap}#dfw-booking .running small{font-size:10px;margin:0 0 3px}#dfw-booking .running strong{font-size:24px;font-variant-numeric:tabular-nums;color:var(--accent)}@media(max-width:380px){#dfw-booking h2{font-size:22px}#dfw-booking .running strong{font-size:22px}}
.preview-bar .preview-note{border:0;padding:0}
@media(max-width:430px){#dfw-booking .contact-fields .contact-name{grid-column:1;grid-row:1}#dfw-booking .contact-fields label:nth-child(3){grid-column:2;grid-row:1}#dfw-booking .contact-fields label:nth-child(2){grid-column:1/-1;grid-row:2}#dfw-booking .contact-fields input{font-size:16px;min-width:0}}
@media(max-height:500px){#dfw-booking>header{position:static}}

/* Wide placement: service choices alongside contact and transparent total. */
@media(min-width:760px){
#dfw-booking[data-layout="wide"]{padding:24px 28px}
#dfw-booking[data-layout="wide"]>header{position:static;padding-top:0}
#dfw-booking[data-layout="wide"]>header .eyebrow{margin-bottom:8px}
#dfw-booking[data-layout="wide"] .steps{padding:14px 0;margin:0 0 18px}
#dfw-booking[data-layout="wide"] #booking-form{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);column-gap:28px;align-items:start}
#dfw-booking[data-layout="wide"] [data-step]{grid-column:1;grid-row:1 / span 6;min-width:0}
#dfw-booking[data-layout="wide"] .contact-fields{grid-column:2;grid-row:1;margin:0}
#dfw-booking[data-layout="wide"] .draft-status{grid-column:2;grid-row:2}
#dfw-booking[data-layout="wide"] .price-box{grid-column:2;grid-row:3;margin-top:16px}
#dfw-booking[data-layout="wide"] #error{grid-column:2;grid-row:4;margin:10px 0}
#dfw-booking[data-layout="wide"] .actions{grid-column:2;grid-row:5}
#dfw-booking[data-layout="wide"] #completion{grid-column:2;grid-row:6}
#dfw-booking[data-layout="wide"] [data-step="0"]>.field{margin:0 0 14px}
#dfw-booking[data-layout="wide"] fieldset{margin:12px 0}
#dfw-booking[data-layout="wide"] #packages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
#dfw-booking[data-layout="wide"] .package{margin:0;padding:12px}
#dfw-booking[data-layout="wide"] .package label{flex-wrap:wrap}
#dfw-booking[data-layout="wide"] .package label>span{flex-basis:calc(100% - 28px)}
#dfw-booking[data-layout="wide"] .package label>b{margin-left:26px;font-size:18px;color:var(--accent)}
#dfw-booking[data-layout="wide"] .package details{margin-top:5px}
#dfw-booking[data-layout="wide"] .extras{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#dfw-booking[data-layout="wide"] .extras legend{margin-bottom:0}
#dfw-booking[data-layout="wide"] .extra{flex-wrap:wrap}
#dfw-booking[data-layout="wide"] [data-step="1"]{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
#dfw-booking[data-layout="wide"] #availability-status{grid-column:1/-1;margin-top:0}
#dfw-booking[data-layout="wide"] [data-step="1"] .field{margin:8px 0}
#dfw-booking[data-layout="wide"] #review{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;overflow-wrap:anywhere}
#dfw-booking[data-layout="wide"] #review p{margin:0}
}
