:root{--font-family: "Lexend",Helvetica,Arial,sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-xxl: 22px;--line-height-tight: 1.3;--line-height-base: 1.5;--line-height-relaxed: 1.6;--spacing-xs: 8px;--spacing-sm: 12px;--spacing-base: 16px;--spacing-lg: 20px;--spacing-xl: 24px;--spacing-xxl: 32px;--border-radius-sm: 4px;--border-radius-base: 6px;--border-radius-lg: 8px;--transition-fast: 0.15s ease;--transition-base: 0.3s ease;--color-primary: #007bff;--color-primary-dark: #0056b3;--color-success: #28a745;--color-success-light: #d4edda;--color-warning: #856404;--color-warning-light: #fff3cd;--color-danger: #dc3545;--color-text: #2c3e50;--color-text-muted: #6c757d;--color-text-light: #adb5bd;--color-bg-light: #f8f9fa;--color-border: #e9ecef;--color-border-dark: #dee2e6}header,main,footer,nav,section,article,fieldset,dl,dt,dd{margin: 0;padding: 0}fieldset{border: none;min-width: 0}legend.sr-only{position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0,0,0,0);white-space: nowrap;border-width: 0}.booking-compact{background: #ffffff;border-radius: var(--border-radius-lg);box-shadow: 0 4px 20px rgba(0,0,0,0.08);max-width: 100%;width: 100%;box-sizing: border-box;color: var(--color-text);font-size: var(--font-size-base);line-height: var(--line-height-base);font-family: var(--font-family);position: relative;height: auto;min-height: 0;max-height: none;overflow: visible}.booking-compact *{box-sizing: border-box}.booking-compact{color: #2c3e50 !important}.booking-compact h2,.booking-compact h3,.booking-compact h4,.booking-compact h5,.booking-compact h6{color: #2c3e50 !important}.booking-compact p,.booking-compact span,.booking-compact div,.booking-compact label{color: #2c3e50 !important}.booking-compact td,.booking-compact th{color: #2c3e50 !important}.booking-compact input,.booking-compact select,.booking-compact textarea{color: #2c3e50 !important}.booking-compact dt,.booking-compact dd{color: #2c3e50 !important}.booking-compact .step-circle{color: var(--color-text-muted) !important}.booking-compact .step-item-modern.active .step-circle,.booking-compact button.step-item-modern.active .step-circle{color: #ffffff !important}.booking-compact .step-item-modern.completed .step-circle,.booking-compact button.step-item-modern.completed .step-circle{color: #ffffff !important}.booking-compact .step-item-modern.active .step-title,.booking-compact button.step-item-modern.active .step-title{color: var(--color-primary) !important}.booking-compact .step-item-modern.completed .step-title,.booking-compact button.step-item-modern.completed .step-title{color: var(--color-success) !important}.booking-compact .step-desc{color: var(--color-text-light) !important}.booking-compact .btn-check-postcode{color: #ffffff !important}.booking-compact .btn-navigation{color: #ffffff !important}.booking-compact .btn-previous{color: var(--color-text) !important}.booking-compact .volume-option .price,.booking-compact label.volume-option span.price{color: #ffffff !important}.booking-compact .price-row.total,.booking-compact .price-row.total span,.booking-compact dl.price-summary dt.total-label,.booking-compact dl.price-summary dd.total-value,.booking-compact dl.payment-summary dt.total-label,.booking-compact dl.payment-summary dd.total-value{color: #ffffff !important}.booking-compact .service-info-card h4,.booking-compact article.service-info-card h4{color: #155724 !important}.booking-compact .service-info-card p,.booking-compact article.service-info-card p{color: #155724 !important}.booking-compact .call-out-fee,.booking-compact p.call-out-fee{color: var(--color-warning) !important}.booking-compact .call-out-fee strong,.booking-compact p.call-out-fee strong{color: #664d03 !important}.booking-compact .service-info-notice,.booking-compact p.service-info-notice{color: #004085 !important}.booking-compact .service-info-notice strong,.booking-compact p.service-info-notice strong{color: #002752 !important}.booking-compact .postcode-message.success,.booking-compact .postcode-validation-message.success{color: #28a745 !important}.booking-compact .postcode-message.error,.booking-compact .postcode-validation-message.error{color: #dc3545 !important}.booking-compact .postcode-message.loading,.booking-compact .postcode-validation-message.loading{color: #6c757d !important}.booking-compact .service-option p,.booking-compact label.service-option p{color: var(--color-text-muted) !important}.booking-compact .volume-option .dimensions,.booking-compact .volume-option .description,.booking-compact label.volume-option span.dimensions,.booking-compact label.volume-option span.description{color: var(--color-text-muted) !important}.booking-compact .success-panel h3{color: var(--color-success) !important}.booking-compact .success-panel p{color: #2c3e50 !important}.booking-compact .success-icon,.booking-compact .success-icon i{color: var(--color-success) !important}.booking-compact .booking-reference strong{color: #2c3e50 !important}.booking-compact .checkbox-label span{color: #2c3e50 !important}.booking-compact .checkbox-label a{color: var(--color-primary) !important}.booking-compact i{color: inherit}.booking-compact h3 i{color: var(--color-primary) !important}.booking-compact .security-info i{color: var(--color-success) !important}.booking-compact .booking-reference i{color: var(--color-success) !important}.booking-compact .next-steps li i{color: var(--color-primary) !important}.booking-compact .step-progress li::before,.booking-compact .step-progress li::after{content: none;display: none}.booking-compact i,.booking-compact .fa,.booking-compact .fas{display: inline-block;line-height: inherit}.booking-compact-header,header.booking-compact-header{position: relative;z-index: 10;background: #ffffff;padding: 20px 24px;border-bottom: 2px solid var(--color-border);border-radius: var(--border-radius-lg) var(--border-radius-lg) 0 0}@media (max-width: 768px){.booking-compact-header,header.booking-compact-header{padding: 16px 18px}}h2.compact-title{text-align: center;font-size: 20px;font-weight: 700;color: #2c3e50;margin: 0 0 16px 0;line-height: 1.3;padding: 0}@media (max-width: 768px){h2.compact-title{font-size: 18px;margin: 0 0 12px 0}}nav.step-progress-modern,.step-progress-modern{display: flex;justify-content: space-between;align-items: center;margin: 0;padding: 8px 0 0 0;position: relative}button.step-item-modern,.step-item-modern{background: none;border: none;cursor: pointer;padding: 0;display: flex;flex-direction: column;align-items: center;flex: 1;position: relative;z-index: 1;font-family: inherit}button.step-item-modern .step-circle,.step-item-modern .step-circle,.step-circle{width: 32px;height: 32px;border-radius: 50%;background: #ffffff;border: 2px solid var(--color-border);display: flex;align-items: center;justify-content: center;font-size: 13px;font-weight: 700;color: var(--color-text-muted);transition: background 0.15s ease,border-color 0.15s ease,color 0.15s ease;margin-bottom: 6px;box-shadow: 0 2px 4px rgba(0,0,0,0.08)}button.step-item-modern .step-title,.step-item-modern .step-title,.step-title{display: block;font-size: var(--font-size-xs);color: var(--color-text-muted) !important;font-weight: 600;line-height: var(--line-height-tight);margin-bottom: 2px}button.step-item-modern .step-desc,.step-item-modern .step-desc,.step-desc{display: block;font-size: 11px;color: var(--color-text-light) !important;line-height: var(--line-height-tight)}.step-connector{display: none}button.step-item-modern.active .step-circle,.step-item-modern.active .step-circle{background: var(--color-primary);border-color: var(--color-primary);color: #ffffff;box-shadow: 0 2px 8px rgba(0,123,255,0.3)}button.step-item-modern.active .step-title,.step-item-modern.active .step-title{color: var(--color-primary);font-weight: 700}button.step-item-modern.completed .step-circle,.step-item-modern.completed .step-circle{background: var(--color-success);border-color: var(--color-success);color: #ffffff}.step-item-modern.completed .step-circle::after{content: '✓';font-size: 16px;font-weight: 700;color: #ffffff}button.step-item-modern.completed .step-title,.step-item-modern.completed .step-title{color: var(--color-success)}main.booking-compact-body,.booking-compact-body{padding: 20px 24px;overflow: visible;min-height: 420px}@media (max-width: 768px){main.booking-compact-body,.booking-compact-body{padding: 16px 18px;min-height: 380px}}section.step-panel,.step-panel{display: none}section.step-panel.active,.step-panel.active{display: block}article.service-info-card,.service-info-card{background: var(--color-success-light);border: 2px solid var(--color-success);border-radius: var(--border-radius-base);padding: 12px 16px;margin-bottom: 16px;text-align: center}article.service-info-card h4,.service-info-card h4{color: #155724;font-size: 17px;font-weight: 700;margin: 0 0 8px 0}article.service-info-card p,.service-info-card p{color: #155724;font-size: var(--font-size-sm);margin: 0;line-height: var(--line-height-base)}fieldset.simple-postcode-field,.simple-postcode-field{margin-bottom: var(--spacing-base)}fieldset.simple-postcode-field label,.simple-postcode-field label{display: block;margin-bottom: var(--spacing-xs);font-weight: 600;color: #2c3e50;font-size: var(--font-size-sm)}.postcode-input-group{display: flex;flex-wrap: wrap;gap: var(--spacing-sm);align-items: stretch}.postcode-input-group input{flex: 0 1 60%;padding: 12px 14px;border: 2px solid #e9ecef;border-radius: var(--border-radius-base);font-size: var(--font-size-base);transition: all var(--transition-base);min-height: 44px;color: var(--color-text)}.postcode-input-group input:focus{outline: none;border-color: #007bff;box-shadow: 0 0 0 3px rgba(0,123,255,0.1)}.btn-check-postcode{flex: 0 1 35%;padding: var(--spacing-sm) var(--spacing-base);background: linear-gradient(135deg,#007bff 0%,#0056b3 100%);color: #ffffff;border: none;border-radius: var(--border-radius-base);font-size: var(--font-size-sm);font-weight: 600;cursor: pointer;white-space: nowrap;transition: all var(--transition-base);min-height: 44px;display: flex;align-items: center;justify-content: center;box-shadow: 0 2px 4px rgba(0,123,255,0.2);text-transform: uppercase;letter-spacing: 0.5px}.btn-check-postcode:hover{background: linear-gradient(135deg,#0056b3 0%,#004085 100%);transform: translateY(-2px);box-shadow: 0 4px 12px rgba(0,123,255,0.3)}.btn-check-postcode:active{transform: translateY(0);box-shadow: 0 1px 3px rgba(0,123,255,0.2)}p.postcode-message,.postcode-message,p.postcode-validation-message,.postcode-validation-message{flex-basis: 100%;margin-top: var(--spacing-xs);margin-bottom: 0;padding: 0;font-size: var(--font-size-xs);font-weight: 400;background: transparent;border: none;line-height: var(--line-height-base)}.postcode-message.success,.postcode-validation-message.success{color: #28a745}.postcode-message.error,.postcode-validation-message.error{color: #dc3545}.postcode-message.loading,.postcode-validation-message.loading{color: #6c757d}.booking-compact h3{font-size: 17px;font-weight: 700;color: var(--color-text);margin: 16px 0 12px 0;line-height: 1.3}.booking-compact h3 i{color: var(--color-primary);margin-right: var(--spacing-xs)}.size-method-grid{display: grid;grid-template-columns: 1fr 1fr;gap: 10px;margin-bottom: 14px}label.service-option,.service-option{border: 2px solid var(--color-border);border-radius: var(--border-radius-base);padding: 12px;cursor: pointer;transition: all var(--transition-base);position: relative;background: #ffffff;box-shadow: 0 2px 4px rgba(0,0,0,0.06);display: block}label.service-option input[type="radio"],.service-option input[type="radio"]{position: absolute;top: var(--spacing-sm);right: var(--spacing-sm);width: 20px;height: 20px;margin: 0;cursor: pointer;accent-color: var(--color-primary)}label.service-option h4,.service-option h4{font-size: var(--font-size-base);font-weight: 700;color: var(--color-text);margin: 0 0 var(--spacing-xs) 0;line-height: var(--line-height-tight)}label.service-option p,.service-option p{font-size: 12px;color: var(--color-text-muted);margin: 0;line-height: 1.4}label.service-option:hover,.service-option:hover{border-color: var(--color-primary);background: rgba(0,123,255,0.05);transform: translateY(-2px);box-shadow: 0 4px 12px rgba(0,123,255,0.15)}label.service-option.selected,.service-option.selected{border-color: var(--color-primary);background: rgba(0,123,255,0.1);box-shadow: 0 2px 8px rgba(0,123,255,0.25)}.volume-grid{display: grid;grid-template-columns: repeat(2,1fr);gap: 10px;margin-bottom: 14px}label.volume-option,.volume-option{border: 2px solid var(--color-border);border-radius: var(--border-radius-base);padding: 12px;cursor: pointer;transition: all var(--transition-base);text-align: center;position: relative;background: #ffffff;box-shadow: 0 2px 4px rgba(0,0,0,0.06);display: block}label.volume-option input[type="radio"],.volume-option input[type="radio"]{position: absolute;top: var(--spacing-sm);right: var(--spacing-sm);width: 18px;height: 18px;margin: 0;cursor: pointer;accent-color: var(--color-primary)}label.volume-option strong.size-label,.volume-option .size-label{display: block;font-size: var(--font-size-base);font-weight: 700;color: var(--color-text);margin-bottom: var(--spacing-xs)}label.volume-option span.dimensions,.volume-option .dimensions{display: block;font-size: 11px;color: var(--color-text-muted);margin-bottom: 3px;line-height: 1.4}label.volume-option span.description,.volume-option .description{display: block;font-size: 11px;color: var(--color-text-muted);margin-bottom: 8px;line-height: 1.4}label.volume-option span.price,.volume-option .price{display: inline-block;font-size: 13px;font-weight: 700;color: #ffffff;background: var(--color-primary);padding: 5px 12px;border-radius: var(--border-radius-sm)}label.volume-option:hover,.volume-option:hover{border-color: var(--color-primary);background: rgba(0,123,255,0.05);transform: translateY(-2px);box-shadow: 0 4px 12px rgba(0,123,255,0.15)}label.volume-option.selected,.volume-option.selected{border-color: var(--color-primary);background: rgba(0,123,255,0.1);box-shadow: 0 2px 8px rgba(0,123,255,0.25)}label.volume-option.selected span.price,.volume-option.selected .price{background: var(--color-primary-dark)}p.call-out-fee,.call-out-fee{background: var(--color-warning-light);border: 2px solid #ffc107;border-radius: var(--border-radius-base);padding: 12px 16px;margin-bottom: 14px;text-align: center;color: var(--color-warning);font-size: 13px;line-height: 1.4}p.call-out-fee strong,.call-out-fee strong{color: #664d03;font-weight: 700}p.service-info-notice,.service-info-notice{background: #e7f3ff;border: 2px solid var(--color-primary);border-radius: var(--border-radius-base);padding: 12px 16px;margin-bottom: 14px;text-align: center;color: #004085;font-size: 13px;font-weight: 500;line-height: 1.4}p.service-info-notice strong,.service-info-notice strong{color: #002752;font-weight: 700}.items-table-compact{width: 100%;border-collapse: collapse;margin-bottom: var(--spacing-lg);font-size: var(--font-size-sm);background: #ffffff}.items-table-compact th{background: var(--color-bg-light);padding: 12px;text-align: left;font-weight: 700;color: var(--color-text);border-bottom: 2px solid var(--color-border-dark);font-size: 13px}.items-table-compact th:nth-child(2),.items-table-compact td:nth-child(2){text-align: center !important}.items-table-compact th:nth-child(3),.items-table-compact td:nth-child(3){text-align: right !important}.items-table-compact td{padding: 12px;border-bottom: 1px solid var(--color-border);vertical-align: middle;font-size: 13px;color: var(--color-text)}.items-table-compact tbody tr:hover{background: rgba(0,123,255,0.02)}.items-table-compact tr:last-child td{border-bottom: none}.items-table-compact .item-total,.items-table-compact .extra-total{font-weight: 600;color: var(--color-text)}.items-table-compact .item-unit-price{color: var(--color-success);font-weight: 600;font-size: 0.95em;margin-left: 4px}.quantity-selector{display: flex;align-items: center;gap: var(--spacing-xs);justify-content: center}.qty-btn{width: 28px;height: 28px;border: 2px solid var(--color-border);background: #ffffff;border-radius: var(--border-radius-sm);cursor: pointer;display: flex;align-items: center;justify-content: center;font-size: var(--font-size-base);font-weight: 700;color: var(--color-text-muted);transition: all var(--transition-fast)}.qty-btn:hover:not(:disabled){background: var(--color-primary);border-color: var(--color-primary);color: #ffffff;transform: scale(1.1)}.qty-btn:disabled{opacity: 0.4;cursor: not-allowed}.qty-input{width: 44px;height: 28px;text-align: center;border: 2px solid var(--color-border);border-radius: var(--border-radius-sm);font-size: var(--font-size-sm);font-weight: 700;padding: 0;color: var(--color-text);background: var(--color-bg-light)}dl.price-summary,.price-summary{background: var(--color-bg-light);border-radius: var(--border-radius-base);padding: 14px 18px;margin-top: 16px;border: 2px solid var(--color-border);box-shadow: 0 2px 4px rgba(0,0,0,0.05)}dl.price-summary,dl.payment-summary{display: grid;grid-template-columns: 1fr auto;gap: 10px 14px;align-items: center}dl.price-summary dt,dl.payment-summary dt{font-size: var(--font-size-sm);color: var(--color-text);line-height: var(--line-height-base);font-weight: 500;text-align: left;grid-column: 1}dl.price-summary dd,dl.payment-summary dd{font-size: var(--font-size-sm);color: var(--color-text);font-weight: 700;text-align: right;margin: 0;grid-column: 2}.price-row{display: flex;justify-content: space-between;align-items: center;padding: 10px 0;font-size: 13px;color: var(--color-text);line-height: 1.4;font-weight: 500}.price-row span:last-child{font-weight: 700}dl.price-summary dt.total-label,dl.payment-summary dt.total-label{grid-column: 1;font-size: var(--font-size-lg);font-weight: 700;color: #ffffff;background: var(--color-primary);padding: var(--spacing-base) var(--spacing-lg);margin: var(--spacing-base) calc(-1 * var(--spacing-lg)) calc(-1 * var(--spacing-base));border-radius: 0 0 0 var(--border-radius-base);text-align: left}dl.price-summary dd.total-value,dl.payment-summary dd.total-value{grid-column: 2;font-size: var(--font-size-lg);font-weight: 700;color: #ffffff;background: var(--color-primary);padding: var(--spacing-base) var(--spacing-lg);margin: var(--spacing-base) calc(-1 * var(--spacing-lg)) calc(-1 * var(--spacing-base));border-radius: 0 0 var(--border-radius-base) 0;text-align: right}.price-row.total{border-top: 3px solid var(--color-primary);margin-top: var(--spacing-base);padding-top: var(--spacing-base);font-size: var(--font-size-lg);font-weight: 700;color: #ffffff;background: var(--color-primary);margin-left: calc(-1 * var(--spacing-lg));margin-right: calc(-1 * var(--spacing-lg));margin-bottom: calc(-1 * var(--spacing-base));padding-left: var(--spacing-lg);padding-right: var(--spacing-lg);padding-bottom: var(--spacing-base);border-radius: 0 0 var(--border-radius-base) var(--border-radius-base)}.price-row.total span{color: #ffffff}dl.payment-summary{margin-top: 0;margin-bottom: var(--spacing-lg)}.payment-summary{background: var(--color-bg-light);border-radius: var(--border-radius-base);padding: var(--spacing-base) var(--spacing-lg);margin-bottom: var(--spacing-lg);border: 2px solid var(--color-border)}fieldset.compact-form,.compact-form{margin-bottom: 14px}.form-row{display: grid;grid-template-columns: 1fr 1fr;gap: 10px;margin-bottom: 10px}.compact-form label,.form-row label{display: block;margin-bottom: 10px;font-size: 13px;font-weight: 700;color: var(--color-text);line-height: 1.3}.compact-form label input,.compact-form label select,.compact-form label textarea,.form-row label input,.form-row label select,.form-row label textarea{margin-top: 6px;display: block;width: 100%;padding: 10px 14px;border: 2px solid var(--color-border);border-radius: var(--border-radius-base);font-size: 13px;transition: all var(--transition-base);background: #ffffff;line-height: 1.4;color: var(--color-text);font-weight: 400}.compact-form label input::placeholder,.compact-form label textarea::placeholder,.form-row label input::placeholder,.form-row label textarea::placeholder{color: var(--color-text-light)}.compact-form label input:focus,.compact-form label select:focus,.compact-form label textarea:focus,.form-row label input:focus,.form-row label select:focus,.form-row label textarea:focus{outline: none;border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(0,123,255,0.15);background: #fafbfc}.form-group{margin-bottom: var(--spacing-sm)}.form-group label{display: block;margin-bottom: var(--spacing-xs);font-size: var(--font-size-sm);font-weight: 700;color: var(--color-text);line-height: var(--line-height-tight)}.form-group input,.form-group select,.form-group textarea{width: 100%;padding: var(--spacing-sm) var(--spacing-base);border: 2px solid var(--color-border);border-radius: var(--border-radius-base);font-size: var(--font-size-sm);transition: all var(--transition-base);background: #ffffff;line-height: var(--line-height-base);color: var(--color-text)}.form-group input::placeholder,.form-group textarea::placeholder{color: var(--color-text-light)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline: none;border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(0,123,255,0.15);background: #fafbfc}article.review-section,.review-section{background: var(--color-bg-light);padding: 16px;border-radius: var(--border-radius-base);margin-bottom: 16px;border-left: 4px solid var(--color-primary)}article.review-section dl{display: grid;grid-template-columns: auto 1fr;gap: 8px 14px;margin: 0}article.review-section dt{font-weight: 700;color: var(--color-text);font-size: var(--font-size-sm);line-height: var(--line-height-base)}article.review-section dd{color: var(--color-text);font-size: var(--font-size-sm);margin: 0;line-height: var(--line-height-base)}fieldset.compact-checkboxes,.compact-checkboxes{margin: var(--spacing-base) 0}label.checkbox-label,.checkbox-label{display: flex;align-items: flex-start;gap: var(--spacing-sm);margin-bottom: var(--spacing-sm);cursor: pointer;font-weight: 400}label.checkbox-label input[type="checkbox"],.checkbox-label input[type="checkbox"]{margin-top: 2px;width: 16px;height: 16px;flex-shrink: 0;cursor: pointer}label.checkbox-label span,.checkbox-label span{font-size: var(--font-size-sm);color: var(--color-text);line-height: var(--line-height-base);font-weight: 400}label.checkbox-label.checkbox-small span,.checkbox-label.checkbox-small span{font-size: 0.75rem;line-height: 1.4}label.checkbox-label a,.checkbox-label a{color: var(--color-primary);text-decoration: underline;font-weight: 600}label.checkbox-label a:hover,.checkbox-label a:hover{color: var(--color-primary-dark)}.step-panel h3.payment-heading{margin-top: var(--spacing-xl);margin-bottom: var(--spacing-base)}.stripe-element{border: 2px solid var(--color-border);border-radius: var(--border-radius-base);padding: var(--spacing-lg);margin-bottom: var(--spacing-base);background: #ffffff}.stripe-errors{color: var(--color-danger);font-size: var(--font-size-sm);margin-top: var(--spacing-sm);font-weight: 600}p.security-info,.security-info{display: flex;align-items: center;justify-content: center;gap: var(--spacing-sm);font-size: var(--font-size-sm);color: var(--color-text-muted);margin-top: var(--spacing-base);padding: var(--spacing-sm);background: var(--color-bg-light);border-radius: var(--border-radius-base)}p.security-info i,.security-info i{color: var(--color-success)}section.success-panel,.success-panel{text-align: center;padding: var(--spacing-xxl)}.success-content{max-width: 600px;margin: 0 auto}.success-icon{font-size: 64px;color: var(--color-success);margin-bottom: var(--spacing-lg)}.success-panel h3{font-size: var(--font-size-xxl);color: var(--color-success);margin-bottom: var(--spacing-base);font-weight: 700}.success-panel p{font-size: var(--font-size-base);color: var(--color-text);margin-bottom: var(--spacing-lg);line-height: var(--line-height-base)}.booking-details{background: var(--color-bg-light);padding: var(--spacing-lg);border-radius: var(--border-radius-base);margin: var(--spacing-lg) 0}p.booking-reference,.booking-reference{background: #ffffff;padding: var(--spacing-base);border-radius: var(--border-radius-base);margin-bottom: var(--spacing-base);border: 2px solid var(--color-success)}p.booking-reference i,.booking-reference i{color: var(--color-success);margin-right: var(--spacing-xs)}p.booking-reference strong,.booking-reference strong{color: var(--color-text);font-size: var(--font-size-lg)}ul.next-steps,.next-steps{list-style: none;padding: 0;margin: var(--spacing-base) 0 0 0;text-align: left}ul.next-steps li,.next-steps .step-item{display: flex;align-items: center;gap: var(--spacing-base);padding: var(--spacing-sm) 0;color: var(--color-text);font-size: var(--font-size-sm)}ul.next-steps li i,.next-steps .step-item i{color: var(--color-primary);font-size: var(--font-size-lg);width: 24px;flex-shrink: 0}.success-actions{display: flex;gap: var(--spacing-sm);justify-content: center;margin-top: var(--spacing-lg)}.btn-step{padding: var(--spacing-base) var(--spacing-xl);border-radius: var(--border-radius-base);font-size: var(--font-size-sm);font-weight: 700;text-decoration: none;display: inline-block;transition: all var(--transition-base);cursor: pointer;border: none}.btn-primary{background: var(--color-primary);color: #ffffff}.btn-primary:hover{background: var(--color-primary-dark);transform: translateY(-2px);box-shadow: 0 4px 12px rgba(0,123,255,0.3)}.btn-secondary{background: var(--color-success);color: #ffffff}.btn-secondary:hover{background: #1e7e34;transform: translateY(-2px);box-shadow: 0 4px 12px rgba(40,167,69,0.3)}footer.booking-compact-footer,.booking-compact-footer{position: relative;z-index: 10;background: #ffffff;border-top: 1px solid var(--color-border);border-radius: 0 0 var(--border-radius-lg) var(--border-radius-lg);padding: 12px 16px}nav.form-navigation-improved,.form-navigation-improved{display: flex;justify-content: space-between;align-items: center;width: 100%}.btn-navigation{padding: 12px 20px;border: none;border-radius: 50px;font-size: 13px;font-weight: 700;cursor: pointer;transition: background 0.15s ease,box-shadow 0.15s ease,transform 0.15s ease;display: inline-flex;align-items: center;justify-content: center;gap: 10px;min-height: 44px;box-shadow: 0 4px 12px rgba(0,0,0,0.15);text-transform: uppercase;letter-spacing: 0.5px}.btn-previous{background: #ffffff;color: var(--color-text);border: 2px solid var(--color-border)}.btn-previous:hover{background: var(--color-bg-light);border-color: var(--color-text-muted);transform: translateY(-3px);box-shadow: 0 6px 16px rgba(0,0,0,0.2)}.btn-previous:active{transform: translateY(-1px);box-shadow: 0 2px 8px rgba(0,0,0,0.15)}.btn-next-improved{margin-left: auto;background: var(--color-primary);color: #ffffff}.btn-next-improved:hover:not(:disabled){background: var(--color-primary-dark);transform: translateY(-3px);box-shadow: 0 6px 20px rgba(0,123,255,0.4)}.btn-next-improved:active{transform: translateY(-1px);box-shadow: 0 2px 8px rgba(0,123,255,0.3)}.btn-next-improved:disabled{opacity: 0.5;cursor: not-allowed;background: var(--color-text-light);box-shadow: 0 2px 6px rgba(0,0,0,0.1)}.btn-navigation i{font-size: var(--font-size-base)}p.step-counter-label,.step-counter-label{text-align: center;font-size: 12px;font-weight: 600;color: var(--color-text-muted) !important;margin: 0 0 4px 0;padding: 0;letter-spacing: 0.5px;text-transform: uppercase}p.price-hint-label,.price-hint-label{text-align: center;font-size: 13px;color: var(--color-success) !important;margin: 0 0 14px 0;padding: 8px 12px;background: #f0faf3;border-radius: var(--border-radius-base);border: 1px solid #d4edda;font-weight: 500}.price-hint-label i{color: var(--color-success) !important;margin-right: 6px}.price-hint-label strong{color: #155724 !important;font-weight: 700;font-size: 15px}.address-confirmation{background: #f0faf3;border: 2px solid var(--color-success);border-radius: var(--border-radius-base);padding: 10px 14px;margin-bottom: 14px;font-size: 13px;font-weight: 500;color: #155724 !important;line-height: 1.4}.address-confirmation i{color: var(--color-success) !important}#section-contact .bg-white.rounded-1{padding: 0 !important;overflow: hidden;position: relative}#section-contact .col-lg-7{padding-left: 15px;padding-right: 15px}@media (min-width: 992px){#section-contact .col-lg-7{padding-left: 20px;padding-right: 20px}}#section-contact .booking-compact{max-width: 100%}#section-contact{scroll-behavior: auto}#section-contact .row.g-4{align-items: flex-start}#section-contact .v-center{min-height: 0;height: auto;align-items: flex-start;padding: 40px 0}@media (min-width: 992px){#section-contact .v-center{padding: 60px 0}}@media (max-width: 768px){.booking-compact{height: auto;min-height: 0;max-height: none;overflow: visible;border-radius: 0}.booking-compact-header,.booking-compact-header *{overflow: visible !important}.booking-compact-header,header.booking-compact-header{display: block !important;visibility: visible !important;opacity: 1 !important;padding: 16px 18px 20px 18px !important;border-radius: 0;overflow: visible !important;min-height: auto !important;height: auto !important;max-height: none !important;position: relative !important;z-index: 10 !important;background: #ffffff !important;border-bottom: 2px solid var(--color-border) !important;-webkit-font-smoothing: antialiased !important;-moz-osx-font-smoothing: grayscale !important;text-rendering: optimizeLegibility !important}h2.compact-title{font-size: 18px !important;font-weight: 700 !important;color: #2c3e50 !important;text-align: center !important;margin: 0 0 12px 0 !important;line-height: 1.3 !important;padding: 0 !important;display: block !important;visibility: visible !important;opacity: 1 !important;-webkit-font-smoothing: antialiased !important;-moz-osx-font-smoothing: grayscale !important;text-rendering: optimizeLegibility !important;-webkit-text-size-adjust: 100% !important;text-size-adjust: 100% !important}nav.step-progress-modern,.step-progress-modern{display: flex !important;visibility: visible !important;opacity: 1 !important;padding: 8px 0 0 0 !important;min-height: 70px !important;height: auto !important;width: 100% !important;flex-wrap: nowrap !important;justify-content: space-between !important;align-items: flex-start !important;gap: 6px !important;overflow: visible !important;position: relative !important;z-index: 10 !important;-webkit-font-smoothing: antialiased !important;-moz-osx-font-smoothing: grayscale !important;text-rendering: optimizeLegibility !important}button.step-item-modern,.step-item-modern{display: flex !important;visibility: visible !important;opacity: 1 !important;flex: 1 1 0 !important;flex-basis: 0 !important;min-width: 0 !important;max-width: none !important;width: auto !important;height: auto !important;min-height: 60px !important;overflow: hidden !important;-webkit-font-smoothing: antialiased !important;-moz-osx-font-smoothing: grayscale !important;text-rendering: optimizeLegibility !important;margin: 0 !important;padding: 0 3px !important;box-sizing: border-box !important}button.step-item-modern .step-circle,.step-item-modern .step-circle,.step-circle{width: 32px !important;height: 32px !important;font-size: 12px !important;min-width: 32px !important;min-height: 32px !important;max-width: 32px !important;max-height: 32px !important;display: flex !important;visibility: visible !important;opacity: 1 !important;flex-shrink: 0 !important;-webkit-font-smoothing: antialiased !important;-moz-osx-font-smoothing: grayscale !important;text-rendering: optimizeLegibility !important;-webkit-text-size-adjust: 100% !important;text-size-adjust: 100% !important;margin: 0 auto 6px auto !important;padding: 0 !important}button.step-item-modern .step-title,.step-item-modern .step-title,.step-title{font-size: 10px !important;line-height: 1.2 !important;display: block !important;visibility: visible !important;opacity: 1 !important;width: 100% !important;max-width: 100% !important;text-align: center !important;white-space: normal !important;overflow-wrap: break-word !important;word-break: break-word !important;overflow: hidden !important;-webkit-text-size-adjust: 100% !important;text-size-adjust: 100% !important;-webkit-font-smoothing: antialiased !important;-moz-osx-font-smoothing: grayscale !important;text-rendering: optimizeLegibility !important;color: var(--color-text-muted) !important;font-weight: 600 !important;margin: 0 !important;padding: 0 !important;box-sizing: border-box !important}button.step-item-modern .step-desc,.step-item-modern .step-desc,.step-desc{display: none !important}main.booking-compact-body,.booking-compact-body{padding: var(--spacing-base) var(--spacing-lg)}article.service-info-card,.service-info-card{padding: var(--spacing-sm) var(--spacing-base);margin-bottom: var(--spacing-base)}article.service-info-card h4,.service-info-card h4{font-size: var(--font-size-base)}article.service-info-card p,.service-info-card p{font-size: var(--font-size-xs)}.booking-compact h3{font-size: var(--font-size-base);margin: var(--spacing-base) 0 var(--spacing-sm) 0}.postcode-input-group{flex-direction: column;gap: var(--spacing-sm)}.postcode-input-group input,.btn-check-postcode{flex: 1 1 auto;width: 100%;max-width: 100%}.volume-grid{grid-template-columns: 1fr;gap: var(--spacing-sm)}.size-method-grid{grid-template-columns: 1fr;gap: var(--spacing-sm)}.form-row{grid-template-columns: 1fr;gap: var(--spacing-sm)}label.service-option,label.volume-option,.service-option,.volume-option{padding: var(--spacing-sm)}label.service-option h4,.service-option h4{font-size: var(--font-size-sm)}label.service-option p,.service-option p{font-size: var(--font-size-xs)}label.volume-option strong.size-label,.volume-option .size-label{font-size: var(--font-size-sm)}label.volume-option span.dimensions,label.volume-option span.description,.volume-option .dimensions,.volume-option .description{font-size: 11px}label.volume-option span.price,.volume-option .price{font-size: var(--font-size-xs);padding: 4px var(--spacing-sm)}.items-table-compact{font-size: 11px}.items-table-compact th,.items-table-compact td{padding: 8px 6px;font-size: 11px}.items-table-compact th{font-size: 11px;padding: 10px 6px}.items-table-compact th:nth-child(2),.items-table-compact td:nth-child(2){text-align: center !important}.items-table-compact th:nth-child(3),.items-table-compact td:nth-child(3){text-align: right !important}.items-table-compact .item-unit-price{font-size: 10px}.items-table-compact .item-total,.items-table-compact .extra-total{font-size: 11px}.step-panel h3{font-size: 16px;margin-bottom: 12px}p.call-out-fee,p.service-info-notice,.call-out-fee,.service-info-notice{padding: var(--spacing-sm) var(--spacing-base);font-size: var(--font-size-xs)}dl.price-summary,dl.payment-summary,.price-summary,.payment-summary{padding: 10px 12px;margin-top: 12px;font-size: 11px}dl.price-summary dt,dl.price-summary dd,dl.payment-summary dt,dl.payment-summary dd{font-size: 11px}.price-row{font-size: 11px;padding: 5px 0}dl.price-summary dt.total-label,dl.price-summary dd.total-value,dl.payment-summary dt.total-label,dl.payment-summary dd.total-value,.price-row.total{font-size: 12px;padding: 8px 0}dl.price-summary dt.total-label,dl.price-summary dd.total-value,dl.payment-summary dt.total-label,dl.payment-summary dd.total-value{margin: var(--spacing-sm) calc(-1 * var(--spacing-base)) calc(-1 * var(--spacing-sm))}.price-row.total{margin-left: calc(-1 * var(--spacing-base));margin-right: calc(-1 * var(--spacing-base));padding-left: var(--spacing-base);padding-right: var(--spacing-base)}.compact-form label,.form-row label,.form-group label{font-size: var(--font-size-xs)}.compact-form label input,.compact-form label select,.compact-form label textarea,.form-row label input,.form-row label select,.form-row label textarea,.form-group input,.form-group select,.form-group textarea{font-size: 16px;padding: 14px 16px;min-height: 44px}article.review-section,.review-section{padding: var(--spacing-sm) var(--spacing-base)}article.review-section dl{gap: 6px var(--spacing-sm)}article.review-section dt,article.review-section dd{font-size: var(--font-size-xs)}label.checkbox-label,.checkbox-label{gap: var(--spacing-xs)}label.checkbox-label input[type="checkbox"],.checkbox-label input[type="checkbox"]{width: 24px;height: 24px;min-width: 24px;min-height: 24px;margin-top: 0}label.checkbox-label span,.checkbox-label span{font-size: 13px;line-height: 1.5}.stripe-element{padding: 16px;min-height: 44px}.stripe-element iframe{min-height: 44px}p.security-info,.security-info{font-size: var(--font-size-xs);padding: var(--spacing-xs)}section.success-panel,.success-panel{padding: var(--spacing-lg) var(--spacing-base)}.success-icon{font-size: 48px}.success-panel h3{font-size: var(--font-size-lg)}.success-panel p{font-size: var(--font-size-sm)}.booking-details{padding: var(--spacing-base)}.booking-reference strong{font-size: var(--font-size-base)}ul.next-steps li,.next-steps .step-item{font-size: var(--font-size-xs);gap: var(--spacing-sm)}ul.next-steps li i,.next-steps .step-item i{font-size: var(--font-size-base);width: 20px}.success-actions{flex-direction: column;gap: var(--spacing-sm)}.btn-step{width: 100%;padding: var(--spacing-sm) var(--spacing-base);font-size: var(--font-size-xs)}footer.booking-compact-footer,.booking-compact-footer{padding: 12px 16px}.btn-navigation{padding: 14px 20px;font-size: 14px;min-height: 48px}.btn-navigation i{font-size: var(--font-size-sm)}.qty-btn{width: 44px;height: 44px;min-width: 44px;min-height: 44px;font-size: 18px}.qty-input{height: 44px;min-height: 44px;font-size: 16px}.quantity-selector{gap: 5px}label.checkbox-label{gap: 10px;align-items: flex-start}label.checkbox-label span{padding-top: 2px;line-height: 1.4}.postcode-input-group input{font-size: 16px;padding: 14px 16px}.btn-check-postcode{font-size: 14px;padding: 14px 20px}p.step-counter-label,.step-counter-label{font-size: 11px;margin: 0 0 2px 0}p.price-hint-label,.price-hint-label{font-size: 12px;padding: 6px 10px;margin-bottom: 12px}.address-confirmation{font-size: 12px;padding: 8px 12px}}.datepicker-input{cursor: pointer;background-color: #ffffff;background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='3' y='4' width='18' height='17' rx='3' stroke='%236c757d' stroke-width='1.4'/%3E%3Cline x1='3' y1='10' x2='21' y2='10' stroke='%236c757d' stroke-width='1.4'/%3E%3Cline x1='8' y1='2' x2='8' y2='6' stroke='%236c757d' stroke-width='1.4'/%3E%3Cline x1='16' y1='2' x2='16' y2='6' stroke='%236c757d' stroke-width='1.4'/%3E%3Ccircle cx='12' cy='16' r='2' fill='%236c757d'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: calc(100% - 14px) 50%;background-size: 18px;padding-right: 44px;transition: border-color var(--transition-base),box-shadow var(--transition-base)}.datepicker-input:focus{border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(0,123,255,0.12)}.simple-datepicker{position: absolute;top: 0;left: 0;width: min(280px,calc(100vw - 32px));background: #ffffff;border-radius: 16px;border: 1px solid rgba(18,38,63,0.12);box-shadow: 0 22px 45px rgba(12,25,48,0.18);padding: 18px;opacity: 0;visibility: hidden;transform: translateY(8px);transition: opacity 0.18s ease,transform 0.18s ease;pointer-events: none;z-index: 4000}.simple-datepicker.is-visible{opacity: 1;visibility: visible;transform: translateY(0);pointer-events: auto}.simple-datepicker-header{display: flex;align-items: center;justify-content: space-between;margin-bottom: 12px;color: var(--color-text)}.simple-datepicker-month{font-weight: 600;font-size: 16px}.simple-datepicker-nav{width: 32px;height: 32px;border-radius: 8px;border: none;background: rgba(0,123,255,0.08);color: var(--color-primary);cursor: pointer;font-size: 18px;line-height: 1;transition: background 0.2s ease,color 0.2s ease}.simple-datepicker-nav:hover:not(:disabled){background: var(--color-primary);color: #ffffff}.simple-datepicker-nav:disabled{opacity: 0.4;cursor: not-allowed}.simple-datepicker-weekdays,.simple-datepicker-grid{display: grid;grid-template-columns: repeat(7,1fr);gap: 2px;text-align: center}.simple-datepicker-weekdays{margin-bottom: 6px;font-size: 12px;font-weight: 600;color: var(--color-text-muted);text-transform: uppercase}.simple-datepicker-day{border: none;background: none;padding: 8px 0;border-radius: 10px;font-size: 14px;font-weight: 500;color: var(--color-text);cursor: pointer;transition: background 0.2s ease,color 0.2s ease,transform 0.2s ease}.simple-datepicker-day:hover:not(.is-disabled){background: rgba(0,123,255,0.12);color: var(--color-primary);transform: translateY(-1px)}.simple-datepicker-day.is-today{border: 1px solid rgba(0,123,255,0.35)}.simple-datepicker-day.is-selected{background: var(--color-primary);color: #ffffff;box-shadow: 0 8px 16px rgba(0,123,255,0.2)}.simple-datepicker-day.is-disabled,.simple-datepicker-day.is-outside{color: var(--color-text-light);cursor: not-allowed;opacity: 0.55}.simple-datepicker-day.is-disabled{pointer-events: none}
