/*
Theme Name: Betty TT5
Theme URI: https://bettypeluquerias.com
Author: Betty Peluquerías
Description: Tema hijo de Twenty Twenty-Five para Betty Peluquerías. Réplica mejorada de la web original: elegante, mobile-first y orientada a pedir cita por teléfono.
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 7.4
Version: 3.21.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: betty-tt5
Template: twentytwentyfive
*/

/* ==========================================================
   Tokens (identidad original: taupe #B7A88F, crema #FFF6EF,
   Playfair Display en titulares, Lato en texto)
   ========================================================== */
:root {
	--c-white: #fff;
	--c-cream: #fff6ef;
	--c-sand: #f5eee7;
	--c-taupe: #b7a88f;      /* decorativo: NO usar para texto sobre blanco */
	--c-taupe-dark: #756a5d; /* texto secundario: 5,3:1 sobre blanco (AA) */
	--c-espresso: #302b27;
	--f-serif: "Playfair Display", Georgia, serif;
	--f-sans: "Lato", system-ui, -apple-system, "Segoe UI", sans-serif;
	--header-h: 96px;
	--callbar-h: 64px;
	--ease: cubic-bezier(.25, .1, .25, 1);
}

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 1rem); }
body { -webkit-font-smoothing: antialiased; }
.wp-site-blocks > * + * { margin-block-start: 0; }
img { height: auto; max-width: 100%; }
:focus-visible { outline: 2px solid var(--c-taupe-dark); outline-offset: 3px; }
.site-main { padding-bottom: 0; }

/* ==========================================================
   Cabecera
   ========================================================== */
/* Cabecera fija: el elemento que debe pegarse es el contenedor del template-part
   (un sticky dentro de un padre de su misma altura nunca se queda fijo). */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 100; }
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 32px); }
.site-header {
	position: relative;
	background: rgba(255, 255, 255, .96);
	-webkit-backdrop-filter: saturate(1.2) blur(8px);
	backdrop-filter: saturate(1.2) blur(8px);
	border-bottom: 1px solid rgba(117, 106, 93, .15);
	transition: box-shadow .25s var(--ease);
}
.betty-scrolled .site-header { box-shadow: 0 6px 20px rgba(48, 43, 39, .08); }
.site-header__row { min-height: var(--header-h); gap: 1.5rem; padding-block: .5rem; transition: min-height .25s var(--ease); }
.betty-scrolled .site-header__row { min-height: 64px; padding-block: .25rem; }
.site-header__logo img { transition: height .25s var(--ease); }
.betty-scrolled .site-header__logo img { height: 52px !important; }
.site-header__logo { flex: 0 0 auto; margin: 0; }
.site-header__logo img { width: auto; height: clamp(56px, 5.5vw, 84px); max-height: none; }

.betty-main-nav { flex: 1 1 auto; font-family: var(--f-sans); font-size: .875rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.betty-main-nav .wp-block-navigation__container { gap: clamp(.9rem, 1.6vw, 1.75rem); }
.betty-main-nav a { color: var(--c-espresso); text-decoration: none; padding-block: .5rem; }
.betty-main-nav a:hover,
.betty-main-nav .current-menu-item > a { color: var(--c-taupe-dark); }
.betty-main-nav .wp-block-navigation__submenu-container {
	background: var(--c-white) !important;
	border: 1px solid rgba(117, 106, 93, .15) !important;
	box-shadow: 0 12px 32px rgba(48, 43, 39, .08);
	padding: .5rem 0;
	min-width: 230px !important;
	text-transform: none;
	letter-spacing: .02em;
	font-weight: 400;
	font-size: .95rem;
}
.betty-main-nav .wp-block-navigation__submenu-container a { padding: .5rem 1.25rem; }
.site-header__cta { flex: 0 0 auto; }
.site-header__cta .wp-block-button__link { padding: .7rem 1.25rem; font-size: .78rem; }

/* Botón hamburguesa (solo móvil/tablet) */
.betty-burger {
	display: none;
	width: 48px; height: 48px;
	padding: 0; margin-left: auto;
	border: 0; background: transparent; cursor: pointer;
	flex-direction: column; align-items: center; justify-content: center; gap: 5px;
}
.betty-burger span { display: block; width: 24px; height: 2px; background: var(--c-espresso); border-radius: 1px; }

@media (max-width: 1100px) {
	.betty-main-nav > .wp-block-navigation__container,
	.betty-main-nav.wp-block-navigation > ul { display: none; }
	.site-header .site-header__cta.wp-block-buttons { display: none; }
	.betty-burger { display: flex; }
	.site-header__logo img { height: 56px; }
}

/* Panel lateral móvil */
.betty-backdrop { position: fixed; inset: 0; z-index: 190; background: rgba(48, 43, 39, .45); opacity: 0; transition: opacity .25s var(--ease); }
.betty-backdrop.is-visible { opacity: 1; }
.betty-drawer {
	position: fixed; top: 0; right: 0; z-index: 200;
	width: min(88vw, 380px); height: 100dvh; box-sizing: border-box;
	background: var(--c-cream); color: var(--c-espresso);
	padding: 4.5rem 1.75rem 2rem;
	overflow-y: auto; overscroll-behavior: contain;
	/* cerrado = display:none → no aporta ancho desplazable al documento (sin overflow-x:hidden) */
	display: none;
}
.betty-drawer.is-open { display: block; animation: betty-drawer-in .3s var(--ease) both; }
@keyframes betty-drawer-in { from { transform: translateX(100%); } to { transform: none; } }
body.betty-drawer-open { overflow: hidden; }
.betty-drawer__close {
	position: absolute; top: .75rem; right: .75rem;
	width: 48px; height: 48px; border: 0; background: none; cursor: pointer;
	font-size: 2rem; line-height: 1; color: var(--c-espresso);
}
.betty-drawer__nav, .betty-drawer__nav ul { display: block !important; width: 100%; }
.betty-drawer__nav .wp-block-navigation__container { display: block !important; }
.betty-drawer__nav li { display: block !important; width: 100%; border-bottom: 1px solid rgba(117, 106, 93, .18); }
.betty-drawer__nav a { display: block; padding: .85rem 0; font-family: var(--f-serif); font-size: 1.2rem; color: var(--c-espresso); text-decoration: none; }
.betty-drawer__nav .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: none !important; box-shadow: none !important;
	padding: 0 0 .5rem 1rem !important;
}
.betty-drawer__nav .wp-block-navigation__submenu-container li { border: 0; }
.betty-drawer__nav .wp-block-navigation__submenu-container a { font-family: var(--f-sans); font-size: 1rem; padding: .55rem 0; color: var(--c-taupe-dark); }
.betty-drawer__nav .wp-block-navigation-submenu__toggle { display: none !important; }
.betty-drawer__nav .wp-block-navigation-item__content.wp-block-navigation-submenu__toggle + * { display: block; }
.betty-drawer__calls { display: grid; gap: .75rem; margin-top: 2rem; }
.betty-drawer__call {
	display: flex; align-items: center; justify-content: center; gap: .6rem;
	min-height: 52px; padding: .75rem 1rem;
	background: var(--c-espresso); color: var(--c-white) !important;
	font-weight: 700; letter-spacing: .04em; text-decoration: none; border-radius: 2px;
}

/* ==========================================================
   Iconos (CSS mask, sin librerías)
   ========================================================== */
.betty-ico { display: inline-block; width: 1.1em; height: 1.1em; background: currentColor; flex: 0 0 auto; vertical-align: -.15em; }
.betty-ico--phone {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ==========================================================
   Botones propios
   ========================================================== */
.betty-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
	min-height: 48px; padding: .6rem 1.4rem; line-height: 1.2;
	font-family: var(--f-sans); font-size: .85rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	text-decoration: none !important; border: 1px solid var(--c-espresso); border-radius: 2px;
	transition: background-color .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
}
.betty-btn--primary { background: var(--c-espresso); color: var(--c-white) !important; }
.betty-btn--primary:hover { background: var(--c-taupe-dark); border-color: var(--c-taupe-dark); }
.betty-btn--ghost { background: transparent; color: var(--c-espresso) !important; }
.betty-btn--ghost:hover { background: var(--c-espresso); color: var(--c-white) !important; }
.wp-element-button, .wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; }

/* ==========================================================
   Portada
   ========================================================== */
.home-hero { margin-block: 0 !important; }
.home-hero img { display: block; width: 100%; aspect-ratio: 2560 / 416; object-fit: cover; }
@media (max-width: 700px) {
	/* El panorama 6:1 se queda en una franja; en móvil se recorta a 3:1 centrado */
	.home-hero img { aspect-ratio: 3 / 1; object-position: 50% 50%; }
}
.home-intro { padding-block: clamp(2rem, 5vw, 3.25rem) clamp(1.5rem, 4vw, 2.5rem) !important; margin-top: 0 !important; text-align: center; }
.home-intro__title { font-size: clamp(1.6rem, 3.6vw, 2.4rem) !important; margin-bottom: 1.5rem; font-style: italic; }
.betty-llamar { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; }
.betty-llamar .betty-btn { min-width: 220px; }
@media (max-width: 781px) { .betty-llamar { display: none; } } /* en móvil ya está la barra fija */

/* Ritmo de secciones del contenido (bloques heredados del original) */
.home .wp-block-post-content > .wp-block-image:not(.alignfull):not(.alignwide) { max-width: 920px; margin-inline: auto; }
/* La foto editorial de novia es vertical; limitar su ancho sin recortarla. */
.home .wp-block-post-content > .wp-block-image.betty-home-novia:not(.alignfull):not(.alignwide) { max-width: min(100%, 560px); }
.home .wp-block-post-content > .wp-block-image.betty-home-novia img { width: 100%; height: auto; object-fit: contain; }
.home .wp-block-post-content > .wp-block-image img { margin-inline: auto; }
.home .wp-block-post-content > .wp-block-image:has(> img.wp-image-4811) { max-width: 200px; } /* adorno floral */
.home .wp-block-post-content > .wp-block-spacer { height: clamp(1rem, 3vw, 2rem) !important; }
.home .entry-content > .wp-block-heading,
.home .wp-block-post-content > .wp-block-heading { margin-top: clamp(1.5rem, 5vw, 4rem); }
@media (max-width: 781px) { .home-intro { padding-bottom: 0 !important; } .home-intro__title { margin-bottom: 0; } }
.wp-block-post-content h3.has-text-align-center,
.wp-block-post-content h3[style*="center"] { font-size: clamp(1.9rem, 3.4vw, 2.8125rem); margin-bottom: .5rem; }

/* Carrusel (Splide Carousel Block) sobre franja taupe como en el original */
.wp-block-cloudcatch-splide-carousel { background: var(--c-taupe); padding: clamp(1.5rem, 4vw, 2.5rem) clamp(.5rem, 3vw, 2rem); }
.wp-block-cloudcatch-splide-carousel img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.splide .splide__arrow { width: 44px; height: 44px; background: rgba(255, 255, 255, .9); opacity: 1; }
.splide .splide__arrow--prev { left: .75rem !important; right: auto !important; }
.splide .splide__arrow--next { right: .75rem !important; left: auto !important; }
.splide__pagination__page { background: rgba(255, 255, 255, .6); box-shadow: 0 0 0 10px transparent; }
.splide__pagination li { padding: 6px; }
.splide__pagination__page.is-active { background: var(--c-white); transform: scale(1.25); }

