/* Shared Le Cristal skin for customer pages. Layout, form and status logic stay local. */
html[data-theme="cristal"] body{font-family:var(--font-body)!important;background:var(--clr-bg)!important;color:var(--clr-text)!important}
html[data-theme="cristal"] :is(h1,h2,h3,h4){font-family:var(--font-heading)!important;font-weight:400!important;letter-spacing:-.02em}
html[data-theme="cristal"] :is(.card,.co-card,.co-summary,.oc-card,.oc-search-wrap,.auth-card){background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:0!important;box-shadow:none}
html[data-theme="cristal"] :is(.btn--primary,.btn-primary,.btn-cdc--primary){background:var(--clr-primary);border-color:var(--clr-primary);color:#fff}
html[data-theme="cristal"] :is(.btn--primary,.btn-primary,.btn-cdc--primary):hover{background:var(--clr-primary-dk);border-color:var(--clr-primary-dk);color:#fff}
html[data-theme="cristal"] :is(.btn,.btn-cdc,.form-control,.coupon-input){border-radius:0!important}
html[data-theme="cristal"] .btn:not(.btn--icon){letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;min-height:44px}
html[data-theme="cristal"] .form-control{background:var(--clr-surface);color:var(--clr-text);border-color:var(--clr-border);font-family:var(--font-body)}
html[data-theme="cristal"] .form-control:focus{border-color:var(--clr-primary);box-shadow:0 0 0 3px rgba(54,95,77,.12)}
html[data-theme="cristal"] .form-control--error{border-color:var(--clr-danger)}
html[data-theme="cristal"] :is(button,input,select,textarea):focus-visible{outline:2px solid var(--clr-primary);outline-offset:3px}
html[data-theme="cristal"] button:disabled{cursor:not-allowed;opacity:.5}
/* Booking packages, date/time selection, and guest details */
.cdc-booking-page .booking-header{height:auto!important;padding:clamp(3rem,7vw,6rem) 1.25rem!important;background:var(--clr-primary-lt);border-bottom:1px solid var(--clr-border)}
.cdc-booking-page .booking-header h1,.lc-booking-confirmation h1,.lc-booking-service h1{font-size:clamp(2.5rem,5.2vw,5rem);line-height:1.1;margin-bottom:1rem}
.cdc-booking-page .booking-header p{max-width:650px;margin:auto;color:var(--clr-text-muted)}
.cdc-booking-page .booking-layout{padding-top:2rem;padding-bottom:5rem}
.cdc-booking-page :is(.booking-steps-card,.booking-side-card,.booking-contact-card){padding:clamp(1.25rem,3vw,2rem)!important;border:1px solid var(--clr-border)!important;border-radius:0!important;box-shadow:none;background:var(--clr-surface)}
.cdc-booking-page .booking-side-card{background:var(--clr-primary-lt)}
.cdc-booking-page .booking-step-title{font-family:var(--font-heading);font-weight:400!important;font-size:1.5rem;color:var(--clr-primary)}
.cdc-booking-page :is(.package-card,.booking-date-option,.booking-time-option){border-radius:0!important;border-color:var(--clr-border)!important;background:var(--clr-surface)!important;color:var(--clr-text)}
.cdc-booking-page :is(.package-card,.booking-date-option,.booking-time-option):hover{border-color:var(--clr-primary)!important}
.cdc-booking-page :is(.package-card,.booking-date-option,.booking-time-option).is-selected{border-color:var(--clr-primary)!important;background:var(--clr-primary-lt)!important;color:var(--clr-primary);box-shadow:inset 0 0 0 1px var(--clr-primary)}
.cdc-booking-page .booking-side-card div[style*="background:#ebecf9"]{background:var(--clr-surface)!important;border:1px solid var(--clr-border);border-radius:0!important}
/* Reservation lookup, confirmation, calendar and cancellation controls */
.lc-booking-confirmation #main-content,.lc-booking-service #main-content{padding-top:2rem;padding-bottom:4rem}
.lc-booking-confirmation .booking-details{margin-top:2rem;border:1px solid var(--clr-border)}
.lc-booking-confirmation .booking-details li{background:var(--clr-primary-lt)!important;border-bottom:1px solid var(--clr-border)!important;padding:1rem 1.25rem!important;gap:1.5rem;overflow-wrap:anywhere}
.lc-booking-confirmation .booking-details li span{text-align:right;min-width:0}
.lc-booking-confirmation .booking-details li strong{font-weight:500}
.lc-booking-service form{max-width:760px;margin:2rem auto;padding:clamp(1.25rem,4vw,3rem);background:var(--clr-primary-lt);border:1px solid var(--clr-border)}
/* Checkout, account and order confirmations share the same material and type. */
html[data-theme="cristal"] :is(.co-page-head h1,.oc-page-head h1,.profile-page-head h1){font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.1}
html[data-theme="cristal"] :is(.co-summary,.oc-summary){background:var(--clr-primary-lt);border-radius:0!important}
html[data-theme="cristal"] :is(.co-item-name,.oc-item-name){font-family:var(--font-heading);font-size:1.25rem;font-weight:400}
@media(max-width:600px){.lc-booking-confirmation .booking-details li{flex-direction:column;gap:.35rem}.lc-booking-confirmation .booking-details li span{text-align:left}.cdc-booking-page #timeContainer{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(prefers-reduced-motion:reduce){html[data-theme="cristal"] *{scroll-behavior:auto!important;transition:none!important}}

.lc-menu-page .item-thumbnail{display:block!important;width:72px!important;height:72px!important;flex:0 0 72px!important;margin:0 .75rem}.lc-menu-page .item-thumbnail img{display:block!important;width:100%;height:100%;object-fit:cover;background:var(--clr-primary-lt)}
@media(max-width:560px){.lc-menu-page .item-thumbnail{width:52px!important;height:52px!important;flex-basis:52px!important;margin:0 .4rem}.lc-menu-page .item-header{flex-wrap:wrap}}


