/* The Alpine Co. booking experience v2 — visual layer only. */
.tac-booking{--tac-ink:#101415;--tac-muted:#626a67;--tac-line:#dfe3e1;--tac-soft:#f5f6f5;--tac-orange:#f26522;--tac-orange-soft:#fff4ed;--tac-shadow:0 18px 55px rgba(16,20,21,.09);max-width:1180px;margin-inline:auto;color:var(--tac-ink)}
.tac-booking #tac-done-panel{position:relative;padding:clamp(20px,4vw,48px);padding-bottom:clamp(150px,16vw,180px);border:1px solid rgba(16,20,21,.08);border-radius:28px;background:linear-gradient(145deg,#fff 0%,#fbfcfb 72%,#fff8f3 100%);box-shadow:var(--tac-shadow)}
.tac-booking-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0 0 28px;padding:7px;border:1px solid var(--tac-line);border-radius:18px;background:rgba(244,246,245,.9)}
.tac-booking-steps__item{display:flex;min-width:0;align-items:center;gap:9px;padding:10px 11px;border-radius:12px;color:#717976;font-style:normal;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}
.tac-booking-steps__item b{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:#e3e7e5;color:#59615e;font-size:12px}
.tac-booking-steps__item em{overflow:hidden;font-size:12px;font-weight:800;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.tac-booking-steps__item.is-active{background:#fff;color:var(--tac-ink);box-shadow:0 5px 16px rgba(16,20,21,.08)}
.tac-booking-steps__item.is-active b{background:var(--tac-orange);color:#111}
.tac-booking-steps__item.is-complete{color:#39413e}.tac-booking-steps__item.is-complete b{background:#18201e;color:#fff}
.tac-booking .tac-progress{height:3px;margin:-16px 7px 30px;border-radius:99px;background:#e5e8e6}.tac-booking .tac-progress span{display:block;height:100%;border-radius:inherit;background:var(--tac-orange);transition:width .24s ease}
.tac-booking .tac-service-promise{margin-bottom:34px;border:1px solid rgba(16,20,21,.1);border-radius:17px;background:#111718;color:#fff;box-shadow:0 14px 32px rgba(16,20,21,.12)}
.tac-booking .tac-step>h2{max-width:760px;margin-bottom:13px;font-size:clamp(30px,4vw,48px);line-height:1.04;letter-spacing:-.035em;text-wrap:balance}
.tac-booking .tac-step>.eyebrow{color:var(--tac-orange);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.tac-booking :is(.material-grid,.form-grid){gap:14px}
.tac-booking .material-grid label,.tac-booking .item-identification,.tac-booking .business-invoice-card,.tac-booking .payment-fieldset{border-color:var(--tac-line);border-radius:18px;background:#fff;box-shadow:0 7px 22px rgba(16,20,21,.045)}
.tac-booking .material-grid label{min-height:148px;padding:22px}.tac-booking .material-grid input{min-height:52px;border-radius:12px;font-size:20px;font-variant-numeric:tabular-nums}
.tac-booking :is(input,textarea,select){border-color:#cdd3d0!important;outline:none}.tac-booking :is(input,textarea,select):focus{border-color:var(--tac-orange)!important;box-shadow:0 0 0 3px rgba(242,101,34,.16)!important}
.tac-booking .package-card,.tac-booking .option-card,.tac-booking .mini-option{border-radius:15px!important;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.tac-booking :is(.package-card,.option-card,.mini-option):hover{transform:translateY(-1px)}
.tac-booking :is(.package-card,.option-card,.mini-option):has(input:checked){border-color:var(--tac-orange)!important;background:var(--tac-orange-soft)!important;box-shadow:0 0 0 2px rgba(242,101,34,.13),0 10px 24px rgba(16,20,21,.06)!important}
.tac-booking .tac-actions{position:static;z-index:auto;display:flex;width:100%;align-items:center;justify-content:flex-end;gap:10px;margin:24px 0 0;padding:9px;border:1px solid rgba(230,106,44,.24);border-radius:17px;background:linear-gradient(135deg,rgba(255,249,245,.98),rgba(255,244,236,.94));box-shadow:0 10px 28px rgba(230,106,44,.11);transform:none}
.tac-booking .tac-actions button{min-height:50px;padding:0 24px;border-radius:12px;font-weight:850;touch-action:manipulation}.tac-booking #tac-next{background:var(--tac-orange);color:#111}.tac-booking #tac-next:hover{background:#111;color:#fff}
.tac-booking .tac-actions button[hidden]{display:none!important}
.tac-booking .tac-step-price{position:relative;z-index:1;bottom:auto;flex:1 1 360px;margin:0!important;padding:9px 12px!important;border-color:rgba(242,101,34,.28)!important;border-radius:13px!important;background:linear-gradient(112deg,#fff,#fff4ea)!important;box-shadow:0 5px 18px rgba(242,101,34,.09)!important}
.tac-booking .tac-step-price__amount{color:var(--tac-ink);font-weight:900}
.tac-booking .date-card,.tac-booking button,.tac-booking label:has(input){cursor:pointer}.tac-booking button:focus-visible,.tac-booking label:has(input):focus-within{outline:3px solid rgba(242,101,34,.45);outline-offset:3px}
@media(max-width:900px){.tac-booking-steps__item{justify-content:center}.tac-booking-steps__item em{display:none}.tac-booking #tac-done-panel{border-radius:22px}.tac-booking .tac-service-promise{margin-bottom:28px}}
@media(max-width:680px){.tac-booking{width:100%!important;max-width:100%!important;margin:0!important;padding:0 14px!important}.tac-booking #tac-done-panel{padding:18px 14px;border-radius:20px}.tac-booking-steps{gap:3px;margin-bottom:22px;padding:5px}.tac-booking-steps__item{padding:7px 4px}.tac-booking-steps__item b{width:24px;height:24px;flex-basis:24px}.tac-booking .tac-step>h2{font-size:clamp(28px,9vw,38px)}.tac-booking .tac-service-promise{padding:15px}.tac-booking .material-grid{grid-template-columns:1fr 1fr}.tac-booking .material-grid label{min-height:128px;padding:16px}.tac-booking .tac-actions{width:100%;flex-wrap:wrap;padding:7px}.tac-booking .tac-actions button{min-height:48px;flex:1;padding-inline:12px}.tac-booking .tac-step-price{flex:1 0 100%;margin:0!important;padding:8px 11px!important}.tac-booking .tac-step-price__breakdown,.tac-booking .tac-step-price small{display:none}}

@media(max-width:390px){.tac-booking .material-grid{grid-template-columns:1fr}.tac-booking .tac-step-price__top{align-items:baseline}.tac-booking-steps__item:nth-child(2n) em{display:none}}
@media(prefers-reduced-motion:reduce){.tac-booking *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
