/* Dedicated tyre booking presentation. The calendar loads only on request. */
.cal-hero{position:relative;isolation:isolate;overflow:hidden;background:#0b0f15;padding:39px 0 65px;min-height:480px}
.cal-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0b0f15 20%,#0b0f15e6 44%,#0b0f1526 100%),linear-gradient(0deg,#0b0f15,transparent 40%)}
.cal-hero-image{position:absolute;right:0;top:0;z-index:-2;width:61%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1);opacity:.65}
.cal-hero-inner{position:relative}
.cal-hero h1{font-size:clamp(58px,6.5vw,94px);line-height:.98;max-width:720px}
.cal-hero-lead{max-width:470px;font-size:19px;margin-top:24px;color:#bdc7d4}
.cal-hero-link{display:inline-flex;align-items:center;gap:19px;border-bottom:1px solid #7591b0;font-size:15px;font-weight:600;padding-block:5px;margin-top:27px}
.cal-hero-link:hover{color:#8fc6ff;border-color:var(--blue)}
.cal-preview-note{display:inline-block;font-size:12px;line-height:1.5;color:#b9c9dc;padding:8px 13px;border:1px solid #34465a;border-left:2px solid var(--blue);background:#101b29;margin:0 0 22px}
.cal-selection-section{padding:65px 0 95px}
.cal-section-heading{display:flex;gap:28px;align-items:flex-end;justify-content:space-between;margin-bottom:30px}
.cal-section-heading h2{font-size:clamp(40px,4vw,53px)}
.cal-section-heading>p{font-size:15px;max-width:270px;padding-bottom:4px}
.cal-step-label{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#91a6c0;font-weight:600;margin-bottom:13px}
.cal-service-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;min-width:0;padding:0;border:0;margin:0 0 36px;list-style:none}
.cal-service-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:25px 28px 26px;border:1px solid #364252;background:#111720}
.cal-service-number{font-size:12px;letter-spacing:.06em;color:#9aacc1;margin-bottom:18px}
.cal-service-name{font-family:var(--display);font-size:35px;text-transform:uppercase;line-height:1.15;color:#f0f5fc}
.cal-service-description{display:block;font-size:14px;line-height:1.55;color:#afbed0;margin-top:12px;max-width:310px}
.cal-booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:35px;align-items:start;scroll-margin-top:125px}
.cal-panels{min-width:0}
.cal-panel{min-width:0;padding:34px;background:#10151d;border:1px solid var(--line);scroll-margin-top:125px}
.cal-panel[hidden]{display:none}
.cal-panel:not([hidden])~.cal-panel:not([hidden]){margin-top:25px}
.cal-panel-head{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:19px}
.cal-panel-head h2{font-size:42px;line-height:1.1}
.cal-panel-head .cal-step-label{margin-bottom:8px}
.cal-panel-icon{color:#668ab2;flex:none}
.cal-panel-icon svg{width:42px;height:42px}
.cal-panel-lead{font-size:16px;max-width:620px;line-height:1.7}
.cal-calendar-intro{margin-top:25px}
.cal-load-button{display:none;justify-content:center;align-items:center;gap:27px;min-height:52px;padding:14px 22px;border:1px solid var(--blue);border-radius:2px;background:var(--blue);color:#fff;font-size:16px;font-weight:600;transition:background .2s}
.cal-load-button:hover{background:#086be0}
.cal-load-button:disabled{cursor:wait;opacity:.7}
.cal-load-button[hidden]{display:none}
.cal-provider-note{font-size:12px;line-height:1.65;max-width:510px;margin-top:17px;color:#a2b0c1}
.cal-provider-note a{color:#95c7ff;text-decoration:underline;text-underline-offset:3px}
.cal-mount{width:100%;min-width:0}
.cal-mount:not(:empty){margin-top:26px;min-height:590px}
.cal-mount iframe{width:100%;border:0;min-height:590px;color-scheme:dark}
.cal-status{font-size:14px;line-height:1.6;color:#bdd8f9;overflow-wrap:anywhere}
.cal-status:not(:empty){border-left:2px solid #549de9;padding-left:13px;margin-top:20px}
.cal-fallback{font-size:13px;color:#98abc0;margin-top:22px;padding-top:19px;border-top:1px solid var(--line)}
.cal-fallback a{display:inline;color:#afd5ff;text-decoration:underline;text-underline-offset:3px}
.cal-fallback .arrow{display:inline-block;vertical-align:middle;width:15px;height:15px;margin-left:3px}
.cal-request-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:27px}
.cal-request-actions .btn{gap:23px}
.cal-phone-link{display:inline-flex;align-items:center;gap:10px;padding:9px 0;color:#b5d8ff;font-size:14px;font-weight:600}
.cal-phone-link:hover{text-decoration:underline;text-underline-offset:4px}
.cal-request-note{border-top:1px solid var(--line);margin-top:25px;padding-top:18px;font-size:12px;line-height:1.6;color:#9caec3}
.cal-contact{padding:13px 0 0 4px}
.cal-contact-icon{display:block;color:#78b5ff;margin-bottom:20px}
.cal-contact-icon svg{width:29px;height:29px}
.cal-contact h3{font-family:var(--display);font-size:31px;line-height:1.1}
.cal-contact>p{font-size:14px;margin-top:16px;line-height:1.65}
.cal-contact>a{display:inline-flex;align-items:center;gap:16px;font-size:17px;color:#c6e1ff;margin-top:21px;padding-bottom:6px;border-bottom:1px solid #4a6685}
.cal-contact>a:hover{color:#fff;border-color:var(--blue)}
.cal-contact-hours{border-top:1px solid var(--line);margin-top:26px;padding-top:18px;font-size:12px;color:#a7b5c6}
.cal-contact-hours span{display:block;color:#dde8f5;font-size:15px;margin-top:3px}
.cal-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){.cal-booking-layout{grid-template-columns:minmax(0,1fr) 225px;gap:26px}.cal-service-card{padding:24px 22px}.cal-service-name{font-size:31px}.cal-panel{padding:28px}.cal-hero-image{width:67%}}
@media(max-width:800px){.cal-hero{min-height:440px;padding-bottom:50px}.cal-hero::after{background:linear-gradient(90deg,#0b0f15f2,#0b0f15a8),linear-gradient(0deg,#0b0f15,transparent 50%)}.cal-hero-image{width:80%;opacity:.55}.cal-selection-section{padding:45px 0 65px}.cal-section-heading{align-items:flex-start;flex-direction:column;gap:15px;margin-bottom:25px}.cal-section-heading>p{max-width:none}.cal-service-card{padding:23px 18px}.cal-service-name{font-size:29px}.cal-service-description{font-size:13px}.cal-service-choices{gap:11px;margin-bottom:27px}.cal-booking-layout{grid-template-columns:1fr;gap:32px}.cal-contact{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;padding:24px 0 0;border-top:1px solid var(--line)}.cal-contact-icon{display:none}.cal-contact h3{grid-column:1;grid-row:1/3}.cal-contact h3 br{display:none}.cal-contact>p{grid-column:1;margin-top:12px}.cal-contact>a{grid-column:2;grid-row:1;align-self:start;justify-self:start;margin-top:0}.cal-contact-hours{grid-column:2;grid-row:2/4;margin-top:17px;align-self:start}.cal-panel-head h2{font-size:38px}}
@media(max-width:540px){.cal-hero{padding-top:28px;min-height:0}.cal-hero h1{font-size:clamp(52px,13.5vw,70px)}.cal-hero-lead{font-size:17px;max-width:350px}.cal-preview-note{font-size:11px;padding:7px 10px}.cal-service-choices{grid-template-columns:1fr;gap:11px}.cal-service-card{display:grid;grid-template-columns:22px 1fr;column-gap:14px;padding:19px 18px}.cal-service-number{grid-row:1/4;align-self:start;padding-top:7px;margin:0;font-size:11px}.cal-service-name{font-size:30px;grid-column:2}.cal-service-description{margin-top:5px;grid-column:2;max-width:none;font-size:14px}.cal-panel{padding:24px 20px}.cal-panel-head{gap:15px}.cal-panel-head h2{font-size:35px}.cal-panel-icon svg{width:32px;height:32px}.cal-panel-lead{font-size:15px}.cal-request-actions{gap:13px;flex-direction:column;align-items:stretch}.cal-request-actions .btn{padding-inline:15px;font-size:15px;gap:14px}.cal-phone-link{justify-content:center}.cal-load-button{width:100%;font-size:15px;gap:18px;padding-inline:15px}.cal-contact{display:block;padding-top:26px}.cal-contact h3{font-size:31px}.cal-contact>p{max-width:350px}.cal-contact>a{margin-top:18px}.cal-contact-hours{margin-top:24px;display:flex;gap:20px;justify-content:space-between;align-items:center}.cal-contact-hours span{margin:0}.cal-mount:not(:empty),.cal-mount iframe{min-height:640px}}
@media(prefers-reduced-motion:reduce){.cal-load-button{transition:none}}

.cal-booking[data-cal-enhanced] .cal-load-button:not([hidden]){display:inline-flex}
.cal-mount[hidden]{display:none}

.cal-service-card .tyre-price{grid-column:2;margin:13px 0 10px}.cal-service-card .tyre-price strong{font-size:36px}.cal-service-card .tyre-price small{font-size:13px}

.cal-service-card{display:flex;flex-direction:column}.cal-service-card .btn{margin-top:auto;font-size:12px;white-space:normal}.cal-service-card.is-selected{border-color:var(--blue);box-shadow:inset 0 3px var(--blue)}.cal-service-card .tyre-price strong{font-size:25px}.cal-service-card .tyre-price small{display:block;font-size:13px;line-height:1.5;font-weight:400}.cal-panel[hidden]{display:none}.cal-panel{scroll-margin-top:110px}
@media(max-width:850px){.cal-service-choices{grid-template-columns:1fr}.cal-service-card{padding:24px}.cal-service-card .btn{align-self:flex-start}}
