:root{--primary-color:#2c5530;--secondary-color:#4a7c59;--accent-color:#f4f7f5;--text-primary:#2d3748;--text-secondary:#718096;--border-color:#e2e8f0;--success-color:#38a169;--warning-color:#d69e2e;--informaton-color:#3182ce;--error-color:#e53e3e;--gradient-bg:linear-gradient(135deg, #2c5530 0%, #4a7c59 100%);--shadow-sm:0 2px 4px rgba(0, 0, 0, 0.05);--shadow-md:0 4px 12px rgba(0, 0, 0, 0.1);--shadow-lg:0 8px 20px rgba(0, 0, 0, 0.15);--border-radius:12px;--transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}*{box-sizing:border-box}html{font-size:18px!important}body{font-size:18px!important;line-height:1.6!important}.him-login-required{max-width:600px;margin:2rem auto;padding:2.5rem;background:#fff;border-radius:var(--border-radius);box-shadow:var(--shadow-md);text-align:center;border-left:4px solid var(--primary-color)}.him-login-required h3{margin:0 0 1.5rem 0;color:var(--primary-color);font-weight:600;font-size:24px!important}.him-login-required p{font-size:18px!important;margin-bottom:1.5rem}.him-login-required a{color:var(--primary-color);text-decoration:none;font-weight:500;font-size:18px!important;padding:.75rem 1.5rem;border:2px solid var(--primary-color);border-radius:var(--border-radius);display:inline-block;margin:1rem 0;transition:var(--transition)}.him-login-required a:hover{background:var(--primary-color);color:#fff}.him-booking-system{max-width:1200px;margin:0 auto;padding:0 1rem;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;line-height:1.6}.booking-header{background:var(--gradient-bg);padding:4rem 2rem;border-radius:var(--border-radius) var(--border-radius) 0 0;color:#fff;text-align:center;margin-bottom:0}.booking-header h2{margin:0 0 1rem 0;font-size:42px!important;font-weight:700;letter-spacing:-.025em;color:white!important}body .booking-header h2{color:white!important}.site-content .booking-header h2{color:white!important}html body .him-booking-system .booking-header h2{color:white!important}body.ast-desktop .site-content .him-booking-system .booking-header h2{color:white!important}.booking-header .subtitle{font-size:20px!important;opacity:.9;margin:0 0 .5rem 0}.booking-header .notice{background:rgb(255 255 255 / .1);padding:1.5rem;border-radius:var(--border-radius);margin-top:2rem;font-weight:500;font-size:18px!important;border-left:4px solid rgb(255 255 255 / .3)}.pricing-section{background:#fff;padding:3rem 2rem;border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);border-top:1px solid var(--border-color)}.pricing-section h3{margin:0 0 2rem 0;color:var(--text-primary);font-size:28px!important;font-weight:600;display:flex;align-items:center;gap:.75rem}.pricing-section h3::before{font-size:24px!important}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}.pricing-category{background:var(--accent-color);padding:2rem;border-radius:var(--border-radius);border:1px solid var(--border-color)}.pricing-category h4{margin:0 0 1.5rem 0;color:var(--primary-color);font-weight:600;font-size:22px!important}.duration-limit{background:rgb(212 172 46 / .1);color:var(--warning-color);padding:.75rem;border-radius:8px;font-size:18px!important;margin-bottom:1.5rem;font-weight:600;text-align:center}.pricing-list{list-style:none;padding:0;margin:0}.pricing-list li{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid rgb(0 0 0 / .1);font-size:17px!important;text-wrap:balance}.pricing-list li:last-child{border-bottom:none}.pricing-list strong{color:var(--primary-color);font-weight:600;font-size:18px!important}.loading{text-align:center;padding:2rem;color:var(--text-secondary);font-style:italic;font-size:18px!important}.booking-form{background:#fff;border:1px solid var(--border-color);border-radius:0 0 var(--border-radius) var(--border-radius)}.form-section{padding:3rem;border-bottom:1px solid var(--border-color);background:#fff;position:relative}.form-section:not(:last-of-type)::after{content:'';position:absolute;bottom:0;left:2rem;right:2rem;height:1px;background:linear-gradient(90deg,transparent,var(--border-color),transparent)}.form-section:last-of-type{border-bottom:none}.form-section h3{margin:0 0 2rem 0;color:var(--text-primary);font-size:26px!important;font-weight:700;padding:1.5rem 0;border-bottom:3px solid var(--primary-color);position:relative;letter-spacing:-.025em}.form-section h3::after{content:'';position:absolute;bottom:-3px;left:0;width:60px;height:3px;background:var(--accent-color)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:2rem}.form-row:last-child{margin-bottom:0}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:600;color:var(--text-primary);margin-bottom:.75rem;font-size:18px!important}.form-control{padding:1.25rem 1.5rem!important;border:2px solid var(--border-color)!important;border-radius:var(--border-radius)!important;font-size:17px!important;transition:var(--transition)!important;background:white!important;font-family:inherit!important;box-shadow:0 2px 4px rgb(0 0 0 / .05)!important;outline:none!important;width:100%!important}.form-control:hover{border-color:var(--primary-color)!important;box-shadow:0 4px 8px rgb(0 0 0 / .1)!important}.form-control:focus{outline:none!important;border-color:var(--primary-color)!important;box-shadow:0 0 0 3px rgb(44 85 48 / .1)!important}.form-control:invalid{border-color:var(--error-color)!important}textarea.form-control{resize:vertical!important;min-height:120px!important;font-size:17px!important}select.form-control{cursor:pointer!important;font-size:17px!important}input[type="text"],input[type="email"],input[type="tel"],input[type="number"],input[type="date"],input[type="password"],input[type="url"],input[type="search"]{padding:1.25rem 1.5rem!important;border:2px solid var(--border-color)!important;border-radius:var(--border-radius)!important;font-size:17px!important;transition:var(--transition)!important;background:white!important;font-family:inherit!important;box-shadow:0 2px 4px rgb(0 0 0 / .05)!important;outline:none!important;width:100%!important}input[type="text"]:hover,input[type="email"]:hover,input[type="tel"]:hover,input[type="number"]:hover,input[type="date"]:hover,input[type="password"]:hover,input[type="url"]:hover,input[type="search"]:hover{border-color:var(--primary-color)!important;box-shadow:0 4px 8px rgb(0 0 0 / .1)!important}input[type="text"]:focus,input[type="email"]:focus,input[type="tel"]:focus,input[type="number"]:focus,input[type="date"]:focus,input[type="password"]:focus,input[type="url"]:focus,input[type="search"]:focus{border-color:var(--primary-color)!important;box-shadow:0 0 0 3px rgb(44 85 48 / .1)!important}input[type="text"]:invalid,input[type="email"]:invalid,input[type="tel"]:invalid,input[type="number"]:invalid,input[type="date"]:invalid,input[type="password"]:invalid,input[type="url"]:invalid,input[type="search"]:invalid{border-color:var(--error-color)!important}select{padding:1.25rem 1.5rem!important;border:2px solid var(--border-color)!important;border-radius:var(--border-radius)!important;font-size:17px!important;transition:var(--transition)!important;background:white!important;font-family:inherit!important;box-shadow:0 2px 4px rgb(0 0 0 / .05)!important;outline:none!important;width:100%!important;cursor:pointer!important;appearance:none!important;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23718096' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e")!important;background-repeat:no-repeat!important;background-position:right 1rem center!important;background-size:1rem!important;padding-right:3rem!important}select:hover{border-color:var(--primary-color)!important;box-shadow:0 4px 8px rgb(0 0 0 / .1)!important}select:focus{border-color:var(--primary-color)!important;box-shadow:0 0 0 3px rgb(44 85 48 / .1)!important}select:invalid{border-color:var(--error-color)!important}textarea{padding:1.25rem 1.5rem!important;border:2px solid var(--border-color)!important;border-radius:var(--border-radius)!important;font-size:17px!important;transition:var(--transition)!important;background:white!important;font-family:inherit!important;box-shadow:0 2px 4px rgb(0 0 0 / .05)!important;outline:none!important;width:100%!important;resize:vertical!important;min-height:120px!important}textarea:hover{border-color:var(--primary-color)!important;box-shadow:0 4px 8px rgb(0 0 0 / .1)!important}textarea:focus{border-color:var(--primary-color)!important;box-shadow:0 0 0 3px rgb(44 85 48 / .1)!important}textarea:invalid{border-color:var(--error-color)!important}.checkbox-group{display:flex;flex-direction:column;gap:1rem}.checkbox-label{display:flex;align-items:flex-start;gap:1rem;cursor:pointer;padding:1rem;border-radius:var(--border-radius);transition:var(--transition);border:2px solid #fff0;font-size:17px!important}.checkbox-label:hover{background:var(--accent-color);border-color:var(--border-color)}.checkbox-label input[type="checkbox"]{width:20px!important;height:20px!important;accent-color:var(--primary-color)!important;margin:0!important;flex-shrink:0!important;border:2px solid var(--border-color)!important;border-radius:4px!important;transition:var(--transition)!important;cursor:pointer!important}.checkbox-label input[type="checkbox"]:hover{border-color:var(--primary-color)!important;box-shadow:0 2px 4px rgb(0 0 0 / .1)!important}.checkbox-label input[type="checkbox"]:focus{outline:none!important;border-color:var(--primary-color)!important;box-shadow:0 0 0 3px rgb(44 85 48 / .1)!important}.checkbox-label input[type="checkbox"]:checked+.checkmark{background:var(--primary-color)}.checkbox-label small{color:var(--text-secondary);font-size:16px!important;display:block;margin-top:.5rem}.cost-summary{background:var(--accent-color);padding:3rem;border-top:1px solid var(--border-color);border-radius:0 0 var(--border-radius) var(--border-radius)}.cost-breakdown{max-width:500px;margin:0 auto}#cost-details{background:#fff;border-radius:var(--border-radius);padding:2rem;margin-bottom:1.5rem;border:1px solid var(--border-color)}.cost-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border-color);font-size:18px!important}.cost-item:last-child{border-bottom:none;padding-top:1.5rem;border-top:2px solid var(--border-color);color:var(--primary-color)}.total-cost{text-align:center;padding:2rem;background:#fff;border-radius:var(--border-radius);border:2px solid var(--primary-color);color:var(--primary-color)}.total-cost strong{font-size:32px!important;display:block;margin-bottom:.75rem}.total-cost small{color:var(--text-secondary);font-style:italic;font-size:17px!important}.form-actions{padding:3rem;background:#fff;display:flex;justify-content:center;align-items:center;gap:1.5rem;flex-wrap:wrap}.btn{padding:1.25rem 3rem;border:none;border-radius:var(--border-radius);font-weight:700;font-size:18px!important;cursor:pointer;transition:var(--transition);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-width:200px;font-family:inherit;letter-spacing:.025em;text-transform:none}.btn-primary{background:var(--gradient-bg);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background:#fff;color:var(--text-primary);border:2px solid var(--border-color)}.btn-secondary:hover{background:var(--accent-color);border-color:var(--primary-color)}.availability-check{text-align:center;margin-top:1.5rem;min-height:80px;display:flex;align-items:center;justify-content:center}#availability-status{padding:1rem 1.5rem;border-radius:25px;font-weight:600;font-size:18px!important}#availability-status.available{background:rgb(56 161 105 / .1);color:var(--success-color);border:1px solid rgb(56 161 105 / .2)}#availability-status.unavailable{background:rgb(229 62 62 / .1);color:var(--error-color);border:1px solid rgb(229 62 62 / .2)}#booking-messages{margin-top:2rem}.booking-message{padding:2rem;border-radius:var(--border-radius);margin-bottom:1.5rem;border-left:4px solid;font-weight:500;font-size:17px!important}.booking-message.success{background:rgb(56 161 105 / .1);color:var(--success-color);border-left-color:var(--success-color)}.booking-message.error{background:rgb(229 62 62 / .1);color:var(--error-color);border-left-color:var(--error-color)}.booking-message h3{margin:0 0 1rem 0;font-size:22px!important}.booking-message p{margin:0;font-size:17px!important}.waste-notice{max-width:1200px;margin:2rem auto 0;padding:1.5rem 2rem;background:rgb(212 172 46 / .1);border:1px solid var(--warning-color);border-radius:var(--border-radius);color:var(--text-primary);text-align:center;font-size:18px!important}.waste-notice strong{color:var(--warning-color)}.him-my-bookings-list{max-width:900px;margin:2rem auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif}.him-my-bookings-list h2{font-size:36px!important;color:var(--text-primary);margin-bottom:2rem;border-bottom:3px solid var(--border-color);padding-bottom:1rem}.him-booking-card{background:#fff;border:1px solid var(--border-color);border-left-width:5px;border-radius:var(--border-radius);margin-bottom:1.5rem;box-shadow:var(--shadow-sm);transition:var(--transition)}.him-booking-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.booking-card-header{padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color)}.booking-card-header h3{margin:0;font-size:24px!important;color:var(--primary-color)}.booking-card-body{padding:2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.booking-detail{font-size:17px!important;color:var(--text-primary)}.booking-detail strong{color:var(--text-secondary);display:block;font-weight:600;margin-bottom:.5rem;font-size:16px!important}.booking-status{padding:.5rem 1rem;border-radius:25px;font-size:14px!important;font-weight:700;text-transform:uppercase;letter-spacing:1px}.him-booking-card.status-pending{border-left-color:#d69e2e}.booking-status.status-pending{background:#fff3cd;color:#856404}.status-badge.status-pending{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.him-booking-card.status-underreview{border-left-color:#3182ce}.booking-status.status-underreview{background:#cdcdff;color:#5319da}.status-badge.status-pending{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.him-booking-card.status-confirmed{border-left-color:#38a169}.booking-status.status-confirmed{background:#d4edda;color:#155724}.status-badge.status-confirmed{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.him-booking-card.status-cancelled{border-left-color:#e53e3e}.booking-status.status-cancelled{background:#f8d7da;color:#721c24}.status-badge.status-cancelled{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.him-booking-card.status-completed{border-left-color:#718096}.booking-status.status-completed{background:#d1ecf1;color:#0c5460}.status-badge.status-completed{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.booking-status-message{font-style:italic;color:#666;font-size:14px;padding:8px 12px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;text-align:center}.force-include-section{margin-bottom:2rem;padding:1.5rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:var(--border-radius)}.force-include-section h4{margin:0 0 1.5rem 0;color:#136f2d;font-size:20px!important;font-weight:600}.force-include-list{display:flex;flex-direction:column;gap:1rem}.force-include-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#fff;border:1px solid #136f2d;border-radius:8px;box-shadow:0 1px 3px rgb(214 54 56 / .1);font-size:17px!important}.force-include-name{font-weight:600;color:#136f2d}.force-include-cost{color:#666;font-weight:500;font-size:17px!important}.optional-supplements-section{margin-top:2rem}.optional-supplements-section h4{margin:0 0 1.5rem 0;color:#00a32a;font-size:20px!important;font-weight:600}.booking-card-actions{padding:1.5rem 2rem;border-top:1px solid var(--border-color);background:#f8f9fa;border-radius:0 0 var(--border-radius) var(--border-radius);display:flex;gap:1rem}.edit-booking-btn{background:var(--secondary-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--border-radius);cursor:pointer;font-size:16px!important;font-weight:600;transition:var(--transition);display:inline-flex;align-items:center;gap:.5rem}.edit-booking-btn:hover{background:#0056b3;transform:translateY(-1px)}.cancel-booking-btn{background:#dc3545;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--border-radius);cursor:pointer;font-size:16px!important;font-weight:600;transition:var(--transition);display:inline-flex;align-items:center;gap:.5rem}.cancel-booking-btn:hover{background:#c82333;transform:translateY(-1px)}.him-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgb(0 0 0 / .6);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}.him-modal-content{background:#fff;border-radius:var(--border-radius);box-shadow:0 15px 50px rgb(0 0 0 / .3);max-width:900px;width:100%;max-height:90vh;overflow-y:auto;position:relative;margin:20px auto}.him-modal-header{padding:2rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:#f8f9fa;border-radius:var(--border-radius) var(--border-radius) 0 0}.him-modal-header h3{margin:0;color:var(--text-primary);font-size:24px!important}.booking-reference{font-size:16px!important;color:#666;font-weight:400;background:#e9ecef;padding:.5rem 1rem;border-radius:6px;margin-left:1rem}.him-modal-close{background:none;border:none;font-size:20px!important;cursor:pointer;color:#666;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:var(--transition)}.him-modal-close:hover{background:#e9ecef;color:#333}.him-modal-body{padding:2rem}#edit-booking-form .form-section h3{color:var(--text-primary);font-size:24px!important;margin-bottom:.5;padding-bottom:.5rem;border-bottom:2px solid var(--border-color)}#edit-booking-form .form-group{margin-bottom:.5rem}#edit-booking-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}#edit-booking-form .cost-summary{background:#f8f9fa;padding:2rem;border-radius:var(--border-radius);margin:2rem 0}#edit-booking-form .form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:2rem;border-top:2px solid var(--border-color)}.terms-sections{max-height:60vh;overflow-y:auto;margin-bottom:2rem;padding-right:1rem}.terms-section{margin-bottom:2.5rem;padding:2rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background:#f8f9fa}.terms-section h4{margin:0 0 1.5rem 0;color:var(--primary-color);font-size:22px!important;font-weight:600;border-bottom:2px solid var(--primary-color);padding-bottom:.75rem}.terms-content{margin-bottom:2rem;font-size:17px!important;line-height:1.6}.terms-content ul{margin:0;padding-left:2rem}.terms-content li{margin-bottom:1rem;font-size:17px!important}.terms-content p{margin-bottom:1.5rem;font-size:17px!important}.terms-checkbox{background:#fff;padding:1.5rem;border-radius:var(--border-radius);border:2px solid var(--border-color)}.terms-checkbox .checkbox-label{font-size:18px!important;font-weight:600;color:var(--primary-color)}.terms-actions{display:flex;gap:1.5rem;justify-content:center;padding-top:2rem;border-top:2px solid var(--border-color)}.terms-actions .btn{min-width:200px;font-size:18px!important;padding:1rem 2rem}#accept-terms:disabled{opacity:.5;cursor:not-allowed;background:#ccc}#accept-terms{background:var(--gradient-bg);color:#fff;font-weight:700;font-size:18px!important;padding:1.25rem 2.5rem;min-width:220px}#accept-terms:not(:disabled):hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}#show-terms-modal{background:var(--gradient-bg);color:#fff;font-weight:700;font-size:18px!important;padding:1.25rem 2.5rem;position:relative}#show-terms-modal::after{content:"⚠️";margin-left:.75rem;font-size:20px!important}.terms-notice{background:rgb(212 172 46 / .1);border:2px solid var(--warning-color);border-radius:var(--border-radius);padding:1.5rem;margin-bottom:1.5rem;text-align:center}.terms-notice p{margin:0;color:var(--text-primary);font-size:18px!important;font-weight:500}.terms-notice strong{color:var(--warning-color)}.checkbox-group input[type="radio"]{width:20px!important;height:20px!important;accent-color:var(--primary-color)!important;margin:0!important;flex-shrink:0!important;border:2px solid var(--border-color)!important;border-radius:50%!important;transition:var(--transition)!important;cursor:pointer!important}.checkbox-group input[type="radio"]:hover{border-color:var(--primary-color)!important;box-shadow:0 2px 4px rgb(0 0 0 / .1)!important}.checkbox-group input[type="radio"]:focus{outline:none!important;border-color:var(--primary-color)!important;box-shadow:0 0 0 3px rgb(44 85 48 / .1)!important}#address-postcode{text-transform:uppercase}body.modal-open{overflow:hidden}.form-group.error .form-control{border-color:var(--error-color);background-color:rgb(229 62 62 / .05)}.readonly-field{background-color:#f6f7f7!important;color:#646970!important;cursor:not-allowed!important}.readonly-field option{color:#646970!important}.form-group.error label{color:var(--error-color)}.field-error{color:var(--error-color);font-size:16px!important;margin-top:.5rem;display:block;font-weight:500}input[type="time"]{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;background:white!important;border:2px solid var(--border-color)!important;border-radius:var(--border-radius)!important;padding:1.25rem 1.5rem!important;font-size:17px!important;transition:var(--transition)!important;cursor:pointer!important;width:100%!important;font-family:inherit!important;box-shadow:0 2px 4px rgb(0 0 0 / .05)!important;outline:none!important}input[type="time"]:hover{border-color:var(--primary-color)!important;box-shadow:0 4px 8px rgb(0 0 0 / .1)!important}input[type="time"]:focus{outline:none!important;border-color:var(--primary-color)!important;box-shadow:0 0 0 3px rgb(44 85 48 / .1)!important}input[type="time"]:invalid{border-color:var(--error-color)!important}.cost-item .loading{text-align:center;color:var(--text-secondary);font-style:italic;padding:1.5rem 0;font-size:17px!important}.cost-item .error{color:var(--error-color);background:rgb(229 62 62 / .1);padding:1rem;border-radius:6px;text-align:center;font-size:16px!important}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgb(0 0 0 / .6);display:flex;align-items:center;justify-content:center;z-index:9999}.loading-spinner{width:50px;height:50px;border:5px solid rgb(255 255 255 / .3);border-radius:50%;border-top-color:#fff;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:fadeIn 0.4s ease-out}.slide-up{animation:slideUp 0.4s ease-out}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.him-booking-system{padding:0 .5rem}.booking-header{padding:3rem 1.5rem}.booking-header h2{font-size:32px!important}.booking-header .subtitle{font-size:18px!important}.booking-header .notice{font-size:16px!important}.pricing-section,.form-section,.cost-summary,.form-actions{padding:2rem 1.5rem}.pricing-section h3{font-size:24px!important}.form-section h3{font-size:22px!important}.form-row{grid-template-columns:1fr;gap:1.5rem}.pricing-grid{grid-template-columns:1fr;gap:1.5rem}.pricing-category{padding:1.5rem}.checkbox-label{padding:.75rem;font-size:16px!important}.btn{min-width:160px;padding:1rem 2rem;font-size:16px!important}.him-my-bookings-list h2{font-size:28px!important}.booking-card-header h3{font-size:20px!important}.booking-card-body{padding:1.5rem;grid-template-columns:1fr}.booking-card-actions{flex-direction:column;gap:1rem}.booking-card-actions .btn{width:100%;margin-left:0}.him-modal-header{padding:1.5rem}.him-modal-header h3{font-size:22px!important}.him-modal-body{padding:1.5rem}#edit-booking-form .form-row{grid-template-columns:1fr}#edit-booking-form .form-actions{flex-direction:column}#edit-booking-form .form-actions .btn{width:100%}.terms-sections{max-height:50vh;padding-right:.5rem}.terms-section{padding:1.5rem}.terms-actions{flex-direction:column;gap:1rem}.terms-actions .btn{width:100%;font-size:16px!important}}@media (max-width:480px){.booking-header{padding:2rem 1rem}.booking-header h2{font-size:28px!important}.booking-header .subtitle{font-size:16px!important}.pricing-section,.form-section,.cost-summary,.form-actions{padding:1.5rem 1rem}.pricing-section h3{font-size:22px!important}.form-section h3{font-size:20px!important}.form-group label{font-size:16px!important}.form-control{padding:1rem;font-size:16px!important}.checkbox-label{font-size:15px!important}.form-actions{flex-direction:column}.btn{width:100%;font-size:16px!important}.cost-item{font-size:16px!important}.cost-item:last-child{font-size:20px!important}.total-cost strong{font-size:28px!important}.him-my-bookings-list{margin:1rem auto;padding:0 .5rem}.him-my-bookings-list h2{font-size:24px!important}.him-modal{padding:10px}.him-modal-content{max-height:95vh}.him-modal-header{padding:1rem}.him-modal-header h3{font-size:20px!important}.booking-reference{font-size:14px!important;margin-left:.5rem}.him-modal-body{padding:1rem}.terms-section h4{font-size:20px!important}.terms-content,.terms-content li,.terms-content p{font-size:16px!important}.terms-checkbox .checkbox-label{font-size:16px!important}}@media print{.booking-header,.form-actions,.btn{display:none!important}.him-booking-system{box-shadow:none;border:1px solid #ccc}.form-section{break-inside:avoid;padding:1rem}.form-section h3{font-size:18px!important}.form-group label{font-size:14px!important}.form-control{font-size:14px!important}.pricing-section h3{font-size:16px!important}.pricing-list li{font-size:14px!important}}@media (prefers-contrast:high){.form-control{border-width:3px}.btn{border:2px solid currentColor}.checkbox-label{border-width:2px}}@media (prefers-reduced-motion:reduce){*{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}.btn:hover{transform:none}.him-booking-card:hover{transform:none}}.terms-sections{max-height:60vh;overflow-y:auto;padding-right:10px}.terms-section{margin-bottom:2rem;padding:1.5rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.terms-section h4{margin:0 0 1rem 0;color:var(--text-primary);font-size:20px;font-weight:600;border-bottom:2px solid var(--primary-color);padding-bottom:.5rem}.terms-content{margin-bottom:1.5rem}.terms-content ul{margin:0;padding-left:1.5rem}.terms-content li{margin-bottom:.75rem;line-height:1.6;color:var(--text-secondary)}.terms-content p{margin-bottom:1rem;line-height:1.6;color:var(--text-secondary)}.terms-checkbox{margin-top:1rem}.checkbox-label{display:flex;align-items:center;cursor:pointer;font-weight:500;color:var(--text-primary);margin:0}.checkbox-label input[type="checkbox"]{margin-right:.75rem;width:18px;height:18px;cursor:pointer}.checkmark{margin-left:.5rem}.terms-actions{text-align:center;padding-top:1.5rem;border-top:1px solid #e9ecef;margin-top:1.5rem}.terms-actions .btn{margin:0 .5rem;min-width:150px}.terms-sections::-webkit-scrollbar{width:6px}.terms-sections::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.terms-sections::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.terms-sections::-webkit-scrollbar-thumb:hover{background:#a8a8a8}