/* ============================================================
   TRAINOLOGYM — Maqueta estática (clon Figma punto a punto)
   Bootstrap 5.3 base + estilos de marca.
   ============================================================ */

/* ── Fuentes locales ─────────────────────────────────────── */
@font-face{font-family:'Kenyan Coffee';src:url('../fonts/KenyanCoffee-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Kenyan Coffee';src:url('../fonts/KenyanCoffee-Italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Kenyan Coffee';src:url('../fonts/KenyanCoffee-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Kenyan Coffee';src:url('../fonts/KenyanCoffee-BoldItalic.woff2') format('woff2');font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:'Barlow Semi Condensed';src:url('../fonts/BarlowSemiCondensed-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Barlow Semi Condensed';src:url('../fonts/BarlowSemiCondensed-400-Italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Barlow Semi Condensed';src:url('../fonts/BarlowSemiCondensed-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Barlow Semi Condensed';src:url('../fonts/BarlowSemiCondensed-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Barlow Semi Condensed';src:url('../fonts/BarlowSemiCondensed-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Radio Canada Big';src:url('../fonts/RadioCanadaBig-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Radio Canada Big';src:url('../fonts/RadioCanadaBig-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Radio Canada Big';src:url('../fonts/RadioCanadaBig-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Radio Canada Big';src:url('../fonts/RadioCanadaBig-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Hedvig Letters Sans';src:url('../fonts/HedvigLettersSans-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Oswald';src:url('../fonts/Oswald-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Bebas Neue';src:url('../fonts/BebasNeue-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}

/* ── Tokens de marca (extraídos del Figma) ─────────────────── */
:root{
  --tgy-rojo:        #b31a23;   /* ROJOCOLOR — headings hover / acento */
  --tgy-rojo-dark:   #641219;
  --tgy-naranja:     #ec5b31;
  --tgy-primary:     #fa6444;   /* Primary/500 */
  --tgy-bg:          #21272a;   /* fondo secciones oscuras */
  --tgy-bg-deep:     #000e12;   /* Text/Primary / negros profundos */
  --tgy-white:       #ffffff;
  --tgy-grey-300:    #767676;
  --tgy-sedentary:   #777d7f;
  --tgy-border:      #cdced0;

  /* Gradiente de marca (rojo oscuro -> rojo -> naranja) */
  --tgy-gradient:    linear-gradient(38.4deg, #641219 33%, #b31a23 56%, #ec5b31 80%);
  --tgy-gradient-cta:linear-gradient(20.8deg, #641219 35%, #b31a23 53%, #ec5b31 72%);

  --tgy-font-display:   'Kenyan Coffee', sans-serif;
  --tgy-font-body:      'Barlow Semi Condensed', sans-serif;
  --tgy-font-label:     'Radio Canada Big', sans-serif;
  --tgy-font-paragraph: 'Hedvig Letters Sans', serif;

  --tgy-maxw: 1226px;          /* ancho contenido (1440 - 2*107) */

  /* Bootstrap overrides */
  --bs-body-bg: var(--tgy-bg);
  --bs-body-color: #fff;
  --bs-body-font-family: var(--tgy-font-body);
}

/* ── Base ────────────────────────────────────────────────── */
*{box-sizing:border-box}
/* overflow-x SOLO en html: si se pone también en body, body se vuelve contenedor
   de scroll y rompe position:sticky (p.ej. .fplan__media). */
html{overflow-x:hidden}
body{
  font-family:var(--tgy-font-body);
  background:var(--tgy-bg);
  color:#fff;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
section{position:relative;background:var(--tgy-bg)}

/* Contenedor de marca: 1226px centrado dentro de 1440 */
.tgy-container{width:100%;max-width:var(--tgy-maxw);margin-inline:auto;padding-inline:16px}

/* WooCommerce breadcrumbs / notices bajo cabecera fija */
.tgy-main>.woocommerce-breadcrumb,
.tgy-main>.woocommerce-notices-wrapper{
  width:100%;max-width:var(--tgy-maxw);margin-inline:auto;padding-inline:16px;
}
.tgy-main>.woocommerce-breadcrumb{
  padding-top:148px;padding-bottom:24px;
  font-family:var(--tgy-font-body);font-weight:500;font-size:14px;line-height:1.4;
  color:rgba(255,255,255,.72)
}
.tgy-main>.woocommerce-breadcrumb a{color:#fff;transition:color .2s ease}
.tgy-main>.woocommerce-breadcrumb a:hover{color:var(--tgy-rojo)}
.tgy-main>.woocommerce-notices-wrapper{padding-bottom:16px}

/* ── Overline (etiqueta con punto/linea roja) ───────────────── */
.overline{
  display:flex;align-items:center;gap:12px;
  font-family:var(--tgy-font-body);font-weight:500;
  font-size:20px;line-height:28px;letter-spacing:.5px;color:#fff;
}
.overline__icon{flex-shrink:0;display:inline-flex;color:var(--tgy-rojo)}

/* ── Botones de marca ───────────────────────────────────────── */
.btn-tgy{
  --_pad-y:16px;--_pad-x:32px;
  display:inline-flex;align-items:center;justify-content:center;gap:0;
  font-family:var(--tgy-font-body);font-weight:600;font-size:19px;
  letter-spacing:.5px;line-height:24px;color:#fff;border:0;cursor:pointer;
  padding:var(--_pad-y) var(--_pad-x);border-radius:32px;
  background:var(--tgy-gradient-cta);background-size:160% 160%;background-position:0% 50%;
  transition:background-position .45s ease,transform .25s ease,filter .25s ease;
  white-space:nowrap;
}
.btn-tgy:hover{background-position:100% 50%;color:#fff;transform:scale(1.03);filter:brightness(1.07)}
.btn-tgy--red{background:var(--tgy-rojo)}
.btn-tgy--white{background:#fff;color:var(--tgy-bg)}
.btn-tgy--white:hover{color:var(--tgy-bg)}

/* Grupo CTA: botón + círculo flecha */
.cta-group{display:inline-flex;align-items:center;gap:12px}
.btn-circle{
  width:56px;height:56px;border-radius:32px;flex-shrink:0;border:0;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--tgy-rojo);color:#fff;
  transition:transform .25s ease,filter .25s ease;
}
.btn-circle:hover{transform:scale(1.06);filter:brightness(1.08)}
.btn-circle svg{width:20px;height:20px}

/* =====================================================================
   NAV (pill flotante con blur)
   ===================================================================== */
.tgy-nav{
  position:absolute;top:31px;left:50%;transform:translateX(-50%);
  width:min(1361px,calc(100% - 32px));z-index:1000;
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(0,0,0,.38);backdrop-filter:blur(6.6px);-webkit-backdrop-filter:blur(6.6px);
  border-radius:36px;
}
/* Header fijo (ajuste global header_sticky): el nav flotante se queda arriba al hacer scroll */
.tgy-nav--fixed{position:fixed;transition:background .3s ease,box-shadow .3s ease}
/* Efecto al hacer scroll (header_scrolled): más contraste sobre contenido claro */
.tgy-nav--fixed.is-scrolled{background:rgba(0,0,0,.72);box-shadow:0 12px 34px rgba(0,0,0,.28)}
.tgy-nav__logo{display:flex;align-items:center;justify-content:center;padding:12px;
  border-radius:100px;width:206px}
.tgy-nav__logo img{height:47px;width:auto;object-fit:contain}
.tgy-nav__menu{display:flex;gap:32px;align-items:center;justify-content:center;
  padding:24px 32px;border-radius:100px}
.tgy-nav__menu a{font-family:var(--tgy-font-body);font-weight:500;font-size:18px;
  color:rgba(255,255,255,.8);line-height:.9;transition:color .25s ease}
.tgy-nav__menu a.active{color:#fff;font-weight:600;font-size:20px}
.tgy-nav__menu a:hover{color:#fff}
.tgy-nav__cta{display:flex;align-items:center;justify-content:center;gap:16px;
  padding:8px 8px 8px 16px;border-radius:100px;width:auto}
.tgy-nav__cta .edu-icon{width:24px;height:24px;flex-shrink:0;color:#fff}
.tgy-nav__cta .btn-tgy{font-size:19px;background:var(--tgy-gradient-cta);background-size:160% 160%;background-position:0% 50%;transition:background-position .45s ease,filter .25s ease}
.tgy-nav__cta .btn-tgy:hover{background-position:100% 50%;transform:none;filter:brightness(1.07)}
.tgy-nav__toggle{display:none}
/* CTA clonado dentro del menú: oculto en desktop, visible solo en móvil */
.tgy-nav__menu .btn-tgy{display:none}

/* =====================================================================
   HERO
   ===================================================================== */
.hero{min-height:100vh;color:#fff;overflow:hidden;display:flex}
.hero__bg{position:absolute;inset:0;overflow:hidden}
.hero__bg img{position:absolute;top:0;left:-3.38%;width:109.49%;height:102.56%;max-width:none;object-fit:cover}
.hero__bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__bg::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.2)}
/* Degradado oscuro del hero (configurable, toggle "hero_gradient"). Portado de tema_alvaro. */
.hero__overlay{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.3) 50%,rgba(33,39,42,.95) 100%)}
.hero__inner{position:relative;z-index:2;width:100%;max-width:1440px;margin-inline:auto}

.hero__title{position:static;margin:24vh 0 96px 106px;width:675px;display:flex;flex-direction:column;align-items:flex-start}
.hero__overline{display:flex;align-items:center;gap:12px;height:56px}
.hero__overline svg{width:24px;height:12px;color:#fff}
.hero__overline span,.hero__kicker{font-family:var(--tgy-font-body);font-weight:500;font-size:20px;letter-spacing:.5px;line-height:28px;margin:0;color:#fff;text-transform:none}
.hero__h1{font-family:var(--tgy-font-display);font-weight:400;font-size:104px;line-height:93px;letter-spacing:.5px;margin:0;width:753px}
.hero__h1 .red{color:var(--tgy-rojo)}
.hero__lead{font-family:var(--tgy-font-body);font-weight:400;font-size:24px;line-height:1.3;color:#fff;margin:24px 0 0;max-width:427px}
.hero__cta{margin-top:24px}

.hero__members{position:absolute;right:7.57%;top:76.56%;display:flex;flex-direction:column;gap:12px;justify-content:center}
.hero__avatars{display:flex;align-items:center}
.hero__avatars img{width:48px;height:48px;border-radius:100px;border:1px solid #fff;object-fit:cover;background:rgba(255,255,255,.2);margin-right:-16px}
.hero__avatars img:last-child{margin-right:0}
.hero__members p{margin:0;font-family:var(--tgy-font-body);font-size:24px;line-height:1.3;color:#fff;max-width:298px}
.hero__members .num{color:var(--tgy-rojo);font-weight:500}

/* =====================================================================
   RESPONSIVE — MÓVIL (≤ 991px)
   ===================================================================== */
@media (max-width:991.98px){
  .tgy-main>.woocommerce-breadcrumb{padding-top:96px;padding-bottom:18px;font-size:13px}
  .tgy-main>.woocommerce-notices-wrapper{padding-bottom:12px}

  .tgy-nav{top:14px;width:calc(100% - 24px);max-width:calc(100% - 24px);padding:8px 8px 8px 12px;flex-wrap:nowrap}
  .tgy-nav__logo{width:auto;padding:6px 8px;backdrop-filter:none;flex-shrink:0}
  .tgy-nav__logo img{height:30px}
  .tgy-nav__menu{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;
    flex-direction:column;gap:18px;background:rgba(0,0,0,.85);backdrop-filter:blur(16px);
    padding:24px;border-radius:24px}
  .tgy-nav.open .tgy-nav__menu{display:flex}
  .tgy-nav__menu a,.tgy-nav__menu a.active:hover{font-size:18px}
  /* En móvil: solo logo + hamburguesa. El CTA largo se oculta (evita overflow);
     "CURSO EXPERTO BIOMECÁNICA" pasa al menú desplegable. */
  .tgy-nav__cta{padding:0;gap:8px;width:auto;backdrop-filter:none;flex-shrink:0}
  .tgy-nav__cta .edu-icon{display:none}
  .tgy-nav__cta .btn-tgy{display:none}
  .tgy-nav__toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
    width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:#fff}
  /* CTA dentro del menú desplegable */
  .tgy-nav__menu .btn-tgy{display:inline-flex;font-size:14px;margin-top:6px;background:var(--tgy-gradient-cta);background-size:160% 160%;background-position:0% 50%;transition:background-position .45s ease,filter .25s ease}
  .tgy-nav__menu .btn-tgy:hover{background-position:100% 50%;transform:none;filter:brightness(1.07)}

  .hero{height:auto;min-height:680px;padding-bottom:40px}
  .hero__inner{padding-top:10rem;}
  .hero__title{position:relative;left:0;top:0;width:100%;padding:0 20px;margin:24px 0 0}
  .hero__h1{font-size:clamp(30px,8.6vw,46px);line-height:.95;width:100%;max-width:100%;align-self:stretch;overflow-wrap:anywhere}
  .hero__lead{font-size:17px;margin-top:16px}
  .hero__overline{height:auto;margin-bottom:10px}
  .hero__overline span,.hero__kicker{font-size:14px}
  .hero__members{position:relative;right:auto;top:auto;padding:0 20px;margin-top:28px}
  .hero__members p{font-size:18px}
  .hero__members .num{font-size:18px}
}

/* =====================================================================
   SECCIÓN: SUBE DE NIVEL
   ===================================================================== */
.s-level{padding:100px 0 96px;overflow:hidden}
.s-level__ellipse{position:absolute;right:-120px;top:-243px;width:1013px;height:1013px;
  border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.04),transparent 60%);pointer-events:none}
.s-level__head{display:flex;align-items:flex-start;justify-content:space-between;gap:40px}
.overline--stack{align-items:flex-start;font-size:22px;line-height:1.3}
.overline .dot{width:18px;height:18px;border-radius:50%;background:var(--tgy-rojo);flex-shrink:0;margin-top:4px}
.overline--stack span:last-child{font-weight:500}
.s-level__title{font-family:var(--tgy-font-display);font-weight:400;font-size:75px;line-height:1.1;
  letter-spacing:-1.7px;text-transform:uppercase;color:#fff;width:685px;max-width:60%;margin:0}

.s-level__body{display:flex;gap:61px;align-items:flex-start;margin-top:72px}
.s-level__media{position:relative;width:408px;flex-shrink:0}
.s-level__media>img{width:408px;height:453px;object-fit:cover;border-radius:16px;display:block}
.s-level__content{flex:1;display:flex;flex-direction:column;gap:43px;max-width:774px}
.s-level__lead{font-family:var(--tgy-font-body);font-weight:400;font-size:22px;line-height:1.1;color:#fff;margin:0}
.s-level__lead .o60{color:rgba(255,255,255,.6)}
.s-level__lead .o40{color:rgba(255,255,255,.4)}

.s-level__services{display:flex;gap:40px;flex-wrap:inherit;}
.service{display:flex;align-items:center;gap:16px;width:360px}
.service__icon{width:72px;height:72px;flex-shrink:0;object-fit:contain}
.service__icon--cap{width:47px;height:35px}
.service__bar{width:9px;height:80px;flex-shrink:0;border-radius:8px;background:var(--tgy-gradient)}
.service__text h4{font-family:var(--tgy-font-body);font-weight:600;font-size:25px;line-height:24px;color:#c4c6c7;margin:0 0 4px;letter-spacing:.5px}
.service__text p{font-family:var(--tgy-font-body);font-weight:400;font-size:20px;line-height:24px;color:#c4c6c7;margin:0;letter-spacing:.5px}

.btn-tgy--label{font-family:var(--tgy-font-label);font-size:16px;font-weight:600}

/* Sello giratorio */
.ring-seal{position:absolute;left:-70px;bottom:-46px;width:190px;height:190px;animation:tgy-spin 16s linear infinite}
.ring-seal svg{width:100%;height:100%}
.ring-seal text{font-family:var(--tgy-font-body);font-weight:600;font-size:15px;letter-spacing:1.5px;fill:var(--tgy-rojo);text-transform:uppercase}
@keyframes tgy-spin{to{transform:rotate(360deg)}}

@media (max-width:991.98px){
  .s-level{padding:48px 0 56px}
  .s-level__head{flex-direction:column;gap:18px}
  .s-level__title{font-size:34px;width:100%;max-width:100%;letter-spacing:-.5px}
  .s-level__body{flex-direction:column;gap:32px;margin-top:32px}
  .s-level__content{gap:28px;max-width:100%}
  .s-level__lead{font-size:24px}
  .s-level__services{gap:6px;flex-direction:column;flex-wrap:nowrap}
  .service{width:100%;gap:16px;align-items:center}
  /* Slot de icono fijo (54px) en todos para que las barras y textos queden alineados,
     aunque el icono interior tenga tamaños distintos (se centra dentro del slot). */
  .service__icon{width:54px;height:54px;object-fit:contain;object-position:center}
  .service__icon--cap{width:54px;height:24px;object-fit:contain;object-position:center}
  .service__bar{width:5px;height:76px}
  .service__text h4{font-size:20px;line-height:24px}
  .service__text p{font-size:16px;line-height:24px}
  .s-level__media{width:100%;order:3}
  .s-level__media>img{width:100%;height:auto;aspect-ratio:408/453}
  .ring-seal{width:120px;height:120px;left:auto;right:8px;bottom:-30px}
}

/* =====================================================================
   SECCIÓN: CURSOS
   ===================================================================== */
.s-courses{padding:40px 0 88px}
.s-courses__head{display:flex;align-items:flex-start;justify-content:space-between;gap:60px;margin-bottom:56px}
.s-courses__intro{font-family:var(--tgy-font-body);font-weight:400;font-size:38px;line-height:1.1;color:#fff;margin:0;width:928px;max-width:100%}
.s-courses__intro .o60{color:rgba(255,255,255,.6)}
.s-courses .overline--stack{font-size:20px;font-weight:500}

.s-courses__track{display:flex;gap:26px;overflow-x:auto;scrollbar-width:none;cursor:grab}
.s-courses__track::-webkit-scrollbar{display:none}
.course-card{position:relative;width:287.389px;height:521.244px;flex-shrink:0}
.course-card__inner{
  position:absolute;inset:0;background:#F2F4F8;color:var(--tgy-bg-deep);
  clip-path:path('M267.389 0C278.434 0 287.389 8.95431 287.389 20V501.244C287.389 512.29 278.434 521.244 267.389 521.244H166.869C154.426 521.244 143.727 512.427 141.348 500.213L136.64 476.031C134.262 463.817 123.563 455 111.119 455H26C11.6406 455 0 443.359 0 429V20C0 8.95431 8.95431 0 20 0H267.389Z');
  display:flex;flex-direction:column;box-sizing:border-box;
  padding:15px 15px 88px;
  transition:background .35s ease,color .35s ease;
}
.course-card__img{width:257px;height:180px;object-fit:cover;border-radius:13px;display:block;margin:4px auto 0}
.course-card__title{font-family:var(--tgy-font-body);font-weight:600;font-size:20px;line-height:24px;
  letter-spacing:.5px;text-transform:uppercase;margin:22px 6px 12px;color:inherit}
.course-card__desc{font-family:var(--tgy-font-body);font-weight:400;font-size:15px;line-height:1.3;
  margin:0 6px;color:#474747}
.course-card__meta{display:flex;gap:20px;margin:18px 6px 0;margin-top:auto}
.course-card .meta{display:inline-flex;align-items:center;gap:8px;font-family:var(--tgy-font-body);
  font-weight:400;font-size:14px;line-height:24px;color:inherit;white-space:nowrap}
.mi{flex-shrink:0;fill:currentColor;color:inherit;display:inline-block}
.mi-laptop{width:15px;height:15px}
.mi-clock{width:19px;height:19px}
.mi-cal{width:17px;height:17px}

.course-card__cta{position:absolute;right:25px;bottom:4px;display:flex;align-items:center;gap:15px}
.course-card__cta .btn-circle{width:56px;height:56px}
.course-card__cta-label{font-family:var(--tgy-font-body);font-weight:700;font-size:16px;letter-spacing:.5px;
  text-transform:uppercase;color:var(--tgy-bg-deep);transition:color .35s ease;margin-left:40px}

/* Estado activo / hover → card roja, texto blanco */
.course-card.is-active .course-card__inner,
.course-card:hover .course-card__inner{background:var(--tgy-rojo);color:#fff}
.course-card.is-active .course-card__cta-label,
.course-card:hover .course-card__cta-label{color:#fff}
.course-card.is-active .course-card__desc,
.course-card:hover .course-card__desc{color:#fff}

/* Nav del carrusel (flechas + dots) */
.carousel-arrow{width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);
  background:transparent;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  transition:background .25s,border-color .25s,transform .25s}
.carousel-arrow svg{width:22px;height:22px}
.carousel-arrow--filled{background:var(--tgy-rojo);border-color:var(--tgy-rojo)}
.carousel-arrow:hover{transform:scale(1.06)}
.carousel-dots{display:flex;gap:10px;align-items:center}
.carousel-dots .dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3);transition:background .25s,width .25s}
.carousel-dots .dot.active{background:var(--tgy-rojo);width:22px;border-radius:5px}
.s-courses__nav{display:none}

@media (max-width:991.98px){
  .s-courses{padding:8px 0 40px}
  .s-courses__head{flex-direction:column;gap:14px;margin-bottom:28px}
  .s-courses__intro{font-size:20px}
  .s-courses__track{overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;
    padding-bottom:8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .s-courses__track::-webkit-scrollbar{display:none}
  .course-card{scroll-snap-align:start}
  .s-courses__nav{display:none}
}

/* =====================================================================
   SECCIÓN: CERTIFICACIÓN UTAMED
   ===================================================================== */
.s-cert{height:520px;background:var(--tgy-bg-deep);overflow:hidden}
.s-cert__bg{position:absolute;inset:0;overflow:hidden}
.s-cert__bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.4}
.s-cert__overlay{position:absolute;inset:0;
  background:linear-gradient(-68.5deg,rgba(64,239,239,.37) 0.25%,rgba(0,14,18,.37) 62%)}
.s-cert__watermark{position:absolute;left:672px;top:38px;width:626px;height:482px;object-fit:cover;opacity:.35;pointer-events:none}
.s-cert__utamed{position:absolute;left:900px;top:60px;width:400px;height:auto;object-fit:contain}
.s-cert__inner{position:relative;max-width:1440px;margin-inline:auto;height:100%}
.s-cert__content{position:absolute;left:108px;top:90px;width:746px;display:flex;flex-direction:column;gap:24px}
.s-cert__title{font-family:var(--tgy-font-body);font-weight:500;font-size:80px;line-height:1.1;letter-spacing:-2.4px;color:#fff;margin:0}
.s-cert__sub{display:flex;flex-direction:column;gap:32px}
.s-cert__lead{font-family:var(--tgy-font-body);font-weight:400;font-size:20px;line-height:1.3;color:rgba(255,255,255,.8);margin:0;width:508px;max-width:100%}

@media (max-width:991.98px){
  /* Móvil (clon del pantallazo): contenido arriba, logo UTAMED abajo,
     T de marca completa, recortada a la izquierda, anclada abajo detrás del logo */
  .s-cert{height:auto;padding:48px 0;display:flex;flex-direction:column}
  .s-cert__inner{display:flex;flex-direction:column;order:1;height:auto}
  .s-cert__utamed{order:2;position:relative;left:auto;top:auto;width:180px;margin:32px auto 0;display:block}
  .s-cert__watermark{display:block;left:-14px;right:auto;top:auto;bottom:0;
    width:320px;height:320px;object-fit:contain;opacity:.15}
  .s-cert__content{position:relative;left:auto;top:auto;width:100%;padding:0 20px;gap:18px}
  .s-cert__title{font-size:38px;letter-spacing:-1px}
  .s-cert__lead{width:100%;font-size:17px}
}

/* =====================================================================
   SECCIÓN: PROFESORES
   ===================================================================== */
.s-teachers{padding:96px 0 80px}
.s-teachers__head{display:flex;align-items:flex-start;justify-content:space-between;gap:60px;margin-bottom:56px}
.s-teachers__overline{font-size:24px;font-weight:500}
.s-teachers__title{font-family:var(--tgy-font-display);font-weight:400;font-size:75px;line-height:1.1;
  letter-spacing:-1.72px;text-transform:uppercase;color:#fff;width:680px;max-width:58%;margin:0}

.s-teachers__track{display:flex;align-items:flex-start;gap:21px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;
  cursor:grab;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:6px;overscroll-behavior-x:contain}
.s-teachers__track::-webkit-scrollbar{width:0;height:0;display:none}
.s-teachers__track.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.s-teachers__track.is-dragging a,.s-teachers__track.is-dragging .teacher-card{pointer-events:none}
.teacher-col{scroll-snap-align:start}
.teacher-card{position:relative;width:289px;height:360px;flex-shrink:0;border-radius:20px;overflow:hidden;
  background-size:cover;background-position:center;display:flex;align-items:flex-end;
  transform:translateZ(0);backface-visibility:hidden}
/* Enlace que cubre toda la tarjeta → ficha de la persona (clic en cualquier punto). */
.teacher-card__link{position:absolute;inset:0;z-index:3}
.teacher-card::before{content:"";position:absolute;inset:0;z-index:1;transition:opacity .35s ease;
  background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.4) 28%,transparent 52%)}
.teacher-card::after{content:"";position:absolute;inset:0;z-index:1;background:var(--tgy-rojo);opacity:0;transition:opacity .35s ease}
.teacher-card__info{position:absolute;inset:0;z-index:2;padding:20px;display:flex;flex-direction:column;justify-content:flex-end;width:100%;transition:padding .35s ease}
.teacher-card__name{font-family:var(--tgy-font-body);font-weight:600;font-size:30px;line-height:40px;letter-spacing:.5px;color:#fff;margin:0}
.teacher-card__handle{font-family:var(--tgy-font-body);font-weight:700;font-size:16px;line-height:24px;color:#fff}
.teacher-card__tag{font-family:var(--tgy-font-body);font-weight:400;font-size:16px;line-height:24px;color:#e5e5e5;margin-top:2px}
.teacher-card__desc{font-family:var(--tgy-font-body);font-weight:400;font-size:16px;line-height:1.4;color:#fff;
  max-height:0;opacity:0;overflow:hidden;margin:0;transition:max-height .35s ease,opacity .3s ease,margin .35s ease}
.teacher-card__cta{align-self:flex-start;background:var(--tgy-gradient-cta);
  max-height:0;padding-top:0;padding-bottom:0;opacity:0;overflow:hidden;
  transition:max-height .35s ease,opacity .3s ease,padding .35s ease}

/* HOVER de profesor → estado rojo expandido (como Rebeca). Altura fija: el contenido
   se superpone (info absoluto) para no crecer la card y evitar el parpadeo del slider. */
.teacher-card:hover::before,.teacher-card.is-hover::before{opacity:0}
.teacher-card:hover::after,.teacher-card.is-hover::after{opacity:1}
.teacher-card:hover .teacher-card__info,.teacher-card.is-hover .teacher-card__info{justify-content:flex-start;padding:26px 24px}
.teacher-card:hover .teacher-card__desc,.teacher-card.is-hover .teacher-card__desc{max-height:160px;opacity:1;margin:14px 0 20px}
.teacher-card:hover .teacher-card__cta,.teacher-card.is-hover .teacher-card__cta{max-height:80px;opacity:1;padding-top:16px;padding-bottom:16px}
/* La flecha ↘ también reacciona al hover de la card */
.teacher-col:hover .grad-arrow,.teacher-col.is-hover .grad-arrow{transform:scale(1.08);filter:brightness(1.12)}

.s-teachers__nav{display:flex;gap:16px;justify-content:flex-end;margin-top:32px}
.circle-arrow{width:71px;height:71px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);background:transparent;
  color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .25s,background .25s}
.circle-arrow svg{width:26px;height:26px}
.circle-arrow--filled{background:var(--tgy-rojo);border-color:var(--tgy-rojo)}
.circle-arrow:hover{transform:scale(1.06)}

@media (max-width:991.98px){
  .s-teachers{padding:48px 0}
  .s-teachers__head{flex-direction:column;gap:14px;margin-bottom:28px}
  .s-teachers__title{font-size:45px;width:100%;max-width:100%;letter-spacing:-.5px}
  .s-teachers__track{overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-bottom:8px;scrollbar-width:none}
  .s-teachers__track::-webkit-scrollbar{display:none}
  .teacher-card{}
  .s-teachers__nav{justify-content:center;margin-top:22px}
  .circle-arrow{width:56px;height:56px}
  .s-teachers__overline{font-size:20px;font-weight:500}
}

/* =====================================================================
   SECCIÓN: VALORES + STATS
   ===================================================================== */
.s-values{height:1010px;overflow:hidden;background:var(--tgy-bg)}
.s-values__bg{position:absolute;inset:0;z-index:0}
.s-values__bg img{width:100%;height:100%;object-fit:cover}
/* Degradado que funde la imagen con el fondo arriba y abajo (del tema anterior) */
.s-values__fade{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to bottom,#21272a 0%,transparent 18%,transparent 82%,#21272a 100%)}
.s-values__inner{z-index:2}
.s-values__inner{position:relative;max-width:1440px;margin-inline:auto;height:100%}
.s-values__content{position:absolute;left:105px;top:207px;width:560px;display:flex;flex-direction:column}
.s-values .overline{margin-bottom:0}
.s-values__text{font-family:var(--tgy-font-body);font-weight:400;font-size:38px;line-height:1.1;color:#fff;margin:24px 0 0;width:554px;max-width:100%}
.s-values__text .o60{color:rgba(255,255,255,.6)}
.play-video{display:inline-flex;align-items:center;gap:24px;margin-top:48px}
.play-video__btn{width:112px;height:112px;border-radius:77px;border:1px solid var(--tgy-rojo);
  display:inline-flex;align-items:center;justify-content:center;padding:3px;flex-shrink:0;transition:transform .25s}
.play-video__btn img{width:80px;height:80px}
.play-video:hover .play-video__btn{transform:scale(1.05)}
.play-video__label{font-family:var(--tgy-font-body);font-weight:600;font-size:25px;line-height:24px;letter-spacing:.5px;text-transform:uppercase;color:#fff}

.stat-card{position:absolute;left:var(--x);top:var(--y);width:var(--w,313px);border-radius:20px;
  display:flex;flex-direction:column;align-items:center;gap:25px;padding:48px 68px 49px 69px;text-align:center}
.stat-card__num{font-family:var(--tgy-font-display);font-weight:400;font-size:64px;line-height:1;letter-spacing:-2.2px;text-transform:uppercase;margin:0}
.stat-card__label{font-family:var(--tgy-font-body);font-weight:400;font-size:24px;letter-spacing:-1px;text-transform:uppercase;margin:0}
.stat-card--white{background:#f2f4f8;color:#131313}
.stat-card--red{background:var(--tgy-rojo);color:#fff}
.stat-card--grad{background:var(--tgy-gradient);color:#fff;padding:48px 52px}

@media (max-width:991.98px){
  .s-values{height:auto;padding:48px 0}
  .s-values__bg img{opacity:.35}
  .s-values__inner{display:flex;flex-direction:column;gap:32px}
  .s-values__content{position:relative;left:auto;top:auto;width:100%;padding:0 20px}
  .s-values__text{font-size:24px;width:100%}
  .play-video__btn{width:80px;height:80px}
  .play-video__btn img{width:58px;height:58px}
  .play-video__label{font-size:19px}
  .stat-card{position:relative;left:auto!important;top:auto!important;width:auto!important;
    flex-direction:row;justify-content:space-between;gap:16px;padding:24px 28px;margin:0 20px;text-align:left}
  .stat-card__num{font-size:44px}
  .stat-card__label{font-size:18px}
}

/* Profesores: columna (botón ↘ + card) */
.teacher-col{display:flex;flex-direction:column;gap:40px;width:289px;flex-shrink:0}
.teacher-col .teacher-card{width:100%}
.grad-arrow{width:71px;height:71px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(53.75deg,#641219 35%,#b31a23 53%,#ec5b31 72%);
  display:inline-flex;align-items:center;justify-content:center;color:#fff;
  transition:transform .25s ease,filter .25s ease}
.grad-arrow svg{width:40px;height:40px}
.grad-arrow:hover{transform:scale(1.06);filter:brightness(1.08)}
@media (max-width:991.98px){
  .teacher-col{scroll-snap-align:start;gap:24px}
  .grad-arrow{width:56px;height:56px}
  .grad-arrow svg{width:30px;height:30px}
}

/* =====================================================================
   SECCIÓN: TESTIMONIOS
   ===================================================================== */
.s-testi{padding:80px 0 96px;position:relative;overflow:hidden}
/* Marca de agua «T» de fondo (mismo tratamiento que qs-who: caja grande cortada por la izquierda). */
.s-testi__watermark{position:absolute;left:-244px;top:0;width:777px;height:884px;border-radius:0 20px 20px 0;object-fit:cover;opacity:.09;pointer-events:none;z-index:0}
.s-testi>.tgy-container{position:relative;z-index:1}
.s-testi__head{display:flex;align-items:flex-start;justify-content:space-between;gap:60px;margin-bottom:8px}
.s-testi__overline{font-size:20px;font-weight:500}
.s-testi__title{font-family:var(--tgy-font-display);font-weight:400;font-size:86px;line-height:1.1;
  letter-spacing:-1.72px;text-transform:uppercase;color:#fff;margin:0;text-align:right}

.s-testi__stage{position:relative;min-height:363px;margin-top:40px}
/* Reviewers: columna vertical (uno por testimonio, sin solaparse) con su punto en la línea */
.testi-people{position:relative;width:410px;display:flex;flex-direction:column;justify-content:center;gap:24px;padding:6px 0;min-height:363px}
.testi-rev{position:relative;display:flex;align-items:center;gap:18px;width:100%;padding-right:40px;cursor:pointer;opacity:.5;transition:opacity .25s ease,padding .25s ease}
.testi-rev__person{display:contents}
.testi-rev.is-active,.testi-rev.is-listed{opacity:1}
/* Avatares intercalados (zigzag): 1ª y 3ª persona sangradas, la del medio a ras. */
.testi-rev.slot-0,.testi-rev.slot-2{padding-left:72px}
.testi-rev.slot-1{padding-left:0}
.testi-rev img{width:88px;height:88px;border-radius:100px;object-fit:cover;flex-shrink:0}
.testi-rev__name{font-family:var(--tgy-font-body);font-weight:600;font-size:20px;line-height:24px;letter-spacing:.5px;color:#fff;margin:0}
.testi-rev__role{font-family:var(--tgy-font-paragraph);font-weight:400;font-size:16px;line-height:24px;color:#cdcdcd;margin:4px 0 0}
/* Línea + punto de cada persona */
/* Degradado del divisor: gris hasta el punto de arriba (~19%), rojo en el del medio
   (50%), gris desde el de abajo (~81%). Los 3 avatares centran sus puntos ahí. */
.testi-divider{position:absolute;right:0;top:0;width:2px;height:100%;background:linear-gradient(180deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,.18) 19%,var(--tgy-rojo) 50%,rgba(255,255,255,.18) 81%,rgba(255,255,255,.18) 100%)}
.testi-dot{position:absolute;right:-8px;top:50%;transform:translateY(-50%);width:16px;height:16px;border-radius:50%;background:rgba(255,255,255,.3);transition:background .2s ease,box-shadow .2s ease}
.testi-rev.is-mid .testi-dot{background:var(--tgy-rojo);box-shadow:0 0 0 4px rgba(179,26,35,.25)}
/* Review activa */
.testi-active{position:absolute;left:460px;top:17px;width:400px}
.testi-active__pill{display:inline-flex;align-items:center;gap:18px;background:var(--tgy-rojo);border-radius:12px;padding:8px 16px;width:294px}
.testi-active__pill img{width:72px;height:72px;border-radius:100px;border:2px solid #fff;object-fit:cover;flex-shrink:0}
.testi-active__name{font-family:var(--tgy-font-body);font-weight:600;font-size:20px;line-height:24px;letter-spacing:.5px;color:#fff;margin:0}
.testi-active__role{font-family:var(--tgy-font-paragraph);font-weight:400;font-size:16px;line-height:24px;color:#fff;opacity:.7;margin:4px 0 0}
.testi-stars{display:flex;gap:4px;margin:34px 0 16px}
.testi-stars img{width:32px;height:32px}
.testi-text{font-family:var(--tgy-font-body);font-weight:400;font-size:20px;line-height:24px;letter-spacing:.5px;color:#fbfbfb;margin:0;width:378px;max-width:100%}
/* Retrato */
.testi-portrait{position:absolute;left:909px;top:0;width:338px;height:363px;border-radius:10px;overflow:hidden}
.testi-portrait>img{width:100%;height:100%;object-fit:cover}
.testi-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:90px;height:90px;
  display:inline-flex;align-items:center;justify-content:center;transition:transform .25s;
  background:none;border:1px solid var(--tgy-rojo);border-radius:50%;padding:14px;box-sizing:content-box;cursor:pointer}
.testi-play img{width:90px;height:90px}
.testi-play:hover{transform:translate(-50%,-50%) scale(1.06)}
/* Detalle inline por testimonio: solo en móvil (escritorio usa el panel de la derecha) */
.testi-rev__detail{display:none}

@media (max-width:991.98px){
  .s-testi{padding:48px 0}
  .s-testi__watermark{display:none}
  .s-testi__head{flex-direction:column;gap:14px;margin-bottom:24px}
  .s-testi__title{font-size:34px;width:100%;max-width:100%;text-align:left;letter-spacing:-.5px}
  /* Mismo modelo que desktop (ruleta) pero apilado: raíl de puntos a la izquierda,
     reseña activa al lado y vídeo debajo. JS usa renderDesktop también en móvil. */
  .s-testi__stage{min-height:0;height:auto;display:grid;grid-template-columns:28px 1fr;
    grid-template-areas:"rail card" "video video";column-gap:38px;row-gap:18px;align-items:stretch}
  /* Raíl izquierdo: línea + 3 puntos (arriba/medio/abajo). Avatares y texto ocultos;
     cada .testi-rev es una franja clicable (flex:1) → puntos a 1/6, 1/2, 5/6. */
  .testi-people{grid-area:rail;position:relative;width:auto;min-height:0;display:flex;flex-direction:column;gap:0;padding:0}
  .testi-rev{position:relative;flex:1 1 0;min-height:0;width:100%;padding:0!important;margin:0;opacity:1;cursor:pointer}
  .testi-rev.slot-0,.testi-rev.slot-1,.testi-rev.slot-2{padding-left:0}
  .testi-rev img,.testi-rev__person,.testi-rev__detail{display:none!important}
  .testi-divider{display:block;position:absolute;right:0;top:0;height:100%}
  .testi-dot{display:block}
  /* Reseña activa: paneles de desktop reutilizados (tarjeta roja + estrellas + texto). */
  .testi-active{grid-area:card;position:static;left:auto;top:auto;width:100%}
  .testi-active__pill{width:auto;max-width:100%;gap:14px;padding:8px 22px 8px 8px}
  .testi-active__pill img{width:60px;height:60px}
  .testi-stars{margin:18px 0 14px}
  .testi-stars img{width:26px;height:26px}
  .testi-text{width:100%;font-size:18px;line-height:1.45}
  /* Vídeo: ancho completo debajo, mismo botón play (popup) que desktop. */
  .testi-portrait{grid-area:video;position:relative;left:auto;top:auto;width:100%;height:auto;aspect-ratio:16/10;border-radius:12px}
  .testi-portrait .testi-play,.testi-portrait .testi-play img{width:72px;height:72px}
}

/* =====================================================================
   SECCIÓN: NOTICIAS
   ===================================================================== */
.s-news{padding:100px 0}
.s-news__head{display:flex;align-items:flex-start;justify-content:space-between;gap:60px;margin-bottom:64px}
.s-news__overline{font-size:20px;font-weight:500}
.s-news__title{font-family:var(--tgy-font-display);font-weight:400;font-size:75px;line-height:1.1;
  letter-spacing:-1.72px;text-transform:uppercase;color:#fff;width:556px;max-width:55%;margin:0;text-align:right}

/* Tabs */
/* Slider de categorías: barra flanqueada por una flecha (.tgy-sldr-btn) a cada lado. */
.news-tabs-slider{display:flex;align-items:center;gap:16px;margin-bottom:64px}
.news-tabs-slider .news-tabs{flex:1;min-width:0;margin-bottom:0}
.news-tabs-arrow{flex-shrink:0}
/* Flechas siempre visibles en desktop; sin overflow quedan deshabilitadas (opacity .3) vía JS, no ocultas. */
.news-tabs{position:relative;display:flex;align-items:center;height:67px;border:2px solid #fff;border-radius:37px;margin-bottom:64px;overflow:hidden}
.news-tabs__active{display:flex;align-items:center;justify-content:center;width:185px;height:67px;flex-shrink:0;
  background:#f2f4f8;color:#140202;border-radius:37px;font-family:var(--tgy-font-display);font-size:29px;
  text-transform:uppercase;margin:-2px 0 -2px -2px;cursor:pointer;transition:background .25s,color .25s}
.news-tabs__active.is-active{background:var(--tgy-rojo);color:#fff}
.news-tabs__list{display:flex;gap:44px;align-items:center;padding-left:44px;padding-right:40px;overflow-x:auto;scrollbar-width:none}
.news-tabs__list::-webkit-scrollbar{display:none}
.news-tabs__list a{font-family:var(--tgy-font-body);font-weight:500;font-size:18px;letter-spacing:-1px;
  text-transform:uppercase;color:#fff;white-space:nowrap;cursor:pointer;transition:color .2s}
.news-tabs__list a:hover,.news-tabs__list a.is-active{color:var(--tgy-rojo)}
.news-grid [data-cat].is-hidden{display:none}

/* Grid */
.news-grid{position:relative;height:705px}
.news-featured__img{position:absolute;left:0;top:0;width:521px;height:555px;object-fit:cover;border-radius:20px}
.news-card{position:absolute;left:229px;top:320px;width:406px;height:385px;background:var(--tgy-rojo);
  border-radius:20px;padding:33px 24px;display:flex;flex-direction:column;overflow:hidden}
.news-card__meta{display:flex;align-items:center;gap:32px}
.news-card__meta span{display:inline-flex;align-items:center;gap:8px;font-family:var(--tgy-font-body);font-weight:400;font-size:18px;line-height:24px;color:#fff}
.news-dash{width:16px;height:2px;background:#fff;display:inline-block;flex-shrink:0}
.news-card__sep{width:1px;height:24px;background:#cdced0;opacity:.7;display:inline-block}
.news-card__title{font-family:var(--tgy-font-body);font-weight:600;font-size:26px;line-height:28px;letter-spacing:.5px;
  text-transform:uppercase;color:#fff;width:358px;max-width:100%;margin:29px 0 16px}
.news-card__body{font-family:var(--tgy-font-body);font-weight:400;font-size:20px;line-height:24px;color:rgba(255,255,255,.71);margin:0}
.news-card .cta-group{margin-top:auto}
.btn-circle--white{color:#fff}

.news-arrows{position:absolute;left:568px;top:0;display:flex;gap:32px;align-items:center}
.news-arrow{width:48px;height:48px;border-radius:50%;border:0;background:transparent;color:#fff;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;transition:transform .25s}
.news-arrow svg{width:30px;height:30px}
.news-arrow--next{background:linear-gradient(53.75deg,#641219 35%,#b31a23 53%,#ec5b31 72%)}
.news-arrow:hover{transform:scale(1.06)}

.news-thumb{position:absolute;border-radius:16px;background-size:cover;background-position:center;display:block}
.news-thumb--2{left:736px;top:40px;width:242px;height:331px}
.news-thumb--1{left:994px;top:0;width:235px;height:331px}

@media (max-width:991.98px){
  .s-news{padding:48px 0}
  .s-news__head{flex-direction:column;gap:14px;margin-bottom:28px}
  .s-news__title{font-size:34px;width:100%;max-width:100%;text-align:left;letter-spacing:-.5px}
  /* Móvil: sin flechas (se arrastra con el dedo, igual que .tgy-sldr-nav). */
  .news-tabs-slider{margin-bottom:32px}
  .news-tabs-arrow{display:none}
  .news-tabs{margin-bottom:32px}
  .news-tabs__active{width:110px;font-size:20px}
  .news-grid{height:auto;display:flex;flex-direction:column;gap:18px}
  .news-featured{position:relative}
  .news-featured__img{position:relative;width:100%;height:240px}
  .news-card{position:relative;left:auto;top:auto;width:100%;height:auto;margin-top:10px;margin-left:auto;margin-right:0;max-width:100%}
  .news-arrows{position:static;justify-content:center;margin-top:16px}
  .news-thumb{position:relative;left:auto!important;top:auto!important;width:100%;height:200px}
}

/* =====================================================================
   SECCIÓN: FAQ
   ===================================================================== */
.s-faq{padding:60px 0 100px}
.s-faq__head{display:flex;align-items:flex-start;justify-content:space-between;gap:60px;margin-bottom:56px}
.s-faq__overline{font-size:20px;font-weight:500}
.s-faq__title{font-family:var(--tgy-font-display);font-weight:400;font-size:86px;line-height:1.1;
  letter-spacing:-1.72px;text-transform:uppercase;color:#fff;margin:0;text-align:right}

.faq-list{max-width:1006px;margin:0 auto}
.faq-item{border-top:1px solid rgba(255,255,255,.15);transition:background .3s ease}
.faq-item:last-child{border-bottom:1px solid rgba(255,255,255,.15)}
.faq-q{margin:0;font:inherit}
.faq-q__btn{width:100%;background:none;border:0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  gap:32px;padding:32px 39px;text-align:left;color:#fff;font:inherit}
.faq-q__text{font-family:var(--tgy-font-body);font-weight:600;font-size:36px;line-height:1.1;color:inherit}
.faq-arrow{flex-shrink:0;width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;
  color:inherit;transition:transform .3s ease}
.faq-arrow svg{width:40px;height:40px}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-a p{font-family:var(--tgy-font-body);font-weight:400;font-size:20px;line-height:24px;letter-spacing:.5px;
  color:rgba(0,0,0,.78);margin:0;padding:0 39px 36px}
/* Abierto → panel blanco, pregunta oscura, flecha gira a ↘ */
.faq-item.is-open{background:#f2f4f8;border-radius:16px;border-color:transparent;margin:8px 0}
.faq-item.is-open+.faq-item{border-top-color:transparent}
.faq-item.is-open .faq-q__btn{color:#0c0c0c}
.faq-item.is-open .faq-arrow{transform:rotate(90deg)}
.faq-item.is-open .faq-a{max-height:600px}

@media (max-width:991.98px){
  .s-faq{padding:32px 0 48px}
  .s-faq__head{flex-direction:column;gap:14px;margin-bottom:28px}
  .s-faq__title{font-size:34px;text-align:left;letter-spacing:-.5px}
  .faq-q__btn{padding:20px 18px;gap:16px}
  .faq-q__text{font-size:21px}
  .faq-arrow{width:34px;height:34px}.faq-arrow svg{width:28px;height:28px}
  .faq-a p{font-size:16px;padding:0 18px 22px}
}

/* =====================================================================
   SECCIÓN: TIENDA
   ===================================================================== */
.s-shop{padding:100px 0;background:url('../img/shop-bg.png') center/cover no-repeat}
.s-shop__head{display:flex;align-items:flex-start;justify-content:space-between;gap:60px;margin-bottom:80px}
.s-shop__overline{font-size:20px;font-weight:500}
.s-shop__title{font-family:var(--tgy-font-display);font-weight:400;font-size:86px;line-height:1.1;
  letter-spacing:-1.72px;text-transform:uppercase;color:#fff;width:548px;max-width:52%;margin:0;text-align:right}

.shop-track{display:flex;gap:32px;height:377px;overflow-x:auto;scroll-snap-type:x proximity;scroll-behavior:smooth;scrollbar-width:none}
.shop-track::-webkit-scrollbar{display:none}
.shop-card{position:relative;flex:0 0 calc((100% - 64px) / 3);scroll-snap-align:start;border-radius:20px;overflow:hidden;background-size:cover;background-position:center;background-color:#1b2023}
.shop-card__overlay{position:absolute;left:25px;top:26px;width:338px;max-width:calc(100% - 50px);height:325px;overflow:hidden;
  display:flex;flex-direction:column;justify-content:flex-end;gap:24px;padding:32px;border-radius:16px;
  background:rgba(0,14,18,.32);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);
  opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .35s ease,transform .35s ease,visibility .35s}
.shop-card:hover .shop-card__overlay{opacity:1;visibility:visible;transform:none}
.shop-card__info h3{font-family:var(--tgy-font-body);font-weight:600;font-size:30px;line-height:24px;letter-spacing:.5px;color:#fff;margin:0 0 8px;
  display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.shop-card__info p{font-family:var(--tgy-font-body);font-weight:400;font-size:20px;line-height:24px;letter-spacing:.5px;color:#fff;opacity:.7;margin:0;
  display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.shop-card__buy{display:flex;align-items:center;justify-content:space-between;gap:16px}
.shop-card__price{font-family:var(--tgy-font-body);font-weight:600;font-size:40px;letter-spacing:.5px;color:#fff}

/* Nav nativa de la tienda oculta: el slider usa las flechas genéricas (.tgy-sldr-nav) */
.s-shop .shop-nav{display:none}
.shop-nav{display:flex;align-items:center;justify-content:space-between;margin-top:32px}
.shop-arrow{width:48px;height:48px;border-radius:50%;border:0;background:transparent;color:#fff;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;transition:transform .25s}
.shop-arrow svg{width:30px;height:30px}
.shop-arrow--next{background:linear-gradient(53.75deg,#641219 35%,#b31a23 53%,#ec5b31 72%)}
.shop-arrow:hover{transform:scale(1.06)}
/* Flechas genéricas de navegación de sliders (inyectadas por JS, bajo cada slider) */
.tgy-sldr-nav{display:flex;gap:14px;justify-content:center;align-items:center;margin-top:22px}
.tgy-sldr-btn{width:46px;height:46px;border-radius:50%;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#fff;
  background:var(--tgy-gradient-cta);background-size:160% 160%;background-position:0% 50%;
  transition:background-position .4s ease,transform .2s ease,opacity .2s ease}
.tgy-sldr-btn svg{width:22px;height:22px}
.tgy-sldr-btn:hover{transform:scale(1.06);background-position:100% 50%}
.tgy-sldr-btn[disabled]{opacity:.3;cursor:default;transform:none}
.tgy-sldr-off .tgy-sldr-nav{display:none}
/* Flechas solo en escritorio (ratón). En móvil se navega arrastrando con el dedo. */
@media (max-width:991.98px){ .tgy-sldr-nav{display:none} }
.shop-dots{display:flex;gap:10px;align-items:center}
.shop-dots .dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3);transition:width .25s,background .25s}
.shop-dots .dot.active{background:var(--tgy-rojo);width:22px;border-radius:5px}

.shop-cta{display:flex;justify-content:center;margin-top:48px;width:100%}

@media (max-width:991.98px){
  .s-shop{padding:48px 0}
  .s-shop__head{flex-direction:column;gap:14px;margin-bottom:32px}
  .s-shop__title{font-size:34px;width:100%;max-width:100%;text-align:left;letter-spacing:-.5px}
  .shop-track{display:flex;height:auto;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;scrollbar-width:none}
  .shop-track::-webkit-scrollbar{display:none}
  .shop-card{flex:0 0 80%;height:360px;scroll-snap-align:start}
  .shop-card__overlay{width:auto;right:25px}
}

/* =====================================================================
   SECCIÓN: ENLACES (blog cards)
   ===================================================================== */
.s-links{padding:90px 0 100px}
.s-links__head{display:flex;align-items:flex-start;justify-content:space-between;gap:60px;margin-bottom:56px}
.s-links__overline{font-size:20px;font-weight:500}
.s-links__title{font-family:var(--tgy-font-display);font-weight:400;font-size:86px;line-height:1.1;
  letter-spacing:-1.72px;text-transform:uppercase;color:#fff;margin:0;text-align:right}

.links-track{display:flex;gap:36px}
.blog-card{position:relative;flex:1 1 0;min-width:0;height:470px}
.blog-card__inner{position:absolute;inset:0;background:#f2f4f8;padding:20px 20px 0;border-radius:20px;
  clip-path:path('M361 0C372.046 0 381 8.95431 381 20V450C381 461.046 372.046 470 361 470H152.833C141.49 470 131.456 462.647 128.04 451.83L116.118 414.083C112.701 403.266 102.668 395.913 91.3247 395.913H26C11.6406 395.913 0 384.272 0 369.913V20C0 8.95431 8.95431 0 20 0H361Z')}
.blog-card__img{width:100%;height:205px;object-fit:cover;border-radius:13px;display:block}
.blog-card__title{font-family:var(--tgy-font-body);font-weight:600;font-size:26px;line-height:30px;letter-spacing:.5px;color:var(--tgy-bg-deep);margin:16px 0 6px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.blog-card__text{font-family:var(--tgy-font-body);font-weight:400;font-size:20px;line-height:1.3;color:#474747;margin:0;max-width:343px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.blog-card__date{position:absolute;right:22px;bottom:78px;font-family:var(--tgy-font-paragraph);font-weight:400;font-size:16px;line-height:24px;color:#777d7f}
.blog-card__meta{position:absolute;right:22px;bottom:24px;display:flex;gap:8px;align-items:center}
.blog-card__meta span{display:inline-flex;align-items:center;gap:6px;font-family:var(--tgy-font-body);font-weight:400;font-size:14px;line-height:24px;color:#777d7f;white-space:nowrap}
.bi{width:18px;height:18px;flex-shrink:0;fill:#777d7f}
.blog-card__arrow{position:absolute;left:40px;bottom:0px;width:61px;height:61px}
.blog-card__arrow svg{width:30px;height:30px}

.links-nav{display:flex;align-items:center;justify-content:space-between;margin-top:32px}

@media (max-width:991.98px){
  .s-links{padding:48px 0}
  .s-links__head{flex-direction:column;gap:14px;margin-bottom:28px}
  .s-links__title{font-size:34px;text-align:left;letter-spacing:-.5px}
  .links-track{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:18px}
  .links-track::-webkit-scrollbar{display:none}
  .blog-card{flex:0 0 86%;scroll-snap-align:start}
  .blog-card__meta{right:22px;flex-direction:column;align-items:flex-end;gap:2px;bottom:20px}
}

/* =====================================================================
   FOOTER (compartido — reutilizable en todas las páginas)
   ===================================================================== */
.tgy-footer{background:linear-gradient(28.07deg,#641219 35%,#b31a23 53%,#ec5b31 72%);
  border-radius:43px 43px 0 0;padding:64px 40px 40px;display:flex;flex-direction:column;align-items:center;gap:48px;color:#fff}
.tgy-footer__top{display:flex;align-items:flex-start;justify-content:space-between;width:100%;max-width:1256px;gap:40px}
.tgy-footer__contact{display:flex;flex-direction:column;gap:24px;width:324px}
.tgy-footer__h{font-family:var(--tgy-font-body);font-weight:600;font-size:30px;line-height:24px;letter-spacing:.5px;margin:0}
.tgy-footer__loc{display:flex;gap:12px;align-items:flex-start;padding-bottom:32px;border-bottom:1px solid rgba(191,191,191,.16)}
.tgy-footer__pin{width:24px;height:24px;flex-shrink:0}
.tgy-footer__loc p{font-family:var(--tgy-font-body);font-weight:600;font-size:20px;line-height:24px;letter-spacing:.5px;margin:0}
.tgy-footer__loc .o70{opacity:.7}
.tgy-footer__lines p{font-family:var(--tgy-font-body);font-weight:600;font-size:20px;line-height:24px;letter-spacing:.5px;margin:0 0 9px}
.tgy-footer__brand{display:flex;flex-direction:column;align-items:flex-end;gap:18px}
.tgy-footer__logo{width:640px;max-width:70vw;height:auto;object-fit:contain}
.tgy-footer__menu{display:flex;gap:32px;align-items:center;padding:20px 32px;border-radius:100px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.tgy-footer__menu a{font-family:var(--tgy-font-body);font-weight:500;font-size:18px;color:rgba(255,255,255,.8);transition:color .2s}
.tgy-footer__menu a.active{color:#fff;font-weight:600;font-size:20px}
.tgy-footer__menu a:hover{color:#fff}
.tgy-footer__divider{width:100%;max-width:1282px;height:1px;background:rgba(255,255,255,.2)}
.tgy-footer__news{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1256px;gap:40px}
.tgy-footer__newsh{font-family:var(--tgy-font-body);font-weight:500;font-size:32px;line-height:1.1;margin:0;max-width:300px}
.tgy-footer__form{display:flex;gap:12px;align-items:center;height:62px}
.tgy-footer__email{width:446px;max-width:100%;height:62px;border:0;border-radius:200px;background:rgba(255,255,255,.46);
  padding:18px 32px;color:#fff;font-family:var(--tgy-font-body);font-size:20px;outline:none}
.tgy-footer__email::placeholder{color:rgba(255,255,255,.8)}
.tgy-footer__send{display:flex;align-items:center;gap:13px;height:62px;width:135px;justify-content:center;background:#fff;
  border:0;border-radius:32px;cursor:pointer;font-family:var(--tgy-font-body);font-weight:600;font-size:16px;letter-spacing:.5px;color:#000;transition:transform .2s}
.tgy-footer__send:hover{transform:scale(1.03)}
.tgy-footer__send-ic{width:34px;height:34px;border-radius:100px;background:var(--tgy-rojo);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.tgy-footer__send-ic svg{width:20px;height:20px}
/* Newsletter via Contact Form 7 (footer) */
.tgy-footer__newsform{min-width:0;width:100%;max-width:520px;margin-left:auto}
.tgy-footer__news .wpcf7{margin:0}
.tgy-footer__news .wpcf7-form{display:flex;flex-direction:column;gap:14px}
.tgy-footer__news .wpcf7-form .tgy-footer__form{margin:0;flex-wrap:nowrap;align-items:center}
.tgy-footer__news .tgy-footer__form>.wpcf7-form-control-wrap{flex:1 1 auto;min-width:0;margin:0}
.tgy-footer__news .tgy-footer__email{width:100%}
.tgy-footer__news .tgy-footer__send{flex-shrink:0}
.tgy-footer__news .wpcf7-acceptance .wpcf7-list-item{margin:0}
.tgy-footer__news .wpcf7-acceptance label{display:flex;align-items:flex-start;gap:8px;font-family:var(--tgy-font-body);font-weight:400;font-size:13px;line-height:1.4;color:rgba(255,255,255,.85);cursor:pointer}
.tgy-footer__news .wpcf7-acceptance a{color:#fff;text-decoration:underline}
.tgy-footer__news .wpcf7-acceptance input[type=checkbox]{margin-top:1px;flex-shrink:0;width:16px;height:16px;accent-color:var(--tgy-rojo)}
.tgy-footer__news .wpcf7-not-valid-tip{color:#ffe0e0;font-size:12px;margin-top:4px}
.tgy-footer__news .wpcf7-response-output{color:#fff;font-size:13px;border-color:rgba(255,255,255,.45)!important;border-radius:10px;margin:10px 0 0;padding:8px 14px}
.tgy-footer__news .wpcf7-spinner{margin:4px 0 0 8px}

@media (max-width:991.98px){
  .tgy-footer{padding:40px 20px 32px;gap:32px;border-radius:28px 28px 0 0}
  .tgy-footer__top{flex-direction:column;gap:32px}
  .tgy-footer__contact{width:100%;order:2}
  .tgy-footer__brand{align-items:flex-start;width:100%;order:1}
  .tgy-footer__logo{width:360px;max-width:85vw}
  .tgy-footer__menu{flex-wrap:wrap;gap:16px;padding:14px 18px}
  .tgy-footer__news{flex-direction:column;align-items:flex-start;gap:18px}
  .tgy-footer__newsh{font-size:24px;max-width:100%}
  .tgy-footer__form{width:100%;flex-wrap:nowrap}
  .tgy-footer__email{flex:1}
}

/* Scroll-reveal de texto (regla cliente): palabras se aclaran al hacer scroll */
.js-reveal .rw{transition:opacity .35s ease-out;will-change:opacity}

/* ===== Animación de aparición al hacer scroll (entrada sutil) ===== */
@media (prefers-reduced-motion: no-preference){
  .reveal{opacity:0;transform:translateY(26px);
    transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);
    will-change:opacity,transform}
  .reveal--left{transform:translateX(-46px)}
  .reveal--right{transform:translateX(46px)}
  .reveal.in{opacity:1;transform:none}
  /* La marca de agua «T» del bloque UTAMED es semitransparente: el reveal no debe llevarla a opacity:1 (taparía el logo). */
  .s-cert__watermark.reveal.in{opacity:.35}
  .s-testi__watermark.reveal.in{opacity:.09}
}

/* Slider "También te podría interesar": 3 por vista + scroll horizontal (desktop) */
@media (min-width:992px){
  .links-track{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}
  .links-track::-webkit-scrollbar{display:none}
  .links-track>.blog-card{flex:0 0 calc((100% - 72px)/3);scroll-snap-align:start}
}
.links-nav .shop-arrow[disabled]{opacity:.35;cursor:default;transform:none}

/* ===== Botón único (label + círculo en UN solo elemento, patrón tema Alvaro) ===== */
.btn-split{display:inline-flex;align-items:center;gap:12px;text-decoration:none;cursor:pointer;border:0;background:none;padding:0}
.btn-split__label{display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--tgy-font-body);font-weight:600;font-size:19px;letter-spacing:.5px;line-height:24px;color:#fff;
  padding:16px 32px;border-radius:32px;white-space:nowrap;
  background:var(--tgy-gradient-cta);background-size:160% 160%;background-position:0% 50%;
  transition:background-position .45s ease,filter .25s ease}
.btn-split__circle{width:56px;height:56px;flex-shrink:0;border-radius:32px;background:var(--tgy-rojo);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;transition:transform .25s ease,filter .25s ease}
.btn-split__circle svg{width:20px;height:20px}
.btn-split:hover .btn-split__label{background-position:100% 50%;filter:brightness(1.07)}
.btn-split:hover .btn-split__circle{transform:scale(1.06);filter:brightness(1.08)}
/* Variante de botón único con círculo blanco (secciones donde el círculo es blanco) */
.btn-split--white .btn-split__circle{background:#fff;color:var(--tgy-bg-deep)}
/* Variante de botón único con label en fuente etiqueta (Radio Canada 16px) */
.btn-split--label .btn-split__label{font-family:var(--tgy-font-label);font-size:16px;font-weight:600}
/* Variante de botón único con label blanco (sobre fondos donde el botón es blanco) */
.btn-split--whitelabel .btn-split__label{background:#fff;color:var(--tgy-bg-deep)}
/* Variante compacta (cards, formularios): mismo elemento + animación, tamaño reducido */
.btn-split--sm{gap:8px}
.btn-split--sm .btn-split__label{font-family:var(--tgy-font-label);font-size:16px;font-weight:600;padding:8px 28px}
.btn-split--sm .btn-split__circle{width:40px;height:40px}
.btn-split--sm .btn-split__circle svg{width:18px;height:18px}

/* Carriles horizontales: solo scroll en X. overflow-x:auto activa overflow-y:auto
   implícito → aparece un mini-scroll vertical que atrapa la rueda y "paraliza" el
   scroll natural de la página. Forzar overflow-y:hidden lo elimina. */
.s-courses__track,.shop-track,.links-track,.news-tabs__list{overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none}
.s-courses__track::-webkit-scrollbar,.shop-track::-webkit-scrollbar,.links-track::-webkit-scrollbar,.news-tabs__list::-webkit-scrollbar{width:0;height:0;display:none}

/* =====================================================================
   CARRITO — icono en nav + drawer lateral + mini-cart
   ===================================================================== */
/* Icono en la cabecera (solo visible si hay artículos) */
.tgy-cart{display:inline-flex;align-items:center}
.tgy-cart.is-empty{display:none}
.tgy-cart__toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:48px;height:48px;border:0;border-radius:100px;cursor:pointer;color:#fff;background:rgba(255,255,255,.10);
  transition:background .2s ease,transform .2s ease}
.tgy-cart__toggle:hover{background:rgba(255,255,255,.18);transform:translateY(-1px)}
.tgy-cart__toggle svg{width:22px;height:22px}
.tgy-cart__count{position:absolute;top:-2px;right:-2px;min-width:20px;height:20px;padding:0 5px;
  display:inline-flex;align-items:center;justify-content:center;border-radius:100px;
  background:var(--tgy-rojo);color:#fff;font-family:var(--tgy-font-label);font-weight:700;font-size:11px;line-height:1;
  transition:transform .25s ease}

/* Overlay */
.tgy-cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;
  transition:opacity .3s ease,visibility .3s ease;z-index:1100}
.tgy-cart-overlay.is-open{opacity:1;visibility:visible}

/* Drawer */
.tgy-cart-drawer{position:fixed;top:0;right:0;height:100%;width:min(420px,100%);
  background:#fff;color:var(--tgy-bg-deep);z-index:1101;display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .32s cubic-bezier(.4,0,.2,1);box-shadow:-8px 0 40px rgba(0,0,0,.25)}
.tgy-cart-drawer.is-open{transform:translateX(0)}
.tgy-cart-drawer__head{display:flex;align-items:center;justify-content:space-between;
  padding:22px 24px;border-bottom:1px solid rgba(0,0,0,.1)}
.tgy-cart-drawer__title{font-family:var(--tgy-font-display);font-weight:400;font-size:28px;letter-spacing:0;text-transform:uppercase;margin:0;color:var(--tgy-bg-deep)}
.tgy-cart-drawer__close{border:0;background:none;font-size:30px;line-height:1;cursor:pointer;color:var(--tgy-bg-deep);padding:0 4px}
.tgy-cart-drawer__close:hover{color:var(--tgy-rojo)}
.tgy-cart-drawer__content{flex:1;overflow-y:auto;padding:20px 24px}
body.tgy-cart-open{overflow:hidden}

/* Mini-cart de WooCommerce dentro del drawer */
.tgy-cart-drawer .woocommerce-mini-cart{list-style:none;margin:0;padding:0}
.tgy-cart-drawer .woocommerce-mini-cart__empty-message{font-family:var(--tgy-font-body);font-size:16px;color:rgba(0,0,0,.6);text-align:center;padding:30px 0}
.tgy-cart-drawer li.woocommerce-mini-cart-item{display:flex;align-items:flex-start;gap:12px;position:relative;
  padding:16px 0;border-bottom:1px solid rgba(0,0,0,.08);font-family:var(--tgy-font-body)}
.tgy-cart-drawer li.woocommerce-mini-cart-item img{width:64px;height:64px;object-fit:cover;border-radius:10px;margin:0;order:1}
.tgy-cart-drawer li.woocommerce-mini-cart-item a:not(.remove){order:2;flex:1;color:var(--tgy-bg-deep);font-weight:600;font-size:15px;line-height:1.3;text-decoration:none}
.tgy-cart-drawer li.woocommerce-mini-cart-item .quantity{display:block;font-size:14px;color:rgba(0,0,0,.6);font-weight:400;margin-top:4px}
.tgy-cart-drawer li.woocommerce-mini-cart-item a.remove{order:3;width:22px;height:22px;line-height:20px;text-align:center;
  border-radius:50%;background:#f0f0f0;color:#b31a23!important;font-size:16px;flex-shrink:0;text-decoration:none}
.tgy-cart-drawer li.woocommerce-mini-cart-item a.remove:hover{background:var(--tgy-rojo);color:#fff!important}
.tgy-cart-drawer .woocommerce-mini-cart__total{display:flex;align-items:center;justify-content:space-between;
  margin:18px 0;padding-top:16px;border-top:2px solid rgba(0,0,0,.12);font-family:var(--tgy-font-body);
  font-weight:700;font-size:20px;color:var(--tgy-bg-deep)}
.tgy-cart-drawer .woocommerce-mini-cart__buttons{display:flex;flex-direction:column;gap:10px;margin:0}
.tgy-cart-drawer .woocommerce-mini-cart__buttons a{display:flex;align-items:center;justify-content:center;
  padding:14px 24px;border-radius:32px;font-family:var(--tgy-font-label);font-weight:600;font-size:15px;letter-spacing:.5px;text-decoration:none}
.tgy-cart-drawer .woocommerce-mini-cart__buttons a.button{background:rgba(0,0,0,.06);color:var(--tgy-bg-deep)}
.tgy-cart-drawer .woocommerce-mini-cart__buttons a.checkout{background:var(--tgy-gradient-cta);color:#fff}
.tgy-cart-drawer .woocommerce-mini-cart__buttons a:hover{filter:brightness(1.05)}

/* =====================================================================
   Avisos WooCommerce (añadido al carrito, errores) — estilo + por encima del header
   ===================================================================== */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{
  position:relative;z-index:1102;
  font-family:var(--tgy-font-body);font-size:15px;line-height:1.4;
  background:#fff;color:var(--tgy-bg-deep);border:0;border-left:4px solid var(--tgy-rojo);
  border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,.12);
  padding:16px 20px;margin:0 0 20px;list-style:none;display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.woocommerce-error{border-left-color:#c0392b}
.woocommerce-message .button,.woocommerce-info .button,.woocommerce-error .button{
  margin-left:auto;background:var(--tgy-gradient-cta);color:#fff;border:0;border-radius:32px;
  padding:8px 20px;font-family:var(--tgy-font-label);font-weight:600;font-size:14px;text-decoration:none}

/* =====================================================================
   REGLA GLOBAL — animación hover de marca en TODO botón/enlace rojo.
   Mismo efecto que la home: desplaza el gradiente + scale(1.03) + brillo.
   (.btn-tgy y .btn-split ya la tienen; esto cubre botones de WooCommerce y
   cualquier otro con fondo rojo/gradiente que no use esas clases.)
   ===================================================================== */
.btn-tgy--red,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,
.woocommerce #place_order,
.woocommerce .single_add_to_cart_button,
.tgy-cart-drawer .woocommerce-mini-cart__buttons a.checkout,
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-MyAccount-content button,
.woocommerce-account .woocommerce-MyAccount-content input[type=submit],
.woocommerce-account .woocommerce form.login .button,
.woocommerce-account .woocommerce form.register .button{
  background:var(--tgy-gradient-cta)!important;background-size:160% 160%!important;background-position:0% 50%;
  color:#fff!important;border:0;
  transition:background-position .45s ease,filter .25s ease}
.btn-tgy--red:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover,
.woocommerce #place_order:hover,
.woocommerce .single_add_to_cart_button:hover,
.tgy-cart-drawer .woocommerce-mini-cart__buttons a.checkout:hover,
.woocommerce-account .woocommerce-MyAccount-content .button:hover,
.woocommerce-account .woocommerce-MyAccount-content button:hover,
.woocommerce-account .woocommerce-MyAccount-content input[type=submit]:hover,
.woocommerce-account .woocommerce form.login .button:hover,
.woocommerce-account .woocommerce form.register .button:hover{
  background-position:100% 50%;filter:brightness(1.07)}
/* Círculos rojos (flecha/comprar): mantienen su escala + brillo */
.btn-circle:hover{transform:scale(1.06);filter:brightness(1.08)}

/* =====================================================================
   Barrido de degradado en hover para TODOS los botones de fondo rojo
   (mismo efecto que .btn-split__label). El rojo sólido pasa a degradado
   que se desplaza al pasar el ratón.
   ===================================================================== */
.btn-circle,
.btn-split__circle,
.circle-arrow--filled,
.btn-tgy--red{
  background:var(--tgy-gradient-cta);
  background-size:160% 160%;
  background-position:0% 50%;
  transition:background-position .45s ease,transform .25s ease,filter .25s ease;
}
.btn-circle:hover,
.btn-split:hover .btn-split__circle,
.circle-arrow--filled:hover,
.btn-tgy--red:hover{
  background-position:100% 50%;
}

/* ===== Popup de vídeo (sección Valores) ===== */
.tgy-vmodal{position:fixed;inset:0;z-index:1200;display:none;align-items:center;justify-content:center;padding:20px}
.tgy-vmodal.is-open{display:flex}
.tgy-vmodal__overlay{position:absolute;inset:0;background:rgba(0,0,0,.82);cursor:pointer}
.tgy-vmodal__box{position:relative;z-index:2;width:min(960px,100%)}
.tgy-vmodal__media{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.tgy-vmodal__media iframe,.tgy-vmodal__media video{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.tgy-vmodal__close{position:absolute;top:-46px;right:0;width:42px;height:42px;border:0;background:none;color:#fff;font-size:36px;line-height:1;cursor:pointer;transition:color .2s}
.tgy-vmodal__close:hover{color:var(--tgy-rojo)}
.play-video{background:none;border:0;cursor:pointer;text-align:left}
