.elementor-kit-7{--e-global-color-primary:#984216;--e-global-color-secondary:#C48457;--e-global-color-text:#84301A;--e-global-color-accent:#F2E8DD;--e-global-color-arena:#ECDCCD;--e-global-typography-primary-font-family:"Cormorant Garamond";--e-global-typography-primary-font-weight:300;--e-global-typography-secondary-font-family:"Cormorant Garamond";--e-global-typography-secondary-font-weight:300;--e-global-typography-secondary-font-style:italic;--e-global-typography-text-font-family:"DM Sans";--e-global-typography-text-font-weight:300;--e-global-typography-accent-font-family:"DM Sans";--e-global-typography-accent-font-weight:400;background-color:#F2E8DD;color:#84301A;font-family:"DM Sans", Sans-serif;font-weight:300;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 h1{font-family:"Cormorant Garamond", Sans-serif;font-weight:300;}.elementor-kit-7 h2{font-family:"Cormorant Garamond", Sans-serif;font-weight:300;}.elementor-kit-7 h3{font-family:"Cormorant Garamond", Sans-serif;font-weight:300;}.elementor-kit-7 h4{font-family:"DM Sans", Sans-serif;font-weight:400;}.elementor-kit-7 h5{font-family:"Cormorant Garamond", Sans-serif;font-weight:300;font-style:italic;}.elementor-kit-7 h6{font-family:"Cormorant Garamond", Sans-serif;font-weight:400;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-family:"DM Sans", Sans-serif;font-weight:500;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1600px;}.e-con{--container-max-width:1600px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* AVERO · CSS global (generado por wordpress/build/css.py desde el prototipo aprobado). Editar el prototipo o avero_elementor.css, no este archivo. */
/* Elementor: los contenedores sin clase de diseño se comportan como un div (bloque), igual que en el prototipo */
.e-con{display:block;flex-wrap:nowrap}
/* El CSS de Hello no se carga (tema hijo): solo se igualan márgenes y botones */
button,[type=button],[type=submit],[type=reset]{background:none;border:0;border-radius:0;padding:0;margin:0;color:inherit;font:inherit;line-height:inherit;letter-spacing:inherit;text-transform:inherit;white-space:normal;transition:none;user-select:auto}
.e-con-full{text-align:inherit}
body p{margin-block:0}
h1,h2,h3,h4,h5,h6{margin-block:0}
.site-main,.page-content{margin:0}

/* =====================================================================
   AVERO WELLNESS HOUSE — Home · opción 1 (cambios del 15/10/2026)
   Tokens del brandbook · márgenes laterales 8 / 6 / 5 vw
   Animación: GSAP + ScrollTrigger + Lenis. Sin JS todo se ve igual,
   solo que quieto (los estados ocultos los pone el JS, nunca el CSS).
   ===================================================================== */
:root{
  --marfil:#F2E8DD; --ocre:#C48457; --terracota:#984216; --profundo:#84301A;
  --arena:#ECDCCD; /* ocre al 12 % sobre marfil: tinte de la paleta para fondos suaves */
  --linea:rgba(152,66,22,.24); --linea-clara:rgba(242,232,221,.28);
  --gutter:8vw; --nav:88px; --seccion:clamp(5rem,9vw,9.5rem); --cab:clamp(2.8rem,5vw,4.5rem);
  --serif:"Cormorant Garamond","Times New Roman",serif;
  --sans:"DM Sans","Helvetica Neue",Arial,sans-serif;
  --ease:cubic-bezier(.19,1,.22,1); --ease-io:cubic-bezier(.77,0,.18,1);
  color-scheme:light;
}
@media (max-width:1024px){:root{--gutter:6vw}}
@media (max-width:640px){:root{--gutter:5vw;--nav:70px}}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav);overflow-x:clip}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto !important}
body{
  margin:0;background:var(--marfil);color:var(--profundo);overflow-x:clip;
  font-family:var(--sans);font-weight:300;font-size:clamp(.98rem,.94rem + .12vw,1.05rem);line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:300;margin:0;letter-spacing:-.015em;text-wrap:balance}
/* Cormorant trae cifras «antiguas» (12 parece I2): en todo número grande, cifras de caja alta */
.ai-num,.av90-n,.amt-num,.amg-datos strong,.t-xl,.t-l{font-variant-numeric:lining-nums proportional-nums;font-feature-settings:"lnum" 1,"pnum" 1}
h1 em,h2 em,h3 em,p em{font-style:italic}
p{margin:0;text-wrap:pretty}
ul,ol,dl{margin:0;padding:0;list-style:none}
figure{margin:0}
button{font:inherit;color:inherit}
:focus-visible{outline:1.5px solid currentColor;outline-offset:4px}
::selection{background:var(--terracota);color:var(--marfil)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Grano de película: textura orgánica, por debajo del header */
body::after{
  content:"";position:fixed;inset:-100%;z-index:45;pointer-events:none;opacity:.32;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .52  0 0 0 0 .19  0 0 0 0 .1  0 0 0 .5 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  animation:grano 1.2s steps(5) infinite;
}
@keyframes grano{
  0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}
  60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}
}

/* ---------- Piezas comunes (textos más contenidos que antes) ---------- */
.label{font-family:var(--sans);font-weight:400;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;line-height:1.5}
.idx{font-family:var(--sans);font-weight:400;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}
.t-xl{font-size:clamp(2.2rem,1.25rem + 3.2vw,5rem);line-height:1;letter-spacing:-.025em}
.t-l{font-size:clamp(2rem,1.2rem + 2.4vw,3.8rem);line-height:1.02;letter-spacing:-.02em}
.lead{font-size:clamp(1rem,.95rem + .18vw,1.14rem);line-height:1.62;max-width:34em!important}

/* Cabecera de sección única: centrada, índice arriba, título y texto debajo */
.cabeza{text-align:center;max-width:50rem!important;margin:0 auto var(--cab)!important}
.cabeza h2{margin-top:1.4rem;color:var(--terracota)}
.cabeza .lead{margin:1.4rem auto 0!important}
[data-tone="oscuro"] .cabeza h2{color:var(--marfil)}.btn:not(.elementor-element){
  position:relative;display:inline-flex;align-items:center;gap:.9em;
  font-family:var(--sans);font-weight:400;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  text-decoration:none;white-space:nowrap;padding:1.2em 2.1em;border-radius:999px;border:1px solid var(--terracota);
  background:var(--terracota);color:var(--marfil);cursor:pointer;overflow:hidden;isolation:isolate;
  transition:color .6s var(--ease),border-color .6s var(--ease);
;flex-direction:row!important}
.btn .elementor-button{
  position:relative;display:inline-flex;align-items:center;gap:.9em;
  font-family:var(--sans);font-weight:400;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  text-decoration:none;white-space:nowrap;padding:1.2em 2.1em;border-radius:999px;border:1px solid var(--terracota);
  background:var(--terracota);color:var(--marfil);cursor:pointer;overflow:hidden;isolation:isolate;
  transition:color .6s var(--ease),border-color .6s var(--ease);
;flex-direction:row!important}.btn:not(.elementor-element)::before{
  content:"";position:absolute;inset:0;z-index:-1;background:var(--profundo);border-radius:inherit;
  transform:translateY(101%);transition:transform .6s var(--ease);
}
.btn .elementor-button::before{
  content:"";position:absolute;inset:0;z-index:-1;background:var(--profundo);border-radius:inherit;
  transform:translateY(101%);transition:transform .6s var(--ease);
}.btn:not(.elementor-element):hover::before{transform:none}
.btn .elementor-button:hover::before{transform:none}
.btn-t{display:inline-block;overflow:hidden;line-height:1.35;vertical-align:top}
.btn-t i{display:inline-block;font-style:normal;text-shadow:0 1.35em 0 currentColor;transition:transform .6s var(--ease)}.btn:not(.elementor-element):hover .btn-t i{transform:translateY(-1.35em)}
.btn .elementor-button:hover .btn-t i{transform:translateY(-1.35em)}.btn:not(.elementor-element) svg{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.3;transition:transform .6s var(--ease)}
.btn .elementor-button svg{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.3;transition:transform .6s var(--ease)}.btn:not(.elementor-element):hover svg{transform:translateX(4px) rotate(-45deg)}
.btn .elementor-button:hover svg{transform:translateX(4px) rotate(-45deg)}.btn--claro:not(.elementor-element){background:var(--marfil);color:var(--terracota);border-color:var(--marfil)}
.btn--claro .elementor-button{background:var(--marfil);color:var(--terracota);border-color:var(--marfil)}.btn--claro:not(.elementor-element)::before{background:var(--profundo)}
.btn--claro .elementor-button::before{background:var(--profundo)}.btn--claro:not(.elementor-element):hover{color:var(--marfil);border-color:var(--profundo)}
.btn--claro .elementor-button:hover{color:var(--marfil);border-color:var(--profundo)}.btn--linea:not(.elementor-element){background:transparent;color:var(--terracota)}
.btn--linea .elementor-button{background:transparent;color:var(--terracota)}.btn--linea:not(.elementor-element)::before{background:var(--terracota)}
.btn--linea .elementor-button::before{background:var(--terracota)}.btn--linea:not(.elementor-element):hover{color:var(--marfil)}
.btn--linea .elementor-button:hover{color:var(--marfil)}

/* Flechas redondas (carrusel de la tienda) */
.flecha{width:3.2rem;height:3.2rem;border-radius:50%;border:1px solid var(--linea);background:none;cursor:pointer;color:var(--terracota);display:grid;place-items:center;transition:background .4s,color .4s,border-color .4s,opacity .4s}
.flecha:hover:not(:disabled){background:var(--terracota);border-color:var(--terracota);color:var(--marfil)}
.flecha:disabled{opacity:.35;cursor:default}
.flecha svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.3}

.foto{position:relative;overflow:hidden;line-height:0}
.foto img{width:100%;height:100%;object-fit:cover}

/* Palabras partidas por el JS (máscara para que suban desde abajo) */
.sw{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .06em .1em;margin:0 -.06em -.1em!important}
.swi{display:inline-block;will-change:transform}

/* ---------- Cursor con etiqueta (solo ratón) ---------- */
#av-cursor{position:fixed;left:0;top:0;z-index:100;pointer-events:none;width:0;height:0}
.ac-circulo{
  position:absolute;width:96px;height:96px;margin:-48px 0 0 -48px!important;border-radius:50%;
  background:var(--terracota);color:var(--marfil);display:grid;place-items:center;
  font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;font-weight:400;
  transform:scale(0);transition:transform .55s var(--ease),background .3s,color .3s;
}
#av-cursor.is-on .ac-circulo{transform:scale(1)}
@media (hover:none),(pointer:coarse){#av-cursor{display:none !important}}

/* =====================================================================
   PRELOADER
   ===================================================================== */
#av-intro{display:none}
.av-intro #av-intro{
  position:fixed;inset:0;z-index:90;background:var(--marfil);display:flex;align-items:center;justify-content:center;
;flex-direction:row!important}
.av-intro:not(.anim) #av-intro{animation:intro-fuera .6s ease 3.2s forwards}
@keyframes intro-fuera{to{opacity:0;visibility:hidden}}
.ai-iso{height:clamp(100px,15vh,150px);width:auto}
.ai-pie{position:absolute;left:var(--gutter);right:var(--gutter);bottom:2.2rem;display:flex;justify-content:space-between;align-items:flex-end;flex-direction:row!important}
.ai-num{font-family:var(--serif);font-size:clamp(2.6rem,5vw,4.4rem);line-height:.8;color:var(--terracota)}

/* =====================================================================
   HEADER
   ===================================================================== */
