/* ==========================================================================
   Albor · Estudio de Estética — capa visual del tema hijo
   Diseño y desarrollo: Omar Tissir (omartissir.es)
   Mobile-first. Tokens en theme.json (variables --wp--preset--*).
   ========================================================================== */

:root {
	--a-marfil: var(--wp--preset--color--marfil);
	--a-lino: var(--wp--preset--color--lino);
	--a-arena: var(--wp--preset--color--arena);
	--a-champ: var(--wp--preset--color--champagne);
	--a-salvia: var(--wp--preset--color--salvia);
	--a-salvia-o: var(--wp--preset--color--salvia-oscura);
	--a-bronce: var(--wp--preset--color--bronce);
	--a-tinta: var(--wp--preset--color--tinta-suave);
	--a-cacao: var(--wp--preset--color--cacao);
	--a-radius: 22px;
	--a-radius-s: 14px;
	--a-arch: 999px 999px var(--a-radius) var(--a-radius);
	--a-ease: cubic-bezier(.2, .7, .2, 1);
	--a-shadow: var(--wp--preset--shadow--suave);
	--a-header-h: 72px;
}

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--a-header-h) + 16px); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
img { height: auto; }
::selection { background: var(--a-champ); color: var(--a-cacao); }

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--a-bronce);
	outline-offset: 3px;
	border-radius: 6px;
}

.albor-skip {
	position: absolute; left: -9999px; top: 0; z-index: 1000;
	background: var(--a-cacao); color: var(--a-marfil); padding: .75rem 1rem; border-radius: 0 0 10px 0;
}
.albor-skip:focus { left: 0; }

/* ---------- Tipografía utilitaria ---------- */
.has-cacao-background-color :is(h1, h2, h3, h4), .albor-on-dark :is(h1, h2, h3, h4) { color: var(--a-marfil); }
.has-cacao-background-color { color: #E9DFD1; }
.has-cacao-background-color a:not(.wp-block-button__link) { color: var(--a-champ); }
.albor-eyebrow {
	font-family: var(--wp--preset--font-family--texto);
	font-size: var(--wp--preset--font-size--xs) !important;
	letter-spacing: .16em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--a-salvia-o);
	display: inline-flex; align-items: center; gap: .6rem;
	margin-bottom: .25rem !important;
}
.albor-eyebrow::before {
	content: ""; width: 26px; height: 1px; background: currentColor; display: inline-block;
}
.has-cacao-background-color .albor-eyebrow,
.albor-on-dark .albor-eyebrow { color: var(--a-champ); }
.albor-lead { font-size: var(--wp--preset--font-size--l); color: var(--a-tinta); line-height: 1.6; }
.has-cacao-background-color .albor-lead { color: #E9DFD1; }
.albor-serif-italic, h1 em, h2 em, h3 em { font-style: italic; font-weight: 300; color: var(--a-bronce); }
.has-cacao-background-color h1 em, .has-cacao-background-color h2 em, .albor-on-dark h2 em { color: var(--a-champ); }
.albor-muted { color: var(--a-tinta); }
.albor-small { font-size: var(--wp--preset--font-size--s); }

/* ---------- Barra de demostración ---------- */
.albor-demo-bar {
	background: var(--a-cacao); color: #E9DFD1;
	font-size: .78rem; line-height: 1.4; text-align: center;
	padding: .5rem 1rem;
}
.albor-demo-bar a { color: var(--a-champ); }
.albor-demo-bar p { margin: 0; }

/* ---------- Cabecera ---------- */
.albor-header-wrap { position: sticky; top: 0; z-index: 90; }
.admin-bar .albor-header-wrap { top: 46px; }
@media (min-width: 783px) { .admin-bar .albor-header-wrap { top: 32px; } }

.albor-header {
	min-height: var(--a-header-h);
	position: relative; isolation: isolate;
	background: transparent;
	border-bottom: 1px solid transparent;
	transition: border-color .3s var(--a-ease), box-shadow .3s var(--a-ease), background-color .3s;
}
/* El desenfoque va en un pseudoelemento: si estuviera en la cabecera, el menú móvil
   (position: fixed) quedaría atrapado dentro de ella. */
.albor-header::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background: color-mix(in srgb, var(--a-marfil) 88%, transparent);
	-webkit-backdrop-filter: saturate(1.4) blur(14px);
	backdrop-filter: saturate(1.4) blur(14px);
}
.albor-header.is-scrolled { border-bottom-color: color-mix(in srgb, var(--a-arena) 80%, transparent); box-shadow: 0 10px 30px -22px rgba(42,36,32,.45); }
.albor-header > .wp-block-group { min-height: var(--a-header-h); }

