/* Sistema público Valia: roles de color, superficies y estados de interacción.
 * Cargar después de las hojas de página. Los tonos de marca conservan sus aliases del CMS.
 * Turquesa y dorado son acentos; el texto pequeño utiliza petróleo o azul profundo.
 */
:root {
	--valia-surface-mint: #edf7f5;
	--valia-surface-warm: #fff7e5;
	--valia-control-border: #657984;
	--valia-text-secondary: #40566a;
	--valia-error-ink: #922c36;
	--valia-error-surface: #fff1f2;
	--valia-card-radius: 20px;
	--valia-elevation: 0 12px 32px #102a430a;
}
body { --bs-link-color: #006b70; --bs-link-hover-color: #102a43; }
main { min-width: 0; }
main :is(h1,h2,h3,legend) { text-wrap: balance; }
main :is(p,li,dd,label) { overflow-wrap: break-word; }
main :is(section,fieldset)[id] { scroll-margin-top: calc(var(--valia-header-height,106px) + 24px); }
[hidden] { display: none !important; }
::selection { color: #102a43; background: #cff5f1; }
.valia-experience a:not(.btn):not(.valia-access) { text-underline-offset: 4px; }
.valia-experience .valia-eyebrow, .vi-eyebrow { font-size: .8125rem; line-height: 1.6; letter-spacing: .1em; }
.btn { min-height: 48px; white-space: normal; }
.btn-valia-outline { border-color: var(--valia-petrol); }
:is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
	outline: 3px solid #006b70;
	outline-offset: 4px;
	box-shadow: 0 0 0 2px #fff;
}
.valia-navbar { border-bottom: 1px solid #d5e1de; box-shadow: 0 3px 20px #102a4305; }
.valia-navbar .nav-link { color: var(--valia-navy); }
.valia-navbar .navbar-toggler:focus-visible { outline: 3px solid #006b70; outline-offset: 2px; }
.valia-navbar .nav-link[aria-current="page"] { color: var(--valia-petrol); }

/* Portada: cada bloque expresa una función y conserva la lectura sobre su superficie. */
.valia-editorial { background: radial-gradient(ellipse at 90% 15%, #cff5f180, transparent 60%), var(--valia-ivory); }
.valia-editorial-copy { position: relative; }
.valia-editorial-rule { width: 76px; height: 4px; border-radius: 4px; }
.valia-editorial-search { border-top: 4px solid var(--valia-petrol); box-shadow: 0 16px 38px #102a4310; }
.valia-editorial-visual picture { border-radius: 24px 100px 24px 24px; }
.valia-quick-search a { border-color: #a7bcb9; font-weight: 550; }
.valia-quick-search a:hover { background: var(--valia-surface-mint); }
.valia-home-premium .valia-home-section { border-top: 0; padding-block: clamp(48px,6vw,88px); }
.valia-home-premium .valia-home-section.valia-tone-menta { background: var(--valia-surface-mint); }
.valia-home-premium .valia-section-heading { max-width: none; margin-inline: 0; margin-bottom: 36px; text-align: start; }
.valia-home-premium .valia-section-heading > div { max-width: 760px; }
.valia-home-premium .valia-section-heading h2 { font-size: clamp(2rem,3.25vw,3.25rem); line-height: 1.16; }
.valia-home-premium .valia-section-heading h2 + p { margin: 20px 0 0; max-width: 64ch; font-size: 1rem; }
.valia-home-premium .valia-section-heading > a { font-size: .9375rem; min-height: 44px; display: inline-flex; align-items: center; flex-shrink: 0; }
/* Especialidades: filas parejas y resumen de tres líneas; el texto original sigue en el DOM. */
.valia-home-premium .valia-specialty-grid {
	grid-template-columns: repeat(auto-fill,minmax(min(100%,14rem),1fr));
	grid-auto-rows: 1fr;
}
.valia-home-premium .valia-specialty-grid a.valia-specialty-summary {
	--valia-specialty-accent: var(--valia-petrol);
	--valia-specialty-icon-bg: var(--valia-surface-mint);
	display: grid;
	grid-template-rows: 52px 1fr auto auto;
	align-content: stretch;
	align-items: start;
	gap: 12px;
	min-width: 0;
	min-height: 0;
	padding: 24px;
	border: 1px solid #c1d9d5;
	border-top: 3px solid var(--valia-specialty-accent);
	border-radius: var(--valia-card-radius);
	background: #fff;
	color: var(--valia-navy);
	text-decoration: none;
	box-shadow: 0 4px 16px #102a4304;
	transform: none;
	transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.valia-home-premium .valia-specialty-grid a.valia-specialty-summary:nth-child(3n + 2) { --valia-specialty-accent: var(--valia-gold); --valia-specialty-icon-bg: var(--valia-surface-warm); }
.valia-home-premium .valia-specialty-grid a.valia-specialty-summary:nth-child(3n) { --valia-specialty-accent: var(--valia-navy); --valia-specialty-icon-bg: #edf1f8; }
.valia-home-premium .valia-specialty-summary > * { min-width: 0; max-width: 100%; }
.valia-home-premium .valia-specialty-summary > i { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; color: var(--valia-petrol); background: var(--valia-specialty-icon-bg); transition: transform .2s ease; }
.valia-home-premium .valia-specialty-summary > strong { min-height: 2.7em; color: inherit; font-size: 1.125rem; font-weight: 650; line-height: 1.35; }
.valia-home-premium .valia-specialty-grid .valia-specialty-summary > p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; height: 4.8em; overflow: hidden; margin: 0; color: var(--valia-text-secondary); font-size: 1rem; line-height: 1.6; }
.valia-home-premium .valia-specialty-summary > small { min-height: calc(2.8em + 10px); margin-top: 0; padding-top: 10px; color: var(--valia-petrol); font-size: .875rem; line-height: 1.4; text-decoration: underline; text-underline-offset: 4px; }
.valia-home-premium .valia-specialty-summary > small > span { display: inline-block; transition: transform .2s ease; }
.valia-home-premium .valia-specialty-grid a.valia-specialty-summary:is(:focus-visible,:active) { background: var(--valia-petrol); color: #fff; border-color: var(--valia-petrol); border-top-color: var(--valia-gold); box-shadow: 0 12px 28px #102a4318; }
.valia-home-premium .valia-specialty-summary:is(:focus-visible,:active) > :is(p,small) { color: #fff; }
.valia-home-premium .valia-specialty-summary:is(:focus-visible,:active) > i { color: var(--valia-navy); background: var(--valia-gold); }
@media (hover:hover) and (pointer:fine) {
	.valia-home-premium .valia-specialty-grid a.valia-specialty-summary:hover { background: var(--valia-petrol); color: #fff; border-color: var(--valia-petrol); border-top-color: var(--valia-gold); box-shadow: 0 12px 28px #102a4318; }
	.valia-home-premium .valia-specialty-summary:hover > :is(p,small) { color: #fff; }
	.valia-home-premium .valia-specialty-summary:hover > i { color: var(--valia-navy); background: var(--valia-gold); }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
	.valia-home-premium .valia-specialty-grid a.valia-specialty-summary:hover { transform: translateY(-3px); }
	.valia-home-premium .valia-specialty-summary:hover > i { transform: rotate(-5deg) scale(1.04); }
	.valia-home-premium .valia-specialty-summary:hover > small > span { transform: translate(2px,-2px); }
}
.valia-featured-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,320px),1fr)); }
.valia-featured-grid.has-single-profile { grid-template-columns: minmax(0,1fr); }
.valia-home-premium .valia-process-grid article { padding: 28px; background: #fff; color: var(--valia-navy); border: 1px solid #bfd7d2; border-radius: var(--valia-card-radius); }
.valia-home-premium .valia-process-grid article > span { display: inline-grid; place-items: center; width: 52px; height: 52px; padding: 0; margin-bottom: 24px; border: 0; border-radius: 50%; background: var(--valia-petrol); color: #fff; font-size: 1rem; font-weight: 650; }
.valia-home-premium .valia-process-grid article h3 { color: var(--valia-navy); font-size: 1.65rem; }
.valia-home-premium .valia-process-grid article p { color: var(--valia-text-secondary); font-size: 1rem; }
.valia-home-section.valia-tone-azul { background: radial-gradient(ellipse at top right,#184954,transparent 65%),var(--valia-navy); }
.valia-home-section.valia-tone-verde { background: linear-gradient(115deg,#00595e,var(--valia-petrol)); }
.valia-home-section:is(.valia-tone-azul,.valia-tone-verde) > .container > .valia-section-heading :is(h2,p,a) { color: #fff; }
.valia-home-section:is(.valia-tone-azul,.valia-tone-verde) > .container > .valia-section-heading .valia-eyebrow { color: #cff5f1; }
.valia-home-section:is(.valia-tone-azul,.valia-tone-verde) > .container > .btn-valia-primary { background: var(--valia-gold); border-color: var(--valia-gold); color: var(--valia-navy); }
.valia-home-section:is(.valia-tone-azul,.valia-tone-verde) > .container > .btn-valia-outline { border-color: #fff; color: #fff; }
.valia-trust-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; margin-bottom: 40px; }
.valia-trust-intro figure { margin: 0; }
.valia-trust-intro img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 20px 64px 20px 20px; }
.valia-trust-intro figcaption { font-size: .8125rem; margin-top: 10px; }
.valia-trust-intro h3 { font-size: clamp(1.75rem,2.5vw,2.4rem); margin-bottom: 20px; }
.valia-trust-intro p { font-size: 1.0625rem; line-height: 1.8; }
.valia-trust-intro a { display: inline-flex; align-items: center; min-height: 48px; font-weight: 600; text-decoration: underline; }
.valia-tone-azul .valia-trust-intro :is(h3,p,a,figcaption), .valia-tone-verde .valia-trust-intro :is(h3,p,a,figcaption) { color: #fff; }
.valia-pillars-grid article { border-radius: var(--valia-card-radius); border: 1px solid #c1d9d5; }
.valia-pillars-grid article :is(h3,p), .valia-ecosystem-grid article :is(h3,p) { color: var(--valia-navy); }
.valia-pillars-grid article p, .valia-ecosystem-grid article > p:not(.valia-eyebrow) { color: var(--valia-text-secondary); }
.valia-pillars-grid .valia-line-icon { padding: 12px; border-radius: 16px; background: var(--valia-surface-mint); }
.valia-ecosystem-grid article { border-top: 4px solid var(--valia-gold); border-radius: var(--valia-card-radius); }
.valia-ecosystem-grid article .valia-eyebrow { color: var(--valia-petrol); }
.valia-launch-capture { background: var(--valia-surface-warm); border-color: #dbc58b; }
.valia-launch-capture :is(h3,p) { color: var(--valia-navy); }
.valia-launch-capture .valia-eyebrow { color: var(--valia-petrol); }
.valia-faq-list details { border: 1px solid #c2d3d0; background: #fff; border-radius: 16px; padding: 0 24px; margin-bottom: 14px; color: var(--valia-navy); }
.valia-faq-list summary { min-height: 64px; padding-block: 20px; font-size: 1rem; color: var(--valia-navy); }
.valia-faq-list details[open] { border-color: var(--valia-petrol); background: var(--valia-surface-mint); }
.valia-faq-list details p { color: var(--valia-text-secondary); font-size: 1rem; }

/* Directorio, especialidad y perfil: información comparable y acciones estables. */
.valia-directory { background: linear-gradient(180deg,var(--valia-surface-mint),var(--valia-ivory) 480px); }
.valia-directory-heading { padding-bottom: 32px; }
.valia-filter-bar { border: 1px solid #bdcfcb; border-top: 4px solid var(--valia-petrol); border-radius: var(--valia-card-radius); box-shadow: var(--valia-elevation); background: #fff; }
.valia-results-heading h2 { color: var(--valia-navy); }
.valia-results-heading a { color: var(--valia-petrol); text-decoration: underline; min-height: 44px; display: inline-flex; align-items: center; }
.valia-doctor-card { border-radius: var(--valia-card-radius); border-color: #c4d5d2; box-shadow: var(--valia-elevation); }
.valia-doctor-card .valia-doctor-photo.is-placeholder img, .valia-profile-editorial .valia-profile-photo.is-placeholder img { object-fit: contain; background: #102a43; }
.valia-profile-cover { margin: 0 0 32px; }
.valia-profile-cover img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; border-radius: 16px; background: var(--valia-navy); }
.valia-profile-cover figcaption { color: var(--valia-text-secondary); font-size: .8125rem; margin-top: 10px; }
.valia-doctor-card .valia-doctor-copy h3 a { color: var(--valia-navy); }
.valia-doctor-card .valia-doctor-specialty { color: var(--valia-petrol); font-weight: 650; }
.valia-doctor-card .valia-verified { padding: 5px 10px; border-radius: 8px; color: var(--valia-petrol); background: var(--valia-surface-mint); }
.valia-doctor-card .valia-tags span { color: var(--valia-petrol); background: var(--valia-surface-mint); }
.valia-directory-note, .valia-coordination { border: 1px solid #b6ceca; border-radius: var(--valia-card-radius); background: #fff; color: var(--valia-navy); }
.valia-coordination { border-top: 4px solid var(--valia-petrol); }
.valia-coordination-context span { display: inline-block; padding: 6px 12px; margin: 4px; border-radius: 8px; background: var(--valia-surface-mint); color: var(--valia-navy); }
.valia-profile-editorial .valia-editorial-section { border-radius: var(--valia-card-radius); }
.valia-profile-editorial .valia-editorial-ivory { background: #fff; border: 1px solid #d0ded9; }
.valia-profile-editorial .valia-editorial-mint { background: var(--valia-surface-mint); }
.valia-profile-editorial .valia-editorial-petrol { background: var(--valia-petrol); }
.valia-profile-editorial .valia-editorial-petrol :is(h2,h3,p,.valia-prose,.valia-eyebrow) { color: #fff; }
.valia-profile-editorial .valia-profile-tabs { background: #fff; box-shadow: 0 4px 18px #102a4306; }
.valia-profile-editorial .valia-profile-tabs a { min-height: 48px; color: var(--valia-navy); }
.valia-profile-editorial .valia-profile-tabs a[aria-current] { color: var(--valia-petrol); border-bottom: 3px solid var(--valia-petrol); }
.valia-profile-editorial :is(.valia-profile-service,.valia-profile-office) { border-color: #bdcfcb; }

/* Formularios, paneles, agenda y captación: mismo lenguaje en todas las etapas. */
.valia-flow-page > [data-panel-content] { padding: clamp(22px,4vw,40px); border: 1px solid #c4d5d2; border-top: 4px solid var(--valia-petrol); border-radius: 24px; background: #fff; box-shadow: var(--valia-elevation); }
.valia-panel { background: #fff; }
.valia-panel-top { background: var(--valia-navy); color: #fff; border: 0; padding-block: 16px; }
.valia-panel-close { min-width: 44px; min-height: 44px; color: #fff; border-color: #95b5c3; background: transparent; }
.valia-panel-body { background: #fff; }
.valia-flow-heading { padding-bottom: 8px; margin-bottom: 24px; }
.valia-flow-title { font-size: clamp(1.8rem,3vw,2.4rem); color: var(--valia-navy); margin: 0 0 24px; }
.valia-flow-heading p { color: var(--valia-text-secondary); font-size: .875rem; }
.valia-step-track { display: flex; list-style: none; gap: 12px; padding: 0; margin: 18px 0; }
.valia-step-track li { flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; color: var(--valia-text-secondary); font-size: .8125rem; line-height: 1.35; }
.valia-step-track span:first-child { display: grid; place-items: center; width: 30px; height: 30px; flex-shrink: 0; border: 1px solid var(--valia-control-border); border-radius: 50%; background: #fff; }
.valia-step-track .is-current { font-weight: 700; color: var(--valia-petrol); }
.valia-step-track .is-current span:first-child { background: var(--valia-petrol); border-color: var(--valia-petrol); color: #fff; }
.valia-step-track .is-complete span:first-child { background: var(--valia-surface-mint); border-color: var(--valia-petrol); color: var(--valia-petrol); }
.valia-step-form progress { height: 6px; border-radius: 6px; overflow: hidden; background: #d4e4e1; }
.valia-step-form progress::-webkit-progress-bar { background: #d4e4e1; }
.valia-step-form legend { font: 500 clamp(1.75rem,3vw,2.35rem)/1.2 var(--valia-heading-font); color: var(--valia-navy); margin-bottom: 16px; }
.valia-step-form fieldset > p { color: var(--valia-text-secondary); font-size: 1rem; margin-bottom: 24px; }
.valia-step-form label:not(.valia-choice):not(.valia-consent) { font-size: .9375rem; }
.valia-step-form label small { opacity: 1; color: var(--valia-text-secondary); }
:is(main,.valia-panel,.valia-filter-dialog) :is(.form-control,.form-select), .select2-container--valia .select2-selection--single { border: 1px solid var(--valia-control-border); border-radius: 10px; color: var(--valia-navy); background-color: #fff; }
:is(main,.valia-panel) :is(.form-control,.form-select) { min-height: 48px; font-size: 1rem; }
:is(main,.valia-panel) input::placeholder, :is(main,.valia-panel) textarea::placeholder { color: #536875; opacity: 1; }
:is(main,.valia-panel) :is(.form-control,.form-select):focus { border-color: var(--valia-petrol); box-shadow: 0 0 0 3px #006b7026; }
.select2-container--valia.select2-container--focus .select2-selection--single, .select2-container--valia.select2-container--open .select2-selection--single { outline: 3px solid #006b70; outline-offset: 2px; }
.valia-choice { border-color: var(--valia-control-border); border-radius: 14px; }
.valia-choice:has(input:checked) { border-color: var(--valia-petrol); background: var(--valia-surface-mint); box-shadow: inset 4px 0 var(--valia-petrol); }
.valia-choice:focus-within { outline: 3px solid #006b70; outline-offset: 3px; }
.valia-choice small { color: var(--valia-text-secondary); opacity: 1 !important; font-size: .875rem !important; }
.valia-flow-note { border: 1px solid #b8d6d0; border-radius: 14px; background: var(--valia-surface-mint); color: var(--valia-navy); }
.valia-flow-note p { font-size: .9375rem; }
.valia-flow-footer { gap: 12px; background: #fff; padding-bottom: max(12px,env(safe-area-inset-bottom)); }
.valia-flow-footer .valia-text-button { min-height: 48px; padding: 8px; color: var(--valia-petrol); }
.valia-flow-doctor { border: 1px solid #b8d6d0; border-radius: 16px; padding: 18px; background: var(--valia-surface-mint); }
.valia-flow-doctor p { font-size: .875rem; color: var(--valia-text-secondary); }
.valia-request-summary { padding: 20px; border: 1px solid #b8d6d0; border-radius: 16px; background: var(--valia-surface-mint); margin: 0 0 24px; }
.valia-request-summary h3 { font: 650 1rem var(--valia-interface-font); margin: 0 0 16px; color: var(--valia-navy); }
.valia-request-summary dl { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 10px 20px; font-size: .9375rem; margin: 0; }
.valia-request-summary dt { color: var(--valia-text-secondary); font-weight: 500; }
.valia-request-summary dd { color: var(--valia-navy); margin: 0; }
.valia-privacy-note { padding: 20px; background: var(--valia-surface-mint); border-radius: 14px; border: 1px solid #b8d6d0; color: var(--valia-navy); }
.valia-privacy-note p { margin: 8px 0 0; }
.valia-privacy-note a, .valia-consent a { color: var(--valia-petrol); text-decoration: underline; }
.valia-step-form label.valia-consent, label.valia-consent { display: flex; align-items: flex-start; gap: 12px; padding: 14px 0; font-size: .9375rem; font-weight: 400; }
.valia-consent input { width: 22px; height: 22px; flex: 0 0 22px; border-color: var(--valia-control-border); }
.valia-consent input:checked { background-color: var(--valia-petrol); border-color: var(--valia-petrol); }
.valia-agenda-page { padding-top: calc(var(--valia-header-height,106px) + 32px); padding-bottom: 64px; }
.valia-agenda-page > div { background: #fff; padding: clamp(20px,4vw,40px); border: 1px solid #c4d5d2; border-top: 4px solid var(--valia-petrol); border-radius: 24px; }
.valia-agenda-page .valia-agenda-selector { padding: 20px; background: var(--valia-surface-mint); border-radius: 16px; }
.valia-agenda-selector :is(button,input,select) { border-color: var(--valia-control-border); }
.valia-agenda-selector button[aria-pressed=true] { background: var(--valia-petrol); border-color: var(--valia-petrol); color: #fff; box-shadow: inset 0 -3px var(--valia-navy); }
.valia-agenda-selector :is(button,input,select):focus-visible { outline: 3px solid #006b70; outline-offset: 3px; }
.valia-confirmation { text-align: start !important; }
.valia-confirmation .valia-success-icon { display: grid; place-items: center; width: 68px; height: 68px; margin: 0 0 24px; border-radius: 20px; background: var(--valia-surface-mint); color: var(--valia-petrol); font-size: 2rem; }
.valia-confirmation-steps { margin: 24px 0; padding: 24px 24px 24px 46px; background: var(--valia-surface-mint); border-radius: 16px; color: var(--valia-navy); }
.valia-confirmation-steps li + li { margin-top: 12px; }
.valia-enrolamiento .ve-intro { padding: 32px; border-radius: 24px; background: var(--valia-navy); color: #fff; }
.valia-enrolamiento .ve-intro :is(h1,p,strong), .valia-enrolamiento .ve-beneficios i { color: #fff; }
.valia-enrolamiento .ve-intro > .valia-eyebrow { color: #cff5f1; }
.valia-enrolamiento .ve-intro h1 { font-size: clamp(2.1rem,3.5vw,3.25rem); }
.valia-enrolamiento .ve-proteccion { background: var(--valia-surface-mint); }
.valia-enrolamiento .ve-proteccion :is(strong,p,h3) { color: var(--valia-navy); }
.valia-enrolamiento .ve-proteccion a { color: var(--valia-petrol); }
.valia-enrolamiento .ve-card { border-top: 4px solid var(--valia-petrol); border-radius: 24px; box-shadow: var(--valia-elevation); }
.valia-enrolamiento .ve-resumen { background: var(--valia-surface-mint); border: 1px solid #b8d6d0; }
.valia-enrolamiento .ve-aviso { border-color: #a4bbb6; }
.valia-enrolamiento .ve-form label.ve-consent { display: flex; gap: 12px; font-weight: 400; }
.valia-enrolamiento .ve-form label.ve-consent-optional { background: var(--valia-surface-warm); border-color: #b9a36d; }
.valia-enrolamiento .ve-catastro { border-color: #a4bbb6; }
:is(main,.valia-panel) .alert-danger { color: var(--valia-error-ink); background: var(--valia-error-surface); border: 1px solid #ad525e; border-left-width: 4px; }
:is(main,.valia-panel) .alert-warning { color: #624517; background: var(--valia-surface-warm); border: 1px solid #a77c32; }

/* Institucional, validación, documentos y pie: una identidad también al profundizar. */
.valia-institucional { background: linear-gradient(180deg,var(--valia-surface-mint),var(--valia-ivory) 720px); }
.vi-principles { background: var(--valia-surface-mint); }
.vi-card { border-top: 4px solid var(--valia-petrol); border-radius: var(--valia-card-radius); }
.vi-icon { background: var(--valia-surface-mint); }
.vi-card:nth-child(2) .vi-icon { background: var(--valia-surface-warm); color: var(--valia-navy); }
.vi-contact-card { border-top: 4px solid var(--valia-petrol); }
.vi-contact-paths details[open] { border-color: var(--valia-petrol); }
.vi-contact-paths details[open] summary { background: var(--valia-surface-mint); border-radius: 12px 12px 0 0; }
.vi-contact-paths details > div { padding-top: 20px; }
.vi-jump a, .vi-channel small, .vi-channel-note { font-size: .875rem; }
.valia-validation .vv-journey { background: var(--valia-surface-mint); }
.valia-validation .vv-review-card { border-top: 4px solid var(--valia-petrol); }
.valia-validation .vv-questions { background: #fff; border-block: 1px solid #d5e1de; }
.valia-legal-page .valia-legal-hero { padding: clamp(24px,4vw,42px); margin-bottom: 32px; background: var(--valia-navy); border-radius: 22px; border-bottom: 4px solid var(--valia-gold); }
.valia-legal-page .valia-legal-hero :is(h1,p,a,.valia-legal-meta,.valia-legal-breadcrumb) { color: #fff; }
.valia-legal-page .valia-legal-hero .valia-legal-eyebrow { color: #cff5f1; }
.valia-legal-page .valia-legal-badge { background: #edf7f5; color: #006b70; }
.valia-legal-page .valia-legal-document { border-top: 4px solid var(--valia-petrol); border-radius: var(--valia-card-radius); }
.valia-legal-page .valia-legal-number { display: inline-grid; place-items: center; min-width: 32px; min-height: 32px; border-radius: 8px; background: var(--valia-surface-mint); }
.valia-footer { border-top: 4px solid var(--valia-gold); }
.valia-footer a { color: #edf7f5; font-size: .9375rem; }
.valia-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.valia-footer-bottom { color: #d1e3e8; }

@media (hover:hover) and (prefers-reduced-motion:no-preference) {
	:is(.valia-pillars-grid,.valia-ecosystem-grid) article { transition: transform .2s ease,box-shadow .2s ease; }
	:is(.valia-pillars-grid,.valia-ecosystem-grid) article:hover { transform: translateY(-4px); box-shadow: 0 16px 32px #071a2c20; }
	.valia-quick-search a { transition: background .18s ease,border-color .18s ease; }
}
/* La entrada se ejecuta al aparecer: nunca se oculta contenido esperando JavaScript. */
@media (prefers-reduced-motion:no-preference) {
	.valia-section-enter { animation: valia-section-enter .5s ease-out both; }
	@keyframes valia-section-enter { from { opacity: .6; transform: translateY(14px); } to { opacity: 1; transform: none; } }
}
@media (min-width:1200px) {
	.valia-navbar > .container { max-width: 1320px; width: calc(100% - 40px); padding-inline: 0; }
	.valia-navbar .valia-brand-logo { width: 180px; }
	.valia-navbar .valia-brand { margin-right: 20px; }
	.valia-navbar .nav-link { font-size: .8125rem; padding-inline: 7px; }
	.valia-navbar .btn { font-size: .8125rem; padding-inline: 16px; }
}
@media (max-width:1199px) {
	.valia-home-premium .valia-section-heading { align-items: flex-start; flex-wrap: wrap; gap: 20px; }
	.valia-enrolamiento .ve-layout { gap: 28px; }
	.valia-enrolamiento .ve-intro { padding: 24px; }
}
/* En portátiles el acceso flotante conserva WhatsApp sin comprimir el logotipo. */
@media (min-width:1200px) and (max-width:1399px) {
	.valia-navbar .valia-brand { flex-shrink: 0; margin-right: 16px; }
	.valia-navbar .valia-brand-logo { width: 144px; }
}
@media (max-width:991px) {
	.valia-trust-intro { gap: 28px; }
	.valia-home-premium .valia-process-grid { gap: 16px; }
	.valia-home-premium .valia-process-grid article { padding: 22px; }
}
@media (max-width:767px) {
	.valia-home-premium .valia-section-heading h2 { font-size: clamp(1.8rem,7vw,2.3rem); }
	.valia-home-premium .valia-section-heading h2 + p { margin-top: 16px; }
	.valia-home-premium .valia-specialty-grid { grid-template-columns: repeat(auto-fill,minmax(min(100%,9rem),1fr)); }
	.valia-home-premium .valia-specialty-grid a.valia-specialty-summary { grid-template-rows: 42px 1fr auto auto; gap: 10px; padding: 18px 14px; border-radius: 16px; }
	.valia-home-premium .valia-specialty-summary > i { width: 42px; height: 42px; font-size: 1.4rem; border-radius: 12px; }
	.valia-home-premium .valia-specialty-summary > strong { font-size: 1rem; }
	.valia-home-premium .valia-specialty-grid .valia-specialty-summary > p { font-size: .875rem; }
	.valia-home-premium .valia-process-grid { grid-template-columns: 1fr; }
	.valia-home-premium .valia-process-grid article { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 0 16px; }
	.valia-home-premium .valia-process-grid article > span { grid-row: span 2; width: 44px; height: 44px; margin-bottom: 0; }
	.valia-home-premium .valia-process-grid article p { grid-column: 2; margin: 8px 0 0; }
	.valia-trust-intro { grid-template-columns: 1fr; gap: 20px; }
	.valia-trust-intro img { max-height: 240px; }
	.valia-pillars-grid { display: grid; grid-template-columns: 1fr; overflow: visible; padding: 0; }
	.valia-pillars-grid article { padding: 24px; }
	.valia-faq-list details { padding-inline: 18px; }
	.valia-directory-heading > a { display: inline-flex; font-size: .875rem; min-height: 44px; margin-top: 10px; }
	.valia-filter-dialog .valia-filter-bar { border-top: 0; border-radius: 0; }
	.valia-doctor-card .valia-doctor-action { align-items: stretch; }
	.valia-flow-page { padding-inline: 16px; }
	.valia-flow-page > [data-panel-content] { padding: 22px 18px; border-radius: 20px; }
	.valia-panel-body { padding: 24px 20px; }
	.valia-panel-top { padding: 14px 20px; }
	.valia-step-track { gap: 8px; }
	.valia-step-track li { flex-direction: column; align-items: flex-start; font-size: .8125rem; gap: 6px; }
	.valia-step-form legend { font-size: 1.85rem; }
	.valia-flow-footer { flex-wrap: wrap; }
	.valia-flow-footer [data-step-next] { flex: 1; }
	.valia-request-summary { padding: 18px; }
	.valia-request-summary dl { grid-template-columns: 1fr; gap: 4px; }
	.valia-request-summary dd + dt { margin-top: 10px; }
	.valia-enrolamiento .ve-intro { padding: 24px; border-radius: 20px; }
	.valia-enrolamiento .ve-intro h1 { font-size: 2rem; }
	.valia-enrolamiento .ve-layout { gap: 24px; }
	.valia-agenda-page { padding-inline: 12px; }
	.valia-agenda-page .valia-agenda-selector { padding: 14px; }
	.valia-agenda-page .valia-agenda-dias { gap: 3px; }
	.valia-legal-page .valia-legal-hero { padding: 24px 20px; }
	.valia-legal-page .valia-legal-text { text-align: start; }
	.valia-footer a { padding-block: 10px; }
}
@media (max-width:374px) {
	.valia-modality-choices > div { flex-direction: column; }
	.valia-modality-choices label { width: 100%; }
	.valia-home-premium .valia-specialty-grid { grid-template-columns: 1fr; }
	.valia-agenda-page .valia-agenda-navegacion { flex-wrap: wrap; }
	.valia-agenda-page .valia-agenda-dias button { padding-inline: 1px; }
}
@media (prefers-reduced-motion:reduce) {
	html { scroll-behavior: auto; }
	:where(main,.valia-panel,.valia-navbar,.valia-footer) *, :where(main,.valia-panel) *::before, :where(main,.valia-panel) *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media (forced-colors:active) {
	.valia-choice:has(input:checked), .valia-step-track .is-current span:first-child { outline: 2px solid Highlight; }
	.valia-step-form progress { border: 1px solid CanvasText; }
}
@media print {
	.valia-home-premium .valia-specialty-grid .valia-specialty-summary > p { display: block; height: auto; overflow: visible; -webkit-line-clamp: unset; line-clamp: unset; }
	.valia-legal-page .valia-legal-hero { background: #fff; padding: 0; border: 0; }
	.valia-legal-page .valia-legal-hero :is(h1,p,a,.valia-legal-meta,.valia-legal-breadcrumb) { color: #102a43; }
	.valia-legal-page .valia-legal-document { border: 0; padding: 0; }
}
