/* =========================================================================
   BYMADA 2.0 — Ajustes finales (v2.0.2, 21-oct-2026)
   Archivo independiente de bymada.css (que se genera desde Fuente/build),
   para que una regeneración no borre estos cambios. Todo va acotado a las
   clases de cada componente; no hay reglas globales sobre img.
   ========================================================================= */

/* 1 · Indicador del mouse del banner de Inicio: ahora es un enlace a #contenido */
.hero-scroll{pointer-events:auto;cursor:pointer;z-index:6;text-decoration:none;transition:border-color var(--t),transform var(--t)}
.hero-scroll:hover,.hero-scroll:focus-visible{border-color:rgba(255,255,255,.75)}
.hero-scroll:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}
#filosofia{scroll-margin-top:90px}
/* La franja animada sube sobre el banner con un margen transparente: que no tape el clic del mouse */
.marquee-wrap{pointer-events:none}
.marquee-wrap .marquee{pointer-events:auto}

/* 2 · Fotos informativas: cuadradas/rectangulares con esquinas redondeadas
       (se conservan arcos y fotos de banners, que son composiciones aprobadas) */
.historia-media .hm-sub{border-radius:var(--radius-lg)}
.tl-photo{border-radius:var(--radius-lg)}

/* 6 · Botón del juego: de círculo a cuadrado redondeado (mismo pulso y color) */
.play-ring{border-radius:var(--radius-lg)}

/* 3 y 5C · Banners internos centrados, sin foto lateral (Servicios, Contacto) */
.page-hero--center .page-hero-grid.e-con{--e-con-grid-template-columns:1fr;--justify-items:center}
.page-hero--center .page-hero-grid:not(.e-con){grid-template-columns:1fr;justify-items:center}
.page-hero--center .page-hero-copy.e-con{--align-items:center;--text-align:center;width:100%;max-width:860px;margin-inline:auto}
.page-hero--center .page-hero-copy:not(.e-con){align-items:center;text-align:center;width:100%;max-width:860px;margin-inline:auto}
.page-hero--center .page-hero-copy{text-align:center}
.page-hero--center .page-hero-copy > .elementor-element{align-self:center}
.page-hero--center .page-hero-copy .eyebrow{justify-content:center}
.page-hero--center .page-hero-copy .lead{margin-inline:auto;max-width:640px}
.page-hero--center .page-hero-media-w{display:none}