#av-header{
  position:fixed;top:0;left:0;right:0;z-index:50;height:var(--nav);
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--gutter);
  transition:transform .8s var(--ease),background .5s,border-color .5s;border-bottom:1px solid transparent;
}
#av-header.is-solido{background:rgba(242,232,221,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom-color:var(--linea)}
#av-header.is-oculto{transform:translateY(-101%)}
.ah-izq{display:flex;align-items:center;gap:2.4rem;flex-direction:row!important}
.ah-menu{
  display:flex;align-items:center;gap:.9rem;background:none;border:0;padding:.6rem 0;cursor:pointer;color:var(--terracota);
  font:400 .72rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;
;flex-direction:row!important}
.ah-menu-ico{position:relative;width:28px;height:10px}
.ah-menu-ico i{position:absolute;left:0;height:1px;background:currentColor;transition:width .5s var(--ease)}
.ah-menu-ico i:first-child{top:0;width:28px}
.ah-menu-ico i:last-child{bottom:0;width:18px}
.ah-menu:hover .ah-menu-ico i:last-child{width:28px}
.ah-hora{display:flex;gap:.6em;align-items:center;opacity:.85;flex-direction:row!important}
.ah-hora::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ocre);animation:latido 2.4s ease-in-out infinite}
@keyframes latido{50%{opacity:.25}}
.ah-logo{display:block;position:relative;z-index:46}
.ah-logo img{height:clamp(36px,3vw,46px);width:auto}
.ah-der{display:flex;justify-content:flex-end;align-items:center;gap:1.8rem;flex-direction:row!important}
.av-idioma{font-size:.68rem;letter-spacing:.18em;font-weight:400}
.av-idioma a{text-decoration:none;opacity:.5}
.av-idioma a[aria-current]{opacity:1}.ah-der .btn:not(.elementor-element){padding:1em 1.6em;font-size:.68rem}
.ah-der .btn .elementor-button{padding:1em 1.6em;font-size:.68rem}
html:not(.js) .ah-hora{display:none}
@media (max-width:1024px){.ah-hora{display:none}}
@media (max-width:640px){
  #av-header{grid-template-columns:auto 1fr auto}
  .ah-logo{grid-column:1;grid-row:1}
  .ah-izq{grid-column:3;grid-row:1}
  .ah-der{display:none}
  .ah-menu-txt{display:none}
}

/* =====================================================================
   MENÚ A PANTALLA COMPLETA
   ===================================================================== */
#av-menu{
  position:fixed;inset:0;z-index:70;background:var(--terracota);color:var(--marfil);
  display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:auto 1fr auto;gap:0 6vw;
  padding:0 var(--gutter) 2rem;
  clip-path:circle(0% at var(--mx,var(--gutter)) var(--my,calc(var(--nav) / 2)));visibility:hidden;
  transition:clip-path 1.1s var(--ease-io),visibility 0s linear 1.1s;
}
#av-menu.is-open{clip-path:circle(150% at var(--mx,var(--gutter)) var(--my,calc(var(--nav) / 2)));visibility:visible;transition:clip-path 1.1s var(--ease-io)}
.amn-top{grid-column:1/-1;height:var(--nav);display:flex;align-items:center;justify-content:space-between;flex-direction:row!important}
.amn-top img{height:clamp(36px,3vw,46px);width:auto}
.amn-cerrar{background:none;border:0;color:inherit;cursor:pointer;font:400 .72rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;display:flex;gap:.8rem;align-items:center;padding:.6rem 0;flex-direction:row!important}
.amn-cerrar svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.2}
.amn-nav{align-self:center}
.amn-nav li{overflow:hidden}
.amn-nav a{
  display:flex;align-items:baseline;gap:1.4rem;text-decoration:none;
  font-family:var(--serif);font-size:clamp(2.2rem,1.3rem + 3vw,4.8rem);line-height:1.06;letter-spacing:-.02em;
  transform:translateY(105%);transition:transform 1s var(--ease);
;flex-direction:row!important}
.amn-nav a .idx{font-family:var(--sans);opacity:.7;min-width:2.4em}
.amn-nav a span:last-child{transition:transform .6s var(--ease)}
.amn-nav a:hover span:last-child{transform:translateX(.25em);font-style:italic}
#av-menu.is-open .amn-nav a{transform:none}
#av-menu.is-open .amn-nav li:nth-child(1) a{transition-delay:.35s}
#av-menu.is-open .amn-nav li:nth-child(2) a{transition-delay:.4s}
#av-menu.is-open .amn-nav li:nth-child(3) a{transition-delay:.45s}
#av-menu.is-open .amn-nav li:nth-child(4) a{transition-delay:.5s}
#av-menu.is-open .amn-nav li:nth-child(5) a{transition-delay:.55s}
#av-menu.is-open .amn-nav li:nth-child(6) a{transition-delay:.6s}
.amn-foto{align-self:center;justify-self:end;width:min(100%,24vw);aspect-ratio:3/4;position:relative;overflow:hidden;border-radius:999px 999px 0 0}
.amn-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity .7s var(--ease),transform 1.2s var(--ease)}
.amn-foto img.is-activa{opacity:1;transform:none}
.amn-pie{grid-column:1/-1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem 2rem;border-top:1px solid var(--linea-clara);padding-top:1.4rem;flex-direction:row!important}
.amn-pie a{text-decoration:none}
@media (max-width:860px){
  #av-menu{grid-template-columns:1fr}
  .amn-foto{display:none}
  .amn-nav li+li{margin-top:1.15rem}
}

/* =====================================================================
   HERO · el arco «Bienvenido a Avero» se abre al hacer scroll
   ===================================================================== */
#av-umbral{position:relative;background:var(--marfil)}
.au-pin{position:relative;height:100svh;overflow:hidden}
.au-marco{position:absolute;inset:0;overflow:hidden}
.au-marco img{width:100%;height:100%;object-fit:cover;object-position:50% 70%;transform-origin:50% 78%;will-change:transform}
.au-sombra{position:absolute;inset:0;background:linear-gradient(to top,rgba(132,48,26,.86) 0%,rgba(132,48,26,.42) 48%,rgba(132,48,26,.08) 78%)}
.au-txt{
  position:absolute;top:calc(50% - .55em);margin:0!important;z-index:2;display:none;
  font-family:var(--serif);font-weight:300;font-size:4.3vw;line-height:1.1;color:var(--terracota);letter-spacing:-.03em;white-space:nowrap;
}
.anim .au-txt{display:block}
.au-izq{right:calc(50% + 15vw + 2.2vw)}
.au-der{left:calc(50% + 15vw + 2.2vw)}
.au-desliza{display:none;position:absolute;z-index:2;left:0;right:0;bottom:1.6rem;margin:0!important;justify-content:center;align-items:center;gap:.8rem;color:var(--terracota)}
.anim .au-desliza{display:flex;flex-direction:row!important}
.au-desliza i{display:block;width:1px;height:34px;background:var(--linea);position:relative;overflow:hidden}
.au-desliza i::after{content:"";position:absolute;left:0;top:0;width:1px;height:45%;background:var(--terracota);animation:caer 2.2s var(--ease-io) infinite}
@keyframes caer{0%{transform:translateY(-100%)}100%{transform:translateY(230%)}}
.au-caption{
  position:absolute;left:var(--gutter);right:var(--gutter);bottom:clamp(2.2rem,5vw,4.2rem);z-index:2;color:var(--marfil);
  display:grid;grid-template-columns:1.15fr 1fr;align-items:end;gap:1.5rem 6vw;
}
.au-frase{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,1.1rem + 2.6vw,4.1rem);line-height:1.04;letter-spacing:-.025em;max-width:12em!important;margin:0!important}
.au-frase em{display:block}
.au-der-txt{display:flex;flex-direction:column!important;gap:1.4rem}
.au-der-txt .lead{max-width:30em!important}
.au-der-txt .label{opacity:.85}
@media (max-width:860px){
  .au-txt{font-size:11vw;top:auto;left:0;right:0;text-align:center}
  .au-izq{top:11%}
  .au-der{bottom:11%}
  .au-desliza{display:none !important}
  .au-caption{grid-template-columns:1fr}
}

/* =====================================================================
   FRANJA «live better, make it simple» (quieta)
   ===================================================================== */
#av-claim{border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);padding:clamp(1.6rem,3vw,2.6rem) var(--gutter);color:var(--terracota);
  display:flex;justify-content:center;align-items:center;gap:clamp(1rem,2.4vw,2.4rem);flex-direction:row!important}
#av-claim p{margin:0;font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(2rem,1.1rem + 3vw,4.4rem);line-height:1.05;letter-spacing:-.025em;text-align:center}
.cl-circulos{flex:0 0 auto!important;width:clamp(40px,4vw,64px);height:auto}
.cl-circulos circle{fill:none;stroke:currentColor;stroke-width:1.2}

/* =====================================================================
   01 · VALORACIÓN 360°
   ===================================================================== */
#av-valoracion{
  position:relative;overflow:hidden;padding:var(--seccion) var(--gutter);
  display:grid;grid-template-columns:1fr 1.05fr;gap:3rem 6vw;align-items:center;
}
.av90-fondo{position:absolute;inset:0;z-index:-1}
.av90-fondo img{position:absolute;left:0;top:-10%;width:100%;height:120%;object-fit:cover}
.av90-fondo::after{content:"";position:absolute;inset:0;background:rgba(242,232,221,.8)}
/* reloj: el número y la palabra van DENTRO del aro, con aire; el aro se llena de 0 a 90 */
.av90-dial{--d:clamp(250px,30vw,440px);position:relative;justify-self:center;width:var(--d);aspect-ratio:1;display:grid;place-items:center;text-align:center;color:var(--terracota);margin:0!important}
.av90-dial svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);overflow:visible}
.av90-dial circle{fill:none;vector-effect:non-scaling-stroke}
.av90-dial .base{stroke:var(--linea);stroke-width:1}
.av90-dial .aro{stroke:var(--terracota);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.av90-dial .punto{fill:var(--ocre)}
.av90-n{display:block;font-family:var(--serif);font-weight:300;font-size:calc(var(--d) * .38);line-height:1;letter-spacing:-.05em;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1}
.av90-dial .label{display:block;margin-top:.4rem!important}
.av90-txt h2{color:var(--terracota);margin:1.4rem 0 1.6rem}
.av90-lista{border-top:1px solid var(--linea);margin:2rem 0 2.2rem!important}
.av90-lista li{display:grid;grid-template-columns:2.6rem 1fr auto;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--linea);align-items:baseline}
.av90-lista li span:first-child,.av90-lista li span:last-child{color:var(--terracota)}
.av90-lista li span:last-child{font-size:.7rem;letter-spacing:.16em;font-weight:400}
.av90-acciones{display:flex;flex-wrap:wrap;gap:1.2rem 2.2rem;align-items:center;flex-direction:row!important}
@media (max-width:960px){
  #av-valoracion{grid-template-columns:1fr}
  .av90-dial{--d:min(78vw,380px)}
}

/* =====================================================================
   02 · MÉTODO — los cuatro pasos en la misma pantalla
   ===================================================================== */
#av-metodo{background:var(--profundo);color:var(--marfil);padding:var(--seccion) var(--gutter)}
.amt-pasos{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--linea-clara)}
.amt-paso{position:relative;padding:2.2rem 2rem 2rem;display:flex;flex-direction:column!important;transition:background .6s var(--ease)}
.amt-paso::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--marfil);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
.amt-num,.amt-paso h3{transition:transform .7s var(--ease),color .5s var(--ease)}
@media (hover:hover) and (pointer:fine){
  .amt-paso:hover{background:rgba(242,232,221,.06)}
  .amt-paso:hover::before{transform:none}
  .amt-paso:hover .amt-num{color:var(--marfil);transform:translateY(-6px)}
  .amt-paso:hover h3{transform:translateX(.35rem);font-style:italic}
}
.amt-paso+.amt-paso{padding-left:2rem;border-left:1px solid var(--linea-clara)}
.amt-paso+.amt-paso::before{left:0}
.amt-num{font-family:var(--serif);font-weight:300;font-size:clamp(3.2rem,2.4rem + 2.2vw,5rem);line-height:.8;color:var(--ocre);letter-spacing:-.04em}
.amt-paso h3{font-size:clamp(1.6rem,1.3rem + .9vw,2.3rem);line-height:1.05;margin:1.6rem 0 .9rem}
.amt-paso p{font-size:.95rem;opacity:.9;max-width:24em}
.amt-paso .label{margin-top:auto!important;padding-top:1.6rem;color:var(--ocre)}
@media (max-width:1024px){
  .amt-pasos{grid-template-columns:1fr 1fr;row-gap:2.6rem}
  .amt-paso:nth-child(3){border-left:0}
}
@media (max-width:600px){
  .amt-pasos{grid-template-columns:1fr;row-gap:0}
  .amt-paso,.amt-paso+.amt-paso{padding:2rem 1.5rem;border-left:0}
  .amt-paso+.amt-paso{border-top:1px solid var(--linea-clara)}
}

