/* ==========================================================================
   Arancha Clares · estilos globales del tema
   ========================================================================== */

:root {
	--ac-ink: var(--wp--preset--color--ink, #063831);
	--ac-primary: var(--wp--preset--color--primary, #008878);
	--ac-aqua: var(--wp--preset--color--aqua, #01bba6);
	--ac-mint: var(--wp--preset--color--mint, #e6f5f2);
	--ac-sand: var(--wp--preset--color--sand, #faebd7);
	--ac-coral: var(--wp--preset--color--coral, #f29e8e);
	--ac-cream: var(--wp--preset--color--cream, #fdfaf5);
	--ac-ease: cubic-bezier(.22, 1, .36, 1);
	--ac-shadow: 0 18px 45px -20px rgba(6, 56, 49, .35);
	--ac-header-h: 92px;
}

html { scroll-behavior: smooth; }
html, body { overflow-x: clip; }
body { -webkit-font-smoothing: antialiased; }
::selection { background: var(--ac-primary); color: #fff; }
img { max-width: 100%; height: auto; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.site-main { margin-top: 0 !important; }

/* Botones -------------------------------------------------------------- */
.wp-element-button, .wp-block-button__link {
	transition: background-color .35s var(--ac-ease), color .35s var(--ac-ease), transform .35s var(--ac-ease), box-shadow .35s var(--ac-ease);
	box-shadow: 0 10px 25px -12px rgba(0, 136, 120, .7);
}
.wp-element-button:hover, .wp-block-button__link:hover { transform: translateY(-2px); }
.wp-block-button.is-style-ghost .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent; color: var(--ac-primary); border: 2px solid currentColor; box-shadow: none;
}
.wp-block-button.is-style-ghost .wp-block-button__link:hover { background: var(--ac-primary); color: #fff; border-color: var(--ac-primary); }

/* Cabecera --------------------------------------------------------------- */
.site-header-wrap, header.wp-block-template-part { position: sticky; top: 0; z-index: 100; }
.admin-bar header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { .admin-bar header.wp-block-template-part { top: 46px; } }
.site-header {
	background: rgba(255, 255, 255, .92);
	backdrop-filter: saturate(1.4) blur(12px);
	-webkit-backdrop-filter: saturate(1.4) blur(12px);
	transition: box-shadow .4s var(--ac-ease), background-color .4s var(--ac-ease);
}
.site-header__inner { min-height: var(--ac-header-h); transition: min-height .4s var(--ac-ease); gap: 1.5rem; }
.is-scrolled .site-header { box-shadow: 0 8px 30px -18px rgba(6, 56, 49, .45); background: rgba(255, 255, 255, .97); }
.is-scrolled .site-header__inner { min-height: 68px; }
.site-header__logo img { transition: width .4s var(--ac-ease); }
.is-scrolled .site-header__logo img { width: 160px !important; }
.site-header__nav { gap: 1.75rem; }

.site-nav { font-family: var(--wp--preset--font-family--display); font-size: 1rem; color: var(--ac-ink); }
.site-nav .wp-block-navigation-item__content { position: relative; padding: .35em 0; }
.site-nav > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 3px; border-radius: 3px;
	background: var(--ac-aqua); transform: scaleX(0); transform-origin: right; transition: transform .45s var(--ac-ease);
}
.site-nav .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.site-nav .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); transform-origin: left; }
.site-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--ac-primary); }
.site-nav .wp-block-navigation__submenu-container {
	border: 0 !important; border-radius: 18px; padding: .6rem !important; min-width: 250px !important;
	box-shadow: var(--ac-shadow); background: #fff !important;
	transform: translateY(10px); transition: opacity .3s var(--ac-ease), transform .3s var(--ac-ease), visibility .3s !important;
}
.site-nav .has-child:hover > .wp-block-navigation__submenu-container,
.site-nav .has-child:focus-within > .wp-block-navigation__submenu-container { transform: translateY(0); }
.site-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: .55em .9em !important; border-radius: 12px; font-family: var(--wp--preset--font-family--body); font-size: .95rem;
	transition: background-color .25s, color .25s, padding-left .3s var(--ac-ease);
}
.site-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--ac-mint); color: var(--ac-primary); padding-left: 1.2em !important; }

@media (max-width: 600px) {
	.site-header__cta { display: none !important; }
	.site-header__logo img { width: 150px !important; }
}

/* Menú móvil (modal propio, ver theme.js) -------------------------------- */
.ac-menu-toggle { display: none; }
@media (max-width: 960px) {
	.ac-js .site-header .site-nav { display: none; }
	.ac-menu-toggle {
		display: inline-flex; flex-direction: column; justify-content: center; gap: 5px; flex: 0 0 48px; width: 48px; height: 48px;
		padding: 0 12px; border: 0; border-radius: 50%; background: var(--ac-mint); cursor: pointer; transition: background-color .3s;
	}
	.ac-menu-toggle span { display: block; height: 2.5px; border-radius: 3px; background: var(--ac-ink); transition: transform .4s var(--ac-ease), width .4s var(--ac-ease); }
	.ac-menu-toggle span:nth-child(2) { width: 70%; }
	.ac-menu-toggle:hover span:nth-child(2) { width: 100%; }
	.site-header__nav { gap: .8rem; }
}
html.ac-menu-open, html.ac-menu-open body { overflow: hidden; }

.ac-menu {
	position: fixed; inset: 0; z-index: 100000; display: flex; flex-direction: column;
	padding: 1.1rem clamp(1.2rem, 5vw, 2.5rem) max(1.5rem, env(safe-area-inset-bottom));
	background: var(--ac-ink); color: #fff; overflow-y: auto; overscroll-behavior: contain;
	clip-path: circle(0 at calc(100% - 44px) 44px); transition: clip-path .6s var(--ac-ease);
}
.ac-menu[hidden] { display: none; }
.ac-menu.is-open { clip-path: circle(150% at calc(100% - 44px) 44px); }
.admin-bar .ac-menu { top: 46px; }
.ac-menu__bg { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: -1; }
.ac-menu__bg span { position: absolute; border-radius: 50%; filter: blur(2px); opacity: .18; animation: ac-bob 9s ease-in-out infinite; }
.ac-menu__bg span:nth-child(1) { width: 320px; height: 320px; background: var(--ac-aqua); right: -120px; top: 18%; }
.ac-menu__bg span:nth-child(2) { width: 200px; height: 200px; background: var(--ac-coral); left: -80px; bottom: 12%; animation-delay: -3s; }
.ac-menu__bg span:nth-child(3) { width: 90px; height: 90px; border: 6px solid var(--ac-sand); left: 60%; bottom: 30%; opacity: .25; animation-delay: -5s; }
.ac-menu__top { display: flex; align-items: center; justify-content: space-between; min-height: 56px; }
.ac-menu__logo img { width: 160px; height: auto; display: block; }
.ac-menu__close { position: relative; width: 48px; height: 48px; border: 0; border-radius: 50%; background: rgba(255,255,255,.1); cursor: pointer; transition: background-color .3s, transform .5s var(--ac-ease); }
.ac-menu__close:hover { background: var(--ac-aqua); transform: rotate(90deg); }
.ac-menu__close span { position: absolute; left: 13px; right: 13px; top: 50%; height: 2.5px; margin-top: -1px; border-radius: 3px; background: #fff; transform: rotate(45deg); }
.ac-menu__close span + span { transform: rotate(-45deg); }

.ac-menu__nav { margin: auto 0; padding: 2rem 0; }
.ac-menu__nav > ul { list-style: none; margin: 0; padding: 0; }
.ac-menu__nav > ul > li { border-bottom: 1px solid rgba(255,255,255,.1); opacity: 0; transform: translateY(24px); transition: opacity .5s var(--ac-ease), transform .6s var(--ac-ease); }
.ac-menu.is-open .ac-menu__nav > ul > li { opacity: 1; transform: none; transition-delay: calc(.25s + var(--i) * .07s); }
.ac-menu__nav > ul > li > a, .ac-menu__nav > ul > li > button {
	all: unset; box-sizing: border-box; width: 100%; display: flex; align-items: center; justify-content: space-between;
	padding: .8rem 0; font-family: var(--wp--preset--font-family--display); font-size: clamp(1.6rem, 7vw, 2.1rem); line-height: 1.2; color: #fff; cursor: pointer;
	transition: color .3s, padding-left .4s var(--ac-ease);
}
.ac-menu__nav > ul > li > a:hover, .ac-menu__nav > ul > li > button:hover, .ac-menu__nav [aria-current="page"] { color: var(--ac-aqua); }
.ac-menu__nav > ul > li > a:hover { padding-left: .4rem; }
.ac-menu__nav a:focus-visible, .ac-menu__nav button:focus-visible, .ac-menu__close:focus-visible { outline: 3px solid var(--ac-aqua); outline-offset: 4px; border-radius: 8px; }
.ac-menu__chev { position: relative; flex: 0 0 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,.1); transition: transform .45s var(--ac-ease), background-color .3s; }
.ac-menu__chev::before { content: ""; position: absolute; left: 50%; top: 45%; width: 9px; height: 9px; border-right: 2.5px solid currentColor; border-bottom: 2.5px solid currentColor; transform: translate(-50%, -50%) rotate(45deg); }
.has-sub.is-open .ac-menu__chev { transform: rotate(180deg); background: var(--ac-aqua); color: var(--ac-ink); }
.ac-menu__sub { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .45s var(--ac-ease); }
.has-sub.is-open .ac-menu__sub { grid-template-rows: 1fr; }
.ac-menu__sub > ul { overflow: hidden; list-style: none; margin: 0; padding: 0; }
.ac-menu__sub li:last-child { padding-bottom: .9rem; }
.ac-menu__sub a { display: block; padding: .45rem 0 .45rem 1rem; border-left: 2px solid rgba(255,255,255,.15); color: rgba(255,255,255,.8); text-decoration: none; font-size: 1.08rem; transition: color .3s, border-color .3s, padding-left .4s var(--ac-ease); }
.ac-menu__sub a:hover, .ac-menu__sub a[aria-current="page"] { color: #fff; border-color: var(--ac-aqua); padding-left: 1.4rem; }

.ac-menu__footer { display: flex; flex-wrap: wrap; gap: .7rem; opacity: 0; transform: translateY(20px); transition: opacity .5s var(--ac-ease) .55s, transform .6s var(--ac-ease) .55s; }
.ac-menu.is-open .ac-menu__footer { opacity: 1; transform: none; }
.ac-menu__cta { flex: 1 1 140px; text-align: center; padding: .95em 1.2em; border-radius: 999px; background: var(--ac-aqua); color: var(--ac-ink) !important; text-decoration: none; font-family: var(--wp--preset--font-family--display); font-size: 1.05rem; }
.ac-menu__cta--wa { background: transparent; color: #fff !important; border: 2px solid rgba(255,255,255,.5); }
.ac-menu__contact { width: 100%; margin: .6rem 0 0; font-size: .9rem; color: rgba(255,255,255,.65); text-align: center; }
.ac-menu__contact a { color: inherit; text-decoration: none; }
@media (prefers-reduced-motion: reduce) { .ac-menu { clip-path: none !important; } }

/* Contenido: estilos de bloques core ------------------------------------- */
.entry-content > * + * { margin-block-start: 1.25rem; }
.entry-content > .alignfull { margin-block-start: 0; }
.entry-content > .alignfull + :not(.alignfull) { margin-block-start: var(--wp--preset--spacing--60); }
.entry-content > :not(.alignfull):last-child { margin-block-end: var(--wp--preset--spacing--60); }
.entry-content > :not(.alignfull) + .alignfull { margin-block-start: var(--wp--preset--spacing--60); }
.entry-content h2 { margin-block-start: 2.6rem; }
.entry-content h2 + * { margin-block-start: .9rem; }

.kicker, .is-style-hand {
	font-family: var(--wp--preset--font-family--hand); color: var(--ac-aqua); font-size: 1.15rem; line-height: 1.4; letter-spacing: .01em;
}
mark, .ac-mark {
	background: linear-gradient(transparent 55%, rgba(1, 187, 166, .28) 55%); color: inherit; padding: 0 .1em;
}

/* Listas */
.entry-content ul:not([class*="site-footer"], .wp-block-social-links, .ac-contact__channels, .wp-block-navigation__container, .wp-block-navigation__submenu-container) { padding-left: 0; list-style: none; }
.entry-content ul:not([class*="site-footer"], .wp-block-social-links, .ac-contact__channels, .wp-block-navigation__container, .wp-block-navigation__submenu-container) > li {
	position: relative; padding-left: 2rem; margin-bottom: .7rem;
}
.entry-content ul:not([class*="site-footer"], .wp-block-social-links, .ac-contact__channels, .wp-block-navigation__container, .wp-block-navigation__submenu-container) > li::before {
	content: ""; position: absolute; left: 0; top: .28em; width: 1.25rem; height: 1.25rem; border-radius: 50%;
	background: var(--ac-mint) url("../img/check.svg") center / 70% no-repeat;
}
.entry-content ol { padding-left: 1.3rem; }
.entry-content ol > li::marker { color: var(--ac-primary); font-family: var(--wp--preset--font-family--display); }
.entry-content li strong:first-child { color: var(--ac-ink); }

/* Imagen con forma orgánica */
.wp-block-image.is-style-blob img { border-radius: 58% 42% 55% 45% / 45% 55% 45% 55%; box-shadow: var(--ac-shadow); }
.wp-block-image img { border-radius: 20px; }

/* Tarjeta */
.wp-block-group.is-style-card { background: #fff; border-radius: 24px; padding: 1.5rem; box-shadow: var(--ac-shadow); transition: transform .45s var(--ac-ease); }
.wp-block-group.is-style-card:hover { transform: translateY(-6px); }

/* Cita */
.wp-block-quote { border-left: 0; padding: 1.8rem 2rem; background: var(--ac-mint); border-radius: 24px; position: relative; }
.wp-block-quote::before { content: "“"; position: absolute; top: -.2em; left: .3em; font: 5rem/1 var(--wp--preset--font-family--display); color: var(--ac-aqua); opacity: .5; }

/* Página legal */
.site-main--legal { padding-block: var(--wp--preset--spacing--60); }
.legal-title { margin-bottom: 2rem; }
.site-main--legal .entry-content h2 { font-size: 1.45rem; }

/* Pie ---------------------------------------------------------------------- */
.site-footer { position: relative; padding-top: clamp(5rem, 10vw, 8rem); padding-bottom: 2rem; margin-top: 0 !important; }
.site-footer__wave { position: absolute; top: -1px; left: 0; width: 100%; max-width: none !important; margin: 0 !important; height: 70px; color: #fff; }
.site-footer a { color: rgba(255, 255, 255, .85); text-decoration: none; transition: color .25s; }
.site-footer a:hover { color: var(--ac-aqua); }
.site-footer__title { color: var(--ac-aqua) !important; font-size: 1.15rem !important; margin-bottom: 1rem; }
.site-footer__links { list-style: none; padding: 0; margin: 0; font-size: .95rem; }
.site-footer__links li { margin-bottom: .55rem; color: rgba(255,255,255,.85); }
.site-footer__claim { color: rgba(255,255,255,.75); font-size: .95rem; max-width: 30ch; }
.site-footer__bottom { margin-top: 3rem !important; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.12); font-size: .85rem; color: rgba(255,255,255,.6); }
.site-footer__cols { gap: 2.5rem; }

/* WhatsApp flotante -------------------------------------------------------- */
.arancha-wa {
	position: fixed; right: 20px; bottom: 20px; z-index: 90; display: flex; align-items: center; gap: .6rem;
	text-decoration: none; filter: drop-shadow(0 10px 18px rgba(6, 56, 49, .3));
	animation: ac-wa-in .8s 1.5s var(--ac-ease) both;
}
.arancha-wa img { width: 56px; height: 56px; transition: transform .4s var(--ac-ease); }
.arancha-wa:hover img { transform: scale(1.08) rotate(-6deg); }
.arancha-wa__label {
	order: -1; background: #fff; color: var(--ac-ink); font-family: var(--wp--preset--font-family--display); font-size: .9rem;
	padding: .45em 1em; border-radius: 999px; opacity: 0; transform: translateX(10px); transition: all .35s var(--ac-ease); pointer-events: none;
}
.arancha-wa:hover .arancha-wa__label { opacity: 1; transform: none; }
@keyframes ac-wa-in { from { opacity: 0; transform: translateY(30px) scale(.8); } }

/* Animaciones de aparición (añadidas por theme.js) ------------------------- */
.ac-js [data-reveal] { opacity: 0; transition: opacity 1s var(--ac-ease), transform 1s var(--ac-ease); transition-delay: var(--ac-delay, 0s); will-change: opacity, transform; }
.ac-js [data-reveal="up"] { transform: translateY(40px); }
.ac-js [data-reveal="left"] { transform: translateX(-50px); }
.ac-js [data-reveal="right"] { transform: translateX(50px); }
.ac-js [data-reveal="zoom"] { transform: scale(.88); }
.ac-js [data-reveal].is-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
	.ac-js [data-reveal] { opacity: 1; transform: none; }
}

/* Más aire junto a las secciones con onda */
.entry-content > .has-wave-bottom + :not(.alignfull) { margin-block-start: var(--wp--preset--spacing--70); }
.entry-content > :not(.alignfull):has(+ .has-wave-top) { margin-block-end: calc(var(--wp--preset--spacing--70) - var(--wp--preset--spacing--60)); }