.albor-logo { display: inline-flex; flex-direction: column; text-decoration: none !important; color: var(--a-cacao) !important; line-height: 1; gap: 3px; }
.albor-logo__mark {
	font-family: var(--wp--preset--font-family--titular); font-size: 1.85rem; font-weight: 400; letter-spacing: -.02em;
	display: inline-flex; align-items: center; gap: .45rem;
}
.albor-logo__mark svg { width: 26px; height: 26px; flex: none; }
.albor-logo__sub { font-size: .62rem; letter-spacing: .26em; text-transform: uppercase; color: var(--a-tinta); padding-left: calc(26px + .45rem); }

.albor-header .wp-block-navigation { gap: 1.6rem; }
.albor-header .wp-block-navigation-item__content { color: var(--a-cacao); text-decoration: none; position: relative; padding: .4rem 0; }
.albor-header .wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--a-bronce);
	transform: scaleX(0); transform-origin: left; transition: transform .35s var(--a-ease);
}
.albor-header .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.albor-header .current-menu-item > .wp-block-navigation-item__content::after,
.albor-header [aria-current="page"]::after { transform: scaleX(1); }

/* Mega menú «Tratamientos» (escritorio) */
@media (min-width: 1000px) {
	.albor-header .albor-mega > .wp-block-navigation__submenu-container {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(210px, 1fr));
		gap: .25rem 2.25rem;
		padding: 1.5rem 1.75rem !important;
		min-width: 520px !important;
		left: 50% !important; transform: translate(-50%, 8px);
		background: var(--a-marfil) !important;
		border: 1px solid var(--a-arena) !important;
		border-radius: var(--a-radius);
		box-shadow: var(--wp--preset--shadow--flotante);
		transition: opacity .25s var(--a-ease), transform .25s var(--a-ease), visibility .25s;
	}
	.albor-header .albor-mega:hover > .wp-block-navigation__submenu-container,
	.albor-header .albor-mega:focus-within > .wp-block-navigation__submenu-container { transform: translate(-50%, 0); }
	.albor-header .albor-mega .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
		position: static !important; visibility: visible !important; opacity: 1 !important; width: auto !important; height: auto !important;
		min-width: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important;
		padding: 0 0 .35rem .1rem !important; transform: none !important; overflow: visible !important;
	}
	.albor-header .albor-mega > .wp-block-navigation__submenu-container > .wp-block-navigation-item { display: block !important; }
	.albor-header .albor-mega .wp-block-navigation-submenu > .wp-block-navigation-item__content {
		font-family: var(--wp--preset--font-family--titular); font-size: 1.15rem; font-weight: 400; padding-bottom: .2rem;
	}
	.albor-header .albor-mega .wp-block-navigation-submenu .wp-block-navigation__submenu-icon { display: none; }
	.albor-header .albor-mega .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		padding: .32rem 0 !important; color: var(--a-tinta);
	}
	.albor-header .albor-mega .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--a-bronce); }
	.albor-header .albor-mega .albor-mega__all { grid-column: 1 / -1; border-top: 1px solid var(--a-arena); margin-top: .5rem; padding-top: .5rem; }
	.albor-header .albor-mega .albor-mega__all > a { font-weight: 600; color: var(--a-cacao) !important; }
}

/* Menú móvil (overlay del bloque Navegación) */
.albor-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--a-marfil) !important; padding: 1.5rem clamp(1.1rem, 5vw, 2rem) 2rem;
}
.albor-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem; gap: .25rem; align-items: stretch; }
.albor-header .is-menu-open .wp-block-navigation__container { gap: .1rem !important; width: 100%; }
.albor-header .wp-block-navigation__responsive-container.is-menu-open { --navigation-layout-justification-setting: flex-start; --navigation-layout-justify: flex-start; }
.albor-header .is-menu-open :is(.wp-block-navigation__responsive-container-content, .wp-block-navigation__container, .wp-block-navigation-item, .wp-block-navigation__submenu-container) { align-items: flex-start !important; text-align: left; }
.albor-header .is-menu-open .wp-block-navigation-item__content:focus-visible { outline: 2px solid var(--a-bronce); outline-offset: 4px; }
.albor-header .is-menu-open .wp-block-navigation-item { width: 100%; }
.albor-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--titular); font-size: 1.6rem; padding: .45rem 0;
}
.albor-header .is-menu-open .wp-block-navigation__submenu-container { padding: 0 0 .5rem 0 !important; gap: 0 !important; }
.albor-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1rem; padding: .35rem 0 .35rem .9rem; color: var(--a-tinta); }
.albor-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-submenu > .wp-block-navigation-item__content { color: var(--a-cacao); font-weight: 600; padding-left: .9rem; }
.albor-header .wp-block-navigation__responsive-container-open, .albor-header .wp-block-navigation__responsive-container-close { width: 44px; height: 44px; align-items: center; justify-content: center; }
.albor-header .wp-block-navigation__responsive-container-open svg, .albor-header .wp-block-navigation__responsive-container-close svg { width: 28px; height: 28px; }
@media (max-width: 999px) {
	.albor-header .albor-header__cta { display: none; }
}
.albor-header .albor-header__cta .wp-block-button__link { padding: .7rem 1.2rem; }