/* =====================================================================
   03 · EL ESPACIO — carrusel infinito automático
   ===================================================================== */
#av-espacio{padding:var(--seccion) 0;border-top:1px solid var(--linea)}
#av-espacio .cabeza{padding:0 var(--gutter)}
.ae-estancias{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.6rem;margin-top:1.8rem!important;flex-direction:row!important}
.ae-estancias li{display:inline-flex;align-items:center;gap:.6rem;font-size:.92rem;flex-direction:row!important}
.ae-estancias li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ocre)}
.ae-carrusel{overflow:hidden;padding:.5rem 0 1rem;cursor:grab;touch-action:pan-y;user-select:none}
.ae-carrusel.is-arrastrando{cursor:grabbing}
.ae-carrusel.is-arrastrando button{pointer-events:none}
.ae-pista{display:flex;width:max-content;will-change:transform;flex-direction:row!important}
/* sin JS, el desfile lo hace el CSS; con JS lo mueve el script (y se puede arrastrar) */
@keyframes desfile{to{transform:translateX(-50%)}}
.ae-item{flex:0 0 auto!important;margin-right:clamp(1rem,1.8vw,1.8rem);display:flex;flex-direction:column!important;gap:.9rem}
.ae-item button{display:block;padding:0;border:0;background:none;cursor:zoom-in;height:clamp(260px,30vw,430px);border-radius:6px;overflow:hidden}
.ae-item img{height:100%;width:auto;object-fit:cover;transition:transform 1s var(--ease);-webkit-user-drag:none;user-select:none}
.ae-item.r45 img{aspect-ratio:4/5}
.ae-item.r11 img{aspect-ratio:1/1}
.ae-item.r32 img{aspect-ratio:3/2}
.ae-item:hover img{transform:scale(1.06)}
.ae-item figcaption{display:flex;justify-content:space-between;gap:1rem;flex-direction:row!important}
.ae-item figcaption span:last-child{color:var(--ocre)}

/* Visor de imágenes */
#av-visor{border:0;padding:0;max-width:none;max-height:none;width:100%;height:100%;background:rgba(132,48,26,.94);color:var(--marfil)}
#av-visor[open]{display:grid;place-items:center}
#av-visor{opacity:0;transition:opacity .55s var(--ease)}
#av-visor.is-visible{opacity:1}
#av-visor .vs-fig{transform:scale(.94) translateY(14px);transition:transform .8s var(--ease)}
#av-visor.is-visible .vs-fig{transform:none}
#av-visor::backdrop{background:transparent}
.vs-fig{margin:0!important;display:flex;flex-direction:column!important;align-items:center;gap:1rem}
.vs-fig img{max-width:min(88vw,1400px);max-height:78svh;width:auto;height:auto;border-radius:6px}
.vs-cerrar,.vs-prev,.vs-sig{position:absolute;background:none;border:1px solid var(--linea-clara);color:var(--marfil);border-radius:999px;cursor:pointer}
.vs-cerrar{top:1.4rem;right:var(--gutter);height:2.6rem;padding:0 1.2rem;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}
.vs-prev,.vs-sig{top:50%;width:3.2rem;height:3.2rem;margin-top:-1.6rem!important;display:grid;place-items:center}
.vs-prev{left:var(--gutter)}.vs-sig{right:var(--gutter)}
.vs-prev svg,.vs-sig svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.3}
@media (max-width:640px){.vs-prev,.vs-sig{top:auto;bottom:1.4rem;margin:0!important}}

/* =====================================================================
   04 · MÁLAGA
   ===================================================================== */
#av-malaga{position:relative;isolation:isolate;overflow:hidden;color:var(--marfil);min-height:92svh;display:flex;align-items:flex-end;padding:var(--seccion) var(--gutter) clamp(2.5rem,5vw,4.5rem);flex-direction:row!important}
.amg-foto{position:absolute;inset:0;z-index:-1}
.amg-foto img{position:absolute;left:0;top:-10%;width:100%;height:120%;object-fit:cover}
.amg-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(132,48,26,.9) 0%,rgba(132,48,26,.45) 45%,rgba(132,48,26,.12) 100%)}
.amg-cont{width:100%}
.amg-cont .idx-fila{display:flex;justify-content:space-between;border-top:1px solid var(--linea-clara);padding-top:1rem;margin-bottom:clamp(2rem,4vw,3rem)!important;flex-direction:row!important}
.amg-cont h2{max-width:12em}
.amg-datos{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(2.5rem,5vw,4rem)!important;border-top:1px solid var(--linea-clara)}
.amg-datos li{padding:1.6rem 2rem 0 0;display:flex;flex-direction:column!important;gap:.6rem}
.amg-datos li+li{padding-left:2rem;border-left:1px solid var(--linea-clara)}
.amg-datos strong{font-family:var(--serif);font-weight:300;font-size:clamp(2.6rem,1.8rem + 2.4vw,4.4rem);line-height:.85;white-space:nowrap}
@media (max-width:640px){
  .amg-datos{grid-template-columns:1fr}
  .amg-datos li,.amg-datos li+li{padding:1.2rem 0;border-left:0;border-bottom:1px solid var(--linea-clara);display:grid;grid-template-columns:6.6rem 1fr;align-items:baseline;gap:1rem}
}

/* =====================================================================
   05 · TESTIMONIOS — tres voces
   ===================================================================== */
#av-testimonios{background:var(--terracota);color:var(--marfil);padding:var(--seccion) var(--gutter)}
.ats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,2rem)}
.ats-card{display:flex;flex-direction:column!important;border:1px solid var(--linea-clara);border-radius:24px;padding:clamp(1.6rem,2.6vw,2.4rem);margin:0!important;
  transition:background .6s var(--ease),color .6s var(--ease),border-color .6s var(--ease),transform .8s var(--ease)}
.ats-card .ats-fig{transition:border-color .6s var(--ease)}
@media (hover:hover) and (pointer:fine){
  .ats-card:hover{background:var(--marfil);color:var(--profundo);border-color:var(--marfil);transform:translateY(-6px)}
  .ats-card:hover .ats-comillas{color:var(--terracota)}
  .ats-card:hover figcaption{border-top-color:var(--linea)}
}
.ats-comillas{font-family:var(--serif);font-size:4.4rem;line-height:.8;height:.5em;color:var(--ocre);transition:color .6s var(--ease)}
.ats-card blockquote{margin:1.2rem 0 2rem}
.ats-card blockquote p{font-family:var(--serif);font-weight:300;font-size:clamp(1.3rem,1.05rem + .7vw,1.7rem);line-height:1.25;letter-spacing:-.01em}
.ats-card .ats-fig{margin-top:auto!important;display:flex;align-items:center;gap:1rem;border-top:1px solid var(--linea-clara);padding-top:1.4rem;flex-direction:row!important}
.ats-card .ats-fig img{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:0 0 auto!important}
.ats-card .ats-fig strong{display:block;font-weight:400;font-size:.95rem}
.ats-card .ats-fig span{font-size:.82rem;opacity:.8}
.ats-card .ats-fig span{white-space:nowrap}
@media (max-width:1200px){.ats-card .ats-fig{gap:.8rem}.ats-card .ats-fig img{width:44px;height:44px}}
@media (max-width:960px){.ats-grid{grid-template-columns:1fr}}

/* =====================================================================
   06 · PROGRAMAS — tarjetas sin precio
   ===================================================================== */
#av-programas{padding:var(--seccion) var(--gutter)}
.apr-pila{display:flex;flex-direction:column!important;gap:3vh}
.apr-card{
  --c-linea:var(--linea);--c-acento:var(--terracota);
  position:relative;display:flex;flex-direction:column!important;border-radius:26px;transform-origin:top center;
  padding:clamp(1.6rem,2.8vw,2.8rem) clamp(1.6rem,3.4vw,3.4rem);
  background:var(--marfil);border:1px solid var(--linea);
}
.apr-2{background:var(--arena);border-color:transparent}
.apr-3{background:var(--terracota);color:var(--marfil);border-color:transparent;--c-linea:var(--linea-clara);--c-acento:var(--marfil)}
.apr-cab{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1.1rem;border-bottom:1px solid var(--c-linea);color:var(--c-acento);flex-direction:row!important}
.apr-cab-der{display:flex;align-items:center;gap:1.2rem;flex-direction:row!important}
.apr-sello{border:1px solid currentColor;border-radius:999px;padding:.5em 1.1em;line-height:1;white-space:nowrap}
/* cuerpo: título, texto y botón a la izquierda · lo que incluye a la derecha */
.apr-cuerpo{display:grid;grid-template-columns:1fr 1fr;gap:2.2rem 6vw;padding-top:clamp(1.8rem,3vw,2.6rem)}
.apr-izq{display:flex;flex-direction:column!important;align-items:flex-start}
.apr-card h3{font-size:clamp(2.1rem,1.4rem + 2vw,3.8rem);line-height:.98;letter-spacing:-.025em;margin-bottom:1.2rem}
.apr-desc{max-width:23em!important;font-size:1rem;line-height:1.6;margin-bottom:2rem!important}.apr-izq .btn:not(.elementor-element){margin-top:auto!important}
.apr-izq .btn .elementor-button{margin-top:auto!important}
.apr-incluye{color:var(--c-acento);margin-bottom:.9rem!important}
.apr-der ul{border-top:1px solid var(--c-linea)}
.apr-der li{display:grid;grid-template-columns:2.6rem 1fr;padding:.8rem 0;border-bottom:1px solid var(--c-linea);font-size:.95rem}
.apr-der li span{font-size:.7rem;letter-spacing:.14em;color:var(--c-acento);font-weight:400;padding-top:.28em}
.apr-nota{text-align:center;margin-top:2rem!important;font-size:.9rem}
/* Se apilan solo si la tarjeta cabe entera en pantalla */
@media (min-width:861px) and (min-height:700px){
  .apr-card{position:sticky;top:calc(var(--nav) + 1.2rem + var(--i) * 1.6rem)}
}
@media (max-width:640px){.apr-cont{display:none}.apr-cab{letter-spacing:.16em}.apr-sello{padding:.5em .9em}}
@media (max-width:860px){
  .apr-card{border-radius:20px}
  .apr-cuerpo{grid-template-columns:1fr}.apr-izq .btn:not(.elementor-element){margin-top:0!important}
.apr-izq .btn .elementor-button{margin-top:0!important}
}

/* =====================================================================
   07 · TIENDA — texto a la izquierda, productos que se arrastran
   ===================================================================== */
#av-tienda{padding:var(--seccion) var(--gutter);overflow:hidden;
  background:radial-gradient(110% 70% at 88% 0%,var(--marfil) 0%,rgba(242,232,221,0) 62%),var(--arena)}
.at-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem 5vw;align-items:center}
.at-txt h2{color:var(--terracota);margin:1.4rem 0 1.4rem}
.at-txt .lead{max-width:24em!important}
.at-nav{display:flex;align-items:center;gap:.8rem;margin-top:2.4rem!important;flex-direction:row!important}
.at-cont{margin-left:.6rem;min-width:4.5rem}
.at-vista{overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none;padding-bottom:.4rem}
.at-vista.is-arrastrando{cursor:grabbing}
.at-vista.is-arrastrando a{pointer-events:none}
.at-pista{display:flex;gap:clamp(1rem,1.8vw,1.6rem);will-change:transform;flex-direction:row!important}
.at-pista.con-anim{transition:transform .8s cubic-bezier(.16,1,.3,1)}
.at-prod{flex:0 0 calc((100% - clamp(1rem,1.8vw,1.6rem)) / 2)!important;margin:0!important}
.at-prod a{display:block;text-decoration:none;-webkit-user-drag:none}
.at-prod img{-webkit-user-drag:none;user-select:none}
.at-ver{margin-top:1.8rem!important}
.at-prod .foto{aspect-ratio:4/5;border-radius:18px;background:var(--marfil)}
.at-prod .foto img{transition:transform 1.2s var(--ease)}
.at-prod:hover .foto img{transform:scale(1.05)}
.at-prod figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:1rem;flex-direction:row!important}
.at-prod .ver{display:inline-flex;align-items:center;gap:.5rem;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;font-weight:400;color:var(--terracota);opacity:0;transform:translateX(-6px);transition:opacity .5s var(--ease),transform .6s var(--ease);flex-direction:row!important}
.at-prod a:hover .ver,.at-prod a:focus-visible .ver{opacity:1;transform:none}
@media (hover:none){.at-prod .ver{opacity:1;transform:none}}
.at-prod h3{font-size:clamp(1.3rem,1.1rem + .6vw,1.7rem);line-height:1.1;color:var(--terracota)}
.at-prod h3{min-width:0;text-wrap:balance}.at-prod .ver{flex:none!important;white-space:nowrap}
.at-prod .label{color:var(--terracota);opacity:.8}
@media (max-width:960px){
  .at-grid{grid-template-columns:1fr}
  .at-prod{flex-basis:calc((100% - 1rem) / 1.35)}
}

