/* ============================================================
   TRAINOLOGYM — PRODUCTO TIENDA (ficha de producto)
   Clon Figma: DESKTOP 157-2621 / MÓVIL 158-4104
   Depende de styles.css (tokens, nav, footer, btn-tgy, btn-circle).
   ============================================================ */

.pdp{position:relative;background:var(--tgy-bg);overflow:hidden}

/* ── Producto protegido ───────────────────────────────────── */
.pdp-protected{padding-top:0;padding-bottom:64px;background:var(--tgy-bg)}
.pdp-protected__inner{
  display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:32px;align-items:stretch;
  padding:35px 0 90px;
}
.pdp-protected__media{
  width:100%;min-height:0;max-height:620px;aspect-ratio:4/5;border-radius:20px;overflow:hidden;flex-shrink:0;
  background:#1b2023;display:flex;align-items:center;justify-content:center;
}
.pdp-protected__img{width:100%;height:100%;object-fit:cover}
.pdp-protected__content{
  flex:1;min-width:0;border-radius:20px;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);padding:48px;
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
}
.pdp-protected__content .pdp-overline{display:inline-flex}
.pdp-protected__title{
  font-family:var(--tgy-font-display);font-weight:400;font-size:72px;line-height:1.05;
  letter-spacing:-1.44px;text-transform:uppercase;color:#fff;margin:24px 0 0;
}
.pdp-protected__lead{
  font-family:var(--tgy-font-body);font-weight:400;font-size:20px;line-height:1.4;
  color:rgba(255,255,255,.8);max-width:560px;margin:24px 0 0;
}
.pdp-protected__lead p{margin:0 0 14px}
.pdp-protected__lead p:last-child{margin-bottom:0}
.pdp-protected__lead h4{
  font-family:var(--tgy-font-body);font-weight:700;font-size:24px;line-height:1.2;
  color:#fff;margin:18px 0 10px
}
.pdp-protected__lead strong{color:#fff;font-weight:700}
.pdp-protected__form{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:32px;width:100%;max-width:620px}
.pdp-protected__input{
  flex:1 1 320px;height:56px;border-radius:32px;border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);padding:0 24px;color:#fff;
  font-family:var(--tgy-font-body);font-size:18px;
}
.pdp-protected__input::placeholder{color:rgba(255,255,255,.5)}
.pdp-protected__input:focus{outline:none;border-color:rgba(255,255,255,.4)}

/* ── Bloque superior con fondo claro ───────────────────────── */
.pdp-hero{padding-top:0;background:var(--tgy-bg)}
.pdp-hero__inner{
  width:min(1244px,calc(100% - 32px));margin-inline:auto;
  display:flex;gap:32px;align-items:flex-start;
  padding:35px 0 60px;
}

/* ── Galería ───────────────────────────────────────────────── */
.pdp-gallery{display:flex;gap:24px;flex-shrink:0}
.pdp-gallery__thumbs{display:flex;flex-direction:column;gap:32px;flex-shrink:0}
.pdp-thumb{
  width:76px;height:80px;border-radius:10px;border:0;padding:0;cursor:pointer;
  background:#f9f1e7;overflow:hidden;
}
.pdp-thumb img{width:100%;height:100%;object-fit:contain}
.pdp-thumb.is-active{outline:2px solid var(--tgy-rojo);outline-offset:0}

.pdp-gallery__main{
  width:459px;height:500px;border-radius:10px;overflow:hidden;
  background:#f9f1e7;display:flex;align-items:center;justify-content:center;
}
.pdp-gallery__main img{width:100%;height:100%;object-fit:cover}