/* Rejilla de Actualidad / blog */
/* Contenido migrado: el layout grid quedó en el contenedor .wp-block-query y no en la lista */
.wp-block-query.is-layout-grid { display: block !important; }
.wp-block-query.is-layout-grid > .wp-block-post-template { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 3vw, 2rem); list-style: none; padding: 0; margin: 0; }
.wp-block-query.is-layout-grid > .wp-block-post-template > li { margin: 0; }
.portfolio-item .wp-block-post-featured-image img, .wp-block-query .portfolio-item img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
@media (max-width: 781px) { .wp-block-query.is-layout-grid > .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.wp-block-post-template.is-layout-grid { gap: clamp(1.25rem, 3vw, 2rem); }
.wp-block-post-template .wp-block-post-featured-image img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.wp-block-post-template .wp-block-post-title { font-size: 1.25rem; margin-top: .75rem; }
.wp-block-post-template .wp-block-post-title a { color: var(--c-espresso); text-decoration: none; }
.wp-block-post-template .wp-block-post-date { color: var(--c-taupe-dark); font-size: .85rem; letter-spacing: .04em; text-transform: uppercase; }
.wp-block-post-excerpt__more-link, .wp-block-read-more { color: var(--c-taupe-dark); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: .875rem; display: inline-block; padding-block: .6rem; }
@media (max-width: 781px) {
	.wp-block-post-template.is-layout-grid { grid-template-columns: 1fr !important; }
}

/* Galerías (trabajos) */
.wp-block-gallery.has-nested-images figure.wp-block-image img { object-fit: contain; }

/* Marcas (galería de 5 columnas de la portada): logos completos, sin recortes */
.home .wp-block-gallery.columns-5 {
	--brand-gap: clamp(1rem, 3vw, 2rem);
	display: flex !important; flex-wrap: wrap; justify-content: center;
	gap: clamp(1rem, 3vw, 2.5rem) var(--brand-gap) !important;
	align-items: center;
	max-width: 1100px; margin-inline: auto;
	padding-block: clamp(1rem, 3vw, 2rem);
}
.home .wp-block-gallery.columns-5 figure.wp-block-image:not(#individual-image) {
	flex: 0 0 calc((100% - 4 * var(--brand-gap)) / 5);
	width: auto !important; margin: 0 !important;
	height: clamp(56px, 7vw, 84px);
	display: flex; align-items: center; justify-content: center;
}
.home .wp-block-gallery.columns-5.is-cropped figure.wp-block-image:not(#individual-image) img,
.home .wp-block-gallery.columns-5 figure.wp-block-image img {
	width: 100% !important; height: 100% !important;
	object-fit: contain !important; object-position: center;
	filter: grayscale(1); opacity: .8; transition: opacity .2s, filter .2s;
}
.home .wp-block-gallery.columns-5 figure.wp-block-image a:hover img,
.home .wp-block-gallery.columns-5 figure.wp-block-image img:hover { filter: none; opacity: 1; }
.home .wp-block-gallery.columns-5 figure.wp-block-image a { display: flex; width: 100%; height: 100%; }
@media (max-width: 781px) {
	.home .wp-block-gallery.columns-5 figure.wp-block-image:not(#individual-image) { flex-basis: calc((100% - 2 * var(--brand-gap)) / 3); }
}

/* Botón «volver arriba» */
.betty-totop {
	position: fixed; right: clamp(.75rem, 2vw, 1.5rem); bottom: clamp(.75rem, 2vw, 1.5rem); z-index: 140;
	width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .5);
	background: var(--c-espresso); color: var(--c-white); cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 4px 14px rgba(48, 43, 39, .25);
	opacity: 0; visibility: hidden; transform: translateY(8px);
	transition: opacity .25s var(--ease), transform .25s var(--ease), visibility .25s;
}
.betty-totop.is-visible { opacity: 1; visibility: visible; transform: none; }
.betty-totop:hover { background: var(--c-taupe-dark); }
.betty-totop span { width: 12px; height: 12px; border-left: 2px solid currentColor; border-top: 2px solid currentColor; transform: translateY(3px) rotate(45deg); }
@media (max-width: 781px) { .betty-totop { bottom: calc(var(--callbar-h) + env(safe-area-inset-bottom) + .75rem); } }
body.betty-drawer-open .betty-totop { display: none; }

/* Vídeo ligero */
.betty-video-wrap { position: relative; aspect-ratio: 16 / 9; margin-block: clamp(2rem, 5vw, 4rem); overflow: hidden; background: var(--c-espresso); }

.betty-video-thumb { width: 100%; height: 100%; object-fit: cover; opacity: .85; }
.betty-video-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.betty-video-play {
	position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
	width: clamp(64px, 9vw, 96px); aspect-ratio: 1; border-radius: 50%;
	border: 2px solid var(--c-white); background: rgba(48, 43, 39, .35); cursor: pointer;
}
.betty-video-play span { position: absolute; top: 50%; left: 54%; transform: translate(-50%, -50%); border-left: 22px solid var(--c-white); border-block: 14px solid transparent; }
.betty-video-play:hover { background: rgba(48, 43, 39, .6); }

/* Instagram (Smash Balloon): botón con contraste AA */
#sb_instagram .sbi_follow_btn a, .sbi_follow_btn a { background: var(--c-espresso) !important; color: var(--c-white) !important; padding: .8rem 1.4rem !important; font-size: .9rem !important; border-radius: 2px !important; }

/* ==========================================================
   Páginas interiores
   ========================================================== */
.page-title { padding-block: clamp(2rem, 6vw, 3.5rem) !important; margin-top: 0 !important; margin-bottom: clamp(1.5rem, 4vw, 3rem) !important; }
.page-title .wp-block-post-title { margin: 0; }
.page-title:not(:has(h1)):not(:has(.wp-block-post-date)) { display: none; }
.page-title__date { color: var(--c-taupe-dark); font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; margin-top: .5rem; }
.post-back { padding-bottom: clamp(2rem, 5vw, 3rem); }
.wp-block-post-content { padding-bottom: clamp(2.5rem, 6vw, 4rem); }
/* Banner de título heredado del original (cover al inicio del contenido): más bajo */
.wp-block-post-content > .wp-block-cover:first-child { min-height: clamp(180px, 30vw, 360px) !important; margin-top: 0; }

/* Formularios Contact Form 7: campos grandes y legibles */
.wpcf7-form p { margin: 0 0 1rem; }
.wpcf7-form label { display: block; font-weight: 700; font-size: .9rem; }
.wpcf7-form input[type=text], .wpcf7-form input[type=email], .wpcf7-form input[type=tel], .wpcf7-form select, .wpcf7-form textarea {
	width: 100%; min-height: 48px; padding: .7rem .9rem; box-sizing: border-box;
	font: inherit; color: var(--c-espresso); background: var(--c-white);
	border: 1px solid rgba(117, 106, 93, .45); border-radius: 2px;
}
.wpcf7-form textarea { min-height: 140px; height: 160px; }
.wpcf7-form input:focus, .wpcf7-form textarea:focus { outline: 2px solid var(--c-taupe-dark); outline-offset: 1px; border-color: var(--c-taupe-dark); }
.wpcf7-form .wpcf7-submit { min-height: 48px; padding: .7rem 1.75rem; background: var(--c-espresso); color: var(--c-white); border: 0; border-radius: 2px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.wp-block-post-content p a, .wp-block-post-content li a { text-decoration: underline; text-underline-offset: 3px; }

/* ==========================================================
   Pie con los dos salones
   ========================================================== */
.site-footer { margin-top: 0 !important; padding-block: clamp(2.5rem, 6vw, 4rem) clamp(1.5rem, 4vw, 2.5rem); color: var(--c-espresso); }
.betty-salones { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: clamp(2rem, 5vw, 4rem); }
.betty-sede__name { font-size: clamp(1.4rem, 2.6vw, 1.75rem); margin: 0 0 .5rem; }
.betty-sede__addr { margin: 0 0 .25rem; }
.betty-sede__tel { margin: 0 0 1rem; font-weight: 700; }
.betty-sede__tel a { color: var(--c-espresso); text-decoration: none; white-space: nowrap; display: inline-block; padding-block: .6rem; }
.betty-sede__label { font-family: var(--f-sans); font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--c-taupe-dark); margin: 0 0 .35rem; }
.betty-sede__hours { list-style: none; margin: 0 0 1.25rem; padding: 0; font-size: .95rem; }
.betty-sede__actions { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0; }
.site-footer__bottom { gap: 1rem; align-items: center; }
.site-footer__legal { font-size: .875rem; margin: 0; }
.site-footer__legal a { color: var(--c-taupe-dark); }
.site-footer .wp-block-social-links .wp-social-link { font-size: 22px; }
.site-footer .wp-block-social-links a { padding: 6px; }

/* ==========================================================
   Barra fija «Pedir cita» (móvil)
   ========================================================== */
.betty-callbar { display: none; }
@media (max-width: 781px) {
	.betty-callbar {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 150;
		display: grid; grid-template-columns: 1fr 1fr; gap: 1px;
		background: rgba(255, 255, 255, .25);
		padding-bottom: env(safe-area-inset-bottom);
		box-shadow: 0 -4px 18px rgba(48, 43, 39, .15);
	}
	.betty-callbar__btn {
		display: flex; align-items: center; justify-content: center; gap: .6rem;
		min-height: var(--callbar-h); padding: .5rem;
		background: var(--c-espresso); color: var(--c-white); text-decoration: none;
		font-weight: 700; font-size: 1rem; line-height: 1.15;
	}
	.betty-callbar__btn .betty-ico { width: 1.25em; height: 1.25em; }
	.betty-callbar__txt small { display: block; font-size: .68rem; font-weight: 400; letter-spacing: .12em; text-transform: uppercase; opacity: .85; }
	body { padding-bottom: calc(var(--callbar-h) + env(safe-area-inset-bottom)); }
	body.betty-drawer-open .betty-callbar { display: none; }
	/* el aviso de cookies no debe quedar debajo de la barra */
	.cmplz-cookiebanner { bottom: calc(var(--callbar-h) + 8px) !important; }
}

/* ==========================================================
   Accesibilidad / movimiento reducido
   ========================================================== */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Paginación de Actualidad: objetivos táctiles cómodos */
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding-inline: .5rem; }

/* ==========================================================
   3.1.3 — Contacto, menú y aviso de cookies
   ========================================================== */
/* Etiquetas de submenú sin enlace */
.betty-nav-label { cursor: default; }
.betty-drawer__nav .betty-nav-label { display: block; color: var(--c-taupe-dark); font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; padding-block: .75rem .25rem; }

/* Formulario de contacto: ancho de lectura cómodo y etiquetas visibles */
.wpcf7 { max-width: 720px; margin-inline: 0; }
.betty-cf7 label { display: block; font-family: var(--f-sans); font-size: .9rem; font-weight: 700; color: var(--c-espresso); margin: 0 0 1rem; }
.betty-cf7 label .wpcf7-form-control-wrap { display: block; margin-top: .35rem; font-weight: 400; }
.betty-cf7 .wpcf7-acceptance { font-size: .9rem; }
.betty-contact-call { text-align: center; margin-block: 1rem .5rem; }
@media (max-width: 781px) { .betty-contact-call { display: none; } }

/* Banner de título de las páginas: velo más ligero (antes gris muy oscuro) */


/* Aviso de cookies (Complianz): sin velo oscuro y botones con contraste AA */
.cmplz-soft-cookiewall { background: transparent !important; pointer-events: none; }
.cmplz-cookiebanner {
	--cmplz_button_deny_background_color: #FFFFFF;
	--cmplz_button_deny_border_color: #302B27;
	--cmplz_button_deny_text_color: #302B27;
	--cmplz_button_settings_background_color: #FFFFFF;
	--cmplz_button_settings_border_color: #302B27;
	--cmplz_button_settings_text_color: #302B27;
	--cmplz_button_accept_background_color: #302B27;
	--cmplz_button_accept_border_color: #302B27;
	--cmplz_button_accept_text_color: #FFFFFF;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-deny,
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,
.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences { background: #FFFFFF !important; color: #302B27 !important; border: 1px solid #302B27 !important; }
.cmplz-cookiebanner .cmplz-btn.cmplz-accept { background: #302B27 !important; color: #FFFFFF !important; border-color: #302B27 !important; }

/* ==========================================================
   3.1.5 — Nuestra historia (about-me, page-id-1056): menos huecos
   ========================================================== */
/* Párrafos vacíos heredados (sumaban márgenes sin contenido) */
.wp-block-post-content p:empty { display: none; }

/* Decoración estacional heredada «vector-invierno»: ocupaba media columna vacía */
.wp-block-post-content figure:has(img[src*="vector-invierno"]) { display: none; }
.wp-block-post-content .wp-block-column:has(img[src*="vector-invierno"]):not(:has(p:not(:empty), h1, h2, h3, h4, img:not([src*="vector-invierno"]))) { display: none; }
.wp-block-post-content .wp-block-columns:has(img[src*="vector-invierno"]) > .wp-block-column { flex-basis: 100% !important; flex-grow: 1; }
/* Foto que se queda sola tras quitar la decoración: banda horizontal, no un bloque de 1100 px de alto */
.wp-block-post-content .wp-block-columns:has(img[src*="vector-invierno"]) .wp-block-image img:not([src*="vector-invierno"]) {
	width: 100%; aspect-ratio: 16 / 7; object-fit: cover; object-position: center 35%;
}

/* Nuestra historia: imagen y texto centrados entre sí; ritmo de secciones más compacto */
.page-id-1056 .wp-block-post-content .wp-block-columns { align-items: center !important; gap: clamp(1.5rem, 4vw, 3.5rem); }
.page-id-1056 .wp-block-post-content > .wp-block-spacer { display: none; }
.page-id-1056 .wp-block-post-content > .wp-block-columns { margin-block: clamp(2rem, 4vw, 3rem) !important; }
.page-id-1056 .wp-block-post-content .wp-block-column > :first-child { margin-top: 0; }
.page-id-1056 .wp-block-post-content .wp-block-column > :last-child { margin-bottom: 0; }
.page-id-1056 .wp-block-post-content .wp-block-image { margin-block: 0; }
.page-id-1056 .wp-block-post-content .wp-block-image img { border-radius: 2px; }
.page-id-1056 .wp-block-post-content h3 + p strong:only-child,
.page-id-1056 .wp-block-post-content h4 + p strong:only-child { letter-spacing: .14em; font-size: .8rem; color: var(--c-taupe-dark); }

@media (max-width: 781px) {
	/* El texto justificado abre «ríos» en pantallas estrechas */
	.wp-block-post-content p[style*="justify"], .wp-block-post-content p.has-text-align-justify, .wp-block-post-content .consangria { text-align: left !important; }
	.page-id-1056 .wp-block-post-content .wp-block-columns { gap: 1.25rem; }
	.page-id-1056 .wp-block-post-content .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
}
/* Textos heredados con <span style="color:#ffffff"> fuera de una portada: eran invisibles sobre fondo claro */
.wp-block-post-content :is(h1, h2, h3, h4, h5, p, li):not(.wp-block-cover *, .has-background *, .wp-block-button *) span:is([style*="#ffffff" i], [style*="#fff;" i]) { color: inherit !important; }
/* Nuestra historia: texto alineado a la izquierda (el justificado en columnas abría huecos entre palabras) */
.page-id-1056 .wp-block-post-content .consangria,
.page-id-1056 .wp-block-post-content p[style*="justify"] { text-align: left !important; }

/* ==========================================================
   3.1.6 — Portada: «Sobre Nosotras» como en producción
   (texto a la izquierda, foto a la derecha, palabra «Nosotras» vertical decorativa)
   ========================================================== */
.home-nosotras { position: relative; margin-block: clamp(2.5rem, 6vw, 5rem) !important; }
.home-nosotras > .wp-block-columns { gap: clamp(2rem, 5vw, 5rem); align-items: center !important; margin: 0; }
.home-nosotras__text { text-align: left; padding-left: clamp(0rem, 6vw, 6.5rem); }
.home-nosotras__text :is(h1, h2, h3, h4, p) { text-align: left !important; }
.home-nosotras__text h3 { font-size: clamp(2rem, 3.4vw, 3rem) !important; margin: 0 0 .25rem; }
.home-nosotras__text h3 + p { font-family: var(--f-serif, "Playfair Display", serif); font-style: italic; font-size: clamp(1.1rem, 1.6vw, 1.35rem); color: var(--c-taupe-dark); margin: 0 0 1.25rem; }
.home-nosotras__text .wp-block-buttons { justify-content: flex-start !important; margin-top: 1.5rem; }
.home-nosotras__text .wp-block-button__link { background: var(--c-taupe) !important; border-color: var(--c-taupe) !important; color: var(--c-white) !important; }
.home-nosotras__text .wp-block-button__link:hover { background: var(--c-taupe-dark) !important; border-color: var(--c-taupe-dark) !important; }
.home-nosotras__media .wp-block-image { margin: 0; }
.home-nosotras__media img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: center 30%; }
/* Palabra «Nosotras» en vertical, como el original (solo decorativa) */
.home-nosotras::before {
	content: "Nosotras"; position: absolute; left: calc(-1 * clamp(0rem, 4vw, 5rem)); top: 50%;
	transform: translateY(-50%); writing-mode: vertical-rl;
	font-family: var(--f-serif, "Playfair Display", serif); font-size: clamp(5rem, 9vw, 9.5rem); line-height: 1;
	color: var(--c-taupe); opacity: .85; pointer-events: none; user-select: none;
}
/* Que se vea la sección al abrir la web: introducción más compacta */
.home .home-intro { padding-block: clamp(1.5rem, 3.5vw, 2.5rem) clamp(.5rem, 2vw, 1.25rem) !important; }
@media (max-width: 1100px) { .home-nosotras::before { display: none; } .home-nosotras__text { padding-left: 0; } }
@media (max-width: 781px) {
	.home-nosotras > .wp-block-columns { flex-direction: column-reverse; gap: 1.5rem; }
	.home-nosotras__text :is(h3, p) { text-align: center !important; }
	.home-nosotras__text .wp-block-buttons { justify-content: center !important; }
}

/* ==========================================================
   3.2.0 — Preguntas frecuentes (portada)
   ========================================================== */
.betty-faq { max-width: 820px; margin: clamp(2.5rem, 6vw, 4.5rem) auto; padding-inline: var(--wp--style--root--padding-left, 1rem); }
.betty-faq__title { text-align: center; font-size: clamp(1.8rem, 3vw, 2.4rem); margin: 0 0 1.5rem; }
.betty-faq__item { border-top: 1px solid rgba(117, 106, 93, .25); }
.betty-faq__item:last-of-type { border-bottom: 1px solid rgba(117, 106, 93, .25); }
.betty-faq__item summary { cursor: pointer; list-style: none; padding: 1.1rem 2.5rem 1.1rem 0; position: relative; font-family: var(--f-serif); font-size: clamp(1.05rem, 1.6vw, 1.25rem); color: var(--c-espresso); }
.betty-faq__item summary::-webkit-details-marker { display: none; }
.betty-faq__item summary::after { content: "+"; position: absolute; right: .25rem; top: 50%; transform: translateY(-50%); font-family: var(--f-sans); font-size: 1.5rem; color: var(--c-taupe-dark); }
.betty-faq__item[open] summary::after { content: "–"; }
.betty-faq__item summary:focus-visible { outline: 2px solid var(--c-taupe-dark); outline-offset: 2px; }
.betty-faq__a p { margin: 0 0 1.2rem; color: var(--c-espresso); }
.betty-faq__a a { color: var(--c-taupe-dark); }

/* ==========================================================
   3.3.0 — Banda de título como producción (fondo claro, título taupe grande)
   ========================================================== */
.page-title.betty-title-band {
	position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center;
	min-height: clamp(240px, 28.8vw, 415px); padding-block: clamp(2rem, 5vw, 3.5rem) !important;
	background-color: var(--c-cream) !important;
	/* Como producción: la ilustración a su tamaño (alto completo de la banda, sin velo ni recorte que la empequeñezca) */
	background-image: var(--betty-band-img, none); background-size: auto 100%; background-position: center top; background-repeat: no-repeat;
	margin-bottom: clamp(2rem, 5vw, 4rem) !important; text-align: center;
}
.betty-title-band .wp-block-post-title {
	color: var(--c-taupe) !important; font-family: var(--f-serif); font-weight: 400;
	font-size: clamp(2.6rem, 6.2vw, 5rem) !important; line-height: 1.05; letter-spacing: 0; margin: 0;
}
.betty-title-band__sub {
	font-family: var(--f-serif); font-style: italic; color: #6f6a65; margin: .9rem 0 0;
	font-size: clamp(1.1rem, 1.8vw, 1.375rem); line-height: 1.4; max-width: 40ch; margin-inline: auto;
}
.betty-title-band--legal { min-height: clamp(150px, 15vw, 200px); background-image: none; }
.betty-title-band--legal .wp-block-post-title { font-size: clamp(2.2rem, 4.5vw, 3.5rem) !important; }
.betty-title-band .page-title__date { color: var(--c-taupe-dark); }
@media (max-width: 781px) {
	/* En móvil la ilustración completa, con sus colores, como franja bajo el título (sin velo) */
	.page-title.betty-title-band { background-image: var(--betty-band-img, none); background-size: 100% auto; background-position: center bottom; min-height: 0; padding-top: 2.25rem !important; padding-bottom: calc(23vw + 1.25rem) !important; }
}

/* Texto de contenido como producción: 16px, peso normal, títulos de sección grandes */
.wp-block-post-content p, .wp-block-post-content li { font-weight: 400; }
/* Párrafos de contenido en Playfair gris cálido, como el original (la interfaz sigue en Lato) */
.wp-block-post-content :is(p, li):not(.wp-block-button *, .wpcf7 *, .betty-faq *, .betty-salon *, .wp-block-post-date, .wp-block-post-excerpt__more-text, .betty-contact-call) {
	font-family: var(--f-serif); font-size: 1rem; line-height: 1.75; color: #6f6a65;
}
.wp-block-post-content :is(p, li) strong { color: var(--c-espresso); font-weight: 700; }
.wp-block-post-content :is(h2, h3) { margin-block: 1.2em .5em; }
.wp-block-post-content h5 { font-family: var(--f-serif); font-weight: 400; letter-spacing: 0; text-transform: none; }

/* ==========================================================
   3.4.0 — Sistema visual unificado (como producción, mejorado)
   ========================================================== */

/* --- Foco: sin recuadro negro al pulsar con ratón/dedo; anillo suave solo con teclado --- */
html { -webkit-tap-highlight-color: transparent; }
a:focus:not(:focus-visible), button:focus:not(:focus-visible), summary:focus:not(:focus-visible),
.wp-block-site-logo a:focus:not(:focus-visible), .custom-logo-link:focus:not(:focus-visible) { outline: none !important; box-shadow: none !important; }
:focus-visible { outline: 2px solid var(--c-taupe) !important; outline-offset: 4px; border-radius: 2px; }
.wp-block-navigation a:focus, .wp-block-navigation-item__content:focus { outline-color: var(--c-taupe); }

/* --- Menú superior: Lato 13px, sin mayúsculas forzadas, trazo dibujado al pasar (como el original) --- */
.betty-main-nav { font-size: .8125rem !important; font-weight: 700; letter-spacing: .09em; text-transform: none; }
.betty-main-nav .wp-block-navigation__container { gap: clamp(.6rem, 1.4vw, 1.6rem); }
.betty-main-nav > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	position: relative; color: #333 !important; padding: .75rem .35rem; transition: color .2s var(--ease);
}
.betty-main-nav > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 50%; bottom: -2px; width: 47px; height: 24px; transform: translateX(-50%);
	background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 47 24'%3E%3Cpath fill='none' stroke='%23B7A88F' stroke-width='1.2' stroke-linejoin='round' d='M.63 0s-.02 13.6 23.98 13.33C40.17 13.16 46.32 23.31 46.62 23.62'/%3E%3C/svg%3E");
	clip-path: inset(0 100% 0 0); transition: clip-path .45s var(--ease); pointer-events: none;
}
.betty-main-nav > .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.betty-main-nav > .wp-block-navigation__container > .wp-block-navigation-item:focus-within > .wp-block-navigation-item__content::after,
.betty-main-nav > .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content::after,
.betty-main-nav > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content[aria-current="page"]::after { clip-path: inset(0); }
.betty-main-nav .wp-block-navigation__submenu-icon { color: var(--c-taupe-dark); }
.betty-main-nav .wp-block-navigation__submenu-container { border-top: 2px solid var(--c-taupe) !important; font-family: var(--f-sans); }
.betty-main-nav .wp-block-navigation__submenu-container a { color: #333 !important; transition: color .2s, background-color .2s; }
.betty-main-nav .wp-block-navigation__submenu-container a:hover { color: var(--c-taupe-dark) !important; background: var(--c-cream); }
@media (prefers-reduced-motion: reduce) { .betty-main-nav .wp-block-navigation-item__content::after { transition: none; } }

/* --- Botones: un único sistema en todo el sitio ---
   Principal = dorado (taupe) con texto oscuro (contraste AA 7:1); al pasar, espresso.
   Secundario = contorno taupe. Enlaces «Leer más» de tarjetas = texto con trazo. */
.wp-block-button__link, .wp-element-button, .betty-btn--primary, .wpcf7-submit, input[type="submit"].wpcf7-form-control,
#sb_instagram .sbi_follow_btn a, .sbi_follow_btn a {
	background: var(--c-taupe) !important; color: var(--c-espresso) !important; border: 1px solid var(--c-taupe) !important;
	border-radius: 0 !important; font-family: var(--f-sans) !important; font-size: .75rem !important; font-weight: 700 !important;
	letter-spacing: .18em !important; text-transform: uppercase !important; padding: .95rem 1.6rem !important; min-height: 48px;
	box-shadow: none !important; box-sizing: border-box; line-height: 1.2 !important; transition: background-color .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease) !important;
}
.wp-block-button__link:hover, .wp-element-button:hover, .betty-btn--primary:hover, .wpcf7-submit:hover,
#sb_instagram .sbi_follow_btn a:hover, .sbi_follow_btn a:hover {
	background: var(--c-espresso) !important; color: var(--c-white) !important; border-color: var(--c-espresso) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link, .betty-btn--ghost {
	background: transparent !important; color: var(--c-espresso) !important; border: 1px solid var(--c-taupe) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover, .betty-btn--ghost:hover {
	background: var(--c-taupe) !important; color: var(--c-espresso) !important;
}
.betty-btn { box-sizing: border-box; border-radius: 0; font-size: .75rem; letter-spacing: .18em; padding: .95rem 1.6rem; }
.betty-btn .betty-ico { width: 16px; height: 16px; }
.home-nosotras__text .wp-block-button__link { background: var(--c-taupe) !important; color: var(--c-espresso) !important; }
.home-nosotras__text .wp-block-button__link:hover { background: var(--c-espresso) !important; color: var(--c-white) !important; }
/* «Leer más» de tarjetas de Actualidad: enlace editorial (como el «Read more» del original) */
.wp-block-read-more, .wp-block-post-excerpt__more-link {
	display: inline-flex; align-items: center; gap: .5rem; padding-block: .6rem; color: var(--c-espresso) !important;
	font-family: var(--f-sans); font-size: .75rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; text-decoration: none !important;
	background: none !important; border: 0 !important;
}
.wp-block-read-more::after, .wp-block-post-excerpt__more-link::after { content: "→"; color: var(--c-taupe); transition: transform .2s var(--ease); }
.wp-block-read-more:hover::after, .wp-block-post-excerpt__more-link:hover::after { transform: translateX(4px); }
/* Cabecera: «Pedir cita» discreto, mismo sistema */
.site-header__cta .wp-block-button__link { padding: .8rem 1.3rem !important; font-size: .7rem !important; }

/* --- Vídeo de portada: franja panorámica de lado a lado, con botón de reproducción animado --- */
.home .betty-video-wrap.alignfull {
	aspect-ratio: auto; height: clamp(300px, 36vw, 600px); margin-block: clamp(3rem, 7vw, 6rem); background: var(--c-espresso);
}
.home .betty-video-wrap.alignfull .betty-video-thumb { opacity: 1; object-position: center 40%; transform: scale(1.02); transition: transform 1.2s var(--ease); }
.home .betty-video-wrap.alignfull:hover .betty-video-thumb { transform: scale(1.06); }
.home .betty-video-wrap.alignfull::before {
	content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: radial-gradient(ellipse at center, rgba(48, 43, 39, .05) 0%, rgba(48, 43, 39, .35) 100%);
}
.betty-video-play { z-index: 2; width: clamp(76px, 8vw, 112px) !important; border: 1px solid rgba(255, 255, 255, .9) !important; background: rgba(183, 168, 143, .35) !important; backdrop-filter: blur(2px); transition: background-color .3s, transform .3s; }
.betty-video-play::before {
	content: ""; position: absolute; inset: -14px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .55);
	animation: betty-pulse 2.4s var(--ease) infinite;
}
.betty-video-play:hover { background: rgba(183, 168, 143, .7) !important; transform: translate(-50%, -50%) scale(1.06); }
@keyframes betty-pulse { 0% { transform: scale(.85); opacity: .9; } 70% { transform: scale(1.25); opacity: 0; } 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .betty-video-play::before { animation: none; } .home .betty-video-wrap.alignfull .betty-video-thumb { transition: none; } }
/* Ventana del vídeo */
.betty-video-dialog { width: min(1100px, 92vw); max-width: none; padding: 0; border: 0; background: transparent; overflow: visible; }
.betty-video-dialog::backdrop { background: rgba(48, 43, 39, .88); }
.betty-video-dialog__box { position: relative; aspect-ratio: 16 / 9; background: #000; }
.betty-video-dialog__box iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.betty-video-dialog__close {
	position: absolute; right: 0; top: -52px; width: 44px; height: 44px; border: 0; background: transparent;
	color: var(--c-white); font-size: 2.2rem; line-height: 1; cursor: pointer;
}

/* --- «Actualidad» en vertical, como el original (lado derecho; «Nosotras» va a la izquierda) --- */
.home-actualidad { position: relative; isolation: isolate; margin-block: clamp(2.5rem, 6vw, 5rem) !important; }
.home-actualidad::after {
	content: "Actualidad"; position: absolute; right: 0; top: 50%;
	transform: translateY(-50%); writing-mode: vertical-rl;
	font-family: var(--f-serif); font-size: clamp(5rem, 9vw, 9.5rem); line-height: 1;
	color: var(--c-taupe); opacity: .85; pointer-events: none; user-select: none; z-index: -1;
}
.home-actualidad .wp-block-query { padding-right: clamp(0rem, 10vw, 9.5rem); }
@media (max-width: 1100px) { .home-actualidad::after { display: none; } .home-actualidad .wp-block-query { padding-right: 0; } }

/* --- Tarjetas de Actualidad más cuidadas --- */
.wp-block-post-template .wp-block-post-featured-image { overflow: hidden; margin-bottom: .25rem; }
.wp-block-post-template .wp-block-post-featured-image img { transition: transform .6s var(--ease); }
.wp-block-post-template li:hover .wp-block-post-featured-image img { transform: scale(1.04); }
.wp-block-post-template .wp-block-post-title { font-size: clamp(1.15rem, 1.6vw, 1.35rem) !important; line-height: 1.3; }
.wp-block-post-template .wp-block-post-title a:hover { color: var(--c-taupe-dark); }
/* Ritmo vertical de la portada: espaciadores heredados más contenidos */
.home .wp-block-post-content > .wp-block-spacer { height: clamp(12px, 2.5vw, 36px) !important; }
.betty-video-dialog__close:focus-visible { outline: none !important; background: rgba(255, 255, 255, .12); border-radius: 50%; }
/* URLs y correos largos en textos legales: que corten línea en móvil */
.wp-block-post-content :is(p, li, a, strong) { overflow-wrap: anywhere; }

/* ==========================================================
   3.5.0 — Botones dorados con texto blanco, redondeados y con movimiento suave;
   trazo del menú alineado con el texto
   ========================================================== */
:root { --btn-gold: #B7A88F; --btn-gold-hover: #AD9D82; }
.wp-block-button__link, .wp-element-button, .betty-btn--primary, .wpcf7-submit, input[type="submit"].wpcf7-form-control,
#sb_instagram .sbi_follow_btn a, .sbi_follow_btn a {
	background: var(--btn-gold) !important; color: #fff !important; border: 1px solid var(--btn-gold) !important;
	border-radius: 999px !important; padding: .95rem 1.9rem !important;
	text-shadow: 0 1px 1px rgba(48, 43, 39, .28);
	box-shadow: 0 2px 6px rgba(117, 106, 93, .18) !important;
	transition: transform .25s var(--ease), box-shadow .25s var(--ease), background-color .25s var(--ease) !important;
}
.wp-block-button__link:hover, .wp-element-button:hover, .betty-btn--primary:hover, .wpcf7-submit:hover,
#sb_instagram .sbi_follow_btn a:hover, .sbi_follow_btn a:hover,
.home-nosotras__text .wp-block-button__link:hover {
	background: var(--btn-gold-hover) !important; color: #fff !important; border-color: var(--btn-gold-hover) !important;
	transform: translateY(-2px); box-shadow: 0 8px 18px rgba(117, 106, 93, .28) !important;
}
.wp-block-button__link:active, .wp-element-button:active, .betty-btn:active, .wpcf7-submit:active { transform: translateY(0); box-shadow: 0 2px 6px rgba(117, 106, 93, .18) !important; }
.home-nosotras__text .wp-block-button__link { background: var(--btn-gold) !important; color: #fff !important; }
.betty-btn { border-radius: 999px; padding: .95rem 1.9rem; }
/* Secundario (contorno) */
.wp-block-button.is-style-outline .wp-block-button__link, .betty-btn--ghost {
	background: transparent !important; color: var(--c-taupe-dark) !important; border: 1px solid var(--btn-gold) !important;
	text-shadow: none; box-shadow: none !important; border-radius: 999px !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover, .betty-btn--ghost:hover {
	background: rgba(183, 168, 143, .12) !important; color: var(--c-taupe-dark) !important; transform: translateY(-2px);
}
@media (prefers-reduced-motion: reduce) {
	.wp-block-button__link, .wp-element-button, .betty-btn, .wpcf7-submit { transition: none !important; }
	.wp-block-button__link:hover, .wp-element-button:hover, .betty-btn:hover, .wpcf7-submit:hover { transform: none; }
}
.site-header__cta .wp-block-button__link { padding: .8rem 1.5rem !important; }

/* Menú: el trazo dorado ocupa el ancho de la palabra, justo bajo la línea de texto */
.betty-main-nav > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	left: .35rem; right: .35rem; width: auto; bottom: .45rem; height: 7px; transform: none;
	background: no-repeat center / 100% 100% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 8' preserveAspectRatio='none'%3E%3Cpath fill='none' stroke='%23B7A88F' stroke-width='1.4' stroke-linecap='round' vector-effect='non-scaling-stroke' d='M1 5.5C18 1 32 1 50 4s34 3.5 49-1'/%3E%3C/svg%3E");
}
/* En «Servicios» (con flecha de submenú) el trazo no pasa por debajo de la flecha */
.betty-main-nav .wp-block-navigation-submenu > .wp-block-navigation-item__content::after { right: .35rem; }
/* Campos del formulario con esquinas suaves, a juego con los botones redondeados */
.wpcf7-form :is(input[type="text"], input[type="email"], input[type="tel"], textarea) { border-radius: 10px; }

/* Botón «volver arriba» con el mismo estilo que los botones (dorado, texto blanco, elevación suave) */
.betty-totop {
	background: var(--btn-gold) !important; color: #fff !important; border: 1px solid var(--btn-gold) !important;
	box-shadow: 0 2px 6px rgba(117, 106, 93, .22) !important;
	transition: opacity .25s var(--ease), visibility .25s, transform .25s var(--ease), box-shadow .25s var(--ease), background-color .25s var(--ease) !important;
}
.betty-totop span { filter: drop-shadow(0 1px 1px rgba(48, 43, 39, .28)); }
.betty-totop.is-visible:hover { background: var(--btn-gold-hover) !important; border-color: var(--btn-gold-hover) !important; transform: translateY(-2px); box-shadow: 0 8px 18px rgba(117, 106, 93, .3) !important; }
.betty-totop.is-visible:active { transform: translateY(0); }
.betty-totop:focus:not(:focus-visible) { outline: none; }
@media (prefers-reduced-motion: reduce) { .betty-totop.is-visible:hover { transform: none; } }

/* ==========================================================
   3.6.0 — Navegador de colecciones (Bodas y comuniones, Maquillaje…)
   ========================================================== */
.wp-block-post-content :is(h1, h2, h3, h4, h5, h6):empty { display: none; }
.betty-collections { margin-block: clamp(1.5rem, 4vw, 3rem); }
.betty-collections__nav {
	position: sticky; top: var(--betty-sticky-top, 64px); z-index: 50;
	margin-inline: calc(-1 * var(--wp--style--root--padding-left, 1rem));
	padding: .7rem var(--wp--style--root--padding-left, 1rem);
	background: rgba(255, 246, 239, .96); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	border-block: 1px solid rgba(183, 168, 143, .35); transition: top .25s var(--ease);
}
.betty-collections__tabs {
	display: flex; gap: .5rem; align-items: center; overflow-x: auto; scroll-snap-type: x proximity;
	scrollbar-width: none; -webkit-overflow-scrolling: touch; justify-content: safe center;
	mask-image: linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 16px), transparent 100%);
	padding-inline: 12px;
}
.betty-collections__tabs::-webkit-scrollbar { display: none; }
.betty-collections__group {
	flex: 0 0 auto; font-family: var(--f-sans); font-size: .68rem; font-weight: 700; letter-spacing: .16em;
	text-transform: uppercase; color: var(--c-taupe-dark); padding: 0 .25rem 0 .75rem; border-left: 1px solid rgba(183, 168, 143, .6);
}
.betty-collections__tab {
	flex: 0 0 auto; scroll-snap-align: center; cursor: pointer;
	font-family: var(--f-sans); font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	color: var(--c-espresso); background: #fff; border: 1px solid rgba(183, 168, 143, .7); border-radius: 999px;
	padding: .6rem 1.1rem; min-height: 40px; white-space: nowrap;
	transition: background-color .25s var(--ease), color .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease);
}
.betty-collections__tab:hover { transform: translateY(-1px); box-shadow: 0 4px 10px rgba(117, 106, 93, .18); }
.betty-collections__tab.is-active, .betty-collections__tab[aria-selected="true"] {
	background: var(--btn-gold); border-color: var(--btn-gold); color: #fff; text-shadow: 0 1px 1px rgba(48, 43, 39, .28);
	box-shadow: 0 4px 12px rgba(117, 106, 93, .25);
}
.betty-collections__stage { position: relative; padding-top: clamp(1.5rem, 4vw, 2.75rem); }
.betty-collections__panel[hidden] { display: none; }
.betty-collections__panel.is-in { animation: betty-panel-in .55s var(--ease) both; }
@keyframes betty-panel-in { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.betty-collections__panel:focus, .betty-collections__panel:focus-visible { outline: none !important; }
.betty-collections__title {
	text-align: center; color: var(--c-taupe) !important; font-size: clamp(2.2rem, 5vw, 3.6rem) !important; margin: 0 0 1.5rem !important;
}
/* Galería: fotos en rejilla (antes, una por fila a 1024 px de alto) y textos a ancho completo */
.betty-collections__body {
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.6rem, 1.5vw, 1.1rem); align-items: start;
}
.betty-collections__body > * { grid-column: 1 / -1; margin: 0 !important; max-width: 760px; justify-self: center; text-align: center; }
.betty-collections__body > figure.wp-block-image { grid-column: auto; max-width: none; justify-self: stretch; overflow: hidden; border-radius: 6px; }
.betty-collections__body > figure.wp-block-image img {
	width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; display: block; transition: transform .7s var(--ease);
}
.betty-collections__body > figure.wp-block-image:hover img { transform: scale(1.035); }
.betty-collections__body > :is(h3, h4, h5) { margin-top: clamp(1.2rem, 3vw, 2rem) !important; }
.betty-collections__body > :is(h3, h4) { font-size: clamp(1.3rem, 2.4vw, 1.75rem) !important; letter-spacing: .08em; }
@media (max-width: 781px) {
	.betty-collections__body { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.betty-collections__tabs { justify-content: flex-start; }
}
/* Anterior / siguiente */
.betty-collections__pager {
	display: flex; justify-content: space-between; gap: 1rem; margin-top: clamp(2rem, 5vw, 3.5rem);
	padding-top: 1.5rem; border-top: 1px solid rgba(183, 168, 143, .35);
}
.betty-collections__step {
	display: flex; flex-direction: column; gap: .2rem; background: none; border: 0; cursor: pointer; padding: .5rem 0;
	font-family: var(--f-serif); font-size: clamp(1.05rem, 2vw, 1.35rem); color: var(--c-espresso); transition: color .2s, transform .25s var(--ease);
}
.betty-collections__step small { font-family: var(--f-sans); font-size: .68rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--c-taupe-dark); }
.betty-collections__step--next { text-align: right; align-items: flex-end; margin-left: auto; }
.betty-collections__step:hover { color: var(--c-taupe-dark); }
.betty-collections__step--next:hover { transform: translateX(3px); }
.betty-collections__step--prev:hover { transform: translateX(-3px); }
@media (prefers-reduced-motion: reduce) {
	.betty-collections__panel.is-in { animation: none; }
	.betty-collections__body > figure.wp-block-image img, .betty-collections__tab { transition: none; }
}
/* Sin JS: acordeones con el mismo estilo */
.wp-block-post-content > details.wp-block-details { border-top: 1px solid rgba(183, 168, 143, .4); padding: .9rem 0; }
.wp-block-post-content > details.wp-block-details > summary { cursor: pointer; font-family: var(--f-serif); font-size: 1.3rem; color: var(--c-espresso); }
.betty-collections__lead { max-width: 900px; margin: 0 auto 1.5rem !important; }
.betty-collections__lead img { width: 100%; height: auto; border-radius: 6px; }
.betty-collections__cta { margin-top: clamp(1.5rem, 4vw, 2.5rem) !important; justify-content: center; }
.wp-block-post-content > details { border-top: 1px solid rgba(183, 168, 143, .4); padding: .9rem 0; }
/* Galerías dentro de colecciones: rejilla uniforme */
.betty-collections__body > .wp-block-gallery { grid-column: 1 / -1; max-width: none; justify-self: stretch;
	display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.6rem, 1.5vw, 1.1rem) !important; }