/* =====================================================================
   08 · CONTACTO = PIE (terracota con la «a» grande)
   ===================================================================== */
#av-contacto{position:relative;overflow:hidden;isolation:isolate;background:var(--terracota);color:var(--marfil);padding:var(--seccion) var(--gutter) 0}
.acn-iso{position:absolute;z-index:-1;right:-8vw;top:-4%;height:112%;width:auto;max-width:none!important;pointer-events:none;user-select:none}
.acn-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem 7vw;align-items:start}
.acn-logo{height:clamp(36px,3vw,44px);width:auto;margin-bottom:2.4rem!important}
.acn-info .idx{display:block;margin-bottom:1.4rem!important;opacity:.85}
.acn-info .t-xl{margin-bottom:1.6rem!important}
.acn-info .lead{margin-bottom:2.4rem!important;opacity:.92}
.acn-datos{display:grid;grid-template-columns:auto 1fr;gap:1rem 2rem;border-top:1px solid var(--linea-clara);padding-top:1.6rem;font-size:.95rem}
.acn-datos dt{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;font-weight:400;opacity:.8;padding-top:.32rem}
.acn-datos dd{margin:0}
.acn-datos a{text-decoration:none;border-bottom:1px solid var(--linea-clara)}



.acn-campo input,.acn-campo select,

.acn-campo textarea{resize:vertical;min-height:6.5rem}




.acn-legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem 2rem;margin-top:var(--seccion)!important;padding:1.5rem 0 1.8rem;border-top:1px solid var(--linea-clara);font-size:.8rem;opacity:.9;flex-direction:row!important}
.acn-legal ul{display:flex;gap:1.6rem;flex-wrap:wrap;flex-direction:row!important}
.acn-legal a{text-decoration:none;background:linear-gradient(currentColor,currentColor) left bottom/0 1px no-repeat;transition:background-size .5s var(--ease)}
.acn-legal a:hover{background-size:100% 1px}
@media (max-width:960px){.acn-grid{grid-template-columns:1fr}}
@media (max-width:640px){.acn-iso{height:60%;top:auto;bottom:6%;right:-26vw}}


/* =====================================================================
   VOLVER ARRIBA (botón flotante con anillo de progreso)
   ===================================================================== */
#av-arriba{
  position:fixed;right:clamp(1rem,2.4vw,2rem);bottom:clamp(1rem,2.4vw,2rem);z-index:48;width:54px;height:54px;border-radius:50%;
  border:0;padding:0;cursor:pointer;background:var(--marfil);color:var(--terracota);box-shadow:0 0 0 1px var(--linea);
  display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity .5s var(--ease),transform .5s var(--ease),visibility 0s linear .5s,background .4s,color .4s;
}
#av-arriba.is-visible{opacity:1;visibility:visible;transform:none;transition:opacity .5s var(--ease),transform .5s var(--ease),background .4s,color .4s}
#av-arriba:hover,#av-arriba:focus-visible{background:var(--terracota);color:var(--marfil)}
#av-arriba:focus-visible{outline:1.5px solid var(--terracota);outline-offset:3px}
#av-arriba .anillo{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
#av-arriba .anillo circle{fill:none;stroke:currentColor;stroke-width:1.5}
#av-arriba .flecha-up{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4}

/* =====================================================================
   SITIO · páginas interiores (router por #/)
   Sin JS se ven todas seguidas; con JS, una a la vez.
   ===================================================================== */


/* Cabecera de página interior */
.pg-cab{padding:calc(var(--nav) + clamp(3rem,7vw,6rem)) var(--gutter) var(--cab);text-align:center}
.pg-migas{display:flex;justify-content:center;gap:.7rem;color:var(--terracota);flex-direction:row!important}
.pg-migas a{text-decoration:none;opacity:.7}
.pg-migas a:hover{opacity:1}
.pg-cab h1{margin:1.4rem auto 0;max-width:15em;color:var(--terracota)}
.pg-cab .lead{margin:1.4rem auto 0!important}
.pg-foto{margin:0 var(--gutter)!important;border-radius:24px;overflow:hidden;aspect-ratio:21/9;background:var(--arena)}
.pg-foto img{width:100%;height:100%;object-fit:cover}
@media (max-width:640px){.pg-foto{aspect-ratio:4/3;border-radius:18px}}

/* Franja de llamada a la acción, reutilizable */
.cta-banda{padding:var(--seccion) var(--gutter);text-align:center;background:var(--arena)}
.cta-banda h2{color:var(--terracota);max-width:14em;margin:1.4rem auto 0}
.cta-banda .lead{margin:1.2rem auto 2.2rem!important}

/* ---------- NOSOTROS ---------- */
.ns-historia{position:relative;overflow:hidden;isolation:isolate;background:var(--terracota);color:var(--marfil);padding:var(--seccion) var(--gutter)}
.ns-iso{position:absolute;z-index:-1;right:-8vw;top:-6%;height:118%;width:auto;max-width:none!important;pointer-events:none}
.ns-historia h2{max-width:16em}
.ns-historia .lead{margin-top:1.8rem!important;max-width:36em!important;opacity:.92}
.ns-cifras{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(3rem,6vw,5rem)!important;border-top:1px solid var(--linea-clara)}
.ns-cifras li{padding:1.8rem 2rem 0 0;display:flex;flex-direction:column!important;gap:.6rem}
.ns-cifras li+li{padding-left:2rem;border-left:1px solid var(--linea-clara)}
.ns-cifras strong{font-family:var(--serif);font-weight:300;font-size:clamp(2.8rem,2rem + 2.6vw,4.8rem);line-height:.85;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
.ns-cifras span{font-size:.92rem;max-width:15em;opacity:.9}
@media (max-width:640px){
  .ns-iso{height:60%;top:auto;bottom:-4%;right:-26vw}
  .ns-cifras{grid-template-columns:1fr}
  .ns-cifras li,.ns-cifras li+li{padding:1.3rem 0;border-left:0;border-bottom:1px solid var(--linea-clara);display:grid;grid-template-columns:4.5rem 1fr;align-items:baseline;gap:1rem}
}
.ns-mv{padding:var(--seccion) var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:3rem 6vw}
.ns-mv article{border-top:1px solid var(--linea);padding-top:1.6rem}
.ns-mv h2{color:var(--terracota);margin:1.2rem 0 1.2rem}
@media (max-width:860px){.ns-mv{grid-template-columns:1fr}}
.ns-valores{padding:0 var(--gutter) var(--seccion);text-align:center}
.nv-svg{display:block;width:min(100%,820px);height:auto;margin:0 auto var(--cab)!important;overflow:visible}
.nv-svg circle{fill:none;stroke:var(--terracota);stroke-width:1;vector-effect:non-scaling-stroke}
.nv-svg text{font:400 15px var(--sans);letter-spacing:.08em;fill:var(--profundo);text-anchor:middle;dominant-baseline:middle}
.nv-textos{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem clamp(1.5rem,4vw,4rem);text-align:left}
.nv-textos>.e-con{border-top:1px solid var(--linea);padding-top:1.4rem}
.nv-textos h3{font-size:clamp(1.6rem,1.3rem + .8vw,2.2rem);color:var(--terracota);margin-bottom:.7rem}
@media (max-width:860px){.nv-textos{grid-template-columns:1fr}.nv-svg text{font-size:28px}}
.ns-equipo{padding:var(--seccion) var(--gutter);border-top:1px solid var(--linea)}
.eq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(2.6rem,5vw,4rem) clamp(1.2rem,3vw,3rem)}
.eq-card{margin:0!important}
.eq-foto{aspect-ratio:3/4.1;border-radius:999px;overflow:hidden;background:var(--arena)}
.eq-foto img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.eq-card:hover .eq-foto img{transform:scale(1.05)}
.eq-card h3{font-size:clamp(1.5rem,1.25rem + .7vw,2rem);color:var(--terracota);margin:1.3rem 0 .3rem}
.eq-card .label{opacity:.85}
.eq-card>.elementor-widget-text-editor p{margin-top:.8rem;font-size:.95rem;max-width:22em}
@media (max-width:960px){.eq-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.eq-grid{grid-template-columns:1fr}.eq-foto{width:min(100%,320px)}}

/* ---------- SERVICIOS ---------- */
.sv-indice{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:2rem!important;flex-direction:row!important}
.sv-indice a{display:inline-flex;align-items:center;gap:.6rem;padding:.7rem 1.1rem;border:1px solid var(--linea);border-radius:999px;text-decoration:none;font-size:.9rem;color:var(--terracota);transition:background .4s,color .4s,border-color .4s;flex-direction:row!important}
.sv-indice a span{font-size:.66rem;letter-spacing:.14em;opacity:.8}
.sv-indice a:hover{background:var(--terracota);border-color:var(--terracota);color:var(--marfil)}
.sv-lista{padding:var(--seccion) var(--gutter) 0}
.sv-bloque{display:grid;grid-template-columns:1fr 1fr;gap:3rem 6vw;align-items:center;padding-bottom:var(--seccion);scroll-margin-top:var(--nav)}
.sv-bloque:nth-child(even) .sv-foto{order:2}
.sv-foto{aspect-ratio:4/5;border-radius:24px;overflow:hidden;background:var(--arena)}
.sv-foto img{width:100%;height:100%;object-fit:cover}
.sv-txt .idx{color:var(--terracota)}
.sv-txt h2{color:var(--terracota);margin:1.2rem 0 1.4rem}
.sv-txt h3{font-family:var(--sans);font-weight:400;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--terracota);margin:2rem 0 .8rem}
.sv-txt ul{border-top:1px solid var(--linea)}
.sv-txt li{display:grid;grid-template-columns:2.4rem 1fr;padding:.8rem 0;border-bottom:1px solid var(--linea);font-size:.95rem}
.sv-txt li span{font-size:.7rem;letter-spacing:.14em;color:var(--terracota);font-weight:400;padding-top:.25em}
.sv-para{margin:1.6rem 0 2rem!important;font-size:.95rem}
.sv-para strong{font-weight:400;color:var(--terracota)}
@media (max-width:860px){
  .sv-bloque{grid-template-columns:1fr}
  .sv-bloque:nth-child(even) .sv-foto{order:0}
  .sv-foto{aspect-ratio:4/3}
}

