@import "https://fonts.googleapis.com/css2?family=Cormorant+Garabald:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap";
*{box-sizing:border-box;margin:0;padding:0}body{background:var(--booking-bg);color:var(--booking-fg);font-family:DM Sans,-apple-system,sans-serif;line-height:1.6}.app{flex-direction:column;display:flex}.app--non-quote{min-height:100%}.app--quote{min-height:auto}.skip-link{background:var(--booking-surface);color:var(--booking-brand-primary);border:2px solid var(--booking-focus-ring);z-index:1001;border-radius:8px;padding:10px 14px;font-weight:600;text-decoration:none;position:fixed;top:0;left:0;transform:translateY(-120%)}.skip-link:focus-visible{transform:translateY(8px)}.field-error{color:#b91c1c;margin-top:4px;font-size:.85rem;line-height:1.4}.header{background:var(--booking-surface);border-bottom:1px solid var(--booking-border);z-index:100;justify-content:space-between;align-items:center;padding:16px 40px;display:flex;position:sticky;top:0}.header-brand{flex-direction:column;line-height:1.2;display:flex}.brand-name{color:var(--booking-brand-primary);font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:600}.brand-tagline{color:var(--booking-muted);letter-spacing:.5px;font-size:.75rem}.header-right{align-items:center;gap:24px;display:flex}.header-phone{color:var(--booking-brand-secondary);align-items:center;gap:6px;font-weight:500;display:flex}.btn-quote-view{background:var(--booking-brand-secondary);color:var(--booking-surface);cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-weight:600;transition:background .2s}.btn-quote-view:hover{background:var(--booking-brand-primary-dark)}.quote-layout{min-height:calc(100vh - 70px);display:flex}.quote-sidebar{background:linear-gradient(180deg,var(--booking-sidebar-gradient-start)0%,var(--booking-sidebar-gradient-end)100%);color:var(--booking-surface);flex-shrink:0;width:420px;padding:48px 40px}.step-indicator{color:#ffffffb3;letter-spacing:.5px;margin-bottom:16px;font-size:.85rem}.progress-bars{gap:8px;margin-bottom:40px;display:flex}.progress-bar{background:#fff3;border-radius:2px;flex:1;height:4px;transition:background .3s}.progress-bar.active{background:var(--booking-success)}.quote-sidebar h2{margin-bottom:20px;font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:500;line-height:1.3}.quote-sidebar p{color:#ffffffd9;font-size:1rem;line-height:1.7}.sidebar-benefits{border-top:1px solid #ffffff26;margin-top:40px;padding-top:40px}.benefit-item{align-items:center;gap:12px;margin-bottom:16px;font-size:.95rem;display:flex}.benefit-check{background:var(--booking-success);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.75rem;display:flex}.quote-main{background:var(--booking-surface);flex-direction:column;flex:1;justify-content:center;padding:60px 80px;display:flex}.config-main-shell{background:var(--booking-surface);flex:1}.quote-main h2{color:var(--booking-brand-primary);text-align:center;margin-bottom:32px;font-family:Cormorant Garamond,serif;font-size:2.25rem;font-weight:500}.option-cards{max-width:520px;border:0;flex-direction:column;gap:16px;min-inline-size:0;margin:0 auto;padding:0;display:flex}.next-of-kin-options{max-width:100%;margin:0 0 20px}.option-cards.wide{max-width:600px}.option-cards.wide .option-card{padding:24px 40px}.empathy-text{color:#4a5568;text-align:center;max-width:500px;margin-bottom:32px;margin-left:auto;margin-right:auto;font-size:1rem;line-height:1.7}.option-card{background:var(--booking-surface);border:2px solid var(--booking-border);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;transition:all .2s;display:flex}.option-card span{flex:1}.option-card:hover{border-color:var(--booking-brand-secondary)}.option-card.selected{border-color:var(--booking-brand-secondary);background:linear-gradient(135deg,var(--booking-brand-primary-soft)0%,var(--booking-surface)100%)}.option-card.selected .radio-dot{background:var(--booking-brand-secondary);border-color:var(--booking-brand-secondary)}.option-card.selected .radio-dot:after{background:var(--booking-surface)}.radio-dot{border:2px solid #cbd5e0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:all .2s;display:flex}.radio-dot:after{content:"";background:0 0;border-radius:50%;width:8px;height:8px;transition:background .2s}.form-group{margin-bottom:20px}.form-label{color:#4a5568;margin-bottom:6px;font-size:.85rem;font-weight:500;display:block}.form-input{border:2px solid var(--booking-border);background:var(--booking-surface);border-radius:8px;width:100%;padding:14px 16px;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-input:focus-visible{outline:2px solid var(--booking-focus-ring);outline-offset:2px;border-color:var(--booking-brand-secondary);box-shadow:0 0 0 3px #5d7a6a1a}.form-input.search{background-image:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"%23a0aec0\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z\"/></svg>");background-position:14px;background-repeat:no-repeat;background-size:20px;padding-left:44px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.mobile-phone-input-row{grid-template-columns:minmax(200px,45%) minmax(240px,1fr);align-items:end;gap:12px;display:grid}.mobile-phone-country-panel,.mobile-phone-number-panel{min-width:0}.phone-input-fieldset{border:0;margin:0;padding:0}.form-hint{color:var(--booking-muted);margin-top:4px;font-size:.8rem}.address-suggestions{z-index:20;border:1px solid var(--booking-border);background:var(--booking-surface);border-radius:8px;max-height:280px;margin:0;padding:6px 0;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000014}.address-suggestions li{cursor:pointer;flex-direction:column;gap:2px;padding:10px 14px;display:flex}.address-suggestions li small{color:var(--booking-muted);font-size:.8rem;line-height:1.3}.address-suggestions li.active{background:var(--booking-brand-primary-soft)}.manual-address-link{color:var(--booking-brand-secondary);cursor:pointer;background:0 0;border:none;margin-top:8px;padding:0;font-size:.9rem;font-weight:500;text-decoration:underline}.manual-address-link:hover{color:var(--booking-brand-primary-dark)}.nok-notice{background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;gap:12px;margin:16px 0 24px;padding:16px;display:flex}.nok-notice .nok-icon{flex-shrink:0;font-size:1.2rem}.nok-notice p{color:#92400e;margin:0;font-size:.9rem;line-height:1.5}.inline-help{color:var(--booking-muted);margin-bottom:16px;font-size:.85rem;line-height:1.5}.help-link{color:var(--booking-brand-secondary);cursor:pointer;font-weight:500;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.help-link:hover{color:var(--booking-brand-primary-dark)}select.form-input{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"%234a5568\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M19 9l-7 7-7-7\"/></svg>");background-position:right 14px center;background-repeat:no-repeat;background-size:18px}.form-section-header{margin-bottom:20px}.form-section-header h3{color:var(--booking-brand-primary);margin:0;font-family:DM Sans,sans-serif;font-size:1.1rem;font-weight:600}.form-section-divider{background:linear-gradient(to right,transparent,var(--booking-border),transparent);height:1px;margin:32px 0}.nav-buttons{align-items:center;gap:24px;width:100%;margin-top:40px;display:flex}.nav-buttons .btn-continue{margin-left:auto}.btn-back{color:var(--booking-brand-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;font-size:1rem;font-weight:500;display:flex}.btn-back:hover{text-decoration:underline}.btn-continue{background:var(--booking-brand-secondary);color:var(--booking-surface);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:14px 32px;font-size:1rem;font-weight:600;transition:background .2s;display:flex}.btn-continue:hover:not(:disabled){background:var(--booking-brand-primary-dark)}.btn-continue:disabled{opacity:.5;cursor:not-allowed}.btn-continue.secondary{background:var(--booking-surface);color:var(--booking-brand-secondary);border:2px solid var(--booking-brand-secondary)}.btn-continue.secondary:hover:not(:disabled){background:var(--booking-brand-primary-soft)}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--booking-surface);text-align:center;border-radius:16px;width:90%;max-width:480px;padding:40px;box-shadow:0 20px 60px #0003}.modal-icon{background:#fff3cd;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 20px;font-size:1.5rem;display:flex}.modal h2{color:var(--booking-brand-primary);margin-bottom:16px;font-family:Cormorant Garamond,serif;font-size:1.5rem}.modal p{color:#4a5568;margin-bottom:32px;line-height:1.6}.modal-buttons{justify-content:center;gap:16px;display:flex}.btn-modal-outline{border:2px solid var(--booking-border);background:var(--booking-surface);color:#4a5568;cursor:pointer;border-radius:8px;padding:12px 24px;font-weight:600;transition:all .2s}.btn-modal-outline:hover{background:#f7fafc}.btn-modal-solid{background:var(--booking-brand-secondary);color:var(--booking-surface);cursor:pointer;border:none;border-radius:8px;padding:12px 24px;font-weight:600;transition:background .2s}.btn-modal-solid:hover{background:var(--booking-brand-primary-dark)}.quote-page{max-width:1200px;margin:0 auto;padding:48px 40px}.quote-header{text-align:center;margin-bottom:40px}.quote-header h1{color:var(--booking-brand-primary);margin-bottom:8px;font-family:Cormorant Garamond,serif;font-size:2.75rem}.quote-header p{color:var(--booking-muted);font-size:1.1rem}.quote-grid{grid-template-columns:1fr 340px;gap:40px;display:grid}.quote-details-card{background:var(--booking-surface);border:1px solid var(--booking-border);border-radius:12px;margin-bottom:24px;padding:28px;box-shadow:0 6px 18px #1018200a}.quote-details-card h3{color:var(--booking-brand-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px;font-size:.9rem;font-weight:600}.details-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.detail-item{font-size:.9rem}.detail-label{color:var(--booking-muted)}.detail-value{color:#2d3748;font-weight:500}.package-section{background:var(--booking-surface);border:1px solid var(--booking-border);border-radius:12px;padding:20px 24px}.package-section h3{color:var(--booking-brand-primary);margin-bottom:8px;font-family:Cormorant Garamond,serif;font-size:1.5rem}.package-price-row{align-items:baseline;gap:12px;margin-bottom:24px;display:flex}.package-price{color:var(--booking-brand-primary);font-size:2.1rem;font-weight:700}.package-note{color:var(--booking-muted);font-size:.9rem}.package-features{flex-direction:column;gap:10px;display:flex}.feature-item{color:#28323a;align-items:flex-start;gap:12px;font-size:.95rem;display:flex}.feature-bullet{color:var(--booking-brand-secondary);font-size:1.1rem;line-height:1.4}.quote-summary{background:linear-gradient(180deg,var(--booking-sidebar-gradient-start)0%,var(--booking-sidebar-gradient-end)100%);color:var(--booking-surface);border-radius:12px;padding:28px;position:sticky;top:100px}.quote-summary h3{margin-bottom:8px;font-family:Cormorant Garamond,serif;font-size:1.5rem}.quote-location{color:#ffffffb3;margin-bottom:20px;font-size:.9rem}.quote-total{margin-bottom:4px;font-size:2.5rem;font-weight:700}.payment-card{background:var(--booking-surface);color:#1f2937;border-radius:10px;padding:16px;box-shadow:0 8px 24px #10182014}.payment-hint{color:#ffffffe6;background:#ffffff0f;border-radius:8px;margin-bottom:12px;padding:8px 12px;font-size:.85rem}.quote-id{color:#fff9;margin-bottom:24px;font-size:.8rem}.financing-badge{background:#8fbc8f4d;border-radius:8px;margin-bottom:24px;padding:12px 16px;font-size:.85rem}.financing-badge strong{color:#8fbc8f}.btn-next-step{background:var(--booking-success);width:100%;color:var(--booking-brand-primary-dark);cursor:pointer;border:none;border-radius:8px;margin-bottom:12px;padding:16px;font-size:1rem;font-weight:700;transition:background .2s}.btn-next-step:hover{background:#7dab7d}.btn-reset{color:#ffffffb3;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:8px;font-size:.9rem;display:flex}.btn-reset:hover{color:#fff}.quote-contact{text-align:center;border-top:1px solid #ffffff26;margin-top:24px;padding-top:24px;font-size:.85rem}.quote-phone{color:var(--booking-success);margin-top:4px;font-size:1.2rem;font-weight:700}.config-header{background:var(--booking-surface);border-bottom:1px solid var(--booking-border);padding:20px 40px}.config-title{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.config-title h2{color:var(--booking-brand-primary);font-family:Cormorant Garamond,serif;font-size:1.5rem}.config-step-label{color:var(--booking-muted);font-size:.9rem}.progress-tracker{border-bottom:1px solid var(--booking-border);background:#f7fafc;display:flex}.tracker-item{border-right:1px solid var(--booking-border);flex:1;min-width:100px;padding:16px 12px;position:relative}.tracker-item:last-child{border-right:none}.tracker-item.active{background:var(--booking-surface);box-shadow:inset 0 -3px 0 var(--booking-brand-secondary)}.tracker-item.completed{background:var(--booking-brand-primary-soft)}.tracker-item.total{background:var(--booking-brand-primary);color:var(--booking-surface);flex:0 0 160px}.tracker-label{color:var(--booking-muted);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:4px;margin-bottom:4px;font-size:.7rem;display:flex}.tracker-label .edit-link{color:var(--booking-brand-secondary);cursor:pointer;min-height:0;text-decoration:underline}.package-section .edit-link{color:var(--booking-brand-secondary);cursor:pointer;font-size:.95rem;text-decoration:underline}.tracker-item.total .tracker-label{color:#ffffffb3}.tracker-value{color:#2d3748;font-size:.85rem;font-weight:600}.tracker-item.total .tracker-value{color:var(--booking-surface);font-size:1.75rem;font-weight:700}.tracker-price{color:var(--booking-muted);margin-top:2px;font-size:.75rem}.tracker-item.total .tracker-price{color:#ffffffb3;font-size:.7rem}.config-content{max-width:900px;margin:0 auto;padding:48px 40px 80px}.config-content>h2{color:var(--booking-brand-primary);text-align:center;margin-bottom:12px;font-family:Cormorant Garamond,serif;font-size:2rem}.config-content>p.subtitle{text-align:center;color:var(--booking-muted);max-width:600px;margin-bottom:28px;margin-left:auto;margin-right:auto}.config-content>p.subtitle.subtitle-left{text-align:left;max-width:none;margin-left:0;margin-right:0}.package-comparison{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:40px;display:grid}.package-card{border:2px solid var(--booking-border);cursor:pointer;text-align:left;border-radius:16px;flex-direction:column;align-items:flex-start;padding:28px;transition:all .2s;display:flex;position:relative}.package-card:hover{border-color:var(--booking-brand-secondary)}.package-card.selected{border-color:var(--booking-brand-secondary);background:linear-gradient(180deg,var(--booking-brand-primary-soft)0%,var(--booking-surface)100%)}.package-card.selected:before{content:"✓";background:var(--booking-brand-secondary);width:28px;height:28px;color:var(--booking-surface);border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex;position:absolute;top:-12px;right:20px}.package-badge{background:var(--booking-brand-secondary);color:var(--booking-surface);text-transform:uppercase;letter-spacing:.5px;border-radius:20px;margin-bottom:12px;padding:4px 12px;font-size:.7rem;font-weight:700;display:inline-block}.package-badge.placeholder{visibility:hidden}.package-card h3{color:var(--booking-brand-primary);margin-bottom:8px;font-family:Cormorant Garamond,serif;font-size:1.25rem}.package-card .price{color:var(--booking-brand-primary);margin-bottom:4px;font-size:2rem;font-weight:700}.package-card .price-note{color:var(--booking-muted);margin-bottom:20px;font-size:.8rem}.package-features-list{flex:1;list-style:none}.package-features-list li{color:#4a5568;align-items:flex-start;gap:8px;margin-bottom:8px;font-size:.9rem;display:flex}.package-features-list li:before{content:"✓";color:var(--booking-brand-secondary);flex-shrink:0;font-weight:700}.package-card .select-btn{border:2px solid var(--booking-brand-secondary);background:var(--booking-surface);width:100%;color:var(--booking-brand-secondary);cursor:pointer;text-align:center;border-radius:8px;margin-top:20px;padding:12px;font-weight:600;transition:all .2s}.package-card.selected .select-btn{background:var(--booking-brand-secondary);color:var(--booking-surface)}.pricing-promise{background:linear-gradient(135deg,var(--booking-brand-primary-soft)0%,#e8f4ea 100%);border:2px solid var(--booking-brand-secondary);border-radius:12px;align-items:flex-start;gap:16px;margin-top:32px;padding:20px 24px;display:flex}.promise-icon{background:var(--booking-brand-secondary);width:32px;height:32px;color:var(--booking-surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex}.promise-text{flex-direction:column;gap:4px;display:flex}.promise-text strong{color:var(--booking-brand-primary);font-size:1rem}.promise-text span{color:#4a5568;font-size:.9rem;line-height:1.5}.timeline-section{background:var(--booking-surface);border:2px solid var(--booking-border);border-radius:16px;margin-bottom:24px;padding:32px}.timeline-container{gap:32px;display:flex}.timeline-track{flex-direction:column;align-items:center;min-width:100px;display:flex}.timeline-marker{flex-direction:column;align-items:center;gap:8px;display:flex}.marker-icon{background:var(--booking-brand-primary-soft);border:2px solid var(--booking-brand-secondary);z-index:2;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.5rem;display:flex;position:relative}.marker-label{color:var(--booking-brand-secondary);text-transform:uppercase;letter-spacing:1px;text-align:center;font-size:.7rem;font-weight:700}.timeline-marker.delayed .marker-icon{background:#fffbeb;border-color:#c9a83a}.timeline-marker.delayed .marker-label{color:#8b7a2e}.timeline-line{background:linear-gradient(180deg,var(--booking-brand-secondary)0%,#c9a83a 100%);flex:1;width:2px;min-height:120px}.timeline-items{flex-direction:column;flex:1;display:flex}.timeline-item{flex:1}.timeline-item:first-child{padding-bottom:24px}.timeline-item:last-child{padding-top:24px}.timeline-content h4{color:var(--booking-brand-primary);margin-bottom:16px;font-family:DM Sans,sans-serif;font-size:1.1rem;font-weight:600}.timeline-content p{color:#4a5568;line-height:1.6}.doc-list{flex-direction:column;gap:16px;list-style:none;display:flex}.doc-list li{background:#f7fafc;border-radius:8px;align-items:flex-start;gap:12px;padding:12px 16px;display:flex}.doc-icon{flex-shrink:0;font-size:1.25rem}.doc-list li div{flex-direction:column;gap:2px;display:flex}.doc-list li strong{color:var(--booking-brand-primary);font-size:.95rem}.doc-list li span{color:var(--booking-muted);font-size:.85rem}.info-callout{background:#fffbeb;border:1px solid #fcd34d;border-radius:12px;align-items:flex-start;gap:12px;margin-bottom:24px;padding:20px;display:flex}.callout-icon{flex-shrink:0;font-size:1.25rem}.info-callout p{color:#92400e;margin:0;font-size:.9rem;line-height:1.6}.info-callout strong{color:#78350f}.sms-timeline{flex-direction:column;display:flex}.sms-step{gap:20px;display:flex}.sms-marker{flex-direction:column;align-items:center;min-width:40px;display:flex}.sms-number{background:linear-gradient(135deg,var(--booking-brand-secondary)0%,var(--booking-brand-primary-dark)100%);width:36px;height:36px;color:var(--booking-surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;display:flex}.sms-line{background:linear-gradient(180deg,var(--booking-brand-secondary)0%,var(--booking-border)100%);flex:1;width:2px;min-height:24px;margin:8px 0}.sms-step.final .sms-marker .sms-number{background:linear-gradient(135deg,#c9a83a 0%,#a08a2e 100%)}.sms-content{flex:1;padding-bottom:24px}.sms-step.final .sms-content{padding-bottom:0}.sms-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.sms-icon{font-size:1.1rem}.sms-header h4{color:var(--booking-brand-primary);margin:0;font-family:DM Sans,sans-serif;font-size:1rem;font-weight:600}.sms-content p{color:#4a5568;margin:0 0 8px;font-size:.9rem;line-height:1.5}.sms-timing{color:var(--booking-muted);background:#f7fafc;border-radius:12px;padding:4px 10px;font-size:.75rem;font-weight:500;display:inline-block}.skip-note{text-align:center;background:#f7fafc;border-radius:8px;margin-top:24px;padding:16px}.skip-note p{color:var(--booking-muted);margin:0;font-size:.9rem}.journey-timeline{background:var(--booking-surface);border:2px solid var(--booking-border);border-radius:16px;margin-bottom:24px;padding:32px}.journey-step{gap:20px;display:flex}.journey-marker{flex-direction:column;align-items:center;min-width:50px;display:flex}.journey-icon{background:var(--booking-brand-primary-soft);border:2px solid var(--booking-border);z-index:2;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.25rem;display:flex;position:relative}.journey-marker.completed .journey-icon{background:var(--booking-brand-secondary);border-color:var(--booking-brand-secondary)}.journey-marker.final .journey-icon{background:linear-gradient(135deg,var(--booking-brand-secondary)0%,#c9a83a 100%);border-color:var(--booking-brand-secondary)}.journey-line{background:linear-gradient(180deg,var(--booking-border)0%,var(--booking-border)100%);flex:1;width:2px;min-height:40px;margin:8px 0}.journey-step:not(:last-child) .journey-line{background:linear-gradient(180deg,var(--booking-brand-secondary)0%,var(--booking-border)100%)}.journey-content{flex:1;padding-bottom:32px}.journey-step:last-child .journey-content{padding-bottom:0}.journey-header{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.journey-header h4{color:var(--booking-brand-primary);margin:0;font-family:DM Sans,sans-serif;font-size:1rem;font-weight:600}.sms-badge{color:var(--booking-brand-secondary);background:#e8f4f0;border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:500;display:inline-flex}.journey-content p{color:#4a5568;margin:0 0 8px;font-size:.9rem;line-height:1.5}.sms-timing{color:var(--booking-muted);font-size:.8rem;font-style:italic}.journey-note{background:linear-gradient(135deg,var(--booking-brand-primary-soft)0%,var(--booking-surface)100%);border:2px solid var(--booking-brand-secondary);border-radius:12px;gap:16px;margin-bottom:24px;padding:20px;display:flex}.journey-note .note-icon{flex-shrink:0;font-size:1.5rem}.journey-note strong{color:var(--booking-brand-primary);margin-bottom:4px;font-size:.95rem;display:block}.journey-note p{color:#4a5568;margin:0;font-size:.85rem;line-height:1.5}.option-columns{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:40px;display:grid}.option-column{border:2px solid var(--booking-border);cursor:pointer;border-radius:12px;padding:24px;transition:all .2s;position:relative}.option-column:hover{border-color:var(--booking-brand-secondary)}.option-column.selected{border-color:var(--booking-brand-secondary);background:var(--booking-brand-primary-soft)}.recommended-badge{background:linear-gradient(135deg,var(--booking-brand-secondary)0%,var(--booking-brand-primary-dark)100%);color:var(--booking-surface);text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:6px 14px;font-size:.7rem;font-weight:700;position:absolute;top:-12px;left:20px}.option-column h4{color:var(--booking-brand-primary);justify-content:space-between;align-items:center;margin-bottom:12px;font-family:DM Sans,sans-serif;font-size:1rem;font-weight:600;display:flex}.option-column p{color:var(--booking-muted);text-align:left;font-size:.9rem;line-height:1.6}.option-price{border-top:1px solid var(--booking-border);margin-top:16px;padding-top:16px}.price-tag{color:var(--booking-brand-primary);font-size:1.1rem;font-weight:700}.option-check{border:2px solid #cbd5e0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;transition:all .2s;display:flex}.option-column.selected .option-check{background:var(--booking-brand-secondary);border-color:var(--booking-brand-secondary);color:var(--booking-surface)}.products-section{margin-bottom:40px}.products-section h3{color:var(--booking-brand-primary);margin-bottom:8px;font-family:DM Sans,sans-serif;font-size:1.1rem;font-weight:600}.products-section>p{color:var(--booking-muted);margin-bottom:24px;font-size:.95rem}.product-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.product-card{border:2px solid var(--booking-border);cursor:pointer;border-radius:12px;transition:all .2s;position:relative;overflow:hidden}.product-card:hover{border-color:var(--booking-brand-secondary)}.product-card.selected{border-color:var(--booking-brand-secondary);box-shadow:0 4px 12px #5d7a6a26}.product-card.selected:after{content:"✓";background:var(--booking-brand-secondary);width:24px;height:24px;color:var(--booking-surface);border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:12px;right:12px}.product-image{background:linear-gradient(135deg,#f7fafc 0%,#edf2f7 100%);justify-content:center;align-items:center;height:120px;font-size:3rem;display:flex}.product-info{padding:16px}.product-info h4{color:var(--booking-brand-primary);margin-bottom:4px;font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:600}.product-price{color:var(--booking-brand-secondary);font-size:.85rem;font-weight:600}.product-desc{color:var(--booking-muted);margin-top:8px;font-size:.8rem}.view-details{color:var(--booking-brand-secondary);cursor:pointer;margin-top:8px;font-size:.8rem;text-decoration:underline;display:inline-block}.keepsake-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.keepsake-card{border:2px solid var(--booking-border);border-radius:12px;align-items:center;gap:16px;padding:16px;display:flex}.keepsake-card.has-qty{border-color:var(--booking-brand-secondary);background:var(--booking-brand-primary-soft)}.keepsake-image{background:#f7fafc;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;font-size:1.5rem;display:flex}.keepsake-info{flex:1}.keepsake-info h4{color:var(--booking-brand-primary);margin-bottom:2px;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:600}.keepsake-info .price{color:var(--booking-brand-secondary);font-size:.8rem;font-weight:600}.qty-controls{align-items:center;gap:8px;display:flex}.qty-btn{border:1px solid var(--booking-border);background:var(--booking-surface);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;transition:all .2s;display:flex}.qty-btn:hover{background:#f7fafc}.qty-value{text-align:center;width:40px;font-size:.95rem;font-weight:600}.qty-selector-large{background:#f7fafc;border-radius:8px;align-items:center;gap:16px;margin-top:16px;padding:16px;display:flex}.qty-selector-large .qty-btn{width:40px;height:40px}.qty-selector-large .qty-value{width:50px;font-size:1.1rem}.qty-total{color:var(--booking-brand-primary);margin-left:auto;font-size:1.1rem;font-weight:700}.side-panel-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;position:fixed;inset:0}.side-panel{background:var(--booking-surface);z-index:1001;width:420px;height:100%;position:fixed;top:0;right:0;overflow-y:auto;box-shadow:-4px 0 24px #00000026}.panel-close{background:var(--booking-surface);border:1px solid var(--booking-border);cursor:pointer;z-index:10;color:#4a5568;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.25rem;display:flex;position:absolute;top:16px;right:16px}.panel-image{background:linear-gradient(135deg,#f7fafc 0%,#edf2f7 100%);justify-content:center;align-items:center;height:280px;font-size:5rem;display:flex}.panel-content{padding:28px}.panel-title{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.panel-title h3{color:var(--booking-brand-primary);font-family:Cormorant Garamond,serif;font-size:1.5rem}.panel-price{color:var(--booking-brand-secondary);font-size:1.25rem;font-weight:700}.panel-description{color:#4a5568;margin-bottom:24px;line-height:1.7}.color-options{margin-bottom:24px}.color-options label{color:var(--booking-muted);margin-bottom:8px;font-size:.85rem;display:block}.color-dots{gap:8px;display:flex}.color-dot{border:2px solid var(--booking-surface);width:28px;height:28px;box-shadow:0 0 0 1px var(--booking-border);cursor:pointer;border-radius:50%;transition:transform .2s}.color-dot:hover{transform:scale(1.1)}.btn-panel-select{background:var(--booking-brand-secondary);width:100%;color:var(--booking-surface);cursor:pointer;border:none;border-radius:8px;padding:16px;font-size:1rem;font-weight:600;transition:background .2s}.btn-panel-select:hover{background:var(--booking-brand-primary-dark)}.checkout-page{background:#f7fafc;padding:48px 40px}.checkout-container{max-width:1100px;margin:0 auto}.checkout-header{text-align:center;margin-bottom:40px}.checkout-header h1{color:var(--booking-brand-primary);margin-bottom:8px;font-family:Cormorant Garamond,serif;font-size:2rem}.checkout-header p{color:var(--booking-muted)}.checkout-grid{grid-template-columns:1fr 400px;gap:32px;display:grid}.statement-column{background:var(--booking-surface);border-radius:16px;padding:32px;box-shadow:0 2px 8px #0000000a}.statement-column h2{color:var(--booking-brand-primary);margin-bottom:24px;font-family:Cormorant Garamond,serif;font-size:1.5rem}.statement-section{border-bottom:1px solid var(--booking-border);padding:20px 0}.statement-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.statement-header span{color:var(--booking-brand-primary);font-weight:600}.edit-link{color:var(--booking-brand-secondary);cursor:pointer;background:0 0;border:none;font-size:.85rem;text-decoration:underline}.statement-row{color:#4a5568;justify-content:space-between;margin-bottom:8px;font-size:.9rem;display:flex}.statement-row.main{color:#2d3748;font-weight:600}.statement-details{background:#f7fafc;border-radius:8px;margin-top:12px;padding:12px 16px}.statement-details ul{color:var(--booking-muted);font-size:.85rem;list-style:none}.statement-details li:before{content:"•";color:var(--booking-brand-secondary);margin-right:8px}.statement-summary{padding:24px 0}.summary-row{justify-content:space-between;margin-bottom:8px;font-size:.95rem;display:flex}.summary-row.total{color:var(--booking-brand-primary);border-top:2px solid var(--booking-brand-primary);margin-top:12px;padding-top:12px;font-size:1.25rem;font-weight:700}.order-details{background:#f7fafc;border-radius:8px;padding:20px;font-size:.9rem}.order-details h4{color:var(--booking-brand-primary);margin-bottom:12px;font-size:.9rem}.order-details p{color:#4a5568;margin-bottom:8px}.payment-column{background:var(--booking-surface);border-radius:16px;height:fit-content;padding:32px;position:sticky;top:100px;box-shadow:0 2px 8px #0000000a}.payment-column h2{color:var(--booking-brand-primary);margin-bottom:24px;font-family:Cormorant Garamond,serif;font-size:1.5rem}.quote-details-card .checkout-section-title{color:var(--booking-brand-primary);text-transform:none;letter-spacing:normal;margin-bottom:24px;font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:500}.payment-toggle{gap:8px;margin-bottom:24px;display:flex}.payment-toggle button{border:2px solid var(--booking-border);background:var(--booking-surface);cursor:pointer;border-radius:8px;flex:1;padding:12px;font-size:.9rem;font-weight:500;transition:all .2s}.payment-toggle button.active{border-color:var(--booking-brand-secondary);background:var(--booking-brand-primary-soft);color:var(--booking-brand-primary)}.card-input-wrapper{position:relative}.card-icons{gap:4px;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.card-icon{border:1px solid var(--booking-border);color:var(--booking-muted);border-radius:2px;padding:2px 4px;font-size:.6rem}.pay-later-info{text-align:center;color:#4a5568;background:#f7fafc;border-radius:8px;padding:20px;font-size:.9rem;line-height:1.6}.section-title{color:var(--booking-brand-primary);margin:24px 0 16px;font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:600}.agreements{margin-top:24px}.checkbox-option{cursor:pointer;color:#4a5568;align-items:flex-start;gap:12px;margin-bottom:16px;font-size:.9rem;display:flex}.checkbox-option input{display:none}.checkbox-box{border:2px solid #cbd5e0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:2px;transition:all .2s;display:flex}.checkbox-option input:checked+.checkbox-box{background:var(--booking-brand-secondary);border-color:var(--booking-brand-secondary);color:var(--booking-surface)}.checkbox-option input:checked+.checkbox-box:after{content:"✓";font-size:.75rem}.info-box{background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;gap:12px;margin:16px 0;padding:16px;display:flex}.info-box .icon{color:#d97706;flex-shrink:0;font-size:1.1rem}.info-box p{color:#92400e;font-size:.85rem;line-height:1.5}.signature-section{border-top:1px solid var(--booking-border);margin-top:24px;padding-top:24px}.signature-section h4{color:var(--booking-brand-primary);margin-bottom:8px;font-size:.95rem}.signature-section>p{color:var(--booking-muted);margin-bottom:16px;font-size:.85rem;line-height:1.5}.payment-form{margin-top:8px}.stripe-element-shell,.stripe-address-shell{border:2px solid var(--booking-border);background:var(--booking-surface);border-radius:8px;width:100%;padding:12px 14px;transition:border-color .2s,box-shadow .2s}.stripe-element-shell:focus-within,.stripe-address-shell:focus-within{border-color:var(--booking-brand-secondary);box-shadow:0 0 0 3px #5d7a6a1a}.payment-meta{gap:2px;margin-top:8px;display:grid}.btn-submit{background:var(--booking-brand-secondary);width:100%;color:var(--booking-surface);cursor:pointer;border:none;border-radius:8px;margin-top:24px;padding:16px;font-size:1rem;font-weight:700;transition:background .2s}.btn-submit:hover:not(:disabled){background:var(--booking-brand-primary-dark)}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.footer{background:var(--booking-brand-primary);color:var(--booking-surface);justify-content:space-between;align-items:center;padding:24px 40px;display:flex}.footer-brand{flex-direction:column;line-height:1.3;display:flex}.footer-name{font-family:Cormorant Garamond,serif;font-size:1.25rem}.footer-tagline{opacity:.8;font-size:.8rem;font-style:italic}.footer-contact{align-items:center;gap:24px;font-size:.9rem;display:flex}.footer-phone{color:var(--booking-success);font-size:1.1rem;font-weight:600}.footer-secure{opacity:.8;align-items:center;gap:6px;font-size:.8rem;display:flex}.faq-overlay{opacity:0;visibility:hidden;z-index:998;background:#0000004d;transition:opacity .3s,visibility .3s;position:fixed;inset:0}.faq-overlay.visible{opacity:1;visibility:visible}.faq-panel{background:var(--booking-surface);z-index:999;flex-direction:column;width:420px;max-width:100%;transition:transform .3s ease-out;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-4px 0 24px #00000026}.faq-panel.open{transform:translate(0)}.faq-header{border-bottom:1px solid var(--booking-border);background:linear-gradient(135deg,var(--booking-brand-primary-soft)0%,var(--booking-surface)100%);justify-content:space-between;align-items:flex-start;padding:24px;display:flex}.faq-header h3{color:var(--booking-brand-primary);margin:0;font-family:DM Sans,sans-serif;font-size:1.25rem;font-weight:600}.faq-context{color:var(--booking-muted);margin-top:4px;font-size:.8rem;display:block}.faq-close{background:var(--booking-surface);width:32px;height:32px;color:var(--booking-muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;transition:all .2s;display:flex}.faq-close:hover{color:var(--booking-brand-primary);background:#f7fafc}.faq-content{flex:1;padding:24px;overflow-y:auto}.faq-section h4{color:var(--booking-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px;font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:600}.faq-list{flex-direction:column;gap:8px;display:flex}.faq-item{border:1px solid var(--booking-border);border-radius:8px;transition:border-color .2s;overflow:hidden}.faq-item:hover{border-color:#cbd5e0}.faq-item.expanded{border-color:var(--booking-brand-secondary)}.faq-question{background:var(--booking-surface);text-align:left;color:#2d3748;cursor:pointer;border:none;justify-content:space-between;align-items:flex-start;gap:12px;width:100%;padding:14px 16px;font-size:.9rem;line-height:1.4;transition:background .2s;display:flex}.faq-question:hover{background:#f7fafc}.faq-item.expanded .faq-question{background:var(--booking-brand-primary-soft);font-weight:500}.faq-icon{width:20px;height:20px;color:var(--booking-brand-secondary);flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:600;display:flex}.faq-answer{background:var(--booking-brand-primary-soft);padding:0 16px 16px}.faq-answer p{color:#4a5568;margin:0;font-size:.9rem;line-height:1.6}.faq-divider{background:var(--booking-border);height:1px;margin:24px 0}.faq-ai-intro{color:var(--booking-muted);margin-bottom:16px;font-size:.85rem;line-height:1.5}.faq-conversation{flex-direction:column;gap:12px;max-height:200px;margin-bottom:16px;display:flex;overflow-y:auto}.faq-message{display:flex}.faq-message.user{justify-content:flex-end}.faq-message.assistant{justify-content:flex-start}.message-bubble{border-radius:16px;max-width:85%;padding:10px 14px;font-size:.9rem;line-height:1.5}.faq-message.user .message-bubble{background:var(--booking-brand-secondary);color:var(--booking-surface);border-bottom-right-radius:4px}.faq-message.assistant .message-bubble{background:var(--booking-brand-primary-soft);color:#2d3748;border-bottom-left-radius:4px}.message-bubble.typing{gap:4px;padding:14px 18px;display:flex}.message-bubble.typing span{background:var(--booking-brand-secondary);border-radius:50%;width:8px;height:8px;animation:1.4s infinite typing}.message-bubble.typing span:nth-child(2){animation-delay:.2s}.message-bubble.typing span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}.faq-input-wrapper{align-items:center;gap:8px;display:flex}.faq-input{border:2px solid var(--booking-border);border-radius:24px;flex:1;padding:12px 16px;font-size:.9rem;transition:border-color .2s}.faq-input:focus-visible{outline:2px solid var(--booking-focus-ring);outline-offset:2px;border-color:var(--booking-brand-secondary)}.faq-input::placeholder{color:#a0aec0}.faq-send{background:var(--booking-brand-secondary);width:44px;height:44px;color:var(--booking-surface);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,transform .2s;display:flex}.faq-send:hover:not(:disabled){background:var(--booking-brand-primary-dark);transform:scale(1.05)}.faq-send:disabled{opacity:.5;cursor:not-allowed}.faq-footer{border-top:1px solid var(--booking-border);text-align:center;background:#f7fafc;padding:20px 24px}.faq-footer p{color:var(--booking-muted);margin:0 0 8px;font-size:.8rem}.faq-phone{color:var(--booking-brand-primary);align-items:center;gap:6px;font-size:1.1rem;font-weight:600;text-decoration:none;display:inline-flex}.faq-availability{color:var(--booking-muted);margin-top:4px;font-size:.75rem;display:block}.help-button{background:var(--booking-brand-secondary);color:var(--booking-surface);cursor:pointer;z-index:997;border:none;border-radius:50px;align-items:center;gap:8px;padding:12px 20px;transition:background .2s,box-shadow .2s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 12px #2d5a4a4d}.help-button:hover{background:var(--booking-brand-primary-dark);box-shadow:0 6px 16px #2d5a4a66}:where(a,button,input,select,textarea,[role=button],[role=radio],[role=option]):focus-visible{outline:2px solid var(--booking-focus-ring);outline-offset:2px}.address-suggestions li[role=option]{justify-content:center;min-height:44px}.help-link,.btn-back,.manual-address-link{align-items:center;min-height:44px;display:inline-flex}.edit-link{min-height:0;line-height:1;display:inline}.faq-overlay{cursor:pointer;border:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.help-icon{background:#fff3;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.9rem;font-weight:700;display:flex}.help-text{font-size:.95rem;font-weight:600}@media (max-width:1024px){.quote-grid,.checkout-grid{grid-template-columns:1fr}.quote-summary,.payment-column{position:static}.package-comparison,.option-columns{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.quote-layout{flex-direction:column}.quote-sidebar{width:100%;padding:32px 24px}.quote-main{padding:40px 24px}.header,.config-content{padding-left:20px;padding-right:20px}.product-grid,.keepsake-grid{grid-template-columns:1fr}.progress-tracker{overflow-x:auto}.tracker-item{flex-shrink:0;min-width:90px}.mobile-phone-input-row{grid-template-columns:1fr}.faq-panel{width:100%}.help-button{padding:10px 16px;bottom:16px;right:16px}.help-text{display:none}.help-icon{width:28px;height:28px}}
