/* La fuente web la emite hub_brand_font_import() con la familia que tenga el
   inquilino en su marca. Aqui no se carga ninguna a fuego: hacerlo obligaba a
   Raleway y dejaba muda la eleccion de la pantalla Marca (regla 66). */
.hub-brand-experience *{box-sizing:border-box}
/* Shared typography and controls for the public journey and the clinic workspace. */
body.hub-brand-experience{font-family:var(--font-primary,system-ui,sans-serif);background:#faf8f6;color:#2c2522;font-size:15px;line-height:1.6;--ink:#2c2522;--muted:#716862;--wine:var(--accent-ink,#912e27);--coral:var(--orange-warm,#e74637);--paper:#faf8f6;--line:#e8e1da;--serif:var(--font-title,system-ui,sans-serif)}
.hub-brand-experience :is(h1,h2,h3){font-family:var(--font-title,system-ui,sans-serif);font-weight:700;letter-spacing:-.035em;line-height:1.16}
.hub-brand-experience :is(h1,h2){font-weight:800}
.hub-brand-experience :is(button,input,select,textarea){font-family:inherit}
.hub-brand-experience :is(.ws-heading h1,.ws-stat strong){font-family:var(--font-title,system-ui,sans-serif);font-weight:800}
.hub-brand-experience #workspaceLegacy{font-family:var(--font-primary,system-ui,sans-serif)!important}
.hub-brand-experience em{font-style:normal;font-weight:inherit}
.amuna-landing h2{font-size:clamp(30px,3.5vw,46px)}
.amuna-landing .al-hero h1{font-size:clamp(44px,5.3vw,72px);font-weight:800;letter-spacing:-.045em}
.amuna-landing .al-header{height:88px;max-width:1280px;border-bottom:1px solid var(--line)}
.amuna-landing .al-hero{max-width:1280px;min-height:580px;padding:32px 4%;gap:48px}
.amuna-landing .al-hero-copy{padding:38px 0 12px}
.amuna-landing .al-hero-photo{min-height:540px;margin:0;border-radius:18px}
.amuna-landing .al-photo-note{font-size:16px;font-weight:600;border-radius:10px}
.amuna-landing .al-section{max-width:1280px;padding-top:64px;padding-bottom:64px}
.amuna-landing :is(.al-button,.al-team,.al-qr-camera-button){border-radius:10px;min-height:48px;font-size:14px;font-weight:700}
.amuna-landing .al-button{background:var(--wine);border-color:var(--wine)}
.amuna-landing .al-button-light{background:white;color:var(--wine);border-color:white}
.amuna-landing .al-lead{font-size:16px;max-width:460px}
.amuna-landing .al-micro{font-size:12px}
.amuna-landing .al-area{border-radius:14px;background:white;padding:26px}
.amuna-landing .al-area-top{margin-bottom:18px}
.amuna-landing .al-area h3{font-size:26px;font-weight:700;letter-spacing:-.025em}
.amuna-landing :is(.al-area p,.al-service-row p,.al-step-hint,.al-choice p){font-size:14px;line-height:1.65}
.amuna-landing .al-experience-image{border-radius:18px}
.amuna-landing .al-specialist{padding:18px;border:1px solid var(--line);border-radius:14px;background:white}
.amuna-landing .al-specialist-portrait{border-radius:10px;aspect-ratio:1.25}
.amuna-landing .al-specialist-copy h3{font-size:24px;font-weight:700;letter-spacing:-.025em}
.amuna-landing .al-service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.amuna-landing .al-service-row{grid-template-columns:1fr auto;gap:16px;padding:24px;border:1px solid var(--line);border-radius:12px;background:white}
.amuna-landing .al-service-row>div:first-child{grid-column:1/-1}
.amuna-landing .al-service-row h3{font-size:21px;font-weight:700}
.amuna-landing .al-service-meta>span{font-size:13px}
.amuna-landing .al-packages{border:1px solid var(--line);border-radius:14px;background:white}
.amuna-landing .al-packages h3{font-size:25px;font-weight:700}
.amuna-landing .al-final h2{font-size:clamp(38px,5vw,62px)}
.amuna-landing .al-dialog{border:1px solid var(--line);border-radius:16px}
.amuna-landing :is(.al-booking-main h2,.al-login-inner h2,.al-success h2){font-size:32px;font-weight:800;letter-spacing:-.025em}
.amuna-landing .al-progress{list-style:none;gap:8px;padding:20px 28px}
.amuna-landing .al-progress li::marker{content:''}
.amuna-landing .al-progress li:after{display:none}
.amuna-landing .al-progress li>span{height:4px;width:100%;border:0;border-radius:4px;background:var(--line);margin-bottom:9px}
.amuna-landing .al-progress small{font-size:12px}
.amuna-landing .al-progress li[aria-current=step]>span,.amuna-landing .al-progress li.is-done>span{background:var(--wine)}
.amuna-landing #alStepNumber:empty{display:none}
.amuna-landing .al-access-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;flex:none}
.amuna-landing .al-receipt{margin:24px auto;padding:20px;border:1px solid var(--line);border-radius:12px;background:white}
.al-receipt svg{display:block;width:200px;max-width:100%;height:auto;margin:0 auto 16px;shape-rendering:crispEdges}
.al-receipt p{font-size:13px;margin:12px 0}.al-receipt button{width:100%}
.hub-public-page .hp-top{background:white;border-bottom:1px solid #e8e1da;box-shadow:none}
.hub-public-page .hp-top-in{max-width:1120px;padding:20px 24px;margin:auto}
.hub-public-page .hp-top img{height:40px;width:auto;max-width:160px;object-fit:contain}
.hub-public-page .hp-wrap{max-width:860px;width:100%;margin:auto;padding:20px 24px 60px}
.hub-public-page :is(.hp-card,.hp-hero,.hp-note){border-radius:12px}
.hub-public-page .hp-btn{border-radius:10px;min-height:48px;font-weight:700}
.hub-public-page .hp-btn-primary{background:var(--wine);color:white;box-shadow:none}
.hub-public-page .hp-hero{background:white;border:1px solid var(--line);color:var(--ink)}
.hub-public-page .hp-hero p{color:var(--muted);opacity:1}
.hp-public-access{margin-left:auto;font-size:14px;font-weight:700;color:var(--wine)}
.specialist-page{margin:0}.sp-header{background:white;border-bottom:1px solid var(--line)}
.sp-header>div{max-width:1120px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:20px 24px;gap:20px}
.sp-header img{width:148px;height:48px;object-fit:contain}.sp-header a{color:var(--wine);text-decoration:none;font-weight:700}
.sp-main{max-width:1120px;margin:40px auto 72px;padding:0 24px;display:grid;grid-template-columns:320px minmax(0,1fr);align-items:start;gap:32px}
.sp-profile,.sp-content{min-width:0;padding:28px;border:1px solid var(--line);border-radius:14px;background:white}
.sp-profile{position:sticky;top:24px}.sp-portrait{aspect-ratio:1;display:grid;place-items:center;overflow:hidden;border-radius:12px;background:#f4eeea;color:var(--wine);font-size:64px;font-weight:700}
.sp-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 30%}.sp-profile h1{font-size:30px;margin:24px 0 8px}.sp-specialty{font-size:16px;font-weight:700;color:var(--wine);margin:0 0 8px}.sp-meta{font-size:13px;color:var(--muted);margin:8px 0}
.sp-button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;width:100%;padding:12px 16px;border:1px solid var(--wine);border-radius:10px;color:white;background:var(--wine);font-size:14px;font-weight:700;text-decoration:none;cursor:pointer}
.sp-button.secondary{color:var(--wine);background:white}.sp-actions{display:grid;gap:10px;margin-top:24px}.sp-content h2{font-size:25px;margin:0 0 18px}.sp-content h3{font-size:19px;margin:24px 0 12px}.sp-bio{font-size:15px;line-height:1.8;overflow-wrap:anywhere}.sp-bio p{margin:0 0 16px}.sp-details{border-top:1px solid var(--line);padding-top:22px;margin-top:28px}.sp-details a{color:var(--wine)}.sp-share{margin-top:24px}.sp-share summary{cursor:pointer;font-size:14px;font-weight:700;min-height:44px}.sp-share svg{display:block;width:200px;max-width:100%;height:auto;margin:16px auto}.sp-foot{font-size:13px;color:var(--muted);text-align:center;padding:24px}
@media(max-width:760px){.amuna-landing .al-hero{grid-template-columns:1fr;gap:24px;padding:28px 22px}.amuna-landing .al-hero-copy{padding:0}.amuna-landing .al-hero-photo{min-height:380px}.amuna-landing .al-hero h1{font-size:46px}.amuna-landing .al-service-list{grid-template-columns:1fr}.amuna-landing .al-service-row{padding:20px}.amuna-landing .al-progress{padding:18px 16px;gap:6px}.amuna-landing .al-progress small{font-size:10px}.amuna-landing .al-dialog{border-radius:0}.amuna-landing .al-login-dialog{border-radius:14px}.amuna-landing .al-specialist-grid{grid-template-columns:1fr}.hub-public-page .hp-wrap{padding:18px 16px 40px}.sp-main{grid-template-columns:1fr;margin:24px auto 40px;padding:0 16px;gap:20px}.sp-profile{position:static}.sp-portrait{max-width:340px;margin:auto}.sp-profile,.sp-content{padding:24px}.sp-header>div{padding:16px 20px}.sp-profile h1{font-size:30px}.sp-content h2{font-size:24px}}