/* El bloque Navegación pasa a overlay por debajo de 1000px */
@media (min-width: 600px) and (max-width: 999px) {
	.albor-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.albor-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
}

/* ---------- Migas de pan ---------- */
.albor-breadcrumbs { font-size: .8rem; color: var(--a-tinta); margin: 0 0 1.25rem; }
.albor-breadcrumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .35rem; }
.albor-breadcrumbs li { display: inline-flex; align-items: center; gap: .35rem; }
.albor-breadcrumbs li + li::before { content: "/"; opacity: .5; }
.albor-breadcrumbs a { color: inherit; text-decoration: none; border-bottom: 1px solid color-mix(in srgb, currentColor 35%, transparent); }
.albor-breadcrumbs a:hover { color: var(--a-bronce); }
.albor-on-dark .albor-breadcrumbs, .has-cacao-background-color .albor-breadcrumbs { color: #DCCFBD; }

/* ---------- Secciones ---------- */
.albor-section { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); position: relative; }
.albor-section--tight { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--50); }
.albor-section > * + * { margin-block-start: var(--wp--preset--spacing--30); }
.albor-head > * { max-width: 760px; }
.albor-head.is-center { text-align: center; }
.albor-head.is-center > * { margin-left: auto !important; margin-right: auto !important; }
.albor-head.is-center .albor-eyebrow { justify-content: center; }
.albor-head h2 { margin-top: .4rem; }
.albor-divider-arch { position: relative; }
.albor-grain { position: relative; isolation: isolate; }
.albor-grain::after {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .5;
	background-image: radial-gradient(circle at 20% 10%, rgba(212,188,150,.35), transparent 45%), radial-gradient(circle at 90% 80%, rgba(201,209,191,.45), transparent 50%);
}

/* ---------- Hero ---------- */
.albor-hero { position: relative; overflow: hidden; }
.albor-hero .wp-block-cover__inner-container { width: 100%; }
.albor-hero h1 { max-width: 15ch; }
.albor-hero__wrap { width: 100%; max-width: 1240px; margin-inline: auto !important; }
.albor-hero__content { max-width: 640px; margin-left: 0 !important; margin-right: auto !important; }
.albor-hero__content > * { margin-left: 0 !important; }
.albor-hero .albor-lead { max-width: 52ch; }
.albor-hero--home { min-height: min(92vh, 860px) !important; align-items: flex-end !important; }
.albor-hero--home .wp-block-cover__image-background { object-position: 62% 40%; }
.albor-hero--home .wp-block-cover__background { background: linear-gradient(90deg, rgba(247,243,236,.97) 0%, rgba(247,243,236,.9) 36%, rgba(247,243,236,.35) 62%, rgba(247,243,236,0) 80%) !important; opacity: 1 !important; }
@media (max-width: 781px) {
	.albor-hero--home { min-height: 0 !important; padding-top: 0 !important; }
	.albor-hero--home .wp-block-cover__image-background { position: relative !important; height: 46vh !important; min-height: 280px; border-radius: 0 0 var(--a-radius) var(--a-radius); }
	.albor-hero--home { display: flex; flex-direction: column; }
	.albor-hero--home .wp-block-cover__background { display: none; }
}
.albor-hero__chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.5rem !important; }
.albor-chip {
	display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .85rem; border-radius: 999px;
	background: color-mix(in srgb, var(--a-blanco, #fff) 70%, transparent); border: 1px solid var(--a-arena);
	font-size: .8rem; color: var(--a-cacao); margin: 0 !important;
}
.albor-chip::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--a-salvia-o); }

/* Hero de landing (texto + imagen en arco) */
.albor-landing-hero { padding-top: clamp(1.5rem, 4vw, 3rem); padding-bottom: var(--wp--preset--spacing--50); }
.albor-landing-hero h1 { font-size: clamp(2.2rem, 4.2vw + 1rem, 3.9rem); }
.albor-landing-hero .wp-block-columns { align-items: center !important; gap: clamp(1.5rem, 4vw, 4rem); }
.albor-arch img, .albor-arch .wp-block-cover { border-radius: var(--a-arch) !important; }
.albor-arch { position: relative; }
.albor-arch::before {
	content: ""; position: absolute; inset: -14px -14px auto auto; width: 72%; aspect-ratio: 3/4;
	border: 1px solid var(--a-champ); border-radius: var(--a-arch); z-index: 0; pointer-events: none;
}
.albor-arch img { position: relative; z-index: 1; aspect-ratio: 4/5; object-fit: cover; width: 100%; }
.albor-arch figcaption { position: relative; z-index: 1; }

