@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Inter:wght@400;500;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap";:root{--color-primary: #00418d;--color-on-primary: #ffffff;--color-primary-container: #2659a9;--color-on-primary-container: #c1d3ff;--color-primary-fixed: #d8e2ff;--color-on-primary-fixed: #001a41;--color-primary-fixed-dim: #adc6ff;--color-secondary: #5b5f63;--color-on-secondary: #ffffff;--color-secondary-container: #dde0e4;--color-on-secondary-container: #5f6367;--color-tertiary: #6d3400;--color-on-tertiary: #ffffff;--color-tertiary-container: #904700;--color-on-tertiary-container: #ffc8a4;--color-success: #0f7b61;--color-on-success: #ffffff;--color-warning: #b97d1f;--color-on-warning: #ffffff;--color-error: #ba1a1a;--color-on-error: #ffffff;--color-error-container: #ffdad6;--color-on-error-container: #93000a;--color-outline: #737783;--color-outline-variant: #c3c6d3;--color-background: #f8f9fa;--color-on-background: #191c1d;--color-surface: #f8f9fa;--color-on-surface: #191c1d;--color-surface-variant: #e1e3e4;--color-on-surface-variant: #434751;--color-surface-bright: #f8f9fa;--color-surface-dim: #d9dadb;--color-surface-container-lowest: #ffffff;--color-surface-container-low: #f3f4f5;--color-surface-container: #edeeef;--color-surface-container-high: #e7e8e9;--color-surface-container-highest: #e1e3e4;--color-inverse-surface: #2e3132;--color-inverse-on-surface: #f0f1f2;--color-inverse-primary: #adc6ff;--font-headline: "Manrope", sans-serif;--font-body: "Inter", sans-serif;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-premium: 0 12px 32px 0 rgba(25, 28, 29, .04);--shadow-primary: 0 10px 15px -3px rgba(0, 65, 141, .2);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--radius-xs: .125rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.25rem;--radius-full: 9999px;--transition-fast: .15s ease-in-out;--transition-normal: .2s ease-in-out;--color-block-institutional: #dc2626;--color-block-institutional-light: #fee2e2;--color-block-institutional-dark: #991b1b;--color-block-institutional-text: #7f1d1d;--color-block-professional: #dc2626;--color-block-professional-light: #fee2e2;--color-block-professional-dark: #991b1b;--color-block-professional-text: #7f1d1d;--color-available-bg: #f0f9ff;--color-available-border: #0ea5e9;--color-unavailable-bg: #f1f5f9;--color-unavailable-border: #cbd5e1;--color-appointment-bg: #dbeafe;--color-appointment-border: #1e40af;--color-now-line: #0ea5e9;--color-now-row-bg: #f0f9ff;--color-past-bg: rgba(100, 116, 139, .08);--z-appointment: 15;--z-block-indicator: 10;--z-now-line: 20}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;height:100%}body{font-family:var(--font-body);font-size:1rem;line-height:1.5;color:var(--color-on-surface);background-color:var(--color-background);min-height:100vh}app-root{display:block;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-headline);font-weight:700;margin:0}app-internal-layout .main-content h1{font-family:var(--font-headline);font-size:2.25rem;font-weight:800;color:var(--color-on-surface);letter-spacing:-.02em;margin:0}a{color:var(--color-primary);text-decoration:none;transition:opacity var(--transition-fast)}a:hover{opacity:.8}input,select,textarea{width:100%;padding:.875rem 1rem;border:1px solid var(--color-outline-variant);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-on-surface);font-family:inherit;font-size:1rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-fixed)}button{font-family:var(--font-headline);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}button:disabled{opacity:.6;cursor:not-allowed}.glass-nav{background:#ffffffbf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-outline-variant);z-index:40}.surface-card{background-color:var(--color-surface-container-lowest);border:1px solid var(--color-outline-variant);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:1.5rem;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.eyebrow{margin:0;color:var(--color-primary);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.required-mark{color:var(--color-error);font-weight:700;margin-left:.2em;line-height:1}.field-error{display:block;color:var(--color-error);font-size:.75rem;font-weight:500;margin-top:.25rem;line-height:1.4}input.input--invalid,select.input--invalid,textarea.input--invalid{border-color:var(--color-error)!important;box-shadow:0 0 0 3px var(--color-error-container)!important}::selection{background-color:var(--color-primary-fixed-dim);color:var(--color-primary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{animation:spin 1s linear infinite}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}app-booking-home-page{--primary: #00418d;--primary-container: #2659a9;--on-primary: #ffffff;--surface: #f8f9fa;--surface-container-lowest: #ffffff;--surface-container-low: #f3f4f5;--surface-container-high: #e7e8e9;--secondary: #5b5f63;--on-surface: #191c1d;--on-surface-variant: #434751;--outline-variant: #c3c6d3;--error: #ba1a1a;--error-container: #ffdad6;--on-secondary-container: #5f6367;--font-headline: "Manrope", sans-serif;--font-body: "Inter", sans-serif;--shadow-cloud: 0 12px 32px 0 rgba(25, 28, 29, .04);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--radius-lg: .5rem;--radius-xl: .75rem}app-booking-home-page .material-symbols-outlined{font-family:Material Symbols Outlined;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}app-booking-home-page .booking-page-home1,app-booking-home-page .booking-page-home2{font-family:var(--font-body);color:var(--on-surface);min-height:100vh}app-booking-home-page .btn{display:inline-flex;align-items:center;justify-content:center;font-weight:700;transition:all .2s ease;cursor:pointer;border:none}app-booking-home-page .btn:active{transform:scale(.95)}app-booking-home-page .btn:disabled{opacity:.5;cursor:not-allowed}app-booking-home-page .error-banner{background-color:var(--error-container);color:var(--error);padding:1rem;text-align:center;font-weight:600;margin:1rem 2rem;border-radius:var(--radius-lg)}app-booking-home-page .whatsapp-helper{display:flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.875rem;color:var(--secondary);font-style:italic;animation:booking-fade-in .3s ease-out}app-booking-home-page .whatsapp-helper__link{color:#25d366;font-weight:700;text-decoration:underline;cursor:pointer;background:none;border:none;padding:0;font:inherit}app-booking-home-page .whatsapp-helper__link:hover{opacity:.8}app-booking-home-page .booking-dropdown{position:relative;width:100%}app-booking-home-page .booking-dropdown__trigger{width:100%;border:none;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:.75rem;cursor:pointer;color:var(--on-surface);text-align:left}app-booking-home-page .booking-dropdown__trigger.is-disabled{opacity:.6;cursor:not-allowed;pointer-events:none}app-booking-home-page .booking-dropdown__trigger--hero,app-booking-home-page .booking-dropdown__trigger--mobile{padding:.2rem 0;min-height:2.25rem}app-booking-home-page .booking-dropdown--block{width:100%;max-width:100%}app-booking-home-page .booking-dropdown__trigger--block{min-height:3.35rem;padding:.85rem 1rem;border-radius:.625rem;background-color:var(--surface-container-low);border:1.5px solid var(--outline-variant);box-shadow:none;transition:border-color .2s ease,box-shadow .2s ease}app-booking-home-page .booking-dropdown__trigger--block:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #00418d1a}app-booking-home-page .booking-dropdown__value{min-width:0;flex:1;font-size:1.02rem;font-weight:600;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}app-booking-home-page .booking-dropdown__trigger--hero .booking-dropdown__value,app-booking-home-page .booking-dropdown__trigger--mobile .booking-dropdown__value{font-size:1rem}app-booking-home-page .booking-dropdown__chevron{flex-shrink:0;color:var(--primary);font-size:1.25rem;transition:transform .2s ease}app-booking-home-page .booking-dropdown__chevron.is-open{transform:rotate(180deg)}app-booking-home-page .booking-dropdown__panel{position:absolute;left:0;right:0;top:calc(100% + .65rem);z-index:50;display:grid;gap:.35rem;padding:.5rem;border-radius:1rem;background:#fffffffa;border:1px solid rgba(195,198,211,.7);box-shadow:0 18px 40px #191c1d24;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);max-height:18rem;overflow-y:auto}app-booking-home-page .booking-dropdown__panel--hero{min-width:100%}app-booking-home-page .booking-dropdown__panel--mobile,app-booking-home-page .booking-dropdown__panel--block{top:calc(100% + .5rem)}app-booking-home-page .booking-dropdown__option{width:100%;border:none;background:transparent;border-radius:.85rem;padding:.85rem .95rem;color:var(--on-surface);font-size:.96rem;font-weight:600;line-height:1.35;text-align:left;cursor:pointer}app-booking-home-page .booking-dropdown__option:hover{background:#00418d12}app-booking-home-page .booking-dropdown__option.is-selected{background:linear-gradient(135deg,#00418d1f,#2659a92e);color:var(--primary)}app-booking-home-page .booking-dropdown__input{width:100%;border:none;background:transparent;color:var(--on-surface);font-size:1rem;font-weight:600;padding:0;outline:none}app-booking-home-page .booking-dropdown__no-results{padding:1rem;text-align:center;color:var(--secondary);font-size:.875rem}app-booking-home-page .email-optin-card{display:flex;align-items:flex-start;gap:.9rem;padding:1rem 1.1rem;border:1px solid rgba(15,23,42,.08);border-radius:1rem;background:linear-gradient(180deg,#f8fafcf2,#f1f5f9f2);cursor:pointer}app-booking-home-page .email-optin-card input[type=checkbox]{width:1.1rem;height:1.1rem;margin-top:.15rem;accent-color:#0f4ea3}app-booking-home-page .email-optin-card--disabled{opacity:.72;cursor:not-allowed}app-booking-home-page .email-optin-card__content{display:grid;gap:.35rem}app-booking-home-page .email-optin-card__content strong{color:#10233f;font-size:.98rem;line-height:1.35}app-booking-home-page .email-optin-card__content small{color:#64748b;font-size:.88rem;line-height:1.45}app-booking-home-page .custom-modal{background:var(--surface-container-lowest);width:100%;max-width:480px;border-radius:1.5rem;box-shadow:0 25px 50px -12px #00000040;overflow:hidden;position:relative;animation:booking-modal-slide-up .3s cubic-bezier(.34,1.56,.64,1)}app-booking-home-page .modal-header{padding:2rem 2rem 0;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}app-booking-home-page .whatsapp-icon-container{width:52px;height:52px;background:#e7f5ea;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}app-booking-home-page .btn-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:var(--secondary);cursor:pointer;padding:.5rem;border-radius:50%;transition:background .2s;display:flex;align-items:center;justify-content:center}app-booking-home-page .btn-close:hover{background:var(--surface-container-low)}app-booking-home-page .modal-body{padding:1rem 2rem 1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center}app-booking-home-page .modal-body p{color:var(--on-surface-variant);line-height:1.6;margin:0}app-booking-home-page .availability-badge{background:#e7f5ea;color:#1a7a3c;border-radius:20px;font-size:12px;padding:4px 10px;display:inline-flex;align-items:center;gap:6px;margin-top:.75rem;font-weight:600}app-booking-home-page .availability-dot{width:6px;height:6px;border-radius:50%;background:#25d366}app-booking-home-page .whatsapp-link-large{display:flex;flex-direction:column;align-items:center;margin:2rem 0;text-decoration:none;color:inherit;transition:transform .2s}app-booking-home-page .whatsapp-link-large:hover{transform:scale(1.02);opacity:1}app-booking-home-page .whatsapp-number{font-size:1.5rem;font-weight:800;color:#075e54;font-family:var(--font-headline)}app-booking-home-page .whatsapp-subtext{font-size:12px;color:var(--secondary);margin-top:4px}app-booking-home-page .modal-footer{padding:0 2rem 2rem;display:flex;flex-direction:column;gap:8px}app-booking-home-page .modal-footer .btn{width:100%;padding:.9rem;font-size:1rem;border-radius:.85rem;justify-content:center}app-booking-home-page .btn--whatsapp{background:#25d366!important;color:#fff!important;border:none;display:flex;align-items:center;gap:8px}app-booking-home-page .btn--whatsapp:hover{background:#1ebe5a!important}app-booking-home-page .btn--ghost{background:transparent!important;border:none!important;color:var(--secondary)!important;box-shadow:none!important}app-booking-home-page .btn--ghost:hover{background:var(--surface-container-low)!important;color:var(--on-surface)!important}@media (max-width: 600px){app-booking-home-page .modal-header,app-booking-home-page .modal-body,app-booking-home-page .modal-footer{padding-left:1.25rem;padding-right:1.25rem}app-booking-home-page .modal-header{padding-top:1.25rem}app-booking-home-page .modal-footer{padding-bottom:1.25rem}}@keyframes booking-fade-in{0%{opacity:0}to{opacity:1}}@keyframes booking-modal-slide-up{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-overlay{position:fixed;inset:0;background-color:#191c1d66;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem}.modal-content{width:100%;max-width:560px;background-color:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);overflow:hidden;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.modal-header{padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid rgba(115,119,131,.08)}.modal-title-group{display:flex;gap:1rem;align-items:center}.modal-icon{width:44px;height:44px;background-color:var(--color-surface-container-low);color:var(--color-primary);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;font-size:24px}.modal-icon--danger{background-color:#ba1a1a1a;color:var(--color-error)}.modal-header h3{font-family:var(--font-headline);font-size:1.25rem;font-weight:800;color:var(--color-on-surface);line-height:1.2}.modal-subtitle{font-size:.8125rem;color:var(--color-secondary);margin-top:.25rem}.btn-close-modal{background:none;border:none;color:var(--color-secondary);cursor:pointer;padding:.5rem;margin:-.5rem;opacity:.6;transition:all .2s}.btn-close-modal:hover{opacity:1;transform:rotate(90deg)}.modal-body{padding:1.5rem 2rem;overflow-y:auto}.modal-footer{margin-top:0;padding:1.25rem 2rem;border-top:1px solid rgba(115,119,131,.08);display:flex;justify-content:flex-end;gap:1rem}.btn-cancel{padding:.75rem 1.5rem;background-color:var(--color-surface-container-high);color:var(--color-on-surface);border:none;border-radius:var(--radius-lg);font-weight:700;font-size:.875rem;cursor:pointer;transition:background-color .2s}.btn-cancel:hover{background-color:var(--color-surface-container-highest)}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.btn-confirm{padding:.75rem 2rem;background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-lg);font-weight:700;font-size:.875rem;cursor:pointer;box-shadow:var(--shadow-primary);transition:all .2s}.btn-confirm:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-confirm:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-confirm--danger{background-color:var(--color-block-institutional)}.btn-confirm--danger:hover:not(:disabled){background-color:var(--color-block-institutional-dark)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