/* ---------- PROGRAMAS ---------- */
.pr-valoracion{padding:var(--seccion) var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:3rem 6vw;align-items:start}
.pr-valoracion h2{color:var(--terracota);margin:1.2rem 0 1.4rem}
.pr-linea{border-left:1px solid var(--linea);margin-left:.6rem}
.pr-linea li{position:relative;padding:0 0 1.8rem 2rem}
.pr-linea li::before{content:"";position:absolute;left:-6px;top:.35rem;width:11px;height:11px;border-radius:50%;background:var(--marfil);border:1px solid var(--terracota)}
.pr-linea li:last-child{padding-bottom:0}
.pr-linea .label{color:var(--terracota)}
.pr-linea h3{font-size:clamp(1.4rem,1.2rem + .6vw,1.8rem);margin:.3rem 0 .4rem}
.pr-linea p:not(.label){font-size:.95rem}
.pr-llevas{margin-top:2.4rem!important;padding:1.6rem;border-radius:20px;background:var(--arena)}
.pr-llevas .label{color:var(--terracota)}
.pr-llevas ul{margin-top:.8rem;display:grid;gap:.5rem;font-size:.95rem}
.pr-llevas li{display:flex;gap:.7rem;flex-direction:row!important}
.pr-llevas li::before{content:"";flex:0 0 auto!important;width:6px;height:6px;border-radius:50%;background:var(--ocre);margin-top:.6em}
@media (max-width:860px){.pr-valoracion{grid-template-columns:1fr}}
.pr-programas{padding:0 var(--gutter) var(--seccion)}
.faq{padding:var(--seccion) var(--gutter);display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem 6vw;align-items:start}
.faq-izq h2{color:var(--terracota);margin:1.2rem 0 1.2rem}
.faq-lista{border-top:1px solid var(--linea)}
.faq-lista details{border-bottom:1px solid var(--linea)}
.faq-lista summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:2.6rem 1fr 2.4rem;align-items:center;gap:1rem;padding:1.3rem 0;font-family:var(--serif);font-size:clamp(1.25rem,1.05rem + .6vw,1.65rem);line-height:1.2}
.faq-lista summary::-webkit-details-marker{display:none}
.faq-lista summary .label{font-family:var(--sans);color:var(--terracota)}
.faq-mas{width:2.4rem;height:2.4rem;border-radius:50%;border:1px solid var(--linea);position:relative;transition:background .4s,border-color .4s}
.faq-mas::before,.faq-mas::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1px;background:var(--terracota);transform:translate(-50%,-50%);transition:transform .5s var(--ease),background .4s}
.faq-mas::after{transform:translate(-50%,-50%) rotate(90deg)}
details[open] .faq-mas{background:var(--terracota);border-color:var(--terracota)}
details[open] .faq-mas::before,details[open] .faq-mas::after{background:var(--marfil)}
details[open] .faq-mas::after{transform:translate(-50%,-50%) rotate(0deg)}
.faq-resp{overflow:hidden}
.faq-resp p{padding:0 3.4rem 1.5rem 3.6rem;max-width:40em;font-size:.97rem}
@media (max-width:960px){.faq{grid-template-columns:1fr}.faq-resp p{padding:0 0 1.4rem 3.6rem}}

/* ---------- TIENDA ---------- */
.tn-lista{padding:var(--seccion) var(--gutter)}
.tn-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.2rem,2.4vw,2.4rem)}
.tn-prod{margin:0!important;display:flex;flex-direction:column!important}
.tn-prod .foto{aspect-ratio:4/5;border-radius:18px;background:var(--arena)}
.tn-prod .foto img{transition:transform 1.2s var(--ease)}
.tn-prod:hover .foto img{transform:scale(1.05)}
.tn-prod h2{font-size:clamp(1.35rem,1.15rem + .6vw,1.75rem);line-height:1.1;color:var(--terracota);margin:1.2rem 0 .5rem}
.tn-prod figcaption{flex:1!important;display:flex;flex-direction:column!important}
.tn-prod p:not(.label){font-size:.93rem;margin-bottom:1rem}
.tn-prod .label{color:var(--terracota);opacity:.8;margin:auto 0 1.4rem!important}.tn-prod .btn:not(.elementor-element){margin-top:auto!important;align-self:flex-start}
.tn-prod .btn .elementor-button{margin-top:auto!important;align-self:flex-start}
@media (max-width:1100px){.tn-grid{grid-template-columns:1fr 1fr;row-gap:3rem}}
@media (max-width:520px){.tn-grid{grid-template-columns:1fr}}

/* ---------- CONTACTO ---------- */
.ct-datos{padding:0 var(--gutter) var(--seccion);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,2rem)}
.ct-tarjeta{border:1px solid var(--linea);border-radius:22px;padding:clamp(1.5rem,2.4vw,2.2rem);display:flex;flex-direction:column!important;gap:.7rem}
.ct-tarjeta .label{color:var(--terracota)}
.ct-tarjeta h2{font-size:clamp(1.5rem,1.25rem + .7vw,2rem);color:var(--terracota);line-height:1.1}
.ct-tarjeta p:not(.label){font-size:.97rem}
.ct-tarjeta a{text-decoration:none;border-bottom:1px solid var(--linea)}
.ct-mapa{margin:0 var(--gutter) var(--seccion)!important;border-radius:24px;overflow:hidden;aspect-ratio:21/8;background:var(--arena)}
.ct-mapa iframe{display:block;width:100%;height:100%;border:0;filter:grayscale(1) sepia(.35) contrast(.95) brightness(1.03)}
@media (max-width:860px){.ct-datos{grid-template-columns:1fr}.ct-mapa{aspect-ratio:4/3}}

/* ---------- LEGALES ---------- */
.legal{padding:0 var(--gutter) var(--seccion)}
.legal-txt{max-width:46rem!important;margin:0 auto!important}
.legal-txt h2{font-size:clamp(1.5rem,1.25rem + .8vw,2.1rem);color:var(--terracota);margin:2.6rem 0 .9rem}
.legal-txt h2:first-child{margin-top:0}
.legal-txt p:not(.label),.legal-txt li{font-size:.97rem}
.legal-txt p+p{margin-top:.9rem}
.legal-txt ul{margin:.6rem 0 0;padding-left:1.2rem;list-style:disc}
.legal-txt li+li{margin-top:.4rem}
.legal-txt table{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.9rem}
.legal-txt th,.legal-txt td{text-align:left;padding:.7rem .6rem;border-bottom:1px solid var(--linea);vertical-align:top}
.legal-txt th{font-weight:400;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terracota)}
.legal-fecha{margin-top:2.6rem!important;opacity:.7}
.legal-tabla{overflow-x:auto}

/* Enlaces «ver más» de la home hacia las páginas */
.ver-mas{display:flex;justify-content:center;margin-top:2.2rem!important;flex-direction:row!important}
.enlace-sub{font-weight:400;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--terracota);
  background:linear-gradient(currentColor,currentColor) left bottom/100% 1px no-repeat;padding-block:.4em;transition:background-size .6s var(--ease)}
.enlace-sub:hover{background-size:0 1px;background-position:right bottom}
.amn-nav a[aria-current="page"] span:last-child{font-style:italic}


/* ---------- FICHA DE PRODUCTO ---------- */
.tn-enlace{display:block;-webkit-user-drag:none}
.tn-prod a{text-decoration:none}
.tn-prod figcaption h3{font-size:clamp(1.3rem,1.1rem + .6vw,1.65rem);color:var(--terracota);margin-top:1rem}
.pd{padding:calc(var(--nav) + clamp(2rem,4vw,3.5rem)) var(--gutter) var(--seccion)}
.pd-migas{justify-content:flex-start;margin-bottom:clamp(1.8rem,3vw,2.6rem)!important}
.pd-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem 6vw;align-items:center}
.pd-foto{margin:0!important;aspect-ratio:4/5;border-radius:24px;overflow:hidden;background:var(--arena)}
.pd-foto img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.pd-foto:hover img{transform:scale(1.04)}
.pd-info h1{color:var(--terracota);margin:1.2rem 0 1.2rem}
.pd-datos{display:grid;grid-template-columns:auto 1fr;gap:.8rem 2rem;margin:2.2rem 0 1.8rem!important;border-top:1px solid var(--linea);padding-top:1.4rem;font-size:.95rem}
.pd-datos dt{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;font-weight:400;color:var(--terracota);padding-top:.32rem}
.pd-datos dd{margin:0}
.pd-disp{color:var(--terracota);margin-bottom:1.8rem!important}
.pd-acciones{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem 2rem;flex-direction:row!important}
.pd-relacion{padding:0 var(--gutter) var(--seccion)}
.pd-otros{grid-template-columns:repeat(3,1fr)}
@media (max-width:860px){.pd-grid{grid-template-columns:1fr}.pd-foto{aspect-ratio:4/4.4}.pd-otros{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.pd-otros{grid-template-columns:1fr}}

/* ---------- Transición entre páginas: cortina terracota con el logo ---------- */
#av-paso{display:none}
.js #av-paso{position:fixed;inset:0;z-index:92;display:grid;place-items:center;background:var(--terracota);color:var(--marfil);visibility:hidden;pointer-events:none}
.ap-c{display:grid;justify-items:center;gap:clamp(1.2rem,2.2vw,1.8rem)}
.ap-logo{width:clamp(150px,18vw,230px);height:auto}
.ap-linea{display:block;width:clamp(72px,8vw,110px);height:1px;background:rgba(242,232,221,.28);overflow:hidden}
.ap-linea i{display:block;height:100%;background:var(--marfil);transform-origin:left}

/* ---------- Tienda: Avero Bar · productos · suplementos ---------- */
.tn-bar{padding:var(--seccion) var(--gutter) 0}
.tn-bar .sv-bloque{padding-bottom:0}
.tn-cabeza{padding:var(--seccion) var(--gutter) 0;text-align:center}
.tn-cabeza .idx,.tn-suple .idx{color:var(--terracota)}
.tn-cabeza h2,.tn-suple h2{color:var(--terracota);margin-top:1.2rem}
.tn-suple{margin:0 var(--gutter) var(--seccion)!important;padding:clamp(2.6rem,6vw,5rem) clamp(1.5rem,5vw,4rem);text-align:center;background:var(--arena);border-radius:24px}
.tn-suple .lead{margin:1.4rem auto 0!important}
.tn-cabeza + .tn-lista{padding-top:clamp(2.2rem,4vw,3.4rem)}

/* ---------- Ficha de producto en una sola pantalla (100svh): foto + datos a primera vista ---------- */
.pd{min-height:100svh;display:grid;grid-template-rows:auto minmax(0,1fr);padding:calc(var(--nav) + clamp(1rem,3vh,2.2rem)) var(--gutter) clamp(1.2rem,4vh,2.6rem)}
.pd-migas{margin-bottom:clamp(1rem,2.6vh,2rem)!important}
.pd-grid{min-height:0;align-items:stretch}
.pd-foto{position:relative;aspect-ratio:auto;min-height:0}
.pd-foto img{position:absolute;inset:0}
.pd-info{align-self:center}
.pd-info h1{font-size:min(clamp(2.6rem,1.6rem + 3.4vw,5.4rem),9.5vh);margin:clamp(.6rem,1.6vh,1.2rem) 0}
.pd-datos{margin:clamp(1rem,2.8vh,2.2rem) 0 clamp(1rem,2.2vh,1.8rem)!important;padding-top:clamp(.8rem,1.8vh,1.4rem);gap:clamp(.35rem,1.2vh,.8rem) 2rem}
.pd-disp{margin-bottom:clamp(1rem,2.4vh,1.8rem)!important}
@media (max-width:860px){
  .pd{grid-template-rows:auto auto}
  .pd-grid{gap:clamp(1.2rem,3vh,2rem)}
  .pd-foto{height:clamp(200px,34svh,420px)}
  .pd-info h1{font-size:clamp(2.2rem,1.6rem + 3vw,3.4rem)}
  .pd-desc{font-size:1rem}
}
@media (max-width:640px){
  .pd{padding-top:calc(var(--nav) + .9rem);padding-bottom:1.2rem}
  .pd-migas{margin-bottom:.9rem!important}
  .pd-grid{gap:1.1rem}
  .pd-foto{height:clamp(170px,27svh,340px);border-radius:18px}
  .pd-info .idx{display:none}
  .pd-info h1{font-size:clamp(2rem,1.6rem + 2vw,2.6rem);margin:0 0 .6rem}
  .pd-desc{font-size:.95rem;line-height:1.5}
  .pd-datos{margin:1rem 0 .9rem!important;padding-top:.8rem;gap:.3rem 1.2rem;font-size:.88rem}
  .pd-disp{margin-bottom:1rem!important}
}


/* =========================================================
   ADAPTACIÓN A ELEMENTOR + HELLO (lo que el prototipo no necesitaba)
   ========================================================= */
/* Contenedores: el diseño lo marcan las clases del prototipo */
.e-con{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px 0px;--row-gap:0px;--column-gap:0px;min-width:0}
.e-con.e-child{--width:auto}
/* los contenedores de primer nivel con margen lateral (fotos, mapa, recuadros) no deben medir el 100 % + el margen */
.e-con.e-parent{--width:auto}
.pg-foto+.ns-historia{margin-top:var(--seccion)!important}
:root{--kit-widget-spacing:0px}
/* Elementor anima por defecto todo cambio de transform (0,4 s): choca con GSAP. Al soltar el pin del hero, el bloque
   bajaba animado desde arriba («se rompe y vuelve»). Las transiciones propias del diseño (clases del prototipo) se mantienen */
:root{--e-con-transform-transition-duration:0s}
.elementor-element:not(.e-con){transition:none}
.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px}
/* Títulos y textos de los widgets heredan la tipografía de su clase (los h1–h3 siguen en serif) */
.elementor-heading-title{font-size:inherit;font-weight:inherit;font-style:inherit;letter-spacing:inherit;text-transform:inherit;line-height:inherit;color:inherit;margin:0;padding:0}
p.elementor-heading-title,span.elementor-heading-title,div.elementor-heading-title{font-family:inherit}
:is(h1,h2,h3).elementor-heading-title{font-family:var(--serif);font-weight:300}
.elementor-heading-title a{color:inherit;text-decoration:none}
.elementor-widget-text-editor{color:inherit}
.elementor-widget-text-editor p{margin:0}
.elementor-widget-text-editor p+p{margin-top:1em}
.elementor-widget-image{text-align:start}
.elementor a{text-decoration:none}
/* Shortcodes, HTML y bloques reutilizables: sin envoltorio (su HTML va directo en el diseño) */
body:not(.elementor-editor-active) .elementor-widget-shortcode,body:not(.elementor-editor-active) .elementor-widget-html,.elementor-widget-shortcode>.elementor-widget-container,.elementor-widget-html>.elementor-widget-container,.elementor-widget-shortcode .elementor-shortcode{display:contents}
body:not(.elementor-editor-active) .elementor-widget-template,.elementor-widget-template>.elementor-widget-container,.elementor-widget-template .elementor-template,.elementor-widget-template .elementor-template>.elementor,.elementor-widget-template .elementor-template>.elementor>.e-con-full:only-child:not([id]):not([class*="apr-"]){display:contents}
.elementor-location-header{position:relative;z-index:50}

