/* Match the complete booking form's Bootstrap controls and spacing. */
#subscription-form { color:#212529;font-size:1rem;line-height:1.5; }
#subscription-form fieldset { min-width:0;border:0;padding:0;margin:0 0 24px; }
#subscription-form legend { float:none;width:auto;margin:0 0 16px;font-size:1.125rem;font-weight:600; }
#subscription-form .grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
#subscription-form label { display:block;margin:0;font-weight:400;min-width:0; }
#subscription-form .form-control,#subscription-form .form-select { display:block;width:100%;min-width:0;height:38px;margin-top:8px;padding:6px 12px;font:inherit;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:6px;box-sizing:border-box; }
#subscription-form .form-control:focus,#subscription-form .form-select:focus { outline:0;border-color:#86b7fe;box-shadow:0 0 0 4px rgba(13,110,253,.15); }
#subscription-form .form-control:disabled { background:#e9ecef;color:#6c757d; }
#subscription-form .subscription-combobox { position:relative; }
#subscription-form .subscription-combobox input { padding-right:32px; }
#subscription-form .subscription-combobox::after { content:'⌄';position:absolute;right:12px;top:10px;pointer-events:none;color:#6c757d; }
#subscription-form .subscription-options { position:absolute;top:100%;left:0;right:0;z-index:1000;max-height:220px;margin:4px 0 0;padding:4px;overflow-y:auto;overscroll-behavior:contain;border:1px solid #dee2e6;border-radius:6px;background:white;box-shadow:0 4px 12px rgba(0,0,0,.12); }
#subscription-form .subscription-option { margin:0;padding:8px;border-radius:4px;cursor:pointer;font-weight:400; }
#subscription-form .subscription-option:hover,#subscription-form .subscription-option[aria-selected=true] { background:#e7f1ff;color:#084298; }
#subscription-form .subscription-empty { padding:8px;color:#6c757d;font-size:.875rem; }
#subscription-form > .subscription-consent { margin:16px 0;display:flex;align-items:flex-start;gap:8px;font-size:.9375rem; }
#subscription-form > .subscription-consent input[type=checkbox] { flex:0 0 auto;margin-top:5px;width:16px;height:16px;accent-color:#0d6efd; }
#subscription-form > .subscription-consent a { color:#0d6efd; }
#subscription-form button { font:inherit;line-height:1.5; }
#subscription-form #subscription-submit { width:100%;margin-top:8px;padding:12px 20px;border:1px solid #0d6efd;border-radius:6px;background:#0d6efd;color:white;font-size:1.125rem; }
#subscription-form #subscription-submit:hover { background:#0b5ed7;border-color:#0a58ca; }
#subscription-form button.subscription-secondary { align-self:end;padding:8px 12px;margin-top:8px;border:1px solid #6c757d;border-radius:6px;background:white;color:#495057;font-size:.875rem; }
.subscription-booking-panel { color:#212529; }
.subscription-booking-panel #subscription-message { color:#495057;background:#f8f9fa;border:1px solid #dee2e6;font-size:.9375rem; }
.subscription-booking-panel .rules { background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:12px 16px;color:#495057;font-size:.9375rem; }
@media(max-width:600px) { #subscription-form .grid { grid-template-columns:1fr;gap:16px; } #subscription-form fieldset { margin-bottom:24px; } #subscription-form .form-control,#subscription-form .form-select { font-size:16px; } }