.albor-facts { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .75rem; margin-top: 1.75rem !important; }
@media (min-width: 600px) { .albor-facts { grid-template-columns: repeat(3, minmax(0,1fr)); } }
.albor-fact { background: color-mix(in srgb, #fff 65%, transparent); border: 1px solid color-mix(in srgb, var(--a-arena) 70%, transparent); border-radius: var(--a-radius-s); padding: .9rem 1rem; margin: 0 !important; }
.albor-fact strong { display: block; font-family: var(--wp--preset--font-family--titular); font-weight: 400; font-size: 1.05rem; color: var(--a-cacao); }
.albor-fact span { font-size: .8rem; color: var(--a-tinta); }

/* ---------- Media con forma ---------- */
.albor-img-soft img { border-radius: var(--a-radius); box-shadow: var(--a-shadow); }
.albor-img-arch img { border-radius: var(--a-arch); aspect-ratio: 4/5; object-fit: cover; width: 100%; }
.albor-img-wide img { border-radius: var(--a-radius); aspect-ratio: 16/10; object-fit: cover; width: 100%; }
.wp-block-image.albor-zoom { overflow: hidden; border-radius: var(--a-radius); }
.wp-block-image.albor-zoom img { transition: transform 1.2s var(--a-ease); }
.wp-block-image.albor-zoom:hover img { transform: scale(1.04); }

/* ---------- Tarjetas de tratamiento ---------- */
.albor-cards { display: grid !important; grid-template-columns: 1fr; gap: 1.25rem !important; }
@media (min-width: 600px) { .albor-cards { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (min-width: 1000px) { .albor-cards { grid-template-columns: repeat(3, minmax(0,1fr)); } .albor-cards.is-4 { grid-template-columns: repeat(4, minmax(0,1fr)); } }
.albor-card {
	position: relative; display: flex; flex-direction: column; gap: 0 !important;
	background: var(--wp--preset--color--blanco); border: 1px solid color-mix(in srgb, var(--a-arena) 70%, transparent);
	border-radius: var(--a-radius); overflow: hidden; margin: 0 !important;
	transition: transform .45s var(--a-ease), box-shadow .45s var(--a-ease), border-color .45s;
}
.albor-card:hover { transform: translateY(-4px); box-shadow: var(--wp--preset--shadow--flotante); border-color: var(--a-champ); }
.albor-card .wp-block-image { margin: 0 !important; overflow: hidden; }
.albor-card .wp-block-image img { aspect-ratio: 4/3; object-fit: cover; width: 100%; display: block; transition: transform 1s var(--a-ease); }
.albor-card:hover .wp-block-image img { transform: scale(1.05); }
.albor-card__body { padding: 1.25rem 1.35rem 1.4rem !important; display: flex; flex-direction: column; gap: .5rem !important; flex: 1; }
.albor-card__body > * { margin: 0 !important; }
.albor-card h3 { font-size: 1.45rem; }
.albor-card p { color: var(--a-tinta); font-size: .95rem; }
.albor-card__tag { font-size: .7rem !important; letter-spacing: .14em; text-transform: uppercase; color: var(--a-salvia-o); font-weight: 600; }
.albor-card__link { margin-top: auto !important; padding-top: .35rem; }
.albor-card__link a { font-weight: 600; font-size: .9rem; color: var(--a-cacao); text-decoration: none; display: inline-flex; align-items: center; gap: .5rem; }
.albor-card__link a::after { content: "→"; transition: transform .35s var(--a-ease); }
.albor-card:hover .albor-card__link a::after { transform: translateX(4px); }
/* Toda la tarjeta clicable sin anidar enlaces */
.albor-card__link a::before { content: ""; position: absolute; inset: 0; z-index: 1; }
.albor-card :where(a:not(.albor-card__link a)) { position: relative; z-index: 2; }

/* Deslizador en móvil */
@media (max-width: 781px) {
	.albor-cards.albor-slider {
		display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: .9rem !important;
		margin-right: calc(-1 * var(--wp--style--root--padding-right)) !important; padding-right: var(--wp--style--root--padding-right);
		padding-bottom: .75rem; scrollbar-width: thin; scrollbar-color: var(--a-champ) transparent;
	}
	.albor-cards.albor-slider > .albor-card { flex: 0 0 82%; scroll-snap-align: start; }
}
.albor-slider-hint { display: none; font-size: .8rem; color: var(--a-tinta); }
@media (max-width: 781px) { .albor-slider-hint { display: block; } }

/* Tarjetas de categoría */
.albor-cats { display: grid !important; grid-template-columns: 1fr; gap: 1rem !important; }
@media (min-width: 700px) { .albor-cats { grid-template-columns: 1.25fr 1fr 1fr; } }
.albor-cat { position: relative; border-radius: var(--a-radius) !important; overflow: hidden; min-height: 300px !important; margin: 0 !important; isolation: isolate; }
.albor-cat:first-child { min-height: 340px !important; }
@media (min-width: 700px) { .albor-cat { min-height: 440px !important; } .albor-cats.is-2 { grid-template-columns: 1fr 1fr; } }
.albor-cat .wp-block-cover__image-background { transition: transform 1.2s var(--a-ease); }
.albor-cat:hover .wp-block-cover__image-background { transform: scale(1.05); }
.albor-cat .wp-block-cover__background { background: linear-gradient(180deg, rgba(42,36,32,0) 25%, rgba(42,36,32,.82) 100%) !important; opacity: 1 !important; }
.albor-cat h3 { color: #fff; font-size: 1.9rem; }
.albor-cat p { color: #EFE7DB; font-size: .95rem; }
.albor-cat a { color: #fff; }
.albor-cat .albor-card__link a { color: #fff; }

/* ---------- Pestañas de filtrado ---------- */
.albor-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1.5rem; padding: 0; list-style: none; }
.albor-tabs button {
	font: inherit; font-size: .88rem; cursor: pointer; border-radius: 999px; padding: .6rem 1.1rem;
	border: 1px solid var(--a-arena); background: transparent; color: var(--a-cacao); transition: all .3s var(--a-ease);
}
.albor-tabs button:hover { border-color: var(--a-bronce); }
.albor-tabs button[aria-pressed="true"] { background: var(--a-cacao); color: var(--a-marfil); border-color: var(--a-cacao); }
.albor-filter-grid .albor-card { transition: opacity .35s var(--a-ease), transform .45s var(--a-ease), box-shadow .45s; }
.albor-filter-grid .albor-card.is-hidden { display: none; }
.albor-filter-grid .albor-card.is-entering { animation: alborIn .5s var(--a-ease) both; }
@keyframes alborIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

/* ---------- Lista de ventajas ---------- */
.albor-features { display: grid !important; grid-template-columns: 1fr; gap: 1.5rem 2rem !important; }
@media (min-width: 700px) { .albor-features { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (min-width: 1100px) { .albor-features.is-4 { grid-template-columns: repeat(4, minmax(0,1fr)); } .albor-features.is-3 { grid-template-columns: repeat(3, minmax(0,1fr)); } }
.albor-feature { margin: 0 !important; padding-top: 1.25rem; border-top: 1px solid var(--a-arena); }
.albor-feature > * { margin: 0 0 .4rem !important; }
.albor-feature h3 { font-size: 1.3rem; display: flex; align-items: center; gap: .65rem; }
.albor-feature h3::before {
	content: ""; width: 30px; height: 30px; flex: none; border-radius: 50%;
	background: radial-gradient(circle at 50% 100%, var(--a-champ) 0 45%, transparent 46%), var(--a-lino);
	box-shadow: inset 0 0 0 1px var(--a-champ);
}
.albor-feature p { color: var(--a-tinta); font-size: .97rem; }
.has-cacao-background-color .albor-feature { border-top-color: rgba(233,223,209,.18); }
.has-cacao-background-color .albor-feature h3 { color: var(--a-marfil); }
.has-cacao-background-color .albor-feature p { color: #D9CDBD; }
.has-cacao-background-color .albor-feature h3::before { background: radial-gradient(circle at 50% 100%, var(--a-champ) 0 45%, transparent 46%), #3A322C; }

/* ---------- Pasos ---------- */
.albor-steps { counter-reset: paso; display: grid !important; grid-template-columns: 1fr; gap: 1rem !important; }
@media (min-width: 800px) { .albor-steps { grid-template-columns: repeat(4, minmax(0,1fr)); } .albor-steps.is-3 { grid-template-columns: repeat(3, minmax(0,1fr)); } }
.albor-step { counter-increment: paso; position: relative; background: var(--a-lino); border-radius: var(--a-radius); padding: 1.5rem 1.35rem 1.4rem !important; margin: 0 !important; }
.albor-step::before {
	content: counter(paso, decimal-leading-zero); display: block; font-family: var(--wp--preset--font-family--titular);
	font-size: 2.4rem; line-height: 1; color: var(--a-bronce); font-weight: 300; margin-bottom: .9rem;
}
.albor-step > * { margin: 0 0 .4rem !important; }
.albor-step h3 { font-size: 1.2rem; font-family: var(--wp--preset--font-family--texto); font-weight: 600; letter-spacing: 0; }
.albor-step p { font-size: .95rem; color: var(--a-tinta); }

/* ---------- Bloque de texto largo (landings) ---------- */
.albor-prose { max-width: 720px; }
.albor-prose h2 { margin-top: 2.5rem; }
.albor-prose h3 { margin-top: 1.75rem; font-size: 1.45rem; }
.albor-prose ul { padding-left: 1.1rem; }
.albor-prose li { margin-bottom: .45rem; }
.albor-prose li::marker { color: var(--a-bronce); }
.albor-two-col { gap: clamp(1.5rem, 5vw, 5rem) !important; }
.albor-sticky { position: sticky; top: calc(var(--a-header-h) + 24px); }
@media (max-width: 781px) { .albor-sticky { position: static; } }

.albor-checks { list-style: none; padding: 0 !important; margin: 0; display: grid; gap: .6rem; }
.albor-checks li { position: relative; padding-left: 1.8rem; margin: 0; }
.albor-checks li::before {
	content: ""; position: absolute; left: 0; top: .45em; width: 1.05rem; height: .6rem;
	border-left: 2px solid var(--a-salvia-o); border-bottom: 2px solid var(--a-salvia-o); transform: rotate(-45deg) scale(.8);
}

.albor-panel { background: var(--wp--preset--color--blanco); border: 1px solid var(--a-arena); border-radius: var(--a-radius); padding: clamp(1.25rem, 3vw, 2rem) !important; }
.albor-panel > *:first-child { margin-top: 0; }
.albor-panel--lino { background: var(--a-lino); border-color: transparent; }

.albor-note {
	border-left: 3px solid var(--a-champ); background: color-mix(in srgb, var(--a-lino) 75%, transparent);
	padding: 1rem 1.15rem !important; border-radius: 0 var(--a-radius-s) var(--a-radius-s) 0; font-size: .92rem; color: var(--a-tinta);
}
.albor-note strong { color: var(--a-cacao); }

/* Tabla comparativa */
.albor-table table { border-collapse: separate; border-spacing: 0; width: 100%; font-size: .95rem; background: #fff; border-radius: var(--a-radius-s); overflow: hidden; border: 1px solid var(--a-arena); }
.albor-table th, .albor-table td { padding: .85rem 1rem; border-bottom: 1px solid var(--a-lino); text-align: left; vertical-align: top; }
.albor-table thead th { background: var(--a-lino); font-weight: 600; }
.albor-table tr:last-child td { border-bottom: 0; }
.albor-table { overflow-x: auto; }

/* ---------- FAQ ---------- */
.albor-faq > * { max-width: 860px; }
.albor-faq .wp-block-details { padding: 0; margin: 0 !important; border-bottom: 1px solid var(--a-arena); }
.albor-faq .wp-block-details:first-of-type { border-top: 1px solid var(--a-arena); }
.albor-faq summary {
	list-style: none; cursor: pointer; padding: 1.25rem 2.5rem 1.25rem 0; position: relative;
	font-family: var(--wp--preset--font-family--titular); font-size: clamp(1.1rem, 1vw + .9rem, 1.35rem); line-height: 1.35;
	transition: color .3s;
}
.albor-faq summary::-webkit-details-marker { display: none; }
.albor-faq summary::after, .albor-faq summary::before {
	content: ""; position: absolute; right: .35rem; top: 50%; width: 14px; height: 1.5px; background: var(--a-cacao);
	transition: transform .35s var(--a-ease);
}
.albor-faq summary::before { transform: rotate(90deg); }
.albor-faq details[open] summary::before { transform: rotate(0deg); }
.albor-faq summary:hover { color: var(--a-bronce); }
.albor-faq .wp-block-details > :not(summary) { margin: 0 0 1.25rem; color: var(--a-tinta); max-width: 70ch; }
@supports (interpolate-size: allow-keywords) {
	.albor-faq { interpolate-size: allow-keywords; }
	.albor-faq details::details-content { height: 0; overflow: clip; transition: height .4s var(--a-ease), content-visibility .4s allow-discrete; }
	.albor-faq details[open]::details-content { height: auto; }
}
@media (prefers-reduced-motion: reduce) { .albor-faq details::details-content { transition: none !important; } }

/* ---------- Bandas CTA ---------- */
.albor-cta { border-radius: calc(var(--a-radius) + 6px); overflow: hidden; position: relative; isolation: isolate; }
.albor-cta::before {
	content: ""; position: absolute; width: 520px; aspect-ratio: 1; right: -160px; bottom: -300px; z-index: -1;
	border-radius: 50%; border: 1px solid rgba(212,188,150,.35); box-shadow: 0 0 0 60px rgba(212,188,150,.05), 0 0 0 120px rgba(212,188,150,.035);
}
.albor-cta h2 { color: var(--a-marfil); }
.albor-cta p { color: #DCCFBD; }
.albor-btn-ghost .wp-block-button__link, .wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent !important; color: var(--a-cacao) !important; border: 1px solid currentColor !important;
}
.albor-btn-ghost .wp-block-button__link:hover, .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--a-cacao) !important; color: var(--a-marfil) !important; }
.has-cacao-background-color .wp-block-button__link { background: var(--a-marfil); color: var(--a-cacao); }
.has-cacao-background-color .wp-block-button__link:hover { background: var(--a-champ); color: var(--a-cacao); }
.has-cacao-background-color .albor-btn-ghost .wp-block-button__link { color: var(--a-marfil) !important; }
.wp-block-button__link { transition: background-color .3s var(--a-ease), color .3s, transform .3s var(--a-ease), box-shadow .3s; position: relative; }
.wp-block-button__link:hover { transform: translateY(-1px); box-shadow: 0 10px 24px -14px rgba(42,36,32,.55); }
.wp-block-button__link:active { transform: translateY(0) scale(.98); }
.albor-arrow .wp-block-button__link::after { content: "→"; display: inline-block; margin-left: .55rem; transition: transform .3s var(--a-ease); }
.albor-arrow .wp-block-button__link:hover::after { transform: translateX(4px); }

/* ---------- Cinta de tratamientos ---------- */
.albor-marquee { overflow: hidden; border-block: 1px solid var(--a-arena); padding: 1rem 0; white-space: nowrap; }
.albor-marquee p { white-space: nowrap; max-width: none !important; width: max-content; display: inline-block; margin: 0; font-family: var(--wp--preset--font-family--titular); font-size: clamp(1.2rem, 2vw + .6rem, 1.9rem); font-style: italic; font-weight: 300; color: var(--a-tinta); animation: alborMarquee 48s linear infinite; padding-right: 2rem; }
.albor-marquee p span { color: var(--a-champ); padding: 0 1.25rem; font-style: normal; }
@keyframes alborMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .albor-marquee p { animation: none; white-space: normal; } }

/* ---------- Instalaciones (galería) ---------- */
.albor-gallery { display: grid !important; grid-template-columns: 1fr 1fr; gap: .75rem !important; }
.albor-gallery > * { margin: 0 !important; }
.albor-gallery > :first-child { grid-column: 1 / -1; }
.albor-gallery > :first-child img { aspect-ratio: 16/10; }
.albor-gallery img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--a-radius-s); aspect-ratio: 1; }
@media (min-width: 800px) {
	.albor-gallery { grid-template-columns: 1.5fr 1fr; grid-template-rows: 1fr 1fr; height: clamp(420px, 38vw, 560px); }
	.albor-gallery > * { min-height: 0; height: 100%; }
	.albor-gallery > :first-child { grid-row: 1 / span 2; grid-column: 1; }
	.albor-gallery img { aspect-ratio: auto !important; height: 100% !important; }
}

/* ---------- Formulario (estilo del plugin adaptado a la marca) ---------- */
.el-form { --el-accent: var(--a-cacao); --el-accent-hover: var(--a-bronce); --el-border: var(--a-arena); --el-bg: #fff; --el-radius: 12px; --el-error: #9B2C1F; --el-ok: var(--a-salvia-o); }
.albor-form-card { background: #fff; border-radius: var(--a-radius); padding: clamp(1.25rem, 3vw, 2.25rem) !important; box-shadow: var(--wp--preset--shadow--flotante); border: 1px solid var(--a-arena); }
.albor-form-card > h2, .albor-form-card > h3 { margin-top: 0; }
.has-cacao-background-color .albor-form-card { color: var(--a-cacao); }

/* ---------- Pie de página ---------- */
.albor-footer { background: var(--a-cacao); color: #D9CDBD; }
.albor-footer a { color: #EFE7DB; text-decoration: none; }
.albor-footer a:hover { color: var(--a-champ); text-decoration: underline; }
.albor-footer h2, .albor-footer h3 { color: var(--a-marfil); }
.albor-footer .albor-footer__title { font-family: var(--wp--preset--font-family--texto); font-size: .75rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; color: var(--a-champ); margin-bottom: .9rem; }
.albor-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; font-size: .95rem; }
.albor-footer .albor-logo { color: var(--a-marfil) !important; }
.albor-footer .albor-logo__sub { color: #BFB2A2; }
.albor-footer__bottom { border-top: 1px solid rgba(233,223,209,.14); font-size: .85rem; }
.albor-footer__bottom p { margin: 0; }
.albor-credit { font-size: .9rem !important; color: #E9DFD1; }
.albor-credit a { color: var(--a-champ) !important; border-bottom: 1px solid rgba(212,188,150,.5); }
.albor-credit a:hover { border-bottom-color: var(--a-champ); }
.albor-footer .wp-block-button__link { background: var(--a-marfil); color: var(--a-cacao); }
.albor-footer .wp-block-button__link:hover { background: var(--a-champ); color: var(--a-cacao); }

/* ---------- CTA flotante ---------- */
.albor-float {
	position: fixed; right: clamp(.9rem, 3vw, 1.75rem); bottom: clamp(.9rem, 3vw, 1.75rem); z-index: 80;
	display: inline-flex; align-items: center; gap: .55rem; padding: .85rem 1.15rem; border-radius: 999px;
	background: var(--a-cacao); color: var(--a-marfil) !important; text-decoration: none !important; font-weight: 600; font-size: .9rem;
	box-shadow: 0 18px 40px -18px rgba(42,36,32,.7);
	transform: translateY(140%); opacity: 0; visibility: hidden;
	transition: transform .45s var(--a-ease), opacity .3s, visibility .3s, background-color .3s;
}
.albor-float svg { width: 18px; height: 18px; }
.albor-float.is-visible { transform: none; opacity: 1; visibility: visible; }
.albor-float:hover { background: var(--a-bronce); }
.albor-float.is-hidden-by-form { transform: translateY(140%); opacity: 0; visibility: hidden; }

/* ---------- Blog ---------- */
.albor-posts .wp-block-post-template { gap: 1.5rem !important; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)) !important; }
.albor-post-card { background: #fff; border-radius: var(--a-radius); overflow: hidden; border: 1px solid color-mix(in srgb, var(--a-arena) 70%, transparent); height: 100%; display: flex; flex-direction: column; transition: transform .45s var(--a-ease), box-shadow .45s; position: relative; }
.albor-post-card:hover { transform: translateY(-4px); box-shadow: var(--wp--preset--shadow--flotante); }
.albor-post-card .wp-block-post-featured-image { margin: 0; overflow: hidden; }
.albor-post-card .wp-block-post-featured-image img { aspect-ratio: 16/10; object-fit: cover; transition: transform 1s var(--a-ease); }
.albor-post-card:hover .wp-block-post-featured-image img { transform: scale(1.04); }
.albor-post-card .wp-block-post-title { font-size: 1.4rem; line-height: 1.25; }
.albor-post-card .wp-block-post-title a { text-decoration: none; color: var(--a-cacao); }
.albor-post-card .wp-block-post-title a::before { content: ""; position: absolute; inset: 0; }
.albor-post-card .wp-block-post-excerpt { color: var(--a-tinta); font-size: .95rem; }
.albor-post-card .wp-block-post-excerpt__more-link { display: none; }

.albor-article-head h1 { font-size: clamp(2.1rem, 3.5vw + 1rem, 3.5rem); max-width: 20ch; }
.albor-article .wp-block-post-content { font-size: 1.075rem; }
.albor-article .wp-block-post-content > h2 { margin-top: 2.75rem; font-size: clamp(1.6rem, 1.5vw + 1.1rem, 2.1rem); }
.albor-article .wp-block-post-content > h3 { margin-top: 1.75rem; }
.albor-article .wp-block-post-featured-image img { border-radius: var(--a-radius); aspect-ratio: 16/9; object-fit: cover; }
.albor-toc { background: var(--a-lino); border-radius: var(--a-radius-s); padding: 1.25rem 1.4rem !important; font-size: .95rem; }
.albor-toc ol { margin: .5rem 0 0; padding-left: 1.2rem; }
.albor-toc a { color: var(--a-cacao); }
.albor-sources { font-size: .9rem; color: var(--a-tinta); border-top: 1px solid var(--a-arena); padding-top: 1.25rem; }
.albor-byline { font-size: .85rem; color: var(--a-tinta); display: flex; flex-wrap: wrap; gap: .25rem 1rem; align-items: center; }
.albor-byline > * { margin: 0 !important; }

/* ---------- Animaciones de entrada ---------- */
.albor-js .albor-reveal { opacity: 0; transform: translateY(22px); transition: opacity .9s var(--a-ease), transform .9s var(--a-ease); transition-delay: var(--albor-delay, 0s); }
.albor-js .albor-reveal.is-visible { opacity: 1; transform: none; }
.albor-js .albor-reveal-img img { clip-path: inset(8% 8% 8% 8% round var(--a-radius)); transition: clip-path 1.3s var(--a-ease); }
.albor-js .albor-reveal-img.is-visible img { clip-path: inset(0 0 0 0 round var(--a-radius)); }
.albor-js .albor-arch.albor-reveal-img img, .albor-js .albor-img-arch.albor-reveal-img img { clip-path: none; }
@media (prefers-reduced-motion: reduce) {
	.albor-js .albor-reveal, .albor-js .albor-reveal-img img { opacity: 1 !important; transform: none !important; clip-path: none !important; transition: none !important; }
	.albor-card, .albor-card img, .albor-cat .wp-block-cover__image-background, .wp-block-button__link { transition: none !important; }
}

/* ---------- Varios ---------- */
.albor-404 h1 { font-size: clamp(3rem, 10vw, 7rem); }
.wp-block-separator.albor-sep { border: 0; height: 1px; background: var(--a-arena); opacity: 1; }
.albor-stack-mobile-reverse { }
@media (max-width: 781px) { .albor-stack-mobile-reverse { flex-direction: column-reverse; } }
.screen-reader-text:focus { clip: auto !important; }

/* ---------- Áreas táctiles mínimas (WCAG 2.2, 2.5.8) ---------- */
main h2 > a, main h3 > a, main h4 > a { display: inline-block; padding-block: .2em; }
.wp-block-post-terms a { display: inline-block; padding-block: 5px; }
.el-check input[type="checkbox"] { width: 22px; height: 22px; flex: 0 0 22px; }