.betty-collections__body > .wp-block-gallery > figure.wp-block-image { width: auto !important; margin: 0 !important; overflow: hidden; border-radius: 6px; }
.betty-collections__body > .wp-block-gallery > figure.wp-block-image img { width: 100% !important; height: auto !important; aspect-ratio: 4 / 5; object-fit: cover; transition: transform .7s var(--ease); }
.betty-collections__body > .wp-block-gallery > figure.wp-block-image:hover img { transform: scale(1.035); }
@media (max-width: 781px) { .betty-collections__body > .wp-block-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* Galerías antiguas (ul.blocks-gallery-grid) dentro de colecciones */
.betty-collections__body > .wp-block-gallery > .blocks-gallery-grid { grid-column: 1 / -1; display: contents; }
.betty-collections__body .blocks-gallery-item { width: auto !important; margin: 0 !important; list-style: none; overflow: hidden; border-radius: 6px; }
.betty-collections__body .blocks-gallery-item figure { margin: 0; height: 100%; }
.betty-collections__body .blocks-gallery-item img { width: 100% !important; height: auto !important; aspect-ratio: 4 / 5; object-fit: cover; display: block; transition: transform .7s var(--ease); }
.betty-collections__body .blocks-gallery-item:hover img { transform: scale(1.035); }
.betty-collections__cta .wp-block-column:empty, .betty-collections__cta .wp-block-column:not(:has(*)) { display: none; }
.betty-collections__cta .wp-block-buttons { justify-content: center; }

/* 3.6.5 — Menú de colecciones: sin recorte al pasar, flechas laterales y degradado solo donde hay más */
.betty-collections__tabs { padding: 6px 12px 10px; margin-block: -6px -10px; mask-image: none; -webkit-mask-image: none; scroll-padding-inline: 56px; }
.betty-collections__tab:hover { transform: translateY(-2px); }
.betty-collections__nav.is-overflowing .betty-collections__tabs { padding-inline: 52px; }
.betty-collections__nav.is-overflowing:not(.at-start) .betty-collections__tabs,
.betty-collections__nav.is-overflowing:not(.at-end) .betty-collections__tabs { justify-content: flex-start; }
.betty-collections__nav.is-overflowing:not(.at-start):not(.at-end) .betty-collections__tabs {
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 64px, #000 calc(100% - 64px), transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 64px, #000 calc(100% - 64px), transparent 100%);
}
.betty-collections__nav.is-overflowing.at-start:not(.at-end) .betty-collections__tabs {
	-webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 64px), transparent 100%);
	mask-image: linear-gradient(90deg, #000 calc(100% - 64px), transparent 100%);
}
.betty-collections__nav.is-overflowing.at-end:not(.at-start) .betty-collections__tabs {
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 64px);
	mask-image: linear-gradient(90deg, transparent 0, #000 64px);
}
.betty-collections__arrow {
	position: absolute; top: 50%; z-index: 2; width: 38px; height: 38px; margin-top: -19px; padding: 0; cursor: pointer;
	display: none; place-items: center; border-radius: 50%; border: 1px solid var(--btn-gold);
	background: var(--btn-gold); color: #fff; box-shadow: 0 2px 6px rgba(117, 106, 93, .25);
	transition: opacity .25s var(--ease), transform .25s var(--ease), background-color .25s var(--ease), box-shadow .25s var(--ease);
}
.betty-collections__arrow::before {
	content: ""; width: 9px; height: 9px; border: solid currentColor; border-width: 2px 2px 0 0; transform: rotate(45deg); margin-left: -3px;
	filter: drop-shadow(0 1px 1px rgba(48, 43, 39, .28));
}
.betty-collections__arrow--prev { left: calc(var(--wp--style--root--padding-left, 1rem) - 4px); }
.betty-collections__arrow--prev::before { transform: rotate(-135deg); margin: 0 -3px 0 0; }
.betty-collections__arrow--next { right: calc(var(--wp--style--root--padding-left, 1rem) - 4px); }
.betty-collections__nav.is-overflowing .betty-collections__arrow { display: grid; }
.betty-collections__nav.at-start .betty-collections__arrow--prev,
.betty-collections__nav.at-end .betty-collections__arrow--next { opacity: 0; pointer-events: none; }
.betty-collections__arrow:hover { background: var(--btn-gold-hover); transform: translateY(-2px); box-shadow: 0 6px 14px rgba(117, 106, 93, .3); }
.betty-collections__arrow:focus:not(:focus-visible) { outline: none; }
@media (max-width: 781px) {
	.betty-collections__arrow { width: 34px; height: 34px; margin-top: -17px; }
	.betty-collections__nav.is-overflowing .betty-collections__tabs { padding-inline: 44px; }
}

