:root{--cira-marron:#895728;--cira-gris-oficial:#a5a4a4;--cira-naranjo:#e58f47;--cira-verde:#3fae62;--cira-rosado:#e087b7;--bg-base:#faf6ef;--bg-alt:#f1ede4;--bg-dark:#2b1f14;--text-primary:#2b1f14;--text-secondary:#5c4b3a;--text-muted:#8b7b6a;--border-subtle:#e5ddd0;--border-medium:#c9bfaf;--brand-primary:var(--cira-naranjo);--brand-secondary:var(--cira-verde);--brand-warm:var(--cira-marron);--brand-soft:var(--cira-rosado);--brand-neutral:var(--cira-gris-oficial);--font-heading:"Nunito","DM Sans",system-ui,sans-serif;--font-body:"Mulish","Century Gothic","Muli",system-ui,sans-serif;--font-overline:"Nunito",sans-serif;--fs-display:clamp(2.5rem, 5vw + 1rem, 6rem);--fs-h1:clamp(2rem, 3vw + 1rem, 4rem);--fs-h2:clamp(1.5rem, 2vw + 1rem, 2.5rem);--fs-h3:clamp(1.25rem, 1.5vw + .75rem, 1.75rem);--fs-body:clamp(1rem, .5vw + .9rem, 1.125rem);--fs-small:.875rem;--fs-overline:.75rem;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--space-section:clamp(4rem, 8vw, 8rem);--space-section-lg:clamp(6rem, 12vw, 12rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-weight:var(--fw-regular);color:var(--text-primary);background:var(--bg-base);margin:0;font-size:16px;line-height:1.6}img{max-width:100%;display:block}a{color:var(--text-primary)}h1,h2,h3{font-family:var(--font-heading);font-weight:var(--fw-extrabold);margin:0 0 var(--space-4);color:var(--text-primary);line-height:1.15}h1{font-size:var(--fs-display)}h2{font-size:var(--fs-h1)}h3{font-size:var(--fs-h3)}p{font-size:var(--fs-body);margin:0 0 var(--space-4);color:var(--text-secondary)}.overline{font-family:var(--font-overline);font-size:var(--fs-overline);font-weight:var(--fw-bold);letter-spacing:.15em;text-transform:uppercase;color:var(--cira-marron);align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.overline .num{font-family:var(--font-heading);font-size:1.5rem;font-weight:var(--fw-extrabold);color:var(--cira-marron);letter-spacing:normal;text-transform:none}@media (prefers-reduced-motion:no-preference){.card-equipo,.btn,.card-especialidad{transition:transform .2s,box-shadow .2s}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}header{z-index:10;padding:var(--space-4) var(--space-8);background:var(--bg-base);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex;position:sticky;top:0}.logo-wrap{align-items:center;gap:var(--space-3);display:flex}.logo-wrap img{border-radius:6px;width:auto;height:48px}.logo-wrap span{font-family:var(--font-heading);font-weight:var(--fw-extrabold);color:var(--text-primary);font-size:1.1rem}nav ul{gap:var(--space-8);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}nav a{font-weight:var(--fw-semibold);font-size:var(--fs-small);letter-spacing:.02em;text-decoration:none}nav a:hover,nav a:focus{color:var(--cira-marron);outline:2px solid var(--cira-marron);outline-offset:4px}.btn{font-family:var(--font-body);font-weight:var(--fw-medium);font-size:var(--fs-small);border:2px solid #0000;border-radius:6px;padding:1rem 2rem;text-decoration:none;display:inline-block}.btn-primario{background:var(--cira-naranjo);color:var(--text-primary)}.btn-primario:hover,.btn-primario:focus{outline:2px solid var(--cira-marron);outline-offset:2px}.btn-secundario{color:var(--cira-marron);border-color:var(--cira-marron);background:0 0}.btn-secundario:hover,.btn-secundario:focus{background:var(--cira-marron);color:var(--bg-base);outline:2px solid var(--text-primary);outline-offset:2px}section{padding:var(--space-section) var(--space-8)}#hero{background:var(--bg-alt);align-items:flex-start;gap:var(--space-6);flex-direction:column;display:flex}#hero .overline{color:var(--cira-marron)}#hero p{max-width:42rem;font-size:var(--fs-body)}#hero .acciones{gap:var(--space-4);flex-wrap:wrap;display:flex}#franja-pirque{height:clamp(200px,25vw,300px);padding:var(--space-4) var(--space-8);text-align:center;background-image:-webkit-linear-gradient(#faf6efeb,#faf6efd9),-webkit-image-set(url(/assets/paisaje-pirque.webp) 1x type("image/webp"),url(/assets/paisaje-pirque.jpg) 1x type("image/jpeg"));background-image:linear-gradient(#faf6efd9,#faf6efeb),image-set("/assets/paisaje-pirque.webp" 1x type("image/webp"),"/assets/paisaje-pirque.jpg" 1x type("image/jpeg"));background-position:50%;background-size:cover;justify-content:center;align-items:center;display:flex}#franja-pirque p{font-family:var(--font-heading);font-weight:var(--fw-extrabold);font-size:var(--fs-h3);color:var(--text-primary);max-width:36rem;margin:0}.grid-especialidades{gap:var(--space-6);margin-top:var(--space-8);grid-template-columns:repeat(12,1fr);display:grid}.card-especialidad{padding:var(--space-8);border:1px solid var(--border-subtle);border-radius:12px;flex-direction:column;justify-content:flex-end;min-height:280px;display:flex}.card-especialidad h3{margin-bottom:var(--space-2)}.card-especialidad p{font-size:var(--fs-small);margin-bottom:0}.card-especialidad a{font-weight:var(--fw-semibold);font-size:var(--fs-small)}#card-fono{background:var(--bg-base);grid-column:span 7;position:relative;overflow:hidden}#card-fono picture,#card-fono img{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}#card-fono:after{content:"";z-index:1;background:linear-gradient(#faf6ef59 0%,#faf6efe0 100%);position:absolute;inset:0}#card-fono h3,#card-fono p,#card-fono a{z-index:2;position:relative}#card-to{color:var(--bg-base);grid-column:span 5;position:relative;overflow:hidden}#card-to picture,#card-to img{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}#card-to:after{content:"";z-index:1;background:linear-gradient(#2b1f1426 0%,#2b1f14bf 100%);position:absolute;inset:0}#card-to h3,#card-to p,#card-to a{color:var(--bg-base);z-index:2;position:relative}#card-psico{background:color-mix(in srgb, var(--cira-verde) 22%, var(--bg-base));grid-column:span 5;position:relative;overflow:hidden}#card-psico picture,#card-psico img{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}#card-psico:after{content:"";z-index:1;background:linear-gradient(#f1ede459 0%,#f1ede4e0 100%);position:absolute;inset:0}#card-psico h3,#card-psico p,#card-psico a{z-index:2;position:relative}#card-psico h3{font-size:var(--fs-h2)}#card-psicopeda{color:var(--bg-base);background:#3e2712;grid-column:span 7;position:relative;overflow:hidden}#card-psicopeda picture,#card-psicopeda img{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}#card-psicopeda h3,#card-psicopeda p{color:var(--bg-base);z-index:2;position:relative}#card-psicopeda a{color:var(--cira-naranjo);z-index:2;position:relative}#card-psicopeda:before{content:"";z-index:1;background:linear-gradient(#2b1f1440 0%,#2b1f14cc 100%);position:absolute;inset:0}#card-psicopeda .circulo-1{border:2px solid var(--cira-naranjo);opacity:.5;z-index:2;border-radius:50%;width:180px;height:180px;position:absolute;top:-40px;right:-40px}#card-psicopeda .circulo-2{border:2px solid var(--cira-rosado);opacity:.4;z-index:2;border-radius:50%;width:120px;height:120px;position:absolute;bottom:-60px;right:40px}@media (max-width:800px){.grid-especialidades{grid-template-columns:1fr}#card-fono,#card-to,#card-psico,#card-psicopeda{grid-column:1/-1}}#equipo-preview{background:var(--bg-alt)}.grid-equipo{gap:var(--space-6);margin-top:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.card-equipo{aspect-ratio:3/4;background:0 0;border:none;border-radius:12px;outline:none;flex-direction:column;justify-content:flex-end;display:flex;position:relative;overflow:clip;box-shadow:0 1px 3px #00000014}.card-equipo picture,.card-equipo img{object-fit:cover;border:0;border-radius:0;width:100%;height:100%;margin:0;padding:0;display:block;position:absolute;inset:0}.card-equipo .overlay{padding:var(--space-6) var(--space-4) var(--space-4);background:linear-gradient(#0000 0%,#2b1f1466 30%,#2b1f14eb 100%);position:relative}.card-equipo .overline{color:var(--cira-rosado);margin-bottom:var(--space-2);font-size:.65rem}.card-equipo h3{color:var(--bg-base);margin-bottom:2px;font-size:1rem}.card-equipo .especialidad{color:var(--bg-alt);font-size:.8rem;font-weight:var(--fw-semibold);margin:0}.card-equipo .bio{color:var(--bg-alt);margin:var(--space-2) 0 0;opacity:1;max-height:4rem;font-size:.75rem;overflow:visible}.card-equipo:hover .bio,.card-equipo:focus-within .bio{max-height:7rem}#flujo-reserva{position:relative;overflow:hidden}#flujo-reserva:before{content:"";opacity:.1;z-index:0;background-image:-webkit-image-set(url(/assets/dibujo-colores.webp) 1x type("image/webp"),url(/assets/dibujo-colores.jpg) 1x type("image/jpeg"));background-image:image-set("/assets/dibujo-colores.webp" 1x type("image/webp"),"/assets/dibujo-colores.jpg" 1x type("image/jpeg"));background-position:50%;background-size:cover;position:absolute;inset:0}#flujo-reserva>*{z-index:1;position:relative}#flujo-reserva ol{counter-reset:paso;margin:var(--space-8) 0 0;max-width:44rem;padding:0;list-style:none}#flujo-reserva li{counter-increment:paso;gap:var(--space-6);padding:var(--space-6) 0;border-bottom:1px solid var(--border-subtle);display:flex}#flujo-reserva li:last-child{border-bottom:none}#flujo-reserva li:before{content:counter(paso, decimal-leading-zero);font-family:var(--font-heading);font-weight:var(--fw-extrabold);color:var(--cira-marron);flex-shrink:0;width:3.5rem;font-size:2.5rem;line-height:1}#flujo-reserva li h3{font-size:var(--fs-h3);margin-bottom:var(--space-2)}#flujo-reserva li p{margin-bottom:0}#cta-final{color:var(--bg-base);text-align:center;box-sizing:border-box;width:100%;padding-bottom:var(--space-16);background:#3a2f1f}#cta-final h2,#cta-final p{color:var(--bg-base)}#cta-final .acciones{gap:var(--space-4);margin-top:var(--space-6);flex-wrap:wrap;justify-content:center;display:flex}#cta-final .btn-primario{border:2px solid #3a2f1f}#cta-final .btn-secundario{color:var(--bg-base);border-color:var(--bg-base)}#cta-final .btn-secundario:hover,#cta-final .btn-secundario:focus{background:var(--bg-base);color:var(--bg-dark)}footer{background:var(--bg-dark);color:var(--bg-base);padding:var(--space-16) var(--space-8) var(--space-12);font-size:var(--fs-small);box-sizing:border-box;border-top:1px solid #ffffff1f;width:100%}footer a{color:var(--bg-base);text-decoration:underline}.footer-grid{gap:var(--space-12);flex-wrap:wrap;justify-content:space-between;display:flex}.hamburger{cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;margin:0;padding:0;display:none}.hamburger:hover,.hamburger:focus{background:var(--bg-alt);outline:2px solid var(--cira-marron);outline-offset:2px}.hamburger-line{background:var(--text-primary);border-radius:2px;width:24px;height:2.5px;transition:transform .2s,opacity .2s;display:block}[aria-expanded=true] .hamburger-line:first-child{transform:translateY(7.5px)rotate(45deg)}[aria-expanded=true] .hamburger-line:nth-child(2){opacity:0}[aria-expanded=true] .hamburger-line:nth-child(3){transform:translateY(-7.5px)rotate(-45deg)}@media (max-width:768px){.hamburger{display:flex}header{flex-wrap:nowrap}.logo-wrap span{font-size:.95rem}nav{order:1;display:contents}.nav-links{background:var(--bg-base);padding:var(--space-4) var(--space-4) var(--space-8);border-bottom:2px solid var(--border-medium);z-index:20;flex-direction:column;gap:0;display:none;position:fixed;top:61px;left:0;right:0;box-shadow:0 4px 12px #0000001a}.nav-links.nav-open{display:flex}.nav-links li{width:100%}.nav-links a{padding:var(--space-4);border-radius:8px;font-size:1.15rem;display:block}.nav-links a:hover,.nav-links a:focus{background:var(--bg-alt)}header>.btn-primario{margin-left:auto;margin-right:var(--space-2);order:2;padding:.7rem 1.2rem;font-size:.8rem}}@media (max-width:600px){section{padding:var(--space-12) var(--space-4)}header{padding:var(--space-3) var(--space-4)}}main{max-width:64rem;margin:0 auto}.breadcrumb{max-width:64rem;padding:var(--space-4) var(--space-8) 0;font-size:var(--fs-small);color:var(--text-muted);margin:0 auto}.breadcrumb a{color:var(--text-muted);text-decoration:underline}.breadcrumb span[aria-current]{color:var(--text-primary);font-weight:var(--fw-semibold)}#hero-especialidad{color:var(--bg-base);max-width:none;min-height:320px;padding:var(--space-12) var(--space-8);flex-direction:column;justify-content:flex-end;display:flex;position:relative;overflow:hidden}#hero-especialidad picture,#hero-especialidad img{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}#hero-especialidad:after{content:"";z-index:1;background:linear-gradient(#2b1f1426 0%,#2b1f14bf 100%);position:absolute;inset:0}#hero-especialidad .hero-contenido{z-index:2;width:100%;max-width:44rem;margin:0 auto;position:relative}#hero-especialidad h1{color:var(--bg-base);font-size:var(--fs-h1)}#hero-especialidad p{color:var(--bg-alt);max-width:36rem}#que-es{background:var(--bg-base)}#senales{background:var(--bg-alt)}.grid-senales{gap:var(--space-4);margin-top:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.senal{align-items:flex-start;gap:var(--space-3);background:var(--bg-base);border:1px solid var(--border-subtle);padding:var(--space-4);border-radius:10px;display:flex}.senal svg{width:24px;height:24px;color:var(--cira-verde);flex-shrink:0;margin-top:2px}.senal p{font-size:var(--fs-small);color:var(--text-primary);margin:0}#como-trabajamos ol{counter-reset:paso;margin:var(--space-8) 0 0;max-width:44rem;padding:0;list-style:none}#como-trabajamos li{counter-increment:paso;gap:var(--space-6);padding:var(--space-6) 0;border-bottom:1px solid var(--border-subtle);display:flex}#como-trabajamos li:last-child{border-bottom:none}#como-trabajamos li:before{content:counter(paso, decimal-leading-zero);font-family:var(--font-heading);font-weight:var(--fw-extrabold);color:var(--cira-marron);flex-shrink:0;width:3.5rem;font-size:2.5rem;line-height:1}#como-trabajamos li h3{font-size:var(--fs-h3);margin-bottom:var(--space-2)}#como-trabajamos li p{margin-bottom:0}#profesionales{background:var(--bg-alt)}.pagina-legal{max-width:48rem;padding:var(--space-12) var(--space-8);margin:0 auto}.fecha-actualizacion{font-size:var(--fs-small);color:var(--text-muted);font-style:italic}.aviso-revision{background:var(--bg-alt);border-left:4px solid var(--cira-rosado);padding:var(--space-4) var(--space-6);margin:var(--space-4) 0 var(--space-6);font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--text-primary)}@media (max-width:600px){.breadcrumb{padding:var(--space-4) var(--space-4) 0}.pagina-legal{padding:var(--space-8) var(--space-4)}}.booking-layout{min-height:60vh;padding:var(--space-8) var(--space-4);background:var(--bg-base)}.booking-container{max-width:40rem;margin:0 auto}.booking-progress{margin-bottom:var(--space-8)}.booking-progress-bar{margin-bottom:var(--space-3);justify-content:space-between;display:flex}.booking-progress-step{align-items:center;gap:var(--space-1);flex-direction:column;flex:1;display:flex}.booking-progress-dot{width:32px;height:32px;font-family:var(--font-heading);font-size:.8rem;font-weight:var(--fw-bold);background:var(--bg-alt);color:var(--text-muted);border:2px solid var(--border-medium);border-radius:50%;justify-content:center;align-items:center;display:flex}.booking-progress-step.completed .booking-progress-dot{background:var(--cira-verde);color:#fff;border-color:var(--cira-verde)}.booking-progress-step.active .booking-progress-dot{background:var(--cira-naranjo);color:var(--text-primary);border-color:var(--cira-naranjo)}.booking-progress-label{color:var(--text-muted);white-space:nowrap;font-size:.65rem;display:none}.booking-progress-step.active .booking-progress-label{color:var(--cira-marron);font-weight:var(--fw-semibold)}.booking-progress-step.completed .booking-progress-label{display:block}.booking-progress-track{background:var(--bg-alt);border-radius:2px;height:4px;overflow:hidden}.booking-progress-fill{background:var(--cira-naranjo);border-radius:2px;height:100%;transition:width .3s}.booking-title{font-size:var(--fs-h2);margin-bottom:var(--space-2)}.booking-step-desc{color:var(--text-secondary);margin-bottom:var(--space-6)}.booking-cards{gap:var(--space-4);flex-direction:column;display:flex}.booking-card{align-items:center;gap:var(--space-4);padding:var(--space-5);border:2px solid var(--border-subtle);color:var(--text-primary);background:#fff;border-radius:12px;text-decoration:none;transition:border-color .2s,box-shadow .2s;display:flex}.booking-card:hover,.booking-card:focus{border-color:var(--cira-naranjo);outline:none;box-shadow:0 2px 12px #e58f4726}.booking-card-icon{flex-shrink:0;font-size:1.8rem}.booking-card-title{font-family:var(--font-heading);font-size:var(--fs-h3);margin:0 0 var(--space-1)}.booking-card-desc{font-size:var(--fs-small);color:var(--text-secondary);margin:0}.booking-card-professional{gap:var(--space-5)}.booking-pro-photo{background:var(--bg-alt);border-radius:50%;flex-shrink:0;width:72px;height:72px;overflow:hidden}.booking-pro-photo img{object-fit:cover;width:100%;height:100%}.booking-pro-info{flex:1;min-width:0}.booking-pro-specialty{color:var(--cira-marron);font-size:.8rem;font-weight:var(--fw-semibold);margin-bottom:var(--space-2);display:block}.booking-pro-schedule{color:var(--text-muted);font-size:.75rem}.booking-pro-days{margin-right:var(--space-3)}.booking-card-first{background:var(--bg-alt);margin-bottom:var(--space-4);border-style:dashed}.booking-card-first:hover{border-color:var(--cira-verde);box-shadow:0 2px 12px #3fae6226}@media (min-width:600px){.booking-layout{padding:var(--space-12) var(--space-8)}.booking-cards-specialty{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.booking-card-specialty{text-align:center;padding:var(--space-8);flex-direction:column}.booking-card-icon{font-size:2.5rem}.booking-progress-label,.booking-progress-step.completed .booking-progress-label,.booking-progress-step.active .booking-progress-label{display:block}}.schedule-days{margin-bottom:var(--space-6);-webkit-overflow-scrolling:touch;overflow-x:auto}.schedule-days-scroll{gap:var(--space-2);padding-bottom:var(--space-2);min-width:max-content;display:flex}.schedule-day-btn{padding:var(--space-3) var(--space-4);border:2px solid var(--border-subtle);cursor:pointer;font-family:var(--font-body);background:#fff;border-radius:10px;flex-direction:column;align-items:center;gap:2px;min-width:64px;transition:border-color .15s,background .15s;display:flex}.schedule-day-btn:hover{border-color:var(--cira-marron)}.schedule-day-btn.selected{border-color:var(--cira-naranjo);background:color-mix(in srgb, var(--cira-naranjo) 8%, #fff)}.schedule-day-btn.today{font-weight:var(--fw-bold)}.schedule-day-name{color:var(--text-muted);text-transform:uppercase;font-size:.7rem}.schedule-day-num{font-size:1.2rem;font-weight:var(--fw-bold);color:var(--text-primary)}.schedule-day-month{color:var(--text-muted);font-size:.65rem}.schedule-more-btn{padding:var(--space-3) var(--space-4);border:2px dashed var(--border-medium);cursor:pointer;color:var(--text-secondary);background:0 0;border-radius:10px;min-width:64px;font-size:.8rem}.schedule-jornada{margin-bottom:var(--space-5)}.schedule-jornada-title{font-family:var(--font-heading);font-size:var(--fs-small);font-weight:var(--fw-bold);color:var(--cira-marron);margin-bottom:var(--space-3)}.schedule-slots-grid{gap:var(--space-2);flex-wrap:wrap;display:flex}.schedule-slot-btn{padding:var(--space-3) var(--space-5);border:2px solid var(--border-subtle);font-family:var(--font-body);font-size:var(--fs-small);cursor:pointer;background:#fff;border-radius:8px;transition:border-color .15s,background .15s}.schedule-slot-btn:hover{border-color:var(--cira-verde)}.schedule-slot-btn.selected{border-color:var(--cira-verde);background:color-mix(in srgb, var(--cira-verde) 10%, #fff);font-weight:var(--fw-bold)}.schedule-loading{align-items:center;gap:var(--space-3);padding:var(--space-8) 0;display:flex}.schedule-error{padding:var(--space-4);margin:var(--space-4) 0;background:#fff0f0;border:1px solid #fdd;border-radius:8px}.schedule-empty{color:var(--text-muted);padding:var(--space-6) 0;text-align:center}.schedule-summary{margin-top:var(--space-6);padding:var(--space-5);background:var(--bg-alt);justify-content:space-between;align-items:center;gap:var(--space-4);border-radius:12px;display:flex}.schedule-summary-text{font-weight:var(--fw-semibold);color:var(--text-primary);margin:0}.booking-resumen{background:var(--bg-alt);padding:var(--space-5);margin-bottom:var(--space-6);border-radius:12px}.booking-resumen table{width:100%}.booking-resumen td{padding:var(--space-2) 0;font-size:var(--fs-small);vertical-align:top}.booking-resumen td:first-child{color:var(--text-muted);width:100px}.booking-resumen td:last-child{color:var(--text-primary);font-weight:var(--fw-medium)}.patient-form{max-width:32rem}.patient-checkbox-label{align-items:center;gap:var(--space-3);cursor:pointer;margin-bottom:var(--space-4);font-size:var(--fs-body);display:flex}.patient-checkbox-label input[type=checkbox]{flex-shrink:0;width:20px;height:20px}.patient-fieldset{border:1px solid var(--border-subtle);padding:var(--space-5);margin-bottom:var(--space-5);border-radius:10px}.patient-fieldset legend{font-family:var(--font-heading);font-weight:var(--fw-bold);font-size:var(--fs-small);color:var(--cira-marron);padding:0 var(--space-2)}.form-field{margin-bottom:var(--space-4)}.form-field label{font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--text-primary);margin-bottom:var(--space-1);display:block}.form-field input{width:100%;padding:var(--space-3);border:2px solid var(--border-subtle);font-family:var(--font-body);font-size:var(--fs-body);box-sizing:border-box;background:#fff;border-radius:8px}.form-field input:focus{border-color:var(--cira-naranjo);outline:none}.form-error{color:#d32f2f;margin-top:var(--space-1);font-size:.75rem;display:block}.tc-field.has-error{padding:var(--space-4);border:1px solid #d32f2f;border-radius:10px}.api-error{padding:var(--space-4);margin-bottom:var(--space-4);background:#fff0f0;border:1px solid #fdd;border-radius:8px}.patient-actions{gap:var(--space-4);margin-top:var(--space-6);display:flex}.booking-mini-summary{background:color-mix(in srgb, var(--cira-naranjo) 6%, var(--bg-base));padding:var(--space-3) var(--space-5);margin-bottom:var(--space-5);font-size:var(--fs-small);border-radius:8px}.booking-mini-summary p{color:var(--text-primary);text-transform:capitalize;margin:0}.spinner{border:3px solid var(--border-subtle);border-top-color:var(--cira-naranjo);border-radius:50%;width:24px;height:24px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.payment-status{text-align:center;padding:var(--space-8) var(--space-4);max-width:32rem;margin:0 auto}.payment-status h2{font-size:var(--fs-h2);margin-bottom:var(--space-3)}.payment-status p{color:var(--text-secondary);margin-bottom:var(--space-3)}.payment-ref{background:var(--bg-alt);padding:var(--space-3) var(--space-5);margin:var(--space-4) 0;font-size:var(--fs-small);border-radius:8px;display:inline-block}.payment-hint{color:var(--text-muted);font-size:.8rem}.spinner-lg{width:48px;height:48px;margin:0 auto var(--space-5);border-width:4px}.payment-success-icon,.payment-fail-icon,.payment-cancel-icon,.payment-warning-icon{width:64px;height:64px;margin:0 auto var(--space-5);border-radius:50%;justify-content:center;align-items:center;font-size:2rem;font-weight:700;display:flex}.payment-success-icon{background:var(--cira-verde);color:#fff}.payment-fail-icon,.payment-cancel-icon{color:#fff;background:#e53935}.payment-warning-icon{background:var(--cira-naranjo);color:#fff}.payment-confirmation-card{border:1px solid var(--border-subtle);padding:var(--space-5);margin:var(--space-5) 0;text-align:left;background:#fff;border-radius:12px}.payment-confirmation-card table{width:100%}.payment-confirmation-card td{padding:var(--space-2) 0;font-size:var(--fs-small)}.payment-confirmation-card td:first-child{color:var(--text-muted);width:120px}.payment-confirmation-card td:last-child{color:var(--text-primary);font-weight:var(--fw-medium)}.payment-confirmation-info{text-align:left;background:var(--bg-alt);padding:var(--space-5);margin-bottom:var(--space-5);border-radius:10px}.payment-confirmation-info p{margin-bottom:var(--space-2);font-size:var(--fs-small)}.payment-cancel-policy{color:var(--text-muted);border-top:1px solid var(--border-subtle);padding-top:var(--space-3);margin-top:var(--space-3)!important;font-size:.8rem!important}.payment-status .btn{margin-top:var(--space-4)}
