.rdp-root{--rdp-accent-color:blue;--rdp-accent-background-color:#f0f0ff;--rdp-day-height:44px;--rdp-day-width:44px;--rdp-day_button-border-radius:100%;--rdp-day_button-border:2px solid transparent;--rdp-day_button-height:42px;--rdp-day_button-width:42px;--rdp-selected-border:2px solid var(--rdp-accent-color);--rdp-disabled-opacity:.5;--rdp-outside-opacity:.75;--rdp-today-color:var(--rdp-accent-color);--rdp-dropdown-gap:.5rem;--rdp-months-gap:2rem;--rdp-nav_button-disabled-opacity:.5;--rdp-nav_button-height:2.25rem;--rdp-nav_button-width:2.25rem;--rdp-nav-height:2.75rem;--rdp-range_middle-background-color:var(--rdp-accent-background-color);--rdp-range_middle-color:inherit;--rdp-range_start-color:white;--rdp-range_start-background:linear-gradient(var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50%);--rdp-range_start-date-background-color:var(--rdp-accent-color);--rdp-range_end-background:linear-gradient(var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50%);--rdp-range_end-color:white;--rdp-range_end-date-background-color:var(--rdp-accent-color);--rdp-week_number-border-radius:100%;--rdp-week_number-border:2px solid transparent;--rdp-week_number-height:var(--rdp-day-height);--rdp-week_number-opacity:.75;--rdp-week_number-width:var(--rdp-day-width);--rdp-weeknumber-text-align:center;--rdp-weekday-opacity:.75;--rdp-weekday-padding:.5rem 0rem;--rdp-weekday-text-align:center;--rdp-gradient-direction:90deg;--rdp-animation_duration:.3s;--rdp-animation_timing:cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction:-90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity:unset}.rdp-root{box-sizing:border-box;position:relative}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{cursor:pointer;font:inherit;color:inherit;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius);background:0 0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;white-space:nowrap;border:0;align-items:center;display:inline-flex;position:relative}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{cursor:pointer;font:inherit;color:inherit;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:relative}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{fill:var(--rdp-accent-color);display:inline-block}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform-origin:50%;transform:rotate(180deg)}.rdp-dropdowns{align-items:center;gap:var(--rdp-dropdown-gap);display:inline-flex;position:relative}.rdp-dropdown{z-index:2;opacity:0;appearance:none;width:100%;cursor:inherit;line-height:inherit;border:none;margin:0;padding:0;position:absolute;inset-block:0;inset-inline-start:0}.rdp-dropdown_root{align-items:center;display:inline-flex;position:relative}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{height:var(--rdp-nav-height);align-content:center;font-size:large;font-weight:700;display:flex}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{inset-inline-start:0;height:var(--rdp-nav-height);display:inline-flex;position:absolute;top:0}.rdp-root[data-nav-layout=around] .rdp-button_next{inset-inline-end:0;height:var(--rdp-nav-height);justify-content:center;display:inline-flex;position:absolute;top:0}.rdp-months{gap:var(--rdp-months-gap);flex-wrap:wrap;max-width:fit-content;display:flex;position:relative}.rdp-month_grid{border-collapse:collapse}.rdp-nav{height:var(--rdp-nav-height);align-items:center;display:flex;position:absolute;inset-block-start:0;inset-inline-end:0}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform);font-size:smaller;font-weight:500}.rdp-week_number{opacity:var(--rdp-week_number-opacity);height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align);font-size:small;font-weight:400}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-size:large;font-weight:700}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}
.booking-auth-modal-backdrop{background:var(--backdrop-sm);z-index:2500;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.booking-auth-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);width:min(520px,100%);box-shadow:var(--shadow-lg);padding:1.5rem}.booking-auth-modal h3{margin-bottom:.5rem}.booking-auth-modal p{color:var(--fg-muted);margin-bottom:1.25rem;line-height:1.5}.booking-auth-modal-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}
.booking-form-wrapper{max-width:700px;margin:0 auto}.back-button{color:var(--primary);cursor:pointer;transition:var(--transition);background:0 0;align-items:center;gap:.5rem;margin-bottom:2rem;font-weight:500;display:flex}.back-button:hover{color:var(--accent)}.booking-form-wrapper h2{text-align:center;margin-bottom:.5rem}.selected-date{text-align:center;color:var(--text-light);margin-bottom:2rem}.booking-form{flex-direction:column;gap:2rem;display:flex}.form-section h3{color:var(--primary);margin-bottom:1.5rem;font-size:1.2rem}.time-slots{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.time-slot{border:2px solid var(--border);background:var(--secondary);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition);padding:.75rem 1rem;font-weight:500}.time-slot:hover{border-color:var(--accent);color:var(--accent)}.time-slot.selected{background:var(--accent);color:var(--primary);border-color:var(--accent)}.no-slots{color:var(--danger);background:#ffe0e0;border-radius:4px;padding:1rem;font-weight:500}.selected-time{color:var(--accent);margin-top:1rem;font-weight:500}.booking-types{flex-direction:column;gap:1rem;display:flex}.type-option{border:2px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition);align-items:flex-start;gap:1rem;padding:1rem;display:flex}.type-option input[type=radio]{cursor:pointer;accent-color:var(--accent);margin-top:.25rem}.type-option:hover{border-color:var(--accent);background:#d4af370d}.type-option.selected{border-color:var(--accent);background:#d4af371a}.type-label{flex-direction:column;gap:.25rem;display:flex}.type-label strong{color:var(--primary)}.type-label small{color:var(--text-light);font-size:.85rem}.form-row{grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0;display:grid}input,textarea{border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;font-size:1rem;font-family:var(--font-sans);padding:.75rem}input:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #d4af371a}.booking-form input[readonly]{background:var(--bg-alt);color:var(--fg-muted);cursor:not-allowed}textarea{resize:vertical;min-height:80px}.booking-form button[type=submit]{cursor:pointer;padding:1rem;font-size:1rem;font-weight:600}.booking-form button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.booking-success{text-align:center;background:var(--bg-light);border-radius:var(--radius-lg);border-left:4px solid var(--success);padding:3rem}.success-content h2{color:var(--success);margin-bottom:1rem;font-size:2rem}.success-content p{color:var(--text-light);margin-bottom:1rem}.booking-summary{background:var(--secondary);border-radius:4px;margin-bottom:1.5rem;padding:1.5rem;font-size:1.1rem}@media (max-width:768px){.time-slots{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.75rem}.form-row{grid-template-columns:1fr}.booking-types{gap:.75rem}.type-option{padding:.75rem}}
.buttons{justify-content:center;gap:16px;display:flex}.signature-area{flex-direction:row;justify-content:center;align-items:center;gap:16px;padding:10px 0;display:flex}.signature-area canvas{border:1px solid var(--border-medium,#aaa);border-radius:var(--radius-lg);touch-action:none;background:#fff}.signature-clear-btn{margin-left:12px}.placement-radio-group{flex-direction:column;flex:50%;gap:8px;display:flex}.placement-label{margin-bottom:4px;font-weight:600}.placement-radio-label{cursor:pointer;border-radius:var(--radius-lg);border:1px solid #ccc;align-items:center;gap:10px;padding:8px 12px;transition:border-color .2s,background .2s;display:flex}.placement-radio-label:has(input:checked){border-color:var(--color-accent,#c9a96e);background:#c9a96e1a}.placement-radio-label input[type=radio]{accent-color:var(--color-accent,#c9a96e);cursor:pointer;width:16px;height:16px}.placement-no-parts{color:#888;font-style:italic}.flash-preview-img{object-fit:contain;background:#fff;border:1px solid #ccc;border-radius:10px;flex:50%;max-height:200px;margin:auto;display:block}.flash-preview{align-items:center;gap:16px;margin-bottom:1.5rem;display:flex}.flash-preview-info{flex-direction:column;gap:4px;display:flex}.upsell-step{border:2px solid var(--color-accent,#c9a96e);border-radius:var(--radius-xl);background:#c9a96e0d;margin:1.5rem 0;padding:1.5rem}.upsell-step h3{text-align:center;margin-bottom:1rem}.upsell-product-card{align-items:center;gap:1rem;display:flex}.upsell-product-img{object-fit:cover;border-radius:var(--radius-lg);border:1px solid #ddd;width:80px;height:80px}.upsell-product-info{flex:1}.upsell-product-info strong{margin-bottom:4px;display:block}.upsell-product-info p{color:#666;margin:0 0 4px;font-size:.9rem}.upsell-product-price{color:var(--color-accent,#c9a96e);font-weight:700}.upsell-actions{justify-content:center;margin-top:1rem;display:flex}
.custom-upload-wrapper{margin-bottom:1rem}.custom-upload-wrapper input[type=file]{display:none}.custom-upload-label{color:#fff;cursor:pointer;background:#232323;border:1px solid #b85c38;border-radius:6px;margin-bottom:.5rem;padding:8px 16px;font-weight:500;transition:background .2s,color .2s,border .2s;display:inline-block}.custom-upload-label:hover{color:#fff;background:#b85c38;border-color:#232323}.image-preview-list{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.image-preview-item{flex-direction:column;align-items:center;display:flex;position:relative}.image-preview-thumb{object-fit:cover;border-radius:var(--radius-lg);background:#fff;border:1px solid #ccc;width:64px;height:64px;margin-bottom:4px}.remove-image-btn{cursor:pointer;color:#fff;z-index:2;background:#232323;border:1px solid #b85c38;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:18px;font-weight:700;line-height:1;transition:background .2s,color .2s;display:flex;position:absolute;top:-8px;right:-8px;box-shadow:0 1px 4px #0000002e}.remove-image-btn:hover{color:#fff;background:#b85c38;border-color:#232323}
.flash-carousel-outer{margin-bottom:32px;transition:max-height .4s;overflow:hidden}.flash-carousel-nav{justify-content:center;align-items:center;gap:16px;margin-bottom:16px;display:flex}.flash-carousel-arrow{padding:8px 14px;font-size:22px}.flash-carousel-list{justify-content:center;align-items:center;gap:24px;min-width:800px;display:flex}.flash-carousel-info{color:#888;text-align:center;margin-top:12px;font-size:13px}.booking-continue-btn{margin-left:16px}.type-buttons{justify-content:center;gap:1rem;margin-bottom:3rem;display:flex}.booking-section{padding:4rem 0}.booking-header{background:var(--bg);color:var(--fg);border-bottom:1px solid var(--border);padding:3rem 0 2rem;position:relative;overflow:hidden}.booking-header:before{content:"BOOKING";font-family:var(--font-serif);color:#0000;-webkit-text-stroke:1px var(--border-medium);white-space:nowrap;pointer-events:none;font-size:clamp(6rem,15vw,16rem);font-weight:600;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.booking-header .container{z-index:1;position:relative}.booking-header-eyebrow{letter-spacing:.25em;text-transform:uppercase;color:var(--accent);font-size:.75rem;font-family:var(--font-sans);margin-bottom:1rem;font-weight:500;display:block}.booking-header h1{color:var(--fg);margin-bottom:.75rem;font-size:clamp(2.4rem,5.8vw,4.6rem);font-weight:300}.booking-header p{color:var(--fg-muted);font-size:1rem;font-weight:300}.booking-content{background:var(--bg-card);border:1px solid var(--border);padding:2.5rem}.calendar-section{margin-right:auto}.calendar-section p{font-size:1.1rem;font-weight:500}.calendar-wrapper{background:var(--bg-alt);border:1px solid var(--border);flex-direction:row;justify-content:space-around;margin-bottom:2rem;padding:2rem 1.5rem;display:flex;overflow:hidden}.calendar-and-events{margin-left:auto;margin-right:auto;padding:0 2rem}.booking-info{text-align:center;background:var(--bg-alt);border:1px solid var(--border);color:var(--fg-muted);padding:2rem}.booking-calendar{--rdp-accent-color:var(--accent);--rdp-accent-background-color:var(--accent-glow);width:100%;font-family:var(--font-sans,sans-serif)}.booking-calendar .rdp-month_caption{text-transform:capitalize;color:var(--fg);padding-bottom:.75rem;font-size:1.1rem;font-weight:500}.booking-calendar .rdp-weekday{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted);padding-bottom:.5rem;font-size:.78rem;font-weight:600}.booking-calendar .rdp-day{border-radius:var(--radius-lg);width:48px;height:48px;font-size:.9rem;transition:background .2s,color .2s,box-shadow .2s;position:relative}.booking-calendar .rdp-day:hover:not([disabled]):not(.rdp-day--selected){background:var(--rdp-accent-background-color)}.booking-calendar .rdp-day--selected{font-weight:600;box-shadow:0 0 0 3px #b85c3840;background:var(--accent)!important;color:#fff!important}.booking-calendar .rdp-day--today:not(.rdp-day--selected){color:var(--accent);border:1.5px solid var(--accent);font-weight:700}.booking-calendar .rdp-day--closed{opacity:.55;text-decoration:line-through;color:var(--fg-muted)!important;cursor:not-allowed!important;background:#99909159!important}.booking-calendar .rdp-day--event:after{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.booking-calendar .rdp-outside{opacity:.3}.booking-calendar .rdp-button_previous,.booking-calendar .rdp-button_next{color:var(--fg);border:1px solid var(--border);border-radius:var(--radius-md);width:32px;height:32px;transition:background .2s,color .2s}.booking-calendar .rdp-button_previous:hover,.booking-calendar .rdp-button_next:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.calendar-events-legend{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.25rem;display:flex}.calendar-event-chip{background:var(--bg-card,#fff);border:1px solid var(--border);color:var(--fg);cursor:pointer;border-radius:20px;align-items:center;gap:.4rem;padding:.35rem .85rem;font-size:.78rem;transition:background .2s,border-color .2s;display:inline-flex}.calendar-event-chip:hover{background:var(--rdp-accent-background-color,#b85c381f);border-color:var(--accent)}.event-chip-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px}.booking-event-modal-backdrop{z-index:2000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.booking-event-modal{background:var(--bg-card,#fff);border-radius:var(--radius-xl);flex-direction:column;align-items:center;min-width:320px;max-width:90vw;max-height:90vh;padding:2rem;display:flex;position:relative;box-shadow:0 8px 32px #0000004d}.booking-event-modal-close{color:var(--fg);cursor:pointer;background:0 0;border:none;font-size:22px;position:absolute;top:12px;right:12px}.booking-event-modal-title{color:var(--accent);margin-bottom:.75rem;font-size:1.25rem;font-weight:700}.booking-event-modal-desc{color:var(--fg);margin-bottom:.5rem;font-size:1rem}.booking-event-modal-date{color:var(--fg-muted);font-size:.9rem}@media (max-width:768px){.booking-content{padding:1rem}.calendar-wrapper{flex-direction:column;padding:1rem .5rem}.booking-calendar .rdp-day{width:38px;height:38px;font-size:.8rem}}
