/* A continuous page scroll, generous booking targets, and a quiet ticket layout. */
body.fitting-page{height:auto;min-height:100svh;overflow-x:hidden;overflow-y:auto}
body.fitting-page .fitting-page-main{height:auto;min-height:0;width:min(920px,100%);overflow:visible;padding:28px 24px 110px}
body.fitting-page .fitting-page-heading{position:static;width:auto;height:auto;clip:auto;white-space:normal;overflow:visible;margin:0 auto 20px}
body.fitting-page .fitting-page-heading h1{font-size:clamp(30px,5vw,44px)}
body.fitting-page .fitting-page-heading>p:last-child{font-size:14px}
.fitting-mode-toggle{display:flex;width:min(320px,100%);margin:0 auto 24px;padding:5px;border:1px solid #dcded8;border-radius:99px;background:#ebece7;gap:4px}
.fitting-mode-toggle button{flex:1;min-height:46px;padding:10px 18px;border:0;border-radius:99px;background:transparent;color:#58615d;font:600 15px/1.2 var(--sans);cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}
.fitting-mode-toggle button[aria-selected=true]{color:#fff;background:#203a2d;box-shadow:0 3px 8px #182b2420}
body.fitting-page .fitting-page-form,body.fitting-page .appointment-form-panel{display:block;height:auto;min-height:0;max-height:none;overflow:visible}
body.fitting-page .appointment-form-panel #enquiry-form{display:block;height:auto;max-width:760px;overflow:visible;margin:0 auto;padding:24px;border-radius:20px;border-color:#e2e2da;box-shadow:0 12px 35px #15282107}
body.fitting-page .appointment-form-panel #enquiry-form>.fitting-step{display:block;overflow:visible;max-height:none}
body.fitting-page .appointment-form-panel .form-kicker{display:flex;flex-wrap:wrap;gap:5px 10px;margin:0 0 20px}
body.fitting-page .form-kicker strong{font-size:18px;line-height:1.35}
body.fitting-page .form-kicker small{width:100%;font-size:13px;line-height:1.55;letter-spacing:0;text-transform:none}
.fitting-mode-ready .fitting-native-route{display:none!important}
.fitting-mode-toggle [hidden],.fitting-mode-panel[hidden],#fitting-trip-booking[hidden],#fitting-selection[hidden],#fitting-trips [hidden]{display:none!important}
.fitting-trips{display:grid;gap:12px}
.fitting-trip-card{display:grid;grid-template-columns:140px minmax(0,1fr);gap:18px;align-items:center;width:100%;padding:0;overflow:hidden;border:1px solid #dcded5;border-radius:16px;background:#fff;text-align:left;color:#1b3027;font-family:var(--sans);cursor:pointer;transition:border-color .18s,box-shadow .18s}
.fitting-trip-card:hover,.fitting-trip-card.is-selected{border-color:#59735f;box-shadow:0 0 0 1px #59735f}
.fitting-trip-card>img{display:block;width:100%;height:180px;object-fit:cover;object-position:60% center}
.fitting-trip-copy{display:grid;gap:9px;padding:14px 18px 14px 0}
.fitting-trip-copy>small{font-size:9px;line-height:1.6;letter-spacing:.14em;color:#64716a}
.fitting-trip-copy>strong{font:500 25px/1.18 var(--serif)}
.fitting-trip-copy>span{font-size:12px;line-height:1.4;color:#627168}
.fitting-trip-copy .fitting-trip-open{display:flex;justify-content:space-between;gap:12px;padding-top:7px;color:#254b36;font-size:13px;font-weight:600}
.fitting-booking{margin-top:24px;padding-top:22px;border-top:1px solid #dedfd7;scroll-margin-top:95px}
.fitting-booking-heading{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:20px}
.fitting-booking-heading p{margin:0 0 4px;color:#637067;font-size:11px;letter-spacing:.06em}
.fitting-booking-heading h2{margin:0;font:500 23px/1.25 var(--serif)}
.fitting-booking-heading button{flex:none;min-height:44px;padding:8px 10px;border:1px solid #d8ded5;border-radius:10px;background:#fff;font:500 12px var(--sans);color:#365540;cursor:pointer}
.fitting-picker-section{margin-top:20px}
.fitting-picker-section h3{display:flex;align-items:center;gap:9px;margin:0 0 12px;font:600 14px/1.35 var(--sans)}
.fitting-picker-section h3>span{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:#eff1eb;color:#53705a;font-size:11px}
.fitting-city-list{display:flex;flex-wrap:wrap;gap:8px}
.fitting-city-list button{min-height:44px;padding:10px 18px;border:1px solid #d7dcd4;border-radius:99px;background:#fff;font:500 14px var(--sans);color:#485a4e;cursor:pointer}
.fitting-city-list button[aria-pressed=true]{color:#fff;background:#203a2d;border-color:#203a2d}
.fitting-date-list{display:flex;gap:10px;overflow:auto;padding:3px 2px 8px;scrollbar-width:thin}
.fitting-date-list button{display:grid;gap:4px;flex:0 0 76px;justify-items:center;min-height:99px;padding:10px;border:1px solid #d7dcd4;border-radius:13px;background:#fff;color:#506156;cursor:pointer;font-family:var(--sans)}
.fitting-date-list button strong{font-size:25px;line-height:1.1;font-weight:600}
.fitting-date-list button span{font-size:12px}
.fitting-date-list button[aria-pressed=true]{border-color:#203a2d;background:#eff3ec;color:#203a2d;box-shadow:0 0 0 1px #203a2d}
.fitting-hour-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.fitting-hour-list button{display:grid;gap:6px;min-height:76px;padding:12px 8px;border:1px solid #cdd9cb;border-radius:12px;background:#f8faf6;color:#24452f;font-family:var(--sans);cursor:pointer}
.fitting-hour-list button strong{font-size:15px;line-height:1.3;font-weight:600}
.fitting-hour-list button span{font-size:11px;line-height:1.35}
.fitting-hour-list button[aria-pressed=true]{color:#fff;background:#203a2d;border-color:#203a2d;box-shadow:0 0 0 2px #d6e0d1}
.fitting-hour-list button.is-full:not([aria-pressed=true]){background:#f2ede5;border-color:#e1d4be;color:#765c36}
.fitting-hour-list button:disabled{background:#f2f1ed;border-color:#e1e1d9;color:#7b817b;cursor:default}
.fitting-empty-hours{grid-column:1/-1;margin:0;padding:16px;background:#f1f2ed;border-radius:12px;font-size:13px;color:#66736a}
.fitting-venue{margin:10px 0 0!important;font-size:12px!important;line-height:1.6!important;color:#667268}
.fitting-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin:12px 0 0;font-size:11px;color:#657166}
.fitting-legend span{display:flex;align-items:center;gap:5px}
.fitting-legend i{width:7px;height:7px;border-radius:50%;background:#466342}
.fitting-legend span:nth-child(2) i{background:#b18b54}
.fitting-legend span:nth-child(3) i{background:#8b938a}
.fitting-booking-note{margin:16px 0 0;color:#667267;font-size:12px;line-height:1.6}
.fitting-trip-status{margin:14px 0;color:#586c5c;font-size:13px;line-height:1.55}
.fitting-other-city{margin-top:22px;padding-top:15px;border-top:1px solid #e4e4dd;text-align:center}
.fitting-other-city button{min-height:44px;border:0;background:none;padding:8px;color:#395843;font:500 13px var(--sans);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.fitting-selection{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;padding:14px 16px;border:1px dashed #bacbb6;border-radius:12px;background:#f1f4ec;color:#24452f}
.fitting-selection>div{display:grid;gap:4px}
.fitting-selection strong{font-size:14px}
.fitting-selection span{font-size:12px;line-height:1.5}
.fitting-selection button{min-height:44px;padding:8px 10px;border:0;background:none;font:600 12px var(--sans);color:#34533e;text-decoration:underline;cursor:pointer}
body.fitting-page .fitting-step-footer{display:grid;position:static;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;padding-top:18px;margin-top:24px;background:none}
body.fitting-page .fitting-step-footer [data-fitting-step-label]{font-size:12px;grid-column:2;grid-row:2}
body.fitting-page .fitting-step-footer .fitting-step-next,body.fitting-page .fitting-step-footer .fitting-submit{min-width:0;min-height:48px;width:auto;max-width:100%;padding:12px 18px;font-size:13px;border-radius:12px;grid-column:3;grid-row:2}
body.fitting-page .fitting-step-footer .fitting-step-back{visibility:visible;grid-column:1;grid-row:2;font-size:13px;border-radius:10px}
body.fitting-page .fitting-step-footer .fitting-step-back[hidden]{display:none!important}
body.fitting-page .fitting-step-footer label:has(input[name=privacy]){grid-column:1/-1;grid-row:1;font-size:13px;line-height:1.55}
body.fitting-page .appointment-form-panel #enquiry-form label{font-size:14px;line-height:1.45}
body.fitting-page .appointment-form-panel #enquiry-form input:not([type=checkbox]),body.fitting-page .appointment-form-panel #enquiry-form select,body.fitting-page .appointment-form-panel #enquiry-form textarea{font-size:16px;min-height:46px;border-radius:10px}
body.fitting-page .form-hint,body.fitting-page .fitting-submit-note{font-size:12px;line-height:1.6}
body.fitting-page #fitting-online-measure .fitting-ai-measure{margin:0;padding:0;border:0}
body.fitting-page #fitting-online-measure .fitting-ai-measure>summary{display:none}
body.fitting-page .fitting-online-intro{margin:0 0 14px;color:#55665b;font-size:13px;line-height:1.6}
body.fitting-page .measurement-ai-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body.fitting-page .measurement-ai-controls .measurement-ai-upload,body.fitting-page .measurement-ai-controls [data-measurement-analyze]{grid-column:1/-1;min-height:48px;font-size:14px}
body.fitting-page .measurement-ai-controls .measurement-ai-marker{grid-column:1/-1}
body.fitting-page .measurement-ai-controls label{font-size:13px;line-height:1.4}
body.fitting-page .measurement-ai>p,body.fitting-page .measurement-ai-consent,body.fitting-page .fitting-profile-consent{font-size:12px;line-height:1.6}
body.fitting-page .fitting-profile-lookup{grid-template-columns:1fr;padding:14px;border-radius:12px}
body.fitting-page .fitting-profile-lookup>div strong{font-size:14px}
body.fitting-page .fitting-profile-lookup>div p{font-size:12px;line-height:1.6}
body.fitting-page .fitting-profile-lookup button{min-height:46px;font-size:13px;border-radius:10px}
body.fitting-page .fitting-profile-clear,body.fitting-page .fitting-profile-actions .button{min-height:44px;font-size:12px}
.fitting-mode-toggle button:focus-visible,.fitting-trip-card:focus-visible,.fitting-booking button:focus-visible{outline:3px solid #b79564;outline-offset:3px}
@media(max-width:600px){
  body.fitting-page .fitting-page-main{padding:22px 12px 100px}
  body.fitting-page .fitting-page-heading{margin-bottom:16px}
  body.fitting-page .fitting-page-heading .eyebrow{font-size:9px;margin-bottom:8px}
  body.fitting-page .fitting-page-heading>p:last-child{max-width:320px;font-size:12px}
  .fitting-mode-toggle{margin-bottom:18px;width:280px}
  body.fitting-page .appointment-form-panel #enquiry-form{padding:18px 14px;border-radius:18px}
  .fitting-trip-card{grid-template-columns:105px minmax(0,1fr);gap:12px}
  .fitting-trip-card>img{height:178px}
  .fitting-trip-copy{padding:12px 10px 12px 0;gap:9px}
  .fitting-trip-copy>strong{font-size:23px}
  .fitting-trip-copy>small{font-size:8px;letter-spacing:.08em}
  .fitting-trip-copy>span{font-size:11px}
  .fitting-trip-copy .fitting-trip-open{font-size:12px}
  .fitting-hour-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .fitting-booking-heading h2{font-size:21px}
  .fitting-booking-heading button{font-size:11px;padding:7px}
  body.fitting-page .fitting-step-footer{grid-template-columns:auto 1fr;gap:8px}
  body.fitting-page .fitting-step-footer [data-fitting-step-label]{grid-column:1/-1;grid-row:2;font-size:11px}
  body.fitting-page .fitting-step-footer .fitting-step-next,body.fitting-page .fitting-step-footer .fitting-submit{grid-column:2;grid-row:3;width:100%;padding:12px;font-size:12px}
  body.fitting-page .fitting-step-footer .fitting-step-back{grid-column:1;grid-row:3;padding:8px 12px}
  body.fitting-page .fitting-profile-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  body.fitting-page .fitting-profile-actions .fitting-profile-clear{grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){.fitting-mode-toggle button,.fitting-trip-card{transition:none}}
