:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-light: rgba(37, 99, 235, .12);--color-accent: #facc15;--color-accent-hover: #eab308;--color-accent-light: rgba(250, 204, 21, .12);--color-bg: #040a16;--color-surface: #0a1426;--color-surface-alt: #11203b;--color-text: #f8fafc;--color-text-secondary: #94a3b8;--color-border: #1d3255;--color-error: #f87171;--color-success: #4ade80;--font-display: "Playfair Display", Georgia, "Times New Roman", serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 24px;--transition: .2s ease;--shadow-md: 0 4px 24px rgba(0, 0, 0, .6);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .7)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-body);line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img,svg{max-width:100%;display:block}button{font-family:inherit}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:1rem;z-index:9999;padding:.75rem 1.25rem;background-color:var(--color-primary);color:#fff;font-weight:700;border-radius:var(--radius-sm)}.skip-link:focus{top:1rem}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.section{padding:5rem 0}@media(max-width:767px){.section{padding:3.5rem 0}}.section-title{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.75rem);font-weight:700;color:var(--color-text);text-align:center;margin-bottom:1rem}.section-title span{color:var(--color-accent)}.section-subtitle{text-align:center;color:var(--color-text-secondary);font-size:1rem;max-width:560px;margin:0 auto 3rem;line-height:1.7}.accent-divider{display:block;width:56px;height:3px;background:linear-gradient(90deg,var(--color-accent),transparent);border-radius:2px;margin:.75rem auto 2.5rem}.btn-whatsapp,.btn-outline-accent,.btn-outline,.btn-accent,.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 2.25rem;font-family:var(--font-body);font-size:.95rem;font-weight:700;letter-spacing:.03em;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition),transform var(--transition),box-shadow var(--transition)}.btn-whatsapp:disabled,.btn-outline-accent:disabled,.btn-outline:disabled,.btn-accent:disabled,.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 6px 20px #2563eb66}.btn-primary:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px;background-color:var(--color-primary-hover)}.btn-accent{background-color:var(--color-accent);color:#000}.btn-accent:hover{background-color:var(--color-accent-hover);transform:translateY(-2px);box-shadow:0 6px 20px #facc1559}.btn-accent:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.btn-outline{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline:hover{background-color:var(--color-primary);color:#fff;transform:translateY(-2px)}.btn-outline:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px;background-color:var(--color-primary);color:#fff}.btn-outline-accent{background-color:transparent;color:var(--color-accent);border:2px solid var(--color-accent)}.btn-outline-accent:hover{background-color:var(--color-accent);color:#000;transform:translateY(-2px)}.btn-outline-accent:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.btn-whatsapp{background-color:#25d366;color:#fff}.btn-whatsapp:hover{background-color:#1da851;transform:translateY(-2px);box-shadow:0 6px 20px #25d36659}.btn-whatsapp:focus-visible{outline:3px solid #25d366;outline-offset:3px}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-label{font-size:.8rem;font-weight:600;color:var(--color-text-secondary);letter-spacing:.06em;text-transform:uppercase}.form-input{width:100%;padding:.8rem 1rem;background-color:var(--color-surface-alt);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:.95rem;font-family:var(--font-body);transition:border-color var(--transition),box-shadow var(--transition);appearance:none}.form-input::placeholder{color:var(--color-text-secondary);opacity:.55}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-input.ng-invalid.ng-touched{border-color:var(--color-error);box-shadow:0 0 0 3px #f871711f}.form-input option{background-color:var(--color-surface-alt);color:var(--color-text)}textarea.form-input{resize:vertical;min-height:150px;line-height:1.6}.form-error{font-size:.78rem;color:var(--color-error);margin-top:.125rem}.service-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.75rem;display:flex;flex-direction:column;gap:.5rem;transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition)}.service-card:hover{border-color:var(--color-primary);transform:translateY(-5px);box-shadow:var(--shadow-md)}.service-card__name{font-family:var(--font-display);font-size:1.2rem;color:var(--color-text);font-weight:700}.service-card__desc{font-size:.875rem;color:var(--color-text-secondary);line-height:1.55;flex:1}.service-card__meta{display:flex;align-items:center;justify-content:space-between;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.service-card__price{font-size:1.4rem;font-weight:700;color:var(--color-accent);font-family:var(--font-display)}.service-card__duration{display:flex;align-items:center;gap:.375rem;font-size:.82rem;color:var(--color-text-secondary)}.service-card__cta{margin-top:1rem;display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;background-color:transparent;border:1.5px solid var(--color-primary);color:var(--color-primary);font-size:.875rem;font-weight:600;border-radius:var(--radius-sm);transition:background-color var(--transition),color var(--transition)}.service-card__cta:hover,.service-card__cta:focus-visible{background-color:var(--color-primary);color:#fff}.service-card__cta:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.alert{padding:1rem 1.25rem;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;display:flex;align-items:flex-start;gap:.75rem}.alert--success{background-color:#4ade8014;border:1px solid rgba(74,222,128,.25);color:var(--color-success)}.alert--error{background-color:#f8717114;border:1px solid rgba(248,113,113,.25);color:var(--color-error)}.chip-group{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:.75rem}.chip{position:relative;display:flex;align-items:center;justify-content:center;padding:.5rem;width:100%;box-sizing:border-box;background-color:var(--color-surface-alt);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);font-size:.85rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color var(--transition),color var(--transition),background-color var(--transition)}.chip input[type=radio]{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.chip:hover{border-color:var(--color-primary);color:var(--color-text)}.chip--selected{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:700}.chip--booked{background-color:#f8717108!important;border-color:#f871712e!important;color:#f871717a!important;cursor:not-allowed!important;text-decoration:line-through}.chip--booked input[type=radio]{cursor:not-allowed!important}.chip--booked:hover{border-color:#f8717140!important;color:#f8717180!important}.chip--booked:focus-within{outline:none!important}.chip:focus-within{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-lg)}.text-accent{color:var(--color-accent)}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-center{text-align:center}