/* ---------- Botones (widget Botón de Elementor con el estilo .btn) ---------- */
.elementor-widget-button.btn{display:inline-flex;padding:0;border:0;background:none;border-radius:0;overflow:visible;isolation:auto;white-space:normal}
.elementor-widget-button.btn::before{display:none}
.elementor-widget-button.btn .elementor-button-wrapper{display:inline-flex}
.btn .elementor-button{line-height:1.35;box-shadow:none;fill:currentColor}
.btn .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:.9em;flex-direction:row!important;overflow:hidden;height:1.35em}
/* rodillo: el texto sube y entra su copia (sombra) desde abajo; el envoltorio recorta */
.btn .elementor-button-text{display:inline-block;line-height:1.35;flex:none!important;text-shadow:0 1.35em 0 currentColor;transition:transform .6s var(--ease)}
.btn .elementor-button:hover .elementor-button-text{transform:translateY(-1.35em)}
/* flecha del diseño (máscara), gira al pasar el ratón */
.btn--flecha .elementor-button-content-wrapper::after{content:"";width:1.15em;height:1.15em;flex:none;background:currentColor;
  -webkit-mask:var(--ico-flecha) center/contain no-repeat;mask:var(--ico-flecha) center/contain no-repeat;transition:transform .6s var(--ease)}
.btn--flecha .elementor-button:hover .elementor-button-content-wrapper::after{transform:translateX(4px) rotate(-45deg)}
:root{--ico-iso:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 698.55 862.01'%3E%3Cpath d='m23.27,584.31c12.12-36.55,24.97-61.04,62.89-127.24,76.42-133.41,88.5-146.16,101.83-190.56,9.92-33.04,35.35-117.76-1.35-150.6-31.32-28.02-87.17.23-92.14-12.45C87.13,84.62,177.68.92,288.73,1.35c59.28.23,103.47,24.41,116.63,32.14,104.56,61.42,126.91,186.99,173.81,376.88,24.75,100.2,62.92,244.99,118.62,422.59-48.96.55-97.92,1.11-146.88,1.66-9.74-.88-23.87-3.45-38.18-11.62-26.35-15.04-43.01-43.15-62.26-136.96-13.35-65.08-39.97-220.44-37.65-240.73.22-1.89-1.78-10.28-3.66-20.03-.13-.68-.92-1.22-2.47-3.18,1.42,60.18-4.47,110.3-10.88,147.02-18.97,108.69-35.82,208.14-115.38,258.98-52.35,33.45-131.64,45.82-188.55,14.49-27.25-15-45.99-38.16-48.97-41.91-27.17-34.14-33.38-69.29-36.24-86.7-2.49-15.13-7.62-56.63,16.6-129.68Zm193.27,93.22c27.43,6.51,54.02,6.28,77.35-12.88,18.7-15.36,31.6-35.06,41.47-56.71,49.91-109.46,46.03-224.68,46.03-224.68,0,0-.31-168.22-73.37-266.07-5.24-7.02-19.12-23.89-32.7-23.24-14.68.7-16.56,16.85-20.05,28.32-7.8,25.61-13.13,52.04-21.91,77.29-23.23,66.85-47.9,133.2-71.73,199.83-17.3,48.37-31.8,97.5-32.4,149.43-.72,62.85,28,114.62,87.31,128.71Z'/%3E%3C/svg%3E");--ico-flecha:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E")}
.btn .elementor-button:focus-visible{outline:1.5px solid currentColor;outline-offset:4px}
/* Botones escritos en HTML (shortcodes): el rodillo con <span class="btn-t"><i> del prototipo */
a.btn:not(.elementor-element) svg{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.3;transition:transform .6s var(--ease)}
a.btn:not(.elementor-element):hover svg{transform:translateX(4px) rotate(-45deg)}
/* margen superior automático (empuja el botón al pie de la tarjeta) va en el envoltorio */
.apr-izq>.btn{margin-top:auto!important}
@media (max-width:860px){.apr-izq>.btn{margin-top:0!important}}
.at-ver{margin-top:1.8rem!important}

/* ---------- Fotos: el widget Imagen llena su caja (en el prototipo el <img> iba suelto) ---------- */
:is(.pg-foto,.sv-foto,.pd-foto,.eq-foto,.amn-foto,.au-marco,.av90-fondo,.amg-foto){position:relative}
:is(.au-marco,.av90-fondo,.amg-foto){position:absolute}
:is(.pg-foto,.sv-foto,.pd-foto,.eq-foto,.amn-foto,.au-marco,.av90-fondo,.amg-foto)>.elementor-widget-image{position:absolute!important;inset:0;width:auto!important;max-width:none!important;margin:0!important;overflow:hidden}
:is(.pg-foto,.sv-foto,.pd-foto,.eq-foto,.au-marco)>.elementor-widget-image img{width:100%;height:100%;max-width:none;object-fit:cover}
.au-marco>.elementor-widget-image img{object-position:50% 70%;transform-origin:50% 78%}
.av90-fondo>.elementor-widget-image img,.amg-foto>.elementor-widget-image img{max-width:none}
.amn-foto>.elementor-widget-image img{max-width:none}
.pd-foto>.elementor-widget-image{overflow:visible}
.pd-foto>.elementor-widget-image img{position:absolute;inset:0}
/* logos e isotipos */
.ah-logo,.amn-logo,.acn-logo{line-height:0}
.ah-logo img,.amn-logo img{height:clamp(36px,3vw,46px)!important;width:auto!important;max-width:none}
.acn-logo img{height:clamp(36px,3vw,44px)!important;width:auto!important;max-width:none}
.acn-logo{margin-bottom:2.4rem!important}
.acn-iso img,.ns-iso img{height:100%!important;width:auto!important;max-width:none!important}
.acn-iso,.ns-iso{line-height:0}

/* ---------- Cabecera (plantilla del Theme Builder) ---------- */
#av-header{display:grid!important}
#av-header>.ah-izq{display:flex}
.ah-izq .elementor-widget-html{display:contents}
body.admin-bar #av-header{top:var(--wp-admin--admin-bar--height,32px)}
@media (max-width:600px){body.admin-bar #av-header{top:0}}
/* Idioma (GTranslate) como «ES / EN» */
.av-idioma{font-size:.68rem;letter-spacing:.18em;font-weight:400;color:var(--terracota);white-space:nowrap}
.av-idioma .gtranslate_wrapper{display:inline-flex;gap:0}
.av-idioma a.glink{text-decoration:none;opacity:.5;color:inherit;font-size:inherit;letter-spacing:inherit}
.av-idioma a.glink+a.glink::before{content:"/";display:inline-block;margin:0 .5em;opacity:1}
.av-idioma a.glink.gt-current-lang,.av-idioma a.glink[aria-current]{opacity:1;font-weight:400}
.av-idioma a.glink img{display:none}
.amn-idioma .av-idioma{color:var(--marfil)}

/* ---------- Menú a pantalla completa ---------- */
#av-menu{display:grid!important}
#av-menu>.amn-top{display:flex}
.amn-top .elementor-widget-html{display:contents}
.elementor-editor-active #av-menu{position:relative;clip-path:none;visibility:visible;min-height:520px}
.elementor-editor-active #av-header{position:relative}

/* ---------- Pie = contacto ---------- */
#av-contacto{display:block}
.acn-info .idx{margin-bottom:1.4rem!important}
.acn-info>.elementor-widget-heading.idx{display:block}
.acn-legal{display:flex}
.acn-legal ul{display:flex;gap:1.6rem;flex-wrap:wrap}
/* Formulario de Elementor Pro con el aspecto del prototipo: etiqueta que sube al escribir */
.acn-form .elementor-field-type-acceptance{align-items:flex-start!important}
/* Botones claros sobre fondo oscuro (Enviar, «Quiero más información»): en hover el relleno oscuro tapaba el borde y quedaba
   un filo claro borroso; ahora el contorno marfil se mantiene, nítido y algo más grueso */
.btn--claro .elementor-button:hover,.btn--claro:not(.elementor-element):hover{border-color:var(--marfil)!important;box-shadow:inset 0 0 0 .5px var(--marfil)}
.acn-form{align-self:end}
.acn-form .elementor-form{background:rgba(132,48,26,.35);border:1px solid var(--linea-clara);border-radius:24px;padding:clamp(1.6rem,3vw,2.6rem)}
.acn-form .elementor-form-fields-wrapper{display:grid!important;grid-template-columns:1fr 1fr;gap:2rem!important;margin:0!important}
.acn-form .elementor-field-group{position:relative;width:100%!important;max-width:none!important;padding:0!important;margin:0!important;grid-column:1 / -1;display:flex;flex-direction:column!important}
.acn-form :is(.elementor-field-group-nombre,.elementor-field-group-telefono){grid-column:auto}
.acn-form .elementor-field-type-honeypot,.acn-form .elementor-form-fields-wrapper>.elementor-field-type-text:not(.elementor-field-group){display:none!important}
.acn-form .elementor-field-group .elementor-field-textual{font:inherit;font-size:1rem;color:var(--marfil);background:transparent!important;border:0!important;border-bottom:1px solid rgba(242,232,221,.45)!important;border-radius:0!important;padding:1.4rem 0 .55rem!important;min-height:0;box-shadow:none!important;outline:none;transition:border-color .4s;width:100%}
.acn-form .elementor-field-group .elementor-field-textual:focus{border-bottom-color:var(--marfil)!important}
.acn-form .elementor-field-group:not(.elementor-field-type-acceptance)>.elementor-field-label{position:absolute;left:0;top:1.4rem;margin:0;padding:0;font-family:var(--sans);font-weight:300;font-size:1rem;color:var(--marfil);opacity:.75;pointer-events:none;transform-origin:left top;transition:transform .5s var(--ease),opacity .5s;line-height:1.65}
.acn-form .elementor-field-group:is(:focus-within,:has(.elementor-field-textual:not(:placeholder-shown)),.elementor-field-type-select)>.elementor-field-label{transform:translateY(-1.35rem) scale(.72);opacity:.85;letter-spacing:.06em}
.acn-form .elementor-field-textual::placeholder{color:transparent}
.acn-form textarea.elementor-field-textual{resize:vertical;min-height:6.5rem}
.acn-form .elementor-select-wrapper{position:relative;width:100%}
.acn-form .elementor-select-wrapper select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:2rem!important}
.acn-form .elementor-select-wrapper .select-caret-down-wrapper{position:absolute;right:.6rem;top:auto;bottom:.9rem;transform:none;color:var(--marfil);font-size:.7rem;pointer-events:none;inset-inline-end:.6rem}
.acn-form .elementor-select-wrapper .select-caret-down-wrapper>*{display:none}
.acn-form .elementor-select-wrapper .select-caret-down-wrapper::after{content:"";display:block;width:7px;height:7px;border-right:1.2px solid currentColor;border-bottom:1.2px solid currentColor;transform:translateY(-3px) rotate(45deg)}
.acn-form select option{color:var(--profundo);background:var(--marfil)}
.acn-form .elementor-field-type-acceptance .elementor-field-subgroup{display:block}
.acn-form .elementor-field-type-acceptance .elementor-field-option{display:flex;gap:.8rem;align-items:flex-start;font-size:.86rem;opacity:.92}
.acn-form .elementor-field-type-acceptance input{accent-color:var(--marfil);width:1.05rem;height:1.05rem;margin:.22rem 0 0;flex:0 0 auto}
.acn-form .elementor-field-type-acceptance label{font-family:var(--sans);font-weight:300;font-size:.86rem;color:var(--marfil);line-height:1.5}
.acn-form .elementor-field-type-acceptance a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.acn-form .e-form__buttons{grid-column:1 / -1;padding:0!important;margin:0!important;justify-content:flex-start!important;align-items:flex-start!important;width:100%!important}
.acn-form .elementor-button[type=submit]{position:relative;display:inline-flex;align-items:center;gap:.9em;font-family:var(--sans)!important;font-weight:400!important;font-size:.72rem!important;letter-spacing:.16em!important;text-transform:uppercase;padding:1.2em 2.1em!important;border-radius:999px!important;border:1px solid var(--marfil)!important;background:var(--marfil)!important;color:var(--terracota)!important;cursor:pointer;overflow:hidden;isolation:isolate;transition:color .6s var(--ease),border-color .6s var(--ease);line-height:1.35;min-height:0}
.acn-form .elementor-button[type=submit]::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--profundo);border-radius:inherit;transform:translateY(101%);transition:transform .6s var(--ease)}
.acn-form .elementor-button[type=submit]:hover{color:var(--marfil)!important;border-color:var(--marfil)!important;box-shadow:inset 0 0 0 .5px var(--marfil)}
.acn-form .elementor-button[type=submit]:hover::before{transform:none}
.acn-form .elementor-button[type=submit] .elementor-button-content-wrapper::after{content:"";width:1.15em;height:1.15em;background:currentColor;-webkit-mask:var(--ico-flecha) center/contain no-repeat;mask:var(--ico-flecha) center/contain no-repeat;transition:transform .6s var(--ease)}
.acn-form .elementor-button[type=submit]:hover .elementor-button-content-wrapper::after{transform:translateX(4px) rotate(-45deg)}
.acn-form .elementor-button[type=submit] .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:.9em;flex-direction:row!important}
.acn-form .elementor-message{grid-column:1 / -1;margin-top:1rem;font-family:var(--serif);font-style:italic;font-size:1.4rem;color:var(--marfil)}
.acn-form .elementor-message::before{display:none}
.acn-form .elementor-message.elementor-message-danger{font-family:var(--sans);font-style:normal;font-size:.9rem}
.acn-form .elementor-error .elementor-field-textual{border-bottom-color:#F2E8DD!important}
.acn-form .elementor-field-group .elementor-form-help-inline,.acn-form .elementor-field-group .elementor-message{font-size:.8rem;color:var(--marfil)}
@media (max-width:520px){.acn-form .elementor-form-fields-wrapper{grid-template-columns:1fr}}

/* ---------- Secciones de la home: estructura de Elementor equivalente a la del prototipo ---------- */
#av-valoracion{isolation:isolate}
#av-umbral .au-pin{display:block}
.au-txt{display:none}
.anim .au-txt{display:block}
.au-caption>.au-frase{margin:0}
.au-der-txt{display:flex}
#av-claim{display:flex}
#av-claim .elementor-widget-heading p,#av-claim>.elementor-widget-heading .elementor-heading-title{margin:0;font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(2rem,1.1rem + 3vw,4.4rem);line-height:1.05;letter-spacing:-.025em;text-align:center}
.av90-txt>.idx{display:block}
.av90-acciones{display:flex}
.amt-pasos{display:grid}
.amt-paso>.amt-num{display:block}
.amt-paso>.label{margin-top:auto!important}
.ver-mas{display:flex}
.enlace-sub--claro{color:var(--marfil)!important}
.metodo{background:var(--profundo);color:var(--marfil);padding:var(--seccion) var(--gutter)}
.metodo .cabeza h2{color:var(--marfil)}
/* El espacio: la galería de Elementor (sin JS se ve como rejilla) */
.ae-carrusel .elementor-image-gallery .gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:0 var(--gutter)}
.ae-carrusel .gallery-item{margin:0!important;padding:0!important;max-width:none!important;width:auto!important}
.ae-carrusel .gallery-item img{width:100%;aspect-ratio:4/5;object-fit:cover;border:0!important;border-radius:6px}
.ae-carrusel .gallery br{display:none}
.ae-carrusel.is-listo{display:block}
.ae-estancias{display:flex}
/* Málaga */
.amg-cont{display:block}
.amg-cont .idx-fila{display:flex}
/* Testimonios */
.ats-grid{display:grid}
.ats-card{display:flex}
.ats-card .ats-fig{margin-top:auto;display:flex;align-items:center;gap:1rem;border-top:1px solid var(--linea-clara);padding-top:1.4rem;transition:border-color .6s var(--ease)}
.ats-fig>.elementor-widget-image{flex:0 0 auto}
.ats-fig img{width:52px!important;height:52px!important;border-radius:50%;object-fit:cover}
.ats-quien p{margin:0;line-height:1.4}
.ats-quien strong{display:block;font-weight:400;font-size:.95rem}
.ats-quien span{display:block;font-size:.82rem;opacity:.8;white-space:nowrap}
.ats-cita{margin:1.2rem 0 2rem!important}
.ats-cita blockquote{margin:0}
@media (hover:hover) and (pointer:fine){.ats-card:hover .ats-fig{border-top-color:var(--linea)}}
@media (max-width:1200px){.ats-card .ats-fig{gap:.8rem}.ats-fig img{width:44px!important;height:44px!important}}
/* Programas */
.apr-pila{display:flex}
.apr-card{display:flex}
.apr-1{--i:0}.apr-2{--i:1}.apr-3{--i:2}
.apr-cab{display:flex}
.apr-cab-der{display:flex}
.apr-cuerpo{display:grid}
.apr-izq{display:flex}
.apr-card h3 .elementor-heading-title,.apr-card h3{font-size:clamp(2.1rem,1.4rem + 2vw,3.8rem);line-height:.98;letter-spacing:-.025em}
.apr-card .apr-izq>.elementor-widget-heading{margin-bottom:1.2rem!important}
.apr-desc p{max-width:23em;font-size:1rem;line-height:1.6}
/* Tienda (home) */
/* Móvil: nombre del producto entero (sin partir en dos) y «Ver producto» debajo */
@media (max-width:767px){
  .at-prod figcaption{flex-direction:column!important;align-items:flex-start;gap:.7rem}
  .at-prod h3{text-wrap:pretty}
  .at-prod .ver{opacity:1;transform:none}
}
/* El espacio y la tienda: solo el círculo «Ver» / «Arrastra» sobre el puntero, sin la flecha ni la lupa del sistema */
@media (hover:hover) and (pointer:fine){.js [data-cursor],.js [data-cursor] *{cursor:none!important}}
.at-grid{display:grid}
.at-txt>.idx{display:block}
/* Banda de llamada y cabeceras de página */
.pg-cab{display:block}
.pg-cab .pg-migas{display:flex}
.cta-banda{display:block}
.cta-banda>.btn{justify-content:center}
.cta-banda>.elementor-widget-button{display:flex;justify-content:center}
.cabeza{display:block}

