.form-grid{gap:var(--space-5,1.25rem);grid-template-columns:1fr;display:grid}@media (min-width:640px){.form-grid{grid-template-columns:repeat(2,1fr)}.form-grid .form-group:only-child,.form-grid .form-group.form-group-full{grid-column:1/-1}}.form-group{gap:var(--space-2,.5rem);flex-direction:column;display:flex}.form-group-full{grid-column:1/-1}.form-group-row{gap:var(--space-4,1rem);grid-template-columns:1fr 1fr;display:grid}@media (max-width:639px){.form-group-row{grid-template-columns:1fr}}.form-section{margin-bottom:var(--space-6,1.5rem)}.form-label{font-weight:var(--font-weight-medium,500);font-size:var(--font-size-sm,.875rem);color:var(--clr-text-main,#2c344c);display:block}.form-label-small{font-weight:var(--font-weight-medium,500);font-size:var(--font-size-xs,.75rem);color:var(--clr-text-muted,#5c6478);margin-bottom:var(--space-1,.25rem);display:block}.required{color:var(--clr-error,#ef4444);margin-left:2px}.form-input,.form-select,.form-textarea{padding:var(--space-3,.75rem)var(--space-4,1rem);border:1px solid var(--clr-border,#e8e4dc);border-radius:var(--radius-md,.375rem);font-size:var(--font-size-base,1rem);font-family:var(--font-family,inherit);background:var(--clr-surface,white);width:100%;color:var(--clr-text-main,#2c344c);line-height:1.5;transition:border-color .15s,box-shadow .15s}.form-input::placeholder,.form-textarea::placeholder{color:var(--clr-text-light,#8b9099)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--clr-accent,#d4b86a);outline:none;box-shadow:0 0 0 3px #d4b86a26}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background-color:var(--clr-bg-alt,#f8f5f0);cursor:not-allowed;opacity:.7}.form-input-error{border-color:var(--clr-error,#ef4444)}.form-input-error:focus{box-shadow:0 0 0 3px #ef444426}.form-input-number{text-align:center;max-width:100px}.form-textarea{resize:vertical;min-height:100px}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%235C6478' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--space-3,.75rem)center;padding-right:var(--space-10,2.5rem);background-repeat:no-repeat;background-size:1.25em 1.25em}.form-help{font-size:var(--font-size-xs,.75rem);color:var(--clr-text-muted,#5c6478);line-height:1.4}.form-error{font-size:var(--font-size-xs,.75rem);color:var(--clr-error,#ef4444);align-items:center;gap:var(--space-1,.25rem);display:flex}.form-checkbox{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.form-checkbox-label{background:var(--clr-surface,#fff);border:1.5px solid var(--clr-border,#e8e4dc);cursor:pointer;font-size:var(--font-size-sm,.875rem);font-weight:var(--font-weight-medium,500);color:var(--clr-text-muted,#5c6478);-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem 1rem;line-height:1.4;transition:border-color .15s,background .15s,color .15s,box-shadow .15s;display:inline-flex;position:relative}.form-checkbox-label:before{content:"";border:1.5px solid var(--clr-border-dark,#c8c4bb);background:var(--clr-bg-alt,#f8f5f0);border-radius:4px;flex-shrink:0;width:15px;min-width:15px;height:15px;transition:border-color .15s,background .15s;display:block}.form-checkbox-label:hover{border-color:var(--clr-accent,#d4b86a);color:var(--clr-text-main,#2c344c);box-shadow:0 1px 4px #d4b86a33}.form-checkbox-label:hover:before{border-color:var(--clr-accent,#d4b86a)}.form-checkbox-label:has(.form-checkbox:checked){background:var(--clr-primary,#2c344c);border-color:var(--clr-primary,#2c344c);color:#fff;box-shadow:0 2px 8px #2c344c33}.form-checkbox-label:has(.form-checkbox:checked):before{border-color:var(--clr-accent,#d4b86a);background:var(--clr-accent,#d4b86a);background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M2.5 7L5.5 10L11.5 4' stroke='%232C344C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e");background-position:50%;background-repeat:no-repeat;background-size:100%}.form-checkbox-label:has(.form-checkbox:focus-visible){outline:2px solid var(--clr-accent,#d4b86a);outline-offset:2px}.form-checkbox-group{flex-wrap:wrap;gap:.5rem;display:flex}.form-checkbox-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem;display:grid}.form-consent .form-checkbox-label{box-shadow:none;color:var(--clr-text-muted,#5c6478);align-items:flex-start;gap:var(--space-3,.75rem);background:0 0;border:none;border-radius:0;padding:0;font-weight:400}.form-consent .form-checkbox-label:before{border:1.5px solid var(--clr-border-dark,#d8d4cc);background:#fff;border-radius:4px;width:18px;min-width:18px;height:18px;margin-top:1px}.form-consent .form-checkbox-label:hover{box-shadow:none;background:0 0;border:none}.form-consent .form-checkbox-label:has(.form-checkbox:checked){box-shadow:none;color:var(--clr-text-muted,#5c6478);background:0 0;border:none}.form-consent .form-checkbox-label:has(.form-checkbox:checked):before{border-color:var(--clr-accent,#d4b86a);background:var(--clr-accent,#d4b86a);background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M2.5 7L5.5 10L11.5 4' stroke='%232C344C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e");background-position:50%;background-repeat:no-repeat;background-size:100%}.form-fieldset{border:none;margin:0;padding:0}.form-fieldset legend{font-weight:var(--font-weight-medium,500);font-size:var(--font-size-sm,.875rem);color:var(--clr-text-main,#2c344c);margin-bottom:var(--space-3,.75rem)}.form-consent{margin-top:var(--space-6,1.5rem);padding:var(--space-4,1rem);background:var(--clr-bg-alt,#f8f5f0);border-radius:var(--radius-md,.375rem)}.form-consent .form-checkbox-label{font-size:var(--font-size-xs,.75rem);color:var(--clr-text-muted,#5c6478)}.form-consent a{color:var(--clr-primary,#2c344c);text-underline-offset:2px;text-decoration:underline}.form-consent a:hover{color:var(--clr-accent,#d4b86a)}.children-ages-grid{gap:var(--space-4,1rem);margin-top:var(--space-2,.5rem);grid-template-columns:repeat(auto-fill,minmax(100px,1fr));display:grid}.child-age-input{gap:var(--space-1,.25rem);flex-direction:column;display:flex}.party-size-row{gap:var(--space-6,1.5rem);flex-wrap:wrap;display:flex}.party-size-item{flex:1;min-width:120px}@media (max-width:639px){.form-input,.form-select,.form-textarea{padding:var(--space-3,.75rem);font-size:16px}.form-checkbox-grid{grid-template-columns:1fr}.children-ages-grid{grid-template-columns:repeat(2,1fr)}}
.enquiry-form{max-width:580px;padding:var(--space-8,2rem)var(--space-6,1.5rem);background:var(--clr-surface,white);border-radius:var(--radius-xl);border:1px solid var(--clr-accent);box-shadow:var(--shadow-lg);transition:all var(--transition-base);margin:0 auto}.multi-step-form{max-width:620px;padding:var(--space-8,2rem)}.enquiry-form-header{margin-bottom:var(--space-8,2rem);text-align:center}.enquiry-form-title{font-family:var(--font-family-display,"Playfair Display",Georgia,serif);font-size:var(--font-size-2xl,1.5rem);font-weight:var(--font-weight-semibold,600);color:var(--clr-text-main,#2c344c);margin-bottom:var(--space-2,.5rem);line-height:1.3}.enquiry-form-subtitle{font-size:var(--font-size-base,1rem);color:var(--clr-text-muted,#5c6478);line-height:1.5}.form-section-title{font-family:var(--font-family-display,"Playfair Display",Georgia,serif);font-size:var(--font-size-xl,1.25rem);font-weight:var(--font-weight-semibold,600);color:var(--clr-text-main,#2c344c);margin-bottom:var(--space-6,1.5rem)}.form-actions{margin-top:var(--space-8,2rem)}.form-step-actions{gap:var(--space-4,1rem);margin-top:var(--space-8,2rem);padding-top:var(--space-6,1.5rem);border-top:1px solid var(--clr-border,#e8e4dc);display:flex}.form-step-actions .btn{flex:1}.form-message{align-items:center;gap:var(--space-3,.75rem);padding:var(--space-4,1rem)var(--space-5,1.25rem);border-radius:var(--radius-md,.375rem);font-size:var(--font-size-sm,.875rem);margin:var(--space-6,1.5rem)0;line-height:1.5;display:flex}.form-message svg{flex-shrink:0;width:20px;height:20px}.form-message-success{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0}.form-message-success svg{color:var(--clr-success,#10b981)}.form-message-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.form-message-error svg{color:var(--clr-error,#ef4444)}.form-note{text-align:center;font-size:var(--font-size-sm,.875rem);color:var(--clr-text-muted,#5c6478);margin-top:var(--space-4,1rem)}.form-step-indicator{margin-bottom:var(--space-8,2rem);padding-bottom:var(--space-6,1.5rem);border-bottom:1px solid var(--clr-border,#e8e4dc);justify-content:center;align-items:center;display:flex}.form-step{align-items:center;gap:var(--space-2,.5rem);flex-direction:column;display:flex}.form-step-number{background:var(--clr-bg,#fdfbf7);border:2px solid var(--clr-border,#e8e4dc);width:40px;height:40px;font-weight:var(--font-weight-semibold,600);font-size:var(--font-size-sm,.875rem);color:var(--clr-text-muted,#5c6478);border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.form-step-label{font-size:var(--font-size-xs,.75rem);font-weight:var(--font-weight-medium,500);color:var(--clr-text-muted,#5c6478);text-transform:uppercase;letter-spacing:.05em}.form-step.active .form-step-number{background:var(--clr-primary,#2c344c);border-color:var(--clr-primary,#2c344c);color:var(--clr-text-on-primary,white)}.form-step.active .form-step-label{color:var(--clr-text-main,#2c344c);font-weight:var(--font-weight-semibold,600)}.form-step.completed .form-step-number{background:var(--clr-accent,#d4b86a);border-color:var(--clr-accent,#d4b86a);color:var(--clr-text-on-accent,#2c344c)}.form-step-connector{background:var(--clr-border,#e8e4dc);width:32px;height:2px;margin:0 var(--space-2,.5rem);margin-bottom:var(--space-6,1.5rem)}.enquiry-modal-overlay{z-index:9999;padding:var(--space-4,1rem);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2c344c99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.enquiry-modal{background:var(--clr-surface,white);border-radius:var(--radius-lg,.5rem);width:100%;max-width:560px;max-height:90vh;animation:.25s ease-out modalFadeIn;position:relative;overflow-y:auto;box-shadow:0 20px 50px #2c344c33}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.enquiry-modal-close{top:var(--space-4,1rem);right:var(--space-4,1rem);cursor:pointer;z-index:10;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .2s;display:flex;position:absolute}.enquiry-modal-close:hover{background:var(--clr-bg-alt,#f8f5f0)}.enquiry-modal-close svg{width:24px;height:24px;color:var(--clr-text-muted,#5c6478)}.form-step-content{gap:var(--space-5,1.25rem);flex-direction:column;display:flex}@media (max-width:640px){.enquiry-form,.multi-step-form{padding:var(--space-6,1.5rem)var(--space-4,1rem)}.enquiry-form-title{font-size:var(--font-size-xl,1.25rem)}.form-step-indicator{margin-bottom:var(--space-6,1.5rem);padding-bottom:var(--space-4,1rem)}.form-step-connector{width:20px;margin:0 var(--space-1,.25rem);margin-bottom:var(--space-5,1.25rem)}.form-step-number{width:36px;height:36px;font-size:var(--font-size-xs,.75rem)}.form-step-label{font-size:.65rem}.form-step-actions{flex-direction:column}.enquiry-modal{border-radius:0;max-height:100vh}}@media (prefers-reduced-motion:reduce){.enquiry-modal{animation:none}}