.sp-details .sp-button:not(.secondary){color:white}

.hp-cita-title{font-size:28px;margin:0 0 22px}.specialist-page .hub-card-share{margin:24px 0 0}
.sp-info-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.sp-info-list li{padding:16px;background:var(--paper);border-radius:10px}.sp-info-list p{margin:6px 0 0}.sp-socials{display:flex;gap:12px 24px;flex-wrap:wrap}.sp-socials a{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:600}.sp-details{overflow-wrap:anywhere}
.hub-team-access .caja{max-width:480px;border:1px solid var(--line);border-radius:14px;box-shadow:none;padding:36px 28px}.hub-team-access h1{font-size:26px;margin-bottom:12px}.hub-team-access button{border-radius:10px;background:var(--wine);color:white;font-weight:700}.hub-team-access .quien{background:white;color:var(--ink)}.hub-team-access input[type=password]{border-radius:10px;border-width:1px}
.sp-cover{display:block;width:100%;aspect-ratio:3;object-fit:cover;border-radius:10px;margin-bottom:24px}

/* Iniciales de respaldo cuando no hay foto: son marca, no texto. */
.hub-brand-experience :is(.al-specialist-portrait>span,.sp-portrait>span,.al-avatar,.ws-avatar){font-family:var(--font-title,system-ui,sans-serif);font-weight:800}