/* ---------- Páginas interiores ---------- */
.ns-historia{display:block}
.ns-historia>.elementor-widget-heading.t-xl{margin-top:1.4rem!important}
.ns-iso{position:absolute!important}
.ns-mv{display:grid}
.ns-mv>article{display:block}
.ns-valores{display:block}
.nv-textos{display:grid}
.nv-textos>.e-con{border-top:1px solid var(--linea);padding-top:1.4rem;display:block}
.nv-textos h3{font-size:clamp(1.6rem,1.3rem + .8vw,2.2rem);color:var(--terracota);margin-bottom:.7rem}
.ns-equipo{display:block}
.eq-grid{display:grid}
.eq-card{display:block}
.eq-card h3{font-size:clamp(1.5rem,1.25rem + .7vw,2rem);color:var(--terracota);margin:1.3rem 0 .3rem}
.eq-card>.elementor-widget-text-editor p{margin-top:.8rem;font-size:.95rem;max-width:22em}
.sv-lista{display:block}
.sv-bloque{display:grid}
.sv-txt{display:block}
.sv-txt>.btn{display:inline-flex}
.sv-txt h3{font-family:var(--sans)!important;font-weight:400;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--terracota);margin:2rem 0 .8rem}
.sv-txt .sv-para p{margin:0}
.pr-valoracion{display:grid}
.pr-llevas{display:block}
.pr-programas{display:block}
.tn-bar,.tn-lista,.tn-cabeza{display:block}
.ct-datos{display:grid}
.legal{display:block}
.e404{min-height:72svh;display:flex;flex-direction:column!important;align-items:center;justify-content:center}
.e404-acc{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.2rem 2rem;margin-top:2.2rem!important}
/* Preguntas: widget Plegable de Elementor con el aspecto del prototipo */
/* sin ícono elegido Elementor no pinta el .elementor-toggle-icon: el círculo con el «+» lo dibuja ::after del título
   (dos líneas con degradados; al abrir, la vertical se pliega y queda el «−») */
.faq-lista .elementor-tab-title::after{content:"";order:3;width:2.4rem;height:2.4rem;border-radius:50%;border:1px solid var(--linea);box-sizing:border-box;
  background:linear-gradient(var(--terracota),var(--terracota)) center/11px 1px no-repeat,linear-gradient(var(--terracota),var(--terracota)) center/1px 11px no-repeat;
  transition:background-color .4s,border-color .4s,background-size .5s var(--ease)}
.faq-lista .elementor-tab-title:hover::after{border-color:var(--terracota)}
.faq-lista .elementor-tab-title.elementor-active::after{background:linear-gradient(var(--marfil),var(--marfil)) center/11px 1px no-repeat,linear-gradient(var(--marfil),var(--marfil)) center/1px 0 no-repeat,var(--terracota);border-color:var(--terracota)}
.faq-lista .elementor-tab-title{grid-template-columns:2.6rem 1fr 2.4rem}
.faq-lista .elementor-toggle-title{cursor:pointer}
.faq-lista .elementor-tab-title:focus-within{outline:none}
.faq-lista .elementor-toggle-title:focus-visible{outline:1.5px solid var(--terracota);outline-offset:4px;border-radius:2px}
/* el relleno va en el texto, no en el contenedor que Elementor despliega: así el despliegue es suave y no salta al final */
.faq-lista .elementor-tab-content{padding:0!important;overflow:hidden}
.faq-lista .elementor-tab-content>*{padding:0 3.4rem 0 3.6rem;max-width:44em}
.faq-lista .elementor-tab-content>:last-child{padding-bottom:1.5rem}
@media (max-width:960px){.faq-lista .elementor-tab-content>*{padding-right:0}}
.faq{display:grid}
.faq-lista .elementor-toggle{border-top:1px solid var(--linea);counter-reset:faq}
.faq-lista .elementor-toggle-item{border-bottom:1px solid var(--linea);margin:0!important;counter-increment:faq}
.faq-lista .elementor-tab-title{display:grid;grid-template-columns:2.6rem 1fr 2.4rem;align-items:center;gap:1rem;padding:1.3rem 0!important;border:0!important;cursor:pointer;font-family:var(--serif);font-weight:300;font-size:clamp(1.25rem,1.05rem + .6vw,1.65rem);line-height:1.2;color:var(--profundo)}
.faq-lista .elementor-tab-title::before{content:counter(faq,decimal-leading-zero);font-family:var(--sans);font-weight:400;font-size:.68rem;letter-spacing:.22em;color:var(--terracota);order:0}
.faq-lista .elementor-toggle-title{order:1;color:inherit!important;font:inherit;text-decoration:none}
.faq-lista .elementor-toggle-icon{order:2;width:2.4rem!important;height:2.4rem;border-radius:50%;border:1px solid var(--linea);position:relative;transition:background .4s,border-color .4s;float:none!important;margin:0!important;display:block!important}
.faq-lista .elementor-toggle-icon>*{display:none!important}
.faq-lista .elementor-toggle-icon::before,.faq-lista .elementor-toggle-icon::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1px;background:var(--terracota);transform:translate(-50%,-50%);transition:transform .5s var(--ease),background .4s}
.faq-lista .elementor-toggle-icon::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-lista .elementor-tab-title.elementor-active .elementor-toggle-icon{background:var(--terracota);border-color:var(--terracota)}
.faq-lista .elementor-tab-title.elementor-active .elementor-toggle-icon::before,.faq-lista .elementor-tab-title.elementor-active .elementor-toggle-icon::after{background:var(--marfil)}
.faq-lista .elementor-tab-title.elementor-active .elementor-toggle-icon::after{transform:translate(-50%,-50%) rotate(0deg)}
.faq-lista .elementor-tab-content{border:0!important;font-size:.97rem;color:inherit}
.faq-lista h3.elementor-tab-title,.faq-lista .elementor-tab-title :is(h3,a){font-family:var(--serif);font-weight:300}
/* Ficha de producto: la descripción de WooCommerce con el tamaño de .lead */
.pd{display:grid!important}
.pd-grid{display:grid}
.pd-info{display:block}
.pd-desc p{margin:0}
.pd-acciones{display:flex}
.pd-acciones .enlace-sub{display:inline-block}
.pd-relacion{display:block}