/* ── Panel de información ───────────────────────────────────── */
.pdp-info{flex:1;min-width:0;padding-top:14px;color:#fff}
.pdp-overline{display:none}
.pdp-info__head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.pdp-title{
  font-family:var(--tgy-font-body);font-weight:600;font-size:48px;line-height:44px;
  letter-spacing:.5px;color:#fff;margin:0;padding-top:14px;
}
.pdp-price{
  font-family:var(--tgy-font-body);font-weight:700;font-size:45px;line-height:1;
  color:#fff;margin:0;white-space:nowrap;
}

.pdp-rating{display:flex;align-items:center;gap:0;margin-top:60px}
.pdp-stars{display:inline-flex;align-items:center;gap:6px;color:#ffc700}
.pdp-ic20{width:20px;height:20px;display:block}
.pdp-rating__div{width:1px;height:30px;background:#9f9f9f;margin:0 22px}
.pdp-rating__count{font-family:var(--tgy-font-body);font-weight:400;font-size:16px;color:#9f9f9f}

.pdp-lead{
  font-family:var(--tgy-font-body);font-weight:400;font-size:16px;line-height:20px;
  color:#fff;max-width:600px;margin:18px 0 0;
}

/* ── Opciones: talla / color / compra ──────────────────────── */
.pdp-options{display:flex;align-items:flex-start;gap:67px;margin-top:42px;flex-wrap:wrap}
.pdp-opt__label{font-family:var(--tgy-font-body);font-weight:400;font-size:14px;color:#c5c5c5;margin:0 0 13px}

.pdp-sizes{display:flex;align-items:center;gap:12px}
.pdp-size{
  background:none;border:0;padding:0;cursor:pointer;
  font-family:var(--tgy-font-body);font-weight:600;font-size:24px;line-height:24px;
  letter-spacing:.5px;color:#fff;opacity:.7;transition:color .2s,opacity .2s;
}
.pdp-size.is-active{color:var(--tgy-rojo);opacity:.7}
.pdp-size:hover{opacity:1;color:var(--tgy-rojo)}
/* Variaciones nativas de Woo (talla, etc.) en producto variable: texto en blanco */
.pdp-options .variations,
.pdp-options .variations th,
.pdp-options .variations td,
.pdp-options .variations label{color:#fff}
.pdp-options .variations select{color:#fff;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.3);border-radius:10px;padding:10px 14px;
  font-family:var(--tgy-font-body);font-size:18px;font-weight:500}
.pdp-options .variations select option{color:#131313;background:#fff}
.pdp-options .reset_variations{color:#fff;opacity:.7}
.pdp-options .single_variation .price,
.pdp-options .woocommerce-variation-price{color:#fff}

.pdp-colors{display:flex;align-items:center;gap:16px}
.pdp-color{width:30px;height:30px;border-radius:50px;border:0;background:#fff;cursor:pointer;transition:transform .2s}
.pdp-color:hover{transform:scale(1.08)}

/* compra: cantidad + bolsa + círculo */
.pdp-buy{display:flex;align-items:center;gap:24px;margin-left:auto;padding-top:14px}
.pdp-qty{
  width:123px;height:50px;border:1px solid #9f9f9f;border-radius:10px;
  display:flex;align-items:center;justify-content:space-between;padding:0 15px;
}
.pdp-qty__btn{background:none;border:0;color:#fff;cursor:pointer;
  font-family:var(--tgy-font-body);font-size:18px;line-height:1;padding:4px}
.pdp-qty__val{font-family:var(--tgy-font-body);font-weight:500;font-size:16px;color:#fff}

.pdp-buy__cta{display:flex;align-items:center;gap:16px}
.pdp-bag{display:inline-flex;color:#fff}
.pdp-bag svg{width:34px;height:34px}
.pdp-buy__circle{
  width:56px;height:56px;border-radius:32px;border:0;cursor:pointer;flex-shrink:0;
  background:var(--tgy-gradient-cta);background-size:160% 160%;background-position:0% 50%;
  color:#fff;display:inline-flex;align-items:center;justify-content:center;
  transition:background-position .45s ease,transform .25s ease,filter .25s ease;
}
.pdp-buy__circle:hover{background-position:100% 50%;transform:scale(1.06);filter:brightness(1.08)}
.pdp-buy__circle svg{width:20px;height:20px}
/* Botón "Borrar del carrito" — solo aparece si el producto ya está en el carrito */
.pdp-remove{display:inline-flex;align-items:center;gap:7px;margin-top:16px;flex-basis:100%;
  background:none;border:0;padding:0;cursor:pointer;font-family:var(--tgy-font-body);font-weight:500;
  font-size:14px;color:rgba(255,255,255,.7);text-decoration:none;transition:color .2s}
.pdp-remove:hover{color:var(--tgy-rojo)}
.pdp-remove svg{width:16px;height:16px;flex-shrink:0}

/* ── Divisor + meta ────────────────────────────────────────── */
.pdp-info__divider{height:1px;background:#9f9f9f;opacity:.6;margin:48px 0 38px}
.pdp-meta{margin:0}
.pdp-meta__row{display:flex;font-family:var(--tgy-font-body);font-weight:400;font-size:16px;color:#c5c5c5;margin-bottom:18px}
.pdp-meta__row:last-child{margin-bottom:0}
.pdp-meta dt{width:107px;font-weight:400;margin:0}
.pdp-meta__row::before{content:none}
.pdp-meta dt::after{content:":";color:#9f9f9f;margin-left:4px}
.pdp-meta dd{margin:0}

.pdp-social{display:flex;align-items:center;gap:23px;margin-top:36px;color:#fff}
.pdp-social a{display:inline-flex;color:#fff;transition:color .2s}
.pdp-social a:hover{color:var(--tgy-rojo)}
.pdp-social svg{width:20px;height:20px}
.pdp-social__tw{width:25px;height:25px}

/* ── Tabs + descripción ────────────────────────────────────── */
.pdp-detail{padding:56px 0 0;background:var(--tgy-bg)}
.pdp-tabs{display:flex;gap:36px;flex-wrap:wrap}
.pdp-tab{
  font-family:var(--tgy-font-body);font-weight:500;font-size:24px;line-height:29px;
  color:#9f9f9f;transition:color .2s;
}
.pdp-tab.is-active{color:#fff;font-weight:600}
.pdp-tab:hover{color:#fff}

.pdp-content{margin-top:62px;display:flex;flex-direction:column;gap:0}
.pdp-passage{
  font-family:var(--tgy-font-body);font-weight:400;font-size:16px;line-height:20px;
  color:#c2c2c2;margin:0;
}
.pdp-h6{
  font-family:var(--tgy-font-body);font-weight:700;font-size:24px;line-height:32px;
  color:#fff;margin:28px 0 12px;
}

.pdp-bigimgs{display:flex;gap:30px;margin-top:62px}
.pdp-bigimg{
  flex:1;height:417px;border-radius:10px;overflow:hidden;background:#f9f1e7;
  display:flex;align-items:center;justify-content:center;
}
.pdp-bigimg img{width:100%;height:100%;object-fit:cover}

/* ── Barra de features (gradiente) ─────────────────────────── */
.pdp-features{margin-top:96px;background:var(--tgy-gradient);padding:85px 0}
.pdp-features__inner{
  width:min(1334px,calc(100% - 64px));margin-inline:auto;
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.pdp-feature{display:flex;align-items:center;gap:10px}
.pdp-feature__ic{width:60px;height:60px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:#fff}
.pdp-feature__ic svg{width:48px;height:48px}
.pdp-feature__t{font-family:var(--tgy-font-body);font-weight:600;font-size:25px;line-height:1.5;color:#fff;margin:0}
.pdp-feature__d{font-family:var(--tgy-font-body);font-weight:500;font-size:20px;line-height:1.5;color:#fff;opacity:.92;margin:0;max-width:221px}

/* ── Otro material que te podría interesar ─────────────────── */
.pdp-related{padding:90px 0 70px;background:var(--tgy-bg)}
.pdp-related__head{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;margin-bottom:80px}
.pdp-related__tag{display:inline-flex;align-items:center;gap:8px;
  font-family:var(--tgy-font-body);font-weight:500;font-size:20px;line-height:1.3;color:#fff;white-space:nowrap;padding-top:16px}
.pdp-related__dot{width:18px;height:18px;border-radius:50%;background:var(--tgy-rojo);flex-shrink:0}
.pdp-related__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;max-width:546px;text-align:right;
}

.pdp-related__grid{display:flex;gap:33px;align-items:stretch}
.pdp-pcard{flex:1;min-width:0;display:flex;flex-direction:column}
.pdp-pcard__img{height:377px;border-radius:20px;overflow:hidden;background:#fff;
  display:flex;align-items:center;justify-content:center;margin-bottom:51px}
.pdp-pcard__img img{width:80%;height:auto;object-fit:contain}
.pdp-pcard__body{margin-bottom:8px}
.pdp-pcard__t{font-family:var(--tgy-font-body);font-weight:600;font-size:30px;line-height:24px;letter-spacing:.5px;color:#fff;margin:0 0 8px}
.pdp-pcard__sub{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:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pdp-sizes--card{margin:20px 0 0}
.pdp-pcard__foot{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:auto;padding-top:46px}
.pdp-pcard__price{font-family:var(--tgy-font-body);font-weight:600;font-size:40px;line-height:24px;letter-spacing:.5px;color:#fff;margin:0}
.pdp-pcard__buy{display:flex;align-items:center;gap:20px}
.pdp-pcard__buy .pdp-bag svg{width:48px;height:48px}

/* nav del carrusel (oculto en desktop) */
.pdp-related__nav{display:none}

.pdp-related__all{display:flex;align-items:center;justify-content:center;gap:0;margin-top:80px}
.pdp-related__all .btn-tgy{background:var(--tgy-gradient-cta);border-radius:32px}
.pdp-related__all .btn-circle{margin-left:0;border-radius:0 32px 32px 0}

/* =====================================================================
   MÓVIL (≤991.98px)  — frame 158-4104 (393px)
   ===================================================================== */
@media (max-width:991.98px){
  .pdp-protected{padding-bottom:40px}
  .pdp-protected__inner{display:flex;flex-direction:column;gap:24px;padding:24px 0 48px;width:calc(100% - 40px)}
  .pdp-protected__media{width:100%;min-height:auto;aspect-ratio:333/292;border-radius:20px}
  .pdp-protected__content{padding:28px 24px}
  .pdp-protected__title{font-size:40px;letter-spacing:-.8px}
  .pdp-protected__lead{font-size:16px;line-height:1.5}
  .pdp-protected__lead h4{font-size:20px}
  .pdp-protected__form{gap:12px;max-width:none}
  .pdp-protected__input{flex:1 1 100%;height:52px;font-size:16px}

  /* info se aplana en el mismo contexto flex que la galería para intercalar la imagen */
  .pdp-hero__inner{flex-direction:column;gap:21px;padding:24px 0 40px;width:calc(100% - 40px)}
  .pdp-info{display:contents}

  /* galería: una sola imagen (sin miniaturas), entre rating y lead */
  .pdp-gallery{display:block;width:100%;order:4}
  .pdp-gallery__thumbs{display:none}
  .pdp-gallery__main{width:100%;height:auto;aspect-ratio:333/292;border-radius:20px;background:#1b2023}
  .pdp-gallery__main img{width:100%;height:100%;object-fit:cover}

  /* orden de los elementos del panel en móvil */
  .pdp-overline{display:inline-flex;align-items:center;gap:8px;order:1;
    font-family:var(--tgy-font-body);font-weight:500;font-size:22px;line-height:1.3;color:#fff}
  .pdp-overline__dot{width:18px;height:18px;border-radius:50%;background:var(--tgy-rojo);flex-shrink:0}
  .pdp-info__head{order:2;flex-direction:column;align-items:flex-start;gap:3px}
  .pdp-rating{order:3;margin-top:18px}
  .pdp-lead{order:5}
  .pdp-options{order:6}
  .pdp-info__divider{order:7}
  .pdp-meta{order:8}
  .pdp-social{order:9}

  .pdp-title{font-size:30px;line-height:1.05;padding-top:0}
  .pdp-price{font-size:40px}
  .pdp-rating{margin-top:0}
  .pdp-lead{font-size:16px;line-height:24px;opacity:.7;max-width:none;margin-top:0}

  .pdp-options{gap:28px 63px;margin-top:0;flex-wrap:wrap;align-items:flex-start}
  .pdp-buy{margin-left:0;flex-basis:100%;width:100%;justify-content:flex-start;gap:84px;padding-top:4px}
  .pdp-buy__cta{gap:20px}

  .pdp-info__divider{margin:32px 0 28px}

  .pdp-detail{padding:36px 0 0}
  .pdp-tabs{gap:24px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;-ms-overflow-style:none}
  .pdp-tabs::-webkit-scrollbar{width:0;height:0;display:none}
  .pdp-tab{font-size:20px;white-space:nowrap}
  .pdp-content{margin-top:32px}
  .pdp-h6{font-size:20px}

  /* imágenes grandes ocultas en móvil (no aparecen en 158-4104) */
  .pdp-bigimgs{display:none}

  .pdp-features{margin-top:48px;padding:48px 0}
  .pdp-features__inner{flex-direction:column;align-items:flex-start;gap:32px;width:calc(100% - 48px)}
  .pdp-feature__t{font-size:22px}
  .pdp-feature__d{font-size:17px}

  .pdp-related{padding:48px 0}
  .pdp-related__head{flex-direction:column;gap:14px;margin-bottom:32px}
  .pdp-related__title{font-size:44px;text-align:left;letter-spacing:-.88px;max-width:none}
  .pdp-related__tag{padding-top:0}

  /* carrusel: una tarjeta visible */
  .pdp-related__grid{display:block}
  .pdp-pcard{width:100%}
  .pdp-pcard__price{font-size:34px}
  .pdp-pcard__foot{padding-top:24px}
  .pdp-pcard__buy .pdp-bag svg{width:40px;height:40px}
  .pdp-pcard + .pdp-pcard{display:none}
  .pdp-pcard__img{height:auto;aspect-ratio:333/292;border-radius:20px;margin-bottom:36px}

  .pdp-related__nav{display:flex;align-items:center;justify-content:space-between;margin-top:28px}
  .pdp-related__arrow{
    width:56px;height:56px;border-radius:50%;border:0;cursor:pointer;flex-shrink:0;
    background:var(--tgy-rojo-dark);color:#fff;display:inline-flex;align-items:center;justify-content:center;
  }
  .pdp-related__arrow svg{width:22px;height:22px}
  .pdp-related__arrow--red{background:var(--tgy-rojo)}
  .pdp-related__dots{display:flex;align-items:center;gap:10px}
  .pdp-related__dots span{width:9px;height:9px;border-radius:50%;background:#5a5a5a}
  .pdp-related__dots span.is-active{background:var(--tgy-rojo)}

  .pdp-related__all{margin-top:32px}
  .pdp-related__all .btn-tgy{font-size:16px;padding:14px 24px}
}