/* 3.7.0 — Menú de sección (Piel, Estética): mismas pastillas que las colecciones, como enlaces */
.betty-sectionnav { margin-block: 0 clamp(1.5rem, 4vw, 2.5rem); }
.betty-sectionnav .betty-collections__tab { text-decoration: none !important; display: inline-flex; align-items: center; }
.betty-sectionnav .betty-collections__tab:hover { color: var(--c-espresso); }
.betty-sectionnav .betty-collections__tab.is-active:hover { color: #fff; }
.betty-sectionnav .betty-collections__group { border-left: 0; padding-left: 0; font-size: .72rem; }
/* Transición suave al pasar de una página a otra (navegadores compatibles; el resto, cambio normal) */
@view-transition { navigation: auto; }
.wp-site-blocks > header.wp-block-template-part { view-transition-name: betty-header; }
.betty-sectionnav .betty-collections__nav { view-transition-name: betty-sectionnav; }
::view-transition-old(root) { animation: betty-vt-out .22s ease both; }
::view-transition-new(root) { animation: betty-vt-in .38s cubic-bezier(.2, .7, .2, 1) both; }
@keyframes betty-vt-out { to { opacity: 0; } }
@keyframes betty-vt-in { from { opacity: 0; transform: translateY(12px); } }
@media (prefers-reduced-motion: reduce) { ::view-transition-old(root), ::view-transition-new(root) { animation: none; } }
/* El menú de sección es fijo por sí mismo (su contenedor es el main, no un panel) */
.betty-sectionnav { position: sticky; top: var(--betty-sticky-top, 64px); z-index: 50; }
.betty-sectionnav .betty-collections__nav { position: relative; top: auto; }
.betty-sectionnav .betty-collections__tab { line-height: 1.2 !important; padding: .6rem 1.1rem !important; min-height: 40px; box-sizing: border-box; }
/* Ancla del formulario de contacto: no queda bajo la cabecera fija */
#formulario { scroll-margin-top: calc(var(--header-h, 96px) + 1.5rem); }

/* ==========================================================
   3.9.0 — Galerías uniformes, archivo de categorías, anterior/siguiente por sección
   ========================================================== */
/* Galerías de contenido (Manicura y resto): rejilla ordenada, mismas proporciones, zoom suave */
.wp-block-post-content > .wp-block-gallery.has-nested-images {
	display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.6rem, 1.5vw, 1.1rem) !important;
	max-width: var(--wp--style--global--wide-size, 1280px); margin-inline: auto !important;
}
.wp-block-post-content > .wp-block-gallery.has-nested-images > figure.wp-block-image {
	width: auto !important; max-width: none !important; margin: 0 !important; overflow: hidden; border-radius: 6px; flex: none !important;
}
.wp-block-post-content > .wp-block-gallery.has-nested-images > figure.wp-block-image img {
	width: 100% !important; height: 100% !important; aspect-ratio: 4 / 5; object-fit: cover; display: block; transition: transform .7s var(--ease);
}
.wp-block-post-content > .wp-block-gallery.has-nested-images > figure.wp-block-image:hover img { transform: scale(1.035); }
@media (min-width: 1100px) { .wp-block-post-content > .wp-block-gallery.has-nested-images.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 781px) { .wp-block-post-content > .wp-block-gallery.has-nested-images { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Anterior / siguiente entre servicios de una sección (enlaces) */
.betty-sectionnav__pager { max-width: var(--wp--style--global--wide-size, 1280px); margin-inline: auto !important; margin-bottom: clamp(2rem, 5vw, 3.5rem) !important; }
.betty-sectionnav__pager a.betty-collections__step { text-decoration: none; }

/* Archivo de categoría (p. ej. Estética): tarjetas como el resto de rejillas */
.betty-term-archive .wp-block-term-description { max-width: 720px; margin: clamp(1.5rem, 4vw, 2.5rem) auto 0; }
.betty-term-archive .wp-block-query { margin-block: clamp(2rem, 5vw, 3.5rem); }
.betty-cards > li { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid rgba(183, 168, 143, .35); border-radius: 8px; overflow: hidden; transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.betty-cards > li:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(117, 106, 93, .16); }
.betty-cards .wp-block-post-featured-image { margin: 0; }
.betty-cards .wp-block-post-featured-image img { width: 100%; object-fit: cover; }
.betty-cards .wp-block-post-title { margin: 0 !important; padding: 1.4rem 1rem; font-size: clamp(1.2rem, 2vw, 1.5rem) !important; }
.betty-cards .wp-block-post-title a { text-decoration: none; color: var(--c-espresso); }
.betty-cards .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; } /* toda la tarjeta es pulsable */
.betty-cards > li:not(:has(.wp-block-post-featured-image img)) { justify-content: center; min-height: 160px; background: var(--c-cream, #FFF6EF); }
.betty-term-archive .wp-block-query-pagination { margin-top: 2rem; font-family: var(--f-sans); }
/* Galerías con marcado antiguo (ul.blocks-gallery-grid) en cualquier página: misma rejilla */
.wp-block-post-content > .wp-block-gallery > .blocks-gallery-grid { display: contents; }
.wp-block-post-content > .wp-block-gallery .blocks-gallery-item { width: auto !important; margin: 0 !important; list-style: none; overflow: hidden; border-radius: 6px; }
.wp-block-post-content > .wp-block-gallery .blocks-gallery-item figure { margin: 0; height: 100%; }
.wp-block-post-content > .wp-block-gallery .blocks-gallery-item img { width: 100% !important; height: 100% !important; aspect-ratio: 4 / 5; object-fit: cover; display: block; transition: transform .7s var(--ease); }
.wp-block-post-content > .wp-block-gallery .blocks-gallery-item:hover img { transform: scale(1.035); }
/* Rejillas de trabajos dentro de páginas (Pelo, Estética…): tarjetas uniformes */
.wp-block-post-content .wp-block-query .wp-block-post-template > li { display: flex; flex-direction: column; }
.wp-block-post-content .wp-block-query .wp-block-post-featured-image { margin: 0 0 .9rem; overflow: hidden; border-radius: 6px; }
.wp-block-post-content .wp-block-query .wp-block-post-featured-image img { width: 100%; height: auto !important; aspect-ratio: 4 / 5; object-fit: cover; transition: transform .7s var(--ease); }
.wp-block-post-content .wp-block-query .wp-block-post-template > li:hover .wp-block-post-featured-image img { transform: scale(1.035); }

/* 3.9.5 — Fotos sueltas agrupadas (.betty-gallery): misma rejilla que las galerías */
.betty-gallery {
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.6rem, 1.5vw, 1.1rem);
	max-width: var(--wp--style--global--wide-size, 1280px); margin: clamp(1.5rem, 4vw, 2.5rem) auto !important;
}
.betty-gallery > figure.wp-block-image { width: auto !important; max-width: none !important; margin: 0 !important; overflow: hidden; border-radius: 6px; }
.betty-gallery > figure.wp-block-image img {
	width: 100% !important; height: 100% !important; max-width: none; aspect-ratio: 4 / 5; object-fit: cover; display: block; transition: transform .7s var(--ease);
}
.betty-gallery > figure.wp-block-image:hover img { transform: scale(1.035); }
.betty-gallery > figure.wp-block-image figcaption { font-size: .85rem; text-align: center; padding: .4rem 0 0; }
/* 2 fotos: dos columnas; 4 fotos: rejilla 2×2 en tabletas y 4 en fila en pantallas grandes */
.betty-gallery--n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 900px; }
@media (min-width: 1100px) { .betty-gallery--n4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 781px) { .betty-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.betty-collections__body > .betty-gallery { grid-column: 1 / -1; max-width: none; justify-self: stretch; margin: 0 !important; }

/* 3.9.9 — Iconos de redes en el contenido (Contacto, Actualidad): círculos con el estilo de la marca,
   en lugar de los colores de cada red. Al pasar: dorado, icono blanco y elevación, como los botones. */
:is(.wp-block-post-content, .betty-siguenos) .wp-block-social-links { justify-content: center !important; gap: .9rem !important; margin-block: 1.25rem 0 !important; padding: 0; }
:is(.wp-block-post-content, .betty-siguenos) .wp-block-social-links .wp-social-link {
	background: transparent !important; color: var(--c-taupe-dark) !important;
	border: 1px solid var(--btn-gold); border-radius: 50% !important;
	width: 48px; height: 48px; display: grid; place-items: center; margin: 0 !important;
	transition: background-color .25s var(--ease), color .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
}
:is(.wp-block-post-content, .betty-siguenos) .wp-block-social-links .wp-social-link a { color: inherit !important; padding: 0 !important; display: grid; place-items: center; width: 100%; height: 100%; border-radius: 50%; }
:is(.wp-block-post-content, .betty-siguenos) .wp-block-social-links .wp-social-link svg { width: 20px; height: 20px; fill: currentColor; }
:is(.wp-block-post-content, .betty-siguenos) .wp-block-social-links .wp-social-link:hover {
	background: var(--btn-gold) !important; border-color: var(--btn-gold); color: #fff !important;
	transform: translateY(-2px); box-shadow: 0 8px 18px rgba(117, 106, 93, .28);
}
:is(.wp-block-post-content, .betty-siguenos) .wp-block-social-links .wp-social-link a:focus:not(:focus-visible) { outline: none; }
/* Pie: mismos iconos, con el dorado al pasar */
footer .wp-block-social-links .wp-social-link a { transition: color .25s var(--ease), transform .25s var(--ease); }
footer .wp-block-social-links .wp-social-link:hover a { color: var(--c-taupe-dark) !important; transform: translateY(-2px); }
@media (prefers-reduced-motion: reduce) { :is(.wp-block-post-content, .betty-siguenos) .wp-block-social-links .wp-social-link:hover, footer .wp-block-social-links .wp-social-link:hover a { transform: none; } }
/* Servicios: la foto destacada (cuando no se repite en el texto) va bajo el menú, con el ancho del contenido */
.single-portfolio-item main > .wp-block-post-featured-image { max-width: var(--wp--style--global--content-size, 1140px); margin: 0 auto clamp(1.5rem, 4vw, 2.5rem) !important; overflow: hidden; border-radius: 6px; }
.single-portfolio-item main > .wp-block-post-featured-image img { width: 100%; height: clamp(240px, 32vw, 440px) !important; aspect-ratio: auto !important; object-fit: cover; object-position: center 30%; display: block; }

/* 3.12 — «#bellezaconsciente» como texto (antes, imagen con letras): panel taupe que ocupa la columna */
.betty-hashtag {
	background: var(--c-taupe); color: #fff; border-radius: 6px; height: 100%; min-height: clamp(160px, 22vw, 320px);
	display: flex !important; align-items: center; justify-content: center; padding: clamp(1.5rem, 4vw, 3rem) 1rem !important; margin: 0 !important;
}
.betty-hashtag p {
	margin: 0 !important; color: #fff !important; text-align: center; font-family: var(--f-serif); font-style: italic;
	font-size: clamp(1.9rem, 4.2vw, 3.4rem) !important; line-height: 1.1; letter-spacing: .01em; overflow-wrap: anywhere;
	text-shadow: 0 1px 2px rgba(48, 43, 39, .25);
}
.betty-hashtag__hash { opacity: .7; margin-right: .05em; }
.wp-block-column:has(> .betty-hashtag) { display: flex; flex-direction: column; }
/* Visor de fotos de galería */
.betty-zoomable { cursor: zoom-in; }
.betty-zoomable:focus-visible { outline: 2px solid var(--c-taupe) !important; outline-offset: 3px; }
.wp-block-post-content :is(.wp-block-gallery, .betty-gallery, .betty-collections__body) .lightbox-trigger { display: none !important; }
html.betty-viewer-open { overflow: hidden; }
.betty-viewer { position: fixed; inset: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(28, 25, 23, .97); color: #fff; overflow: hidden; }
.betty-viewer[open] { display: grid; place-items: center; animation: betty-viewer-in .25s ease both; }
.betty-viewer::backdrop { background: transparent; }
@keyframes betty-viewer-in { from { opacity: 0; } }
.betty-viewer__fig { margin: 0; width: 100%; height: 100%; display: grid; place-items: center; padding: clamp(3.5rem, 6vw, 4.5rem) clamp(.5rem, 5vw, 5rem); box-sizing: border-box; }
.betty-viewer__fig img { max-width: min(100%, 1400px); max-height: calc(100dvh - 9rem); width: auto; height: auto; object-fit: contain; border-radius: 4px; box-shadow: 0 20px 60px rgba(0, 0, 0, .45); opacity: 0; transform: scale(.985); transition: opacity .3s ease, transform .3s ease; }
.betty-viewer__fig img.is-in { opacity: 1; transform: none; }
.betty-viewer__btn { position: absolute; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .35); background: rgba(255, 255, 255, .08); color: #fff; cursor: pointer; font-size: 1.8rem; line-height: 1; transition: background-color .2s, transform .2s; }
.betty-viewer__btn:hover { background: var(--btn-gold); border-color: var(--btn-gold); }
.betty-viewer__btn:focus:not(:focus-visible) { outline: none; }
.betty-viewer__close { top: 1rem; right: 1rem; }
.betty-viewer__prev, .betty-viewer__next { top: 50%; margin-top: -24px; }
.betty-viewer__prev { left: clamp(.5rem, 2vw, 1.5rem); }
.betty-viewer__next { right: clamp(.5rem, 2vw, 1.5rem); }
.betty-viewer__prev::before, .betty-viewer__next::before { content: ""; width: 11px; height: 11px; border: solid currentColor; border-width: 2px 2px 0 0; transform: rotate(45deg); margin-left: -4px; }
.betty-viewer__prev::before { transform: rotate(-135deg); margin: 0 -4px 0 0; }
.betty-viewer.is-single .betty-viewer__prev, .betty-viewer.is-single .betty-viewer__next, .betty-viewer.is-single .betty-viewer__count { display: none; }
.betty-viewer__count { position: absolute; bottom: 1rem; left: 0; right: 0; margin: 0; text-align: center; font-family: var(--f-sans); font-size: .8rem; letter-spacing: .14em; opacity: .8; }
@media (max-width: 781px) { .betty-viewer__prev, .betty-viewer__next { top: auto; bottom: .6rem; margin-top: 0; } .betty-viewer__fig { padding-bottom: 4.5rem; } }
@media (prefers-reduced-motion: reduce) { .betty-viewer[open], .betty-viewer__fig img { animation: none; transition: none; } }
/* Mapas de Contacto: fluidos y con esquinas suaves */
.wp-block-post-content iframe[src*="google.com/maps"] { display: block; width: 100% !important; max-width: 100%; height: clamp(260px, 32vw, 380px); border: 0; border-radius: 6px; }

/* 3.13 — Cabeceras: más bajas, motivo anclado a la izquierda (2400×400) y título centrado en el hueco crema */
.page-title.betty-title-band {
	min-height: clamp(150px, 14vw, 260px) !important;
	padding-block: clamp(1.5rem, 3vw, 2.5rem) !important;
	background-image: var(--betty-band-img, none) !important;
	background-size: cover !important; background-position: left center !important;
	margin-bottom: clamp(1.75rem, 4vw, 3rem) !important;
}
.betty-title-band .wp-block-post-title, .betty-title-band .wp-block-query-title { font-size: clamp(2.2rem, 4.6vw, 4rem) !important; }
.betty-title-band__sub { font-size: clamp(1rem, 1.5vw, 1.25rem); margin-top: .5rem; }
@media (min-width: 782px) and (max-width: 1100px) {
	.page-title.betty-title-band { padding-left: 28% !important; }
}
@media (max-width: 781px) {
	/* Móvil: el motivo a la izquierda a toda la altura de la banda y el título a su derecha (sin desplazar la imagen) */
	.page-title.betty-title-band {
		background-image: var(--betty-band-img-s, var(--betty-band-img, none)) !important;
		background-size: auto 100% !important; background-position: left bottom !important;
		min-height: 140px !important; padding: 1.25rem 1rem 1.25rem 44% !important; align-items: center;
	}
	.betty-title-band .wp-block-post-title, .betty-title-band .wp-block-query-title { font-size: clamp(1.7rem, 7.4vw, 2.2rem) !important; text-shadow: 0 0 12px rgba(255, 246, 239, .9); overflow-wrap: anywhere; }
	.betty-title-band__sub { font-size: .95rem; text-shadow: 0 0 10px rgba(255, 246, 239, .95); }
}
.page-title.betty-title-band.betty-title-band--legal { background-image: none !important; padding-left: 1rem !important; padding-right: 1rem !important; min-height: clamp(110px, 11vw, 170px) !important; }
/* 3.13.4 — Móvil: el motivo arriba, pegado al borde superior y a tamaño completo; el título debajo, centrado */
@media (max-width: 781px) {
	.page-title.betty-title-band {
		background-image: var(--betty-band-img, none) !important;
		background-size: auto 104px !important; background-position: left top !important;
		min-height: 0 !important; padding: calc(104px + .75rem) 1rem 1.25rem !important; align-items: center; text-align: center;
	}
	.betty-title-band .wp-block-post-title, .betty-title-band .wp-block-query-title { font-size: clamp(1.9rem, 8.5vw, 2.4rem) !important; text-shadow: none; }
	.betty-title-band__sub { font-size: 1rem; text-shadow: none; margin-top: .35rem; }
	.page-title.betty-title-band.betty-title-band--legal { padding-top: 1.75rem !important; }
}

/* ==========================================================
   3.14 — Cabeceras: imagen DETRÁS del texto también en móvil, con texto legible
   Estudio: en móvil (390 px) no cabe motivo + título en paralelo ni compensa apilarlos.
   Solución: el motivo ocupa toda la altura de la banda como fondo (pegado arriba y abajo, completo),
   el título va encima centrado, con
   1) halo crema en el texto (sombra en capas: nítida + difusa), y
   2) un velo radial crema muy suave solo detrás del bloque de texto (no apaga los bordes del motivo),
   3) título en taupe oscuro (contraste AA ≈ 5:1 sobre crema) en lugar del taupe claro.
   En escritorio el texto ya cae sobre la zona crema: se aplica el mismo halo, discreto.
   ========================================================== */
.betty-title-band .wp-block-post-title, .betty-title-band .wp-block-query-title {
	text-shadow: 0 0 1px rgba(255, 246, 239, .9), 0 0 10px rgba(255, 246, 239, .85), 0 0 22px rgba(255, 246, 239, .7);
}
.betty-title-band__sub { text-shadow: 0 0 1px rgba(255, 246, 239, .95), 0 0 8px rgba(255, 246, 239, .9), 0 0 16px rgba(255, 246, 239, .8); }
@media (max-width: 781px) {
	.page-title.betty-title-band {
		background-image:
			radial-gradient(ellipse 62% 58% at 50% 50%, rgba(255, 246, 239, .78) 0%, rgba(255, 246, 239, .55) 45%, rgba(255, 246, 239, 0) 100%),
			var(--betty-band-img, none) !important;
		background-size: 100% 100%, auto 100% !important;
		background-position: center, left center !important;
		background-repeat: no-repeat !important;
		min-height: 170px !important; padding: 1.5rem 1rem !important;
		justify-content: center; align-items: center; text-align: center;
	}
	.betty-title-band .wp-block-post-title, .betty-title-band .wp-block-query-title {
		color: var(--c-taupe-dark) !important; font-size: clamp(2rem, 9vw, 2.5rem) !important;
		text-shadow: 0 0 1px #FFF6EF, 0 0 2px #FFF6EF, 0 0 8px rgba(255, 246, 239, .95), 0 0 18px rgba(255, 246, 239, .9), 0 0 32px rgba(255, 246, 239, .8) !important;
	}
	.betty-title-band__sub {
		color: #4a443e !important; font-size: 1rem; margin-top: .35rem; max-width: 30ch;
		text-shadow: 0 0 1px #FFF6EF, 0 0 6px rgba(255, 246, 239, .95), 0 0 14px rgba(255, 246, 239, .9) !important;
	}
	.page-title.betty-title-band.betty-title-band--legal { background-image: none !important; min-height: 110px !important; padding: 1.5rem 1rem !important; }
}

/* 3.15 — Novias/Maquillaje: sin parpadeo de acordeones ni animación al entrar */
.betty-js:not(.betty-collections-ready) .wp-block-post-content:has(> details ~ details ~ details) > details { visibility: hidden; max-height: 3.2rem; overflow: hidden; }

/* 3.15.2 — Portada: título y texto de Bodas y Comuniones enlazados a Novias, con el mismo aspecto */
a.betty-home-link, .wp-block-post-content a.betty-home-link { color: inherit; text-decoration: none !important; transition: color .25s var(--ease, ease); }
a.betty-home-link:hover, a.betty-home-link:focus-visible { color: var(--c-taupe, #B7A88F); }

/* 3.16 — Vídeo de portada: se reproduce en la propia franja (sin ventana emergente) */
.home .betty-video-wrap.alignfull { transition: height .6s var(--ease, ease); }
.home .betty-video-wrap.alignfull.is-playing { background: #000; }
.home .betty-video-wrap.alignfull.is-playing .betty-video-thumb,
.home .betty-video-wrap.alignfull.is-playing .betty-video-play,
.home .betty-video-wrap.alignfull.is-playing::before { opacity: 0; pointer-events: none; transition: opacity .4s; }
.betty-video-stage { position: absolute; inset: 0; z-index: 3; display: flex; justify-content: center; animation: betty-viewer-in .6s ease both; }
.betty-video-stage iframe { position: relative !important; inset: auto !important; height: 100% !important; width: auto !important; max-width: 100%; aspect-ratio: 16 / 9; border: 0; }
.betty-video-stop {
	position: absolute; z-index: 4; top: .75rem; right: .75rem; width: 44px; height: 44px; border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .8); background: rgba(48, 43, 39, .55); color: #fff; font-size: 1.6rem; line-height: 1; cursor: pointer;
	transition: background-color .25s, transform .25s;
}
.betty-video-stop:hover { background: var(--c-taupe, #B7A88F); transform: scale(1.06); }
.betty-video-stop:focus:not(:focus-visible) { outline: none; }
@media (prefers-reduced-motion: reduce) { .home .betty-video-wrap.alignfull { transition: none; } }

/* ==========================================================
   3.17 — PORTADA: hero editorial «arco» con carrusel de trabajos reales
   Texto a la izquierda (H1 + llamar), arco con fundido y zoom lento a la derecha,
   contorno dorado desplazado y ramita de hojas de la identidad. Móvil: arco arriba, texto centrado.
   ========================================================== */
.betty-hero {
	position: relative; isolation: isolate; overflow: hidden;
	display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center;
	gap: clamp(2rem, 5vw, 5.5rem);
	padding: clamp(2rem, 4vw, 3.5rem) clamp(1.25rem, 7vw, 8rem) clamp(2.5rem, 4vw, 3.5rem);
	min-height: min(calc(100svh - 65px), 720px);
	margin-block: 0 !important; background: var(--c-cream);
}
.betty-hero::before { /* firma «Betty» de fondo, muy tenue */
	content: "Betty"; position: absolute; z-index: -1; left: -1vw; bottom: -4.5vw; pointer-events: none;
	font-family: "Playfair Display", serif; font-size: clamp(9rem, 20vw, 18rem); line-height: 1; color: rgba(183, 168, 143, .07);
}
.betty-hero__media { order: 2; position: relative; justify-self: center; width: min(100%, 450px); }
.betty-hero__media::before { /* contorno dorado desplazado */
	content: ""; position: absolute; inset: 0; transform: translate(20px, -20px);
	border: 1px solid var(--c-taupe); border-radius: 999px 999px 0 0; pointer-events: none;
}
.betty-hero__arch {
	position: relative; z-index: 1; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 999px 999px 0 0;
	background: #ece2d6; box-shadow: 0 34px 60px -34px rgba(48, 43, 39, .45);
}
.betty-hero__slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1.4s ease; }
.betty-hero__slide.is-active { opacity: 1; z-index: 1; }
.betty-hero__slide img { width: 100%; height: 100%; object-fit: cover; display: block; transform: scale(1); transition: transform 8s linear; }
.betty-hero__slide.is-active img { transform: scale(1.06); }
.betty-hero__slide:focus:not(:focus-visible) { outline: none; }
.betty-hero__leaves { position: absolute; z-index: 2; left: -16%; bottom: -3%; width: 60%; height: auto; pointer-events: none; }

.betty-hero__text { position: relative; z-index: 1; }
.betty-hero__title { margin: 0; font-weight: 400; }
.betty-hero__eyebrow {
	display: flex; align-items: center; gap: .9rem; margin-bottom: 1.25rem;
	font-family: Lato, sans-serif; font-size: .74rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; line-height: 1.5; color: var(--c-taupe-dark);
}
.betty-hero__eyebrow::before { content: ""; flex: 0 0 38px; height: 1px; background: var(--c-taupe); }
.betty-hero__lead { display: block; font-family: "Playfair Display", serif; font-size: clamp(2.6rem, 5vw, 4.6rem); line-height: 1.06; color: var(--c-espresso); letter-spacing: -.01em; }
.betty-hero__lead em { color: #8f7f66; font-style: italic; }
.betty-hero__intro { max-width: 36ch; margin: 1.5rem 0 2rem; font-size: clamp(1.02rem, 1.3vw, 1.18rem); line-height: 1.6; color: #5a524b; }
.betty-hero .betty-llamar { justify-content: flex-start; margin: 0; }
.betty-hero__more { display: inline-block; margin-top: 1.1rem; font-size: .95rem; color: var(--c-taupe-dark); text-decoration: none; border-bottom: 1px solid rgba(117, 106, 93, .45); transition: color .25s, border-color .25s; }
.betty-hero__more:hover { color: var(--c-espresso); border-color: var(--c-taupe); }
.betty-hero__more span { display: inline-block; transition: transform .25s; }
.betty-hero__more:hover span { transform: translateX(4px); }

.betty-hero__nav { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem 1.1rem; margin-top: clamp(2rem, 4.5vw, 3.25rem); font-size: .85rem; color: var(--c-taupe-dark); }
.betty-hero__count { font-family: "Playfair Display", serif; font-size: 1rem; }
.betty-hero__count b { font-weight: 400; color: var(--c-espresso); font-size: 1.35rem; }
.betty-hero__caption { min-width: 10.5rem; color: var(--c-espresso); text-decoration: none; letter-spacing: .14em; text-transform: uppercase; font-size: .74rem; font-weight: 700; }
.betty-hero__caption:hover { color: var(--c-taupe-dark); }
.betty-hero__dots { display: flex; gap: .35rem; }
.betty-hero__dot { width: 34px; height: 22px; padding: 0; border: 0; background: none; cursor: pointer; display: flex; align-items: center; }
.betty-hero__dot span { position: relative; display: block; width: 100%; height: 2px; overflow: hidden; background: rgba(117, 106, 93, .22); }
.betty-hero__dot span::after { content: ""; position: absolute; inset: 0; background: var(--c-taupe); transform: scaleX(0); transform-origin: left; }
.betty-hero__dot.is-active span::after { animation: betty-hero-progress 6s linear forwards; }
.betty-hero__dot:hover span { background: rgba(117, 106, 93, .45); }
.betty-hero__dot:focus:not(:focus-visible) { outline: none; }
.betty-hero.is-paused .betty-hero__dot.is-active span::after { animation-play-state: paused; }
@keyframes betty-hero-progress { to { transform: scaleX(1); } }

@media (max-width: 899px) {
	.betty-hero { grid-template-columns: 1fr; gap: 2.25rem; padding: 1.75rem 1.25rem 2.75rem; min-height: 0; text-align: center; }
	.betty-hero__media { order: 0; width: min(74vw, 340px); }
	.betty-hero__media::before { transform: translate(12px, -12px); }
	.betty-hero__arch { aspect-ratio: 5 / 6; }
	.betty-hero__leaves { left: -20%; width: 58%; }
	.betty-hero__eyebrow { justify-content: center; font-size: .7rem; letter-spacing: .16em; }
	.betty-hero__eyebrow::before { display: none; }
	.betty-hero__lead { font-size: clamp(2.2rem, 10vw, 2.9rem); }
	.betty-hero__intro { margin: 1rem auto 1.5rem; }
	.betty-hero .betty-llamar { justify-content: center; }
	.betty-hero__nav { justify-content: center; margin-top: 1.75rem; }
	.betty-hero__caption { min-width: 0; }
	.betty-hero::before { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.betty-hero__slide, .betty-hero__slide img { transition: none; }
	.betty-hero__slide.is-active img { transform: none; }
	.betty-hero__dot.is-active span::after { animation: none; transform: scaleX(1); }
}

/* ==========================================================
   3.18 — PORTADA reordenada: encabezados de sección, servicios, salones, destacado y «Síguenos»
   ========================================================== */
.betty-home-section { margin-block: clamp(3rem, 7vw, 5.5rem) !important; }
.betty-home-head { text-align: center; margin: 0 auto clamp(1.75rem, 4vw, 2.75rem); max-width: 40rem; }
.betty-home-head__eyebrow { margin: 0 0 .65rem; font-size: .74rem !important; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--c-taupe-dark); }
.betty-home-head__title { margin: 0; font-family: "Playfair Display", serif; font-weight: 400; font-size: clamp(2rem, 4vw, 3rem) !important; line-height: 1.1; color: var(--c-espresso); }
.betty-home-head__title em { color: #8f7f66; }
.betty-home-head__sub { margin: .75rem 0 0; color: #5a524b; }

/* Servicios: 3×2 en escritorio, 2 columnas en móvil */
.betty-servicios__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.9rem, 2vw, 1.75rem); }
.betty-card { display: block; height: 100%; text-decoration: none !important; color: inherit; background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 1px 0 rgba(48, 43, 39, .06); transition: transform .35s var(--ease, ease), box-shadow .35s; }
.betty-card:hover, .betty-card:focus-visible { transform: translateY(-4px); box-shadow: 0 22px 40px -24px rgba(48, 43, 39, .45); }
.betty-card:focus:not(:focus-visible) { outline: none; }
.betty-card__img { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: #ece2d6; }
.betty-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .9s var(--ease, ease); }
.betty-card:hover .betty-card__img img { transform: scale(1.05); }
.betty-card__body { display: block; padding: 1.1rem 1.2rem 1.3rem; }
.betty-card__title { display: block; font-family: "Playfair Display", serif; font-size: clamp(1.2rem, 1.8vw, 1.5rem); color: var(--c-espresso); }
.betty-card__text { display: block; margin-top: .35rem; font-size: .95rem; line-height: 1.45; color: #5a524b; }
.betty-card__more { display: inline-block; margin-top: .75rem; font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--c-taupe-dark); transition: transform .25s; }
.betty-card:hover .betty-card__more { transform: translateX(4px); }
@media (min-width: 1000px) { .betty-servicios__grid .betty-card__img { aspect-ratio: 5 / 4; } }
@media (max-width: 781px) {
	.betty-servicios__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.betty-card__body { padding: .8rem .85rem 1rem; }
	.betty-card__text { display: none; }
	.betty-card__more { margin-top: .4rem; font-size: .66rem; }
}

/* Salones */
.betty-sedes__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 3vw, 2.25rem); }
.betty-sede { display: flex; flex-direction: column; background: var(--c-cream); border-radius: 12px; overflow: hidden; }
.betty-sede__img { display: block; aspect-ratio: 3 / 2; overflow: hidden; }
.betty-sede__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .9s var(--ease, ease); }
.betty-sede__img:hover img { transform: scale(1.04); }
.betty-sede__body { padding: clamp(1.25rem, 3vw, 2rem); display: flex; flex-direction: column; flex: 1; }
.betty-sede__title { margin: 0 0 .5rem; font-family: "Playfair Display", serif; font-weight: 400; font-size: clamp(1.5rem, 2.4vw, 1.9rem) !important; }
.betty-sede__addr { margin: 0 0 1rem; color: #5a524b; }
.betty-sede__hours { list-style: none; margin: 0 0 1rem; padding: 0; font-size: .95rem; }
.betty-sede__hours li { display: flex; justify-content: space-between; gap: 1rem; padding: .45rem 0; border-bottom: 1px solid rgba(183, 168, 143, .35); }
.betty-sede__hours li span:first-child { color: var(--c-taupe-dark); }
.betty-sede__tels { margin: 0 0 1.25rem; font-size: .95rem; }
.betty-sede__tels a { color: var(--c-espresso); text-decoration: none; }
.betty-sede__actions { margin-top: auto; display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 1.5rem; }
.betty-sede__map { color: var(--c-taupe-dark); text-decoration: none; border-bottom: 1px solid rgba(117, 106, 93, .45); font-size: .95rem; }
.betty-sede__map:hover { color: var(--c-espresso); }
@media (max-width: 781px) { .betty-sedes__grid { grid-template-columns: 1fr; } }

/* Producto destacado (Level Lash) */
.betty-destacado { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(1.5rem, 5vw, 4.5rem); padding: clamp(1.5rem, 4vw, 3.5rem); background: var(--c-cream); border-radius: 16px; }
.betty-destacado__img img { width: 100%; height: auto; display: block; }
.betty-destacado .betty-home-head__title { font-size: clamp(1.9rem, 3.4vw, 2.7rem) !important; margin-bottom: 1rem; }
.betty-destacado__body > p:not([class]) { color: #5a524b; max-width: 40ch; }
.betty-destacado__list { list-style: none; margin: 1rem 0 1.75rem; padding: 0; display: grid; gap: .5rem; }
.betty-destacado__list li { position: relative; padding-left: 1.6rem; }
.betty-destacado__list li::before { content: ""; position: absolute; left: 0; top: .55em; width: .9rem; height: 1px; background: var(--c-taupe); }
.betty-destacado__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 1.5rem; }
.betty-destacado .betty-hero__more { margin-top: 0; }
@media (max-width: 781px) { .betty-destacado { grid-template-columns: 1fr; text-align: center; } .betty-destacado__list { justify-items: center; } .betty-destacado__body > p:not([class]) { margin-inline: auto; } .betty-destacado__actions { justify-content: center; } }

/* Novias en portada: botón bajo el collage */
.home .wp-block-image.wp-image-3346 + .wp-block-buttons, .home figure:has(.wp-image-3346) + .wp-block-buttons { margin-top: 1.5rem; }

/* Síguenos */
.betty-siguenos { text-align: center; background: var(--c-cream); padding-block: clamp(2.75rem, 6vw, 4.5rem) !important; margin-block: clamp(2.5rem, 6vw, 4rem) 0 !important; }
.betty-siguenos .betty-home-head__title { margin-bottom: .25rem; }
/* 3.18.1 — ajustes: tipografía de rótulos y servicios en una fila en escritorio */
.betty-home-head__eyebrow, .betty-card__more { font-family: Lato, sans-serif !important; }
.betty-card__text { font-family: Lato, sans-serif; }
@media (min-width: 1100px) {
	.betty-servicios__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.betty-servicios__grid .betty-card__img { aspect-ratio: 4 / 5; }
	.betty-card__body { padding: .95rem 1rem 1.1rem; }
	.betty-card__title { font-size: 1.2rem; }
	.betty-card__text { font-size: .85rem; }
}
.home .betty-servicios { margin-top: clamp(2.5rem, 5vw, 4rem) !important; }
.betty-home-head .betty-home-head__title { margin-top: 0 !important; }
.betty-home-head .betty-home-head__sub { margin-top: .75rem !important; }
.betty-sede__tels a { text-decoration: none !important; }
.betty-sede__tels a:hover { color: var(--c-taupe-dark); }
.betty-sede__img { aspect-ratio: 16 / 9; max-height: 320px; }
.betty-sede__title { margin-top: 0 !important; }
.betty-destacado__img img { mix-blend-mode: multiply; }
.betty-home-section { margin-block: clamp(2rem, 5vw, 3.75rem) !important; }
/* 3.19 — Colecciones: texto suelto agrupado en párrafo ocupa todo el ancho de la rejilla */
.betty-collections__body > .betty-collections__text { grid-column: 1 / -1; max-width: 68ch; margin-inline: auto; text-align: center; }
/* 3.19.1 — Carteles de colección (llevan el nombre escrito): enteros, sin recorte, centrados */
.betty-collections__body > figure.wp-block-image.betty-poster, .betty-poster { grid-column: 1 / -1 !important; justify-self: center !important; width: min(100%, 520px) !important; max-width: 520px; margin-inline: auto !important; }
.betty-poster img, .betty-collections__body > figure.wp-block-image.betty-poster img { aspect-ratio: auto !important; width: 100% !important; height: auto !important; max-height: none; object-fit: contain !important; }
.betty-collections__body > figure.wp-block-image.betty-poster:hover img { transform: none; }
@media (max-width: 781px) { .betty-collections__body > figure.wp-block-image.betty-poster { width: min(100%, 420px) !important; } }
.wp-block-post-content figure:has(img[src*="portada"]) img { aspect-ratio: auto !important; height: auto !important; object-fit: contain !important; }
/* 3.19.5 — Imágenes que no se pueden recortar: antes/después, carteles y adornos se ven enteras */
.wp-block-post-content :is(figure, li) img:is([src*="antes-y-despues"], [src*="antes-despues"], [src*="vector-"], [src*="portada"], [src*="cartel"]) {
	aspect-ratio: auto !important; height: auto !important; object-fit: contain !important;
}
.wp-block-post-content .wp-block-gallery figure:has(img[src*="antes-y-despues"]) { grid-column: span 2; }
@media (max-width: 781px) { .wp-block-post-content .wp-block-gallery figure:has(img[src*="antes-y-despues"]) { grid-column: 1 / -1; } }
