/* ==========================================================================
   El Método — Ficha de producto (oscura). Todo bajo .emt-product-page.
   ========================================================================== */
.emt-product-page{
  --pd-bg:#0e0e12; --pd-panel:#16161d; --pd-line:rgba(255,255,255,.09); --pd-line2:#2a2a35;
  --pd-txt:#f4f4f6; --pd-mut:#9a9aa8; --pd-dim:#6f6f7c; --pd-yellow:#fff52a; --pd-red:#d82f13;
  --pd-font:'GothamEMT','Gotham2','Gotham',-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--pd-bg); color:var(--pd-txt); font-family:var(--pd-font); line-height:1.6;
}
.emt-product-page *{ box-sizing:border-box; }
.emt-pd{ max-width:1100px; margin:0 auto; padding:0 22px 56px; }

.emt-pd-crumb{ display:flex; gap:8px; align-items:center; font-size:12.5px; color:var(--pd-mut); padding:20px 0 6px; text-transform:uppercase; letter-spacing:.05em; font-weight:700; }
.emt-pd-crumb a{ color:var(--pd-mut); text-decoration:none; }
.emt-pd-crumb a:hover{ color:var(--pd-txt); }
.emt-pd-crumb .cur{ color:var(--pd-txt); }

/* Hero */
.emt-pd-hero{ display:grid; grid-template-columns:1fr 1fr; gap:40px; padding:14px 0 8px; align-items:start; }
.emt-pd-media{ border-radius:20px; overflow:hidden; border:1px solid var(--pd-line); background:radial-gradient(120% 120% at 30% 20%,#26262f 0%,#141419 60%); aspect-ratio:1/1; display:grid; place-items:center; }
.emt-pd-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.emt-pd-media .mk{ font-weight:800; font-style:italic; font-size:30px; color:#2f2f3a; text-align:center; padding:20px; }
.emt-pd-info .kick{ color:var(--pd-yellow); font-weight:800; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.emt-pd-info h1{ font-size:36px; line-height:1.1; font-weight:800; margin:10px 0 6px; text-wrap:balance; color:#fff; }
.emt-pd-price{ display:flex; align-items:baseline; gap:10px; margin:10px 0 16px; flex-wrap:wrap; }
.emt-pd-price .amount,.emt-pd-price bdi{ font-size:32px; font-weight:800; color:#fff; }
.emt-pd-price del{ opacity:.5; font-size:20px; font-weight:600; }
.emt-pd-price ins{ text-decoration:none; }
.emt-pd-price .tag{ font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; background:rgba(255,245,42,.12); color:var(--pd-yellow); padding:4px 10px; border-radius:20px; }
.emt-pd-lead{ color:#d9d9e0; font-size:15px; margin:0 0 20px; }
.emt-pd-lead p{ margin:0 0 10px; }

/* Formulario de compra (WooCommerce nativo, estilizado) */
.emt-pd-buy .cart{ display:flex; gap:12px; align-items:stretch; margin:0 0 18px; flex-wrap:wrap; }
.emt-pd-buy .quantity{ display:inline-flex; align-items:center; background:#121218; border:1px solid var(--pd-line2); border-radius:12px; overflow:hidden; }
.emt-pd-buy .quantity input.qty{ width:56px; height:52px; text-align:center; background:transparent; border:0; color:#fff; font:inherit; font-weight:700; -moz-appearance:textfield; }
.emt-pd-buy .quantity input.qty::-webkit-outer-spin-button,
.emt-pd-buy .quantity input.qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.emt-pd-buy button.single_add_to_cart_button{ flex:1; min-width:220px; height:52px; border:0 !important; border-radius:30px !important; background:var(--pd-yellow) !important; color:var(--pd-red) !important; font-family:var(--pd-font) !important; font-weight:800 !important; font-style:italic !important; font-size:16px !important; cursor:pointer; transition:transform .14s,box-shadow .14s; padding:0 22px !important; }
.emt-pd-buy button.single_add_to_cart_button:hover{ transform:scale(1.02); box-shadow:0 10px 28px rgba(255,245,42,.28); }
.emt-pd-buy button.single_add_to_cart_button.loading{ opacity:1 !important; }
.emt-pd-buy button.single_add_to_cart_button::after,
.emt-pd-buy button.single_add_to_cart_button::before{ display:none !important; content:none !important; }

/* Sellos de confianza */
.emt-pd-trust{ display:grid; grid-template-columns:1fr; gap:8px; margin-top:4px; }
.emt-pd-trust .t{ display:flex; gap:10px; align-items:center; font-size:13px; color:#cdcdd4; font-weight:600; }
.emt-pd-trust .t svg{ width:19px; height:19px; color:var(--pd-yellow); flex:none; }

/* Urgencia */
.emt-pd-urg{ display:flex; gap:12px; align-items:center; margin:26px 0 0; padding:14px 18px; border-radius:14px; background:rgba(216,47,19,.10); border:1px solid rgba(216,47,19,.32); color:#f0c9c1; font-size:14px; font-weight:600; }
.emt-pd-urg svg{ width:20px; height:20px; color:var(--pd-red); flex:none; }

/* Secciones */
.emt-pd-blk{ padding:36px 0 0; border-top:1px solid var(--pd-line); margin-top:34px; }
.emt-pd-blk h2{ font-size:22px; font-weight:800; margin:0 0 16px; color:#fff; }
.emt-pd-rte{ color:#cfcfd6; font-size:15px; max-width:72ch; }
.emt-pd-rte p{ margin:0 0 14px; }
.emt-pd-rte ol,.emt-pd-rte ul{ margin:0 0 14px; padding-left:22px; }
.emt-pd-rte li{ margin:0 0 8px; }
.emt-pd-rte a{ color:var(--pd-yellow); }

/* FAQ */
.emt-pd-faq{ display:flex; flex-direction:column; gap:10px; }
.emt-pd-faq details{ background:var(--pd-panel); border:1px solid var(--pd-line); border-radius:14px; overflow:hidden; }
.emt-pd-faq summary{ list-style:none; cursor:pointer; padding:16px 18px; font-weight:700; color:#fff; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.emt-pd-faq summary::-webkit-details-marker{ display:none; }
.emt-pd-faq summary .chev{ width:9px; height:9px; border-right:2.5px solid var(--pd-dim); border-bottom:2.5px solid var(--pd-dim); transform:rotate(45deg); transition:transform .2s; flex:none; }
.emt-pd-faq details[open] summary .chev{ transform:rotate(-135deg); }
.emt-pd-faq .a{ padding:0 18px 16px; color:#c4c4cc; font-size:14.5px; }
.emt-pd-faq .a p{ margin:0 0 8px; }

/* Recomendados */
.emt-pd-recs{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.emt-pd-card{ background:var(--pd-panel); border:1px solid var(--pd-line); border-radius:16px; overflow:hidden; display:flex; flex-direction:column; }
.emt-pd-card .th{ display:block; aspect-ratio:1/1; overflow:hidden; }
.emt-pd-card .th img{ width:100%; height:100%; object-fit:cover; display:block; }
.emt-pd-card .cb{ padding:13px 14px; display:flex; flex-direction:column; gap:8px; flex:1; }
.emt-pd-card .cn{ font-weight:700; font-size:13.5px; line-height:1.3; color:#fff; text-decoration:none; min-height:35px; }
.emt-pd-card .cn:hover{ color:var(--pd-yellow); }
.emt-pd-card .cp{ font-weight:800; font-size:16px; color:#fff; }
.emt-pd-card .cp .amount,.emt-pd-card .cp bdi{ color:#fff; }
.emt-pd-card .cadd{ margin-top:auto; height:40px; display:flex; align-items:center; justify-content:center; border-radius:22px; background:var(--pd-yellow); color:var(--pd-red); font-weight:800; font-style:italic; font-size:13.5px; text-decoration:none; }
.emt-pd-card .cadd:hover{ filter:brightness(1.05); }

@media(max-width:860px){
  .emt-pd-hero{ grid-template-columns:1fr; gap:22px; }
  .emt-pd-info h1{ font-size:28px; }
  .emt-pd-recs{ grid-template-columns:1fr 1fr; }
}

/* Recomendados en móvil: carrusel por swipe con paginación (dots) en vez de lista larga */
.emt-pd-dots{ display:none; justify-content:center; gap:8px; margin-top:16px; }
.emt-pd-dots button{ width:8px; height:8px; padding:0; border:none; border-radius:50%; background:#34343f; cursor:pointer; transition:background .15s, transform .15s; }
.emt-pd-dots button.is-active{ background:var(--pd-yellow); transform:scale(1.3); }
@media(max-width:560px){
  .emt-pd-recs{
    display:flex; grid-template-columns:none; gap:14px;
    overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none;
    padding-bottom:2px;
  }
  .emt-pd-recs::-webkit-scrollbar{ display:none; }
  .emt-pd-card{ flex:0 0 calc(50% - 7px); scroll-snap-align:start; }
  .emt-pd-dots{ display:flex; }
}