/* ---------- Cortina al llegar desde otra página: la sube el CSS (sin depender del JS) ---------- */
.av-llega #av-paso{visibility:visible;animation:av-paso-sale .55s cubic-bezier(.77,0,.18,1) .3s forwards}
.av-llega #av-paso .ap-logo{animation:av-paso-logo .3s ease-in .1s forwards}
.av-llega #av-paso .ap-linea i{transform:none}
@keyframes av-paso-sale{from{clip-path:inset(0 0 0 0)}to{clip-path:inset(0 0 100% 0);visibility:hidden}}
@keyframes av-paso-logo{to{opacity:0;transform:translateY(-12px)}}
@media (prefers-reduced-motion:reduce){.av-llega #av-paso{display:none}}

/* ---------- Editor de Elementor: todo visible para editar (el JS no corre ahí) ---------- */
.elementor-editor-active .au-txt{display:block;position:relative}
.elementor-editor-active #av-umbral .au-pin{height:auto;min-height:100svh}
.elementor-editor-active .au-marco{opacity:1!important;visibility:visible!important}

/* ---------- Aviso de cookies (Complianz) con la tipografía del sitio ---------- */
/* Móvil: mientras se ve el aviso, «volver arriba» se queda por encima (--av-aviso lo mide avero.js) */
/* y al final de la página, por encima de la franja de legales (--av-pie) */
@media (max-width:767px){#av-arriba{bottom:calc(clamp(1rem,2.4vw,2rem) + max(var(--av-aviso,0px),var(--av-pie,0px)))}}
.cmplz-cookiebanner{font-family:var(--sans)!important;transition:opacity .8s var(--ease),translate .8s var(--ease),visibility 0s}
/* la primera vez, el aviso espera a que termine el preloader (av-intro se quita al terminar) */
.av-intro .cmplz-cookiebanner{opacity:0!important;visibility:hidden!important;translate:0 18px;pointer-events:none}
.legal-cmplz #cmplz-document,.legal-cmplz .cmplz-document{max-width:none;font-family:var(--sans);font-weight:300;font-size:.97rem;line-height:1.65;color:var(--profundo)}
.legal-cmplz h2,.legal-cmplz h3{font-family:var(--serif);font-weight:300;color:var(--terracota);font-size:clamp(1.5rem,1.25rem + .8vw,2.1rem);margin:2.6rem 0 .9rem}
.legal-cmplz h3{font-size:1.3rem;margin-top:1.6rem}
.legal-cmplz p+p{margin-top:.9rem}
.legal-cmplz a{color:var(--terracota)}
.legal-cmplz details,.legal-cmplz .cmplz-dropdown{border:0;border-bottom:1px solid var(--linea);background:none}

/* ---------- Nosotros ---------- */
/* Nuestra historia (móvil): cada cifra centrada en altura con su texto */
@media (max-width:640px){.ns-cifras li,.ns-cifras li+li{align-items:center}}
/* Equipo (móvil): cada persona centrada (foto, nombre, cargo y texto), retrato más chico y más aire entre una y otra */
@media (max-width:520px){
  .eq-grid{row-gap:4.5rem}
  .eq-card{text-align:center}
  .eq-foto{width:min(64%,240px);margin-inline:auto}
  .eq-card>.elementor-widget-text-editor p{margin-inline:auto}
}

/* ---------- Servicios: barra de disciplinas fija bajo la cabecera (avero.js marca la que se está viendo) ---------- */
.sv-barra{position:sticky!important;top:var(--nav);z-index:40;background:var(--marfil);padding:1rem var(--gutter);border-bottom:1px solid transparent;transition:border-color .4s}
.sv-barra.is-fija{border-bottom-color:var(--linea)}
.sv-barra .sv-indice{margin:0!important}
.sv-indice a.is-activa{background:var(--terracota);border-color:var(--terracota);color:var(--marfil)}
.sv-bloque{scroll-margin-top:calc(var(--nav) + 7rem)}
.sv-lista{padding-top:calc(var(--seccion) * .6)!important}
@media (max-width:767px){
  .sv-barra{padding:.75rem 0}
  /* una sola línea que se desliza con el dedo */
  .sv-indice{flex-wrap:nowrap!important;justify-content:flex-start!important;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:0 var(--gutter)!important;scroll-padding-inline:var(--gutter);
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 var(--gutter),#000 calc(100% - var(--gutter)),transparent);mask-image:linear-gradient(90deg,transparent,#000 var(--gutter),#000 calc(100% - var(--gutter)),transparent)}
  .sv-indice::-webkit-scrollbar{display:none}
  .sv-indice a{flex:none!important;white-space:nowrap;padding:.6rem 1rem;font-size:.85rem}
  .sv-bloque{scroll-margin-top:calc(var(--nav) + 6rem)}
}

/* ---------- Menú: la máscara de cada opción (entrada desde abajo) cortaba la cola de la «g» de Programas ---------- */
.amn-nav a{padding-bottom:.14em;transform:translateY(110%)}
#av-menu.is-open .amn-nav a{transform:none}
@media (max-width:860px){.amn-nav li+li{margin-top:.75rem}}

/* ---------- Programas: «Primera visita» centrada en altura con la lista de pasos ---------- */
@media (min-width:861px){.pr-valoracion{align-items:center}}

/* ---------- Preguntas en móvil: número más estrecho; la respuesta alineada con la pregunta (2rem + .8rem) ---------- */
@media (max-width:520px){
  .faq-lista .elementor-tab-title{grid-template-columns:2rem 1fr 2.2rem;gap:.8rem}
  .faq-lista .elementor-tab-title::after{width:2.2rem;height:2.2rem}
  .faq-lista .elementor-tab-content>*{padding-left:2.8rem}
}

/* ---------- Tienda ---------- */
/* cabecera más equilibrada: menos aire entre el texto y el Avero Bar */
.tn-bar{padding-top:calc(var(--seccion) * .3)!important}
.tn-flechas{display:none}
/* móvil: productos en una línea, más chicos, que se deslizan con el dedo o con las flechas */
@media (max-width:767px){
  .tn-desliza .tn-grid{display:flex!important;flex-direction:row!important;gap:1rem!important;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;
    scrollbar-width:none;margin:0 calc(var(--gutter) * -1)!important;padding:0 var(--gutter)!important;scroll-padding-inline:var(--gutter)}
  .tn-desliza .tn-grid::-webkit-scrollbar{display:none}
  .tn-desliza .tn-prod{flex:0 0 56%!important;scroll-snap-align:start}
  .tn-desliza .tn-prod h2{font-size:1.3rem}
  .tn-desliza .tn-prod p:not(.label){font-size:.88rem}
  .tn-flechas{display:flex;gap:.8rem;margin-top:1.6rem!important}
  .tn-desliza.sin-desliz .tn-flechas{display:none}
}
/* Ficha de producto: «También te puede gustar» más separado de la ficha y en una fila de 4 (aunque haya 3) */
.pd-relacion{padding-top:calc(var(--seccion) * .8)!important}
@media (min-width:768px){.pd-otros{--g:clamp(1.2rem,2.4vw,2.4rem);gap:3rem var(--g)!important;grid-template-columns:repeat(auto-fit,calc((100% - 3 * var(--g)) / 4))!important;justify-content:center}}

/* ---------- Menú: pie con la dirección, la hora (centrada) e Instagram con su ícono ---------- */
.amn-pie{display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center}
.amn-pie>:nth-child(2){justify-self:center;text-align:center}
.amn-pie>:nth-child(3){justify-self:end}
.amn-ig{display:inline-flex;align-items:center;gap:.55em}
.amn-ig svg{flex:none;transition:transform .5s var(--ease)}
.amn-ig:hover svg{transform:rotate(-8deg) scale(1.08)}
@media (max-width:640px){
  .amn-pie{grid-template-columns:1fr;justify-items:center;text-align:center;gap:.8rem}
  .amn-pie>:nth-child(3){justify-self:center}
}

/* ---------- Contacto: el mapa bloqueado hasta aceptar las cookies de Google, con el aspecto de la web ---------- */
/* Complianz mete el iframe en un div sin alto (el mapa quedaba de 150 px al aceptar): ocupa toda la caja */
.ct-mapa{position:relative}
.ct-mapa .cmplz-placeholder-parent{position:absolute!important;inset:0;height:auto!important}
.ct-mapa .cmplz-placeholder-parent,.ct-mapa .cmplz-placeholder-element:not(.cmplz-activated){background-image:none!important;background-color:var(--arena)!important}
.ct-mapa .cmplz-placeholder-parent:has(.cmplz-blocked-content-notice)::before{content:"";position:absolute;left:50%;top:38%;width:clamp(44px,5vw,64px);aspect-ratio:699/862;transform:translate(-50%,-50%);
  background:var(--terracota);-webkit-mask:var(--ico-iso,none) center/contain no-repeat;mask:var(--ico-iso,none) center/contain no-repeat;opacity:.9;pointer-events:none;z-index:1}
.ct-mapa .cmplz-blocked-content-notice{position:absolute!important;left:50%!important;top:62%!important;bottom:auto!important;transform:translate(-50%,-50%)!important;z-index:2;
  max-width:calc(100% - 2.4rem)!important;width:max-content!important;padding:1.05em 1.8em!important;margin:0!important;border:1px solid var(--terracota)!important;border-radius:999px!important;
  background:transparent!important;color:var(--terracota)!important;font-family:var(--sans)!important;font-weight:400!important;font-size:.7rem!important;letter-spacing:.16em!important;
  text-transform:uppercase;line-height:1.5!important;text-align:center;white-space:normal;text-wrap:balance;cursor:pointer;transition:background .4s,color .4s}
.ct-mapa .cmplz-blocked-content-notice:hover,.ct-mapa .cmplz-blocked-content-notice:focus-visible{background:var(--terracota)!important;color:var(--marfil)!important}
@media (max-width:640px){
  .ct-mapa .cmplz-placeholder-parent:has(.cmplz-blocked-content-notice)::before{top:30%;width:40px}
  .ct-mapa .cmplz-blocked-content-notice{top:66%!important;font-size:.62rem!important;letter-spacing:.12em!important;padding:.95em 1.4em!important}
}

/* =====================================================================
   Movimiento reducido: todo quieto
   ===================================================================== */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  body::after,.ah-hora::before,.au-desliza i::after{animation:none}
  .ae-pista{animation:none}
  .ae-carrusel{overflow-x:auto}
  *{transition-duration:.01ms !important}
}/* End custom CSS */