/* 5 · Contacto: lista «No necesitas…» con X en lugar de check */
.no-need-x .no-need-list .bm-ico{background:#FDE8EB;color:#D92D3A;padding:5px}

/* 4 · Resultados: casos de cliente (maquetación de la cliente) */
.cases-list.e-con{--gap:56px 56px;--row-gap:56px}
.cases-list:not(.e-con){display:flex;flex-direction:column;gap:56px}
.case{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:"proj proj proj proj proj id id id id id id id" "gal gal gal gal gal gal gal testi testi testi testi testi";gap:18px;align-items:stretch}
.case-proj{grid-area:proj;background:var(--lavender);border-radius:var(--radius-lg);padding:clamp(24px,3vw,36px)}
.case-proj-title{font-family:var(--font-display);font-weight:700;font-size:clamp(1.35rem,2.2vw,1.75rem);line-height:1.2;color:var(--purple-main);margin:0 0 14px}
.case-proj-text{margin:0;color:var(--text-dark);font-size:var(--fs-note);line-height:1.7}
.case-id{grid-area:id;display:flex;align-items:center;gap:clamp(16px,2vw,26px);background:var(--lavender);border-radius:var(--radius-lg);padding:clamp(20px,2.4vw,28px)}
.case-photo{flex:none;width:clamp(96px,11vw,140px);aspect-ratio:4/5;border-radius:var(--radius-lg);overflow:hidden;background:var(--purple-main);box-shadow:var(--shadow-card)}
.case-photo img{width:100%;height:100%;object-fit:cover;display:block}
.case-photo.is-initials{display:grid;place-items:center;color:#fff;font-family:var(--font-display);font-weight:700;font-size:2rem}
.case-name{font-family:var(--font-display);font-weight:700;font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.15;color:var(--purple-main);margin:0 0 8px}
.case-ctx{margin:0;color:var(--text-dark);font-size:var(--fs-note);line-height:1.6}
.case-gal{grid-area:gal;position:relative;display:flex;align-items:center;gap:10px;background:var(--lavender);border-radius:var(--radius-lg);padding:22px 14px}
.case-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;flex:1;min-width:0;scroll-behavior:smooth}
.case-track::-webkit-scrollbar{display:none}
.case-shot{flex:0 0 calc((100% - 28px)/3);margin:0;aspect-ratio:3/4;border-radius:var(--radius-md);overflow:hidden;scroll-snap-align:start;background:#fff}
.case-shot img{width:100%;height:100%;object-fit:cover;display:block}
.case-arrow{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--purple-dark);background:transparent;border:0;cursor:pointer;font-size:1.6rem;transition:background var(--t),opacity var(--t)}
.case-arrow:hover{background:rgba(109,1,200,.08)}
.case-arrow:disabled{opacity:.3;cursor:default}
[data-bm-scroller].is-static .case-arrow{visibility:hidden}
.case-testi{grid-area:testi;position:relative;background:var(--purple-dark);color:#fff;border-radius:var(--radius-lg);padding:clamp(24px,2.6vw,32px);box-shadow:var(--shadow-hover);display:flex;flex-direction:column}
.case-testi .tq{position:absolute;right:22px;top:18px;font-size:2.4rem;color:rgba(255,255,255,.12)}
.case-testi-author{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:0 40px 14px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.case-av{width:46px;height:46px;border-radius:50%;overflow:hidden;flex:none;background:var(--yellow);color:var(--purple-dark);display:grid;place-items:center;font-family:var(--font-display);font-weight:700}
.case-av img{width:100%;height:100%;object-fit:cover;display:block}
.case-testi-author strong{display:block;font-family:var(--font-display);font-size:1rem}
.case-testi-author .role{display:block;font-size:.8rem;color:rgba(255,255,255,.6)}
.case-testi-text{margin:0;font-size:var(--fs-note);line-height:1.75;color:rgba(255,255,255,.88)}
/* Sin proyectos ni galería: cliente + testimonio lado a lado */
.case--compact{grid-template-areas:"id id id id id testi testi testi testi testi testi testi"}
.case--compact .case-id{flex-direction:row;align-items:center}
.case-photo.is-initials{width:clamp(80px,8vw,104px);font-size:1.7rem}
.case.has-proj:not(.has-gal){grid-template-areas:"id id id id id id id testi testi testi testi testi" "proj proj proj proj proj proj proj testi testi testi testi testi"}
.case.has-gal:not(.has-proj){grid-template-areas:"id id id id id id id testi testi testi testi testi" "gal gal gal gal gal gal gal testi testi testi testi testi"}

/* 4 · Resultados: testimonios en carrusel de tarjetas con flechas */
.tcards-row{display:flex;align-items:center;gap:10px}
.tcards-row-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;flex:1;min-width:0;padding:14px 4px 22px;scroll-behavior:smooth}
.tcards-row-track::-webkit-scrollbar{display:none}
.tcards-row .tcard{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start}
.tcards-row .tcard:hover{transform:translateY(-4px)}

@media (max-width:1024px){
  .case{grid-template-columns:1fr 1fr;grid-template-areas:"id id" "proj testi" "gal gal"}
  .case--compact{grid-template-areas:"id testi"}
  .case.has-proj:not(.has-gal){grid-template-areas:"id id" "proj testi"}
  .case.has-gal:not(.has-proj){grid-template-areas:"id testi" "gal gal"}
  .tcards-row .tcard{flex-basis:calc((100% - 24px)/2)}
}
@media (max-width:767px){
  .case,.case--compact,.case.has-proj:not(.has-gal),.case.has-gal:not(.has-proj){display:flex;flex-direction:column;gap:14px}
  .case-id{align-items:center}
  .case--compact .case-id{flex-direction:row;align-items:center}
  .case-shot{flex-basis:calc((100% - 14px)/2)}
  .case-gal{padding:16px 6px}
  .case-arrow{width:34px;height:34px}
  .tcards-row{gap:4px}
  .tcards-row .tcard{flex-basis:88%}
}
@media (prefers-reduced-motion:reduce){.case-track,.tcards-row-track{scroll-behavior:auto}}

/* 5E · Contacto: frase de Walt Disney (mismo componente que «Filosofía BYMADA», cita larga) */
.filo-quote--long{font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.3;max-width:980px;--bm-mw:980px}
.filo-band .filo-quote--long + .elementor-widget .filo-mission,.filo-band .filo-quote--long ~ .filo-mission{margin-top:10px}

/* =========================================================================
   v2.0.6 · Resultados: testimonio destacado (Liz) + carrusel, según la
   maquetación de la cliente. Dos paneles lavanda que encajan como piezas:
   [Proyectos | Cliente] arriba y [Carrusel | Testimonio morado] abajo.
   ========================================================================= */
.rf{--g:16px;--r:var(--radius-lg);--lav:var(--lavender);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);row-gap:var(--g);align-items:stretch}
.rf-proj{grid-column:1/6;grid-row:1;background:var(--lav);border-radius:var(--r) var(--r) 0 0;padding:clamp(28px,3.4vw,48px) clamp(26px,3vw,44px) clamp(20px,2vw,28px)}
.rf-proj-title{font-family:var(--font-display);font-weight:700;font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.15;color:var(--purple-main);margin:0 0 18px}
.rf-proj-text{margin:0;color:var(--text-dark);font-size:var(--fs-body-sm,1rem);line-height:1.7}
.rf-id{grid-column:6/13;grid-row:1;display:flex;align-items:center;gap:clamp(18px,2.4vw,30px);background:var(--lav);border-radius:var(--r) var(--r) 0 var(--r);padding:clamp(22px,2.6vw,32px)}
.rf-photo{flex:none;width:clamp(120px,13vw,170px);aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);background:var(--purple-dark)}
.rf-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;display:block}
.rf-name{font-family:var(--font-display);font-weight:700;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.1;color:var(--purple-main);margin:0 0 12px}
.rf-ctx{margin:0;color:var(--text-dark);font-size:var(--fs-body-sm,1rem);line-height:1.6;max-width:34ch}
/* Panel A abajo: carrusel (une con «Proyectos» mediante puente + esquina cóncava) */
.rf-car{grid-column:1/8;grid-row:2;position:relative;display:flex;align-items:center;gap:6px;background:var(--lav);border-radius:0 var(--r) var(--r) var(--r);padding:clamp(18px,2.2vw,28px) clamp(8px,1vw,14px)}
.rf-car::before{content:'';position:absolute;left:0;top:calc(-1 * var(--g));height:var(--g);width:calc((100% - 6 * var(--g)) * 5 / 7 + 4 * var(--g));background:var(--lav)}
.rf-car::after{content:'';position:absolute;top:calc(-1 * var(--g));left:calc((100% - 6 * var(--g)) * 5 / 7 + 4 * var(--g));width:var(--g);height:var(--g);background:radial-gradient(circle at 100% 0,transparent calc(var(--g) - .5px),var(--lav) var(--g))}
.rf-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;flex:1;min-width:0;padding:6px 6px 16px;scroll-behavior:smooth;outline-offset:4px}
.rf-track::-webkit-scrollbar{display:none}
.rf-track:focus-visible{outline:3px solid var(--purple-vibrant);border-radius:var(--radius-md)}
.rf-card{position:relative;flex:0 0 calc((100% - 16px) / 2);scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;border-radius:var(--radius-lg);padding:22px 22px 24px;box-shadow:0 8px 14px -6px rgba(109,1,200,.14)}
.rf-card .tq{position:absolute;right:18px;top:16px;font-size:2.1rem;color:var(--lavender)}
.rf-card-author,.rf-testi-author{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:0 38px 12px 0;border-bottom:1px solid var(--lavender)}
.rf-card-author strong,.rf-testi-author strong{display:block;font-family:var(--font-display);font-size:1rem;line-height:1.25}
.rf-card-author .role{display:block;font-size:.78rem;color:var(--text-mid);line-height:1.35}
.rf-av{width:44px;height:44px;flex:none;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--purple-main);color:#fff;font-family:var(--font-display);font-weight:700;font-size:.95rem;box-shadow:0 0 0 3px var(--lavender)}
.rf-av img{width:100%;height:100%;object-fit:cover;display:block}
.rf-card .testi-stars,.rf-testi .testi-stars{margin:0 0 10px;font-size:.95rem}
.rf-card-text{margin:0;font-size:var(--fs-note,.94rem);color:var(--text-mid);line-height:1.7}
.rf-arrow{flex:none;width:42px;height:42px;border:0;border-radius:50%;background:transparent;color:var(--purple-dark);display:grid;place-items:center;font-size:1.8rem;cursor:pointer;transition:background var(--t),opacity var(--t)}
.rf-arrow:hover{background:rgba(109,1,200,.08)}
.rf-arrow:focus-visible{outline:3px solid var(--purple-vibrant);outline-offset:2px}
.rf-arrow:disabled{opacity:.28;cursor:default}
.rf-car.is-static .rf-arrow{visibility:hidden}
/* Panel B abajo: marco lavanda con el testimonio destacado (une con el bloque del cliente) */
.rf-frame{grid-column:8/13;grid-row:2;position:relative;background:var(--lav);border-radius:0 0 var(--r) var(--r);padding:clamp(12px,1.4vw,18px);display:flex}
.rf-frame::before{content:'';position:absolute;left:0;right:0;top:calc(-1 * var(--g));height:var(--g);background:var(--lav)}
.rf-frame::after{content:'';position:absolute;top:calc(-1 * var(--g));left:calc(-1 * var(--g));width:var(--g);height:var(--g);background:radial-gradient(circle at 0 100%,transparent calc(var(--g) - .5px),var(--lav) var(--g))}
.rf-testi{position:relative;flex:1;background:var(--purple-dark);color:#fff;border-radius:var(--radius-lg);padding:clamp(22px,2.4vw,30px);box-shadow:0 24px 50px rgba(45,0,67,.28)}
.rf-testi .tq{position:absolute;right:20px;top:16px;font-size:2.3rem;color:rgba(255,255,255,.12)}
.rf-testi-author{border-color:rgba(255,255,255,.12)}
.rf-testi-author .role{display:block;font-size:.78rem;color:rgba(255,255,255,.6)}
.rf-av--light{background:var(--yellow);color:var(--purple-dark);box-shadow:0 0 0 3px rgba(255,255,255,.18)}
.rf-testi-text{margin:0;font-size:var(--fs-note,.94rem);line-height:1.75;color:rgba(255,255,255,.88)}
.rf--no-car .rf-frame{grid-column:6/13}
.rf--no-car .rf-proj{grid-row:1/3;border-radius:var(--r)}
.rf--no-car .rf-frame::after{display:none}
.results-feature.e-con{--padding-top:clamp(60px,7vw,100px);--padding-bottom:clamp(60px,7vw,100px)}

@media (max-width:1024px){
  .rf{display:flex;flex-direction:column;gap:14px}
  .rf-id{order:1;border-radius:var(--r)}
  .rf-frame{order:2;border-radius:var(--r)}
  .rf-proj{order:3;border-radius:var(--r) var(--r) 0 0;padding-bottom:8px}
  .rf-car{order:4;border-radius:0 0 var(--r) var(--r);margin-top:-14px}
  .rf--no-car .rf-proj{border-radius:var(--r);padding-bottom:clamp(20px,2vw,28px)}
  .rf-car::before,.rf-car::after,.rf-frame::before,.rf-frame::after{display:none}
}
@media (max-width:767px){
  .rf-id{flex-direction:row;align-items:center}
  .rf-photo{width:110px}
  .rf .rf-shot{flex-basis:calc((100% - 12px) / 2)}
  .rf-car{padding:14px 2px;gap:0}
  .rf-arrow{width:34px;height:34px;font-size:1.5rem}
}
@media (max-width:420px){
  .rf-id{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){.rf-track{scroll-behavior:auto}}
/* Galería fotográfica del caso destacado (2.0.8): fotos, no testimonios */
.rf-gal-track{gap:12px;padding:4px 4px 12px}
.rf-shot{position:relative;flex:0 0 calc((100% - 24px) / 3);margin:0;aspect-ratio:3/5;border-radius:var(--radius-lg);overflow:hidden;scroll-snap-align:start;background:#fff;box-shadow:0 8px 14px -6px rgba(109,1,200,.18)}
.rf-shot a{display:block;width:100%;height:100%;cursor:zoom-in}
.rf-shot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease,ease)}
.rf-shot a:hover img{transform:scale(1.04)}
.rf-shot a:focus-visible{outline:3px solid var(--purple-vibrant);outline-offset:-3px;border-radius:var(--radius-lg)}
.rf-shot-cap{position:absolute;left:8px;right:8px;bottom:8px;margin:0;padding:5px 9px;border-radius:var(--radius-sm);background:rgba(255,255,255,.9);color:var(--purple-dark);font-size:.7rem;font-weight:600;line-height:1.3;pointer-events:none}
@media (prefers-reduced-motion:reduce){.rf-shot img{transition:none}}


/* v2.0.6 · Contacto: mouse en el banner interno, por encima de la franja animada */
.page-hero .hero-scroll--page{bottom:84px;display:flex}
.page-hero:has(.hero-scroll--page) .page-hero-grid{padding-bottom:78px}
@media (max-width:900px){.page-hero .hero-scroll--page{display:flex;bottom:76px}.page-hero:has(.hero-scroll--page) .page-hero-grid{padding-bottom:70px}}

/* Redes sociales del pie de página (2.1.0) — mismo estilo que los iconos de Contacto del footer */
.footer-social{display:flex;flex-wrap:wrap;gap:12px;list-style:none;margin:24px 0 0;padding:0}
.footer-social li{margin:0}
.footer-social__link{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);color:var(--yellow);transition:background var(--t),color var(--t),transform var(--t)}
.footer-social__link svg{width:20px;height:20px;display:block}
.footer-social__link:hover{background:var(--yellow);color:var(--purple-dark);transform:translateY(-2px)}
.footer-social__link:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.footer-brand .elementor-widget-bm-social{width:100%}
@media (prefers-reduced-motion:reduce){.footer-social__link:hover{transform:none}}