/* ── LA CITA Y LA CONSTANCIA CON LA PIEL DE LA PORTADA ────────────────────────
   El paciente termina de reservar y pulsa "Ver mi cita". Si lo que abre lleva
   otra cabecera, otros botones y otro amarillo, lo que piensa no es "qué bonito"
   sino "¿reservé bien?". Estas reglas no cambian nada de la cita: le ponen a
   /cita y /constancia la misma cabecera, el mismo borde y los mismos controles
   que ya usan la portada y la tarjeta del especialista. */
.hub-public-page .hp-top-in{max-width:1280px;min-height:88px;padding:0 4%;gap:20px}
.hub-public-page .hp-top img{height:52px;max-width:148px}
/* Con logo, el nombre escrito al lado es el mismo dato dos veces; la portada
   sólo enseña el logo. Sin logo el nombre sigue siendo la cabecera. */
.hub-public-page .hp-top-in img+span .hp-top-name{display:none}
.hub-public-page .hp-top-sub{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.hp-public-access{border:1px solid #c8b9b0;border-radius:30px;padding:11px 18px;font-size:11px;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}
.hp-public-access:hover{background:#f0e7de}
.hub-public-page .hp-cita-title{font-size:clamp(30px,3.4vw,38px);letter-spacing:-.035em;margin:6px 0 20px}
.hub-public-page :is(.hp-card,.hp-note,.hp-pol,.hp-pol-cerrada){border:1px solid var(--line);border-radius:12px;box-shadow:none}
.hub-public-page :is(.hp-note,.hp-pol,.hp-pol-cerrada){background:white}
.hub-public-page .hp-btn{font-size:14px}
.hub-public-page .hp-btn-ghost{border:1px solid var(--line);background:white;color:var(--wine)}
.hub-public-page .hp-btn-danger{color:#B23A2B}
/* WhatsApp no trae su verde a esta página: en la portada, hablar con el equipo
   es un control secundario más, no un botón de otra marca. */
.hub-public-page .hp-btn-wa{background:white;color:var(--wine);border:1px solid var(--line)}
