/*
Theme Name: Hostinger Affiliate Theme Child
Description: Tema hijo de Hostinger Affiliate Theme
Author: Juan Prieto
Version: 1.1.0 (Refactor 2025)
Template: hostinger-affiliate-theme
Text Domain: hostinger-affiliate-theme-child
*/

/* =========================================================
   TF REVIEW PRO · PLANTILLA PREMIUM (CSS COMPLETO)
   Scope principal: .cmp-box.review-template[data-tf-review]
   Objetivo: look premium + grids estables + sin conflictos
========================================================= */

.cmp-box.review-template[data-tf-review]{
  /* Brand + tiendas */
  --brand:#c65d3a;
  --brand-rgb:198 93 58;

  --amz:#ff9900;
  --ler:#2bb673;
  --pc:#ff6a00;
  --aigo:#24c0ff;
  --lidl:#0054a6;

  /* UI */
  --text:#0b1120;
  --title:#020617;
  --muted:#4b5563;
  --border:rgba(15,23,42,.14);
  --soft:#f5f7fb;
  --card:#ffffff;

  --radius:1.4rem;
  --radius-md:1.1rem;
  --radius-sm:.85rem;

  --shadow-sm:0 8px 20px rgba(15,23,42,.06);
  --shadow-md:0 14px 40px rgba(15,23,42,.08);
  --shadow-lg:0 18px 55px rgba(0,0,0,.55);

  /* Grid tuning */
  --grid-gap:1.15rem;
  --card-min:300px; /* ancho mínimo por card para auto-fit */
  --card-max:420px;

  max-width:1120px;
  margin:0 auto 40px;
  padding:10px 12px 32px;

  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:1.06rem;
  line-height:1.72;
  color:var(--text);
}

.cmp-box.review-template[data-tf-review],
.cmp-box.review-template[data-tf-review] *{ box-sizing:border-box; }

/* Base */
.cmp-box.review-template[data-tf-review] p{
  margin:0 0 .95rem;
  font-size:1.02em;
  line-height:1.75;
}
.cmp-box.review-template[data-tf-review] p:last-child{ margin-bottom:0; }

.cmp-box.review-template[data-tf-review] img{
  max-width:100%;
  height:auto;
  display:block;
  border-radius:14px;
}

/* Links */
.cmp-box.review-template[data-tf-review] a{ color:var(--brand); }
.cmp-box.review-template[data-tf-review] a:focus-visible,
.cmp-box.review-template[data-tf-review] button:focus-visible{
  outline:3px solid color-mix(in srgb, var(--brand), white 15%);
  outline-offset:3px;
  border-radius:12px;
}

/* Headings */
.cmp-box.review-template[data-tf-review] h2{
  font-size:1.55rem;
  line-height:1.22;
  margin:0 0 .9rem;
  letter-spacing:-.015em;
  font-weight:900;
  color:var(--title);
}
.cmp-box.review-template[data-tf-review] h3{
  font-size:1.18rem;
  line-height:1.25;
  margin:1.05rem 0 .6rem;
  letter-spacing:-.01em;
  font-weight:850;
  color:var(--title);
}
.cmp-box.review-template[data-tf-review] h4{
  font-size:1.05rem;
  line-height:1.3;
  margin:.85rem 0 .45rem;
  letter-spacing:-.005em;
  font-weight:800;
  color:var(--title);
}

.cmp-box.review-template[data-tf-review] .muted{ color:var(--muted); font-size:.95rem; }

/* =========================================================
   AVISOS + NAV (DISEÑO FINAL: NO STICKY)
========================================================= */

.cmp-box.review-template[data-tf-review] .cmp-disclosure{
  margin:1rem 0 1.25rem;
  padding:.95rem 1.3rem;
  border-radius:18px;
  border:1px solid rgb(var(--brand-rgb) / .25);
  background:#fff7f2;
  box-shadow:0 8px 20px rgb(var(--brand-rgb) / .10);
  font-size:.92rem;
  line-height:1.6;
  color:#4a1c0b;
}
.cmp-box.review-template[data-tf-review] .cmp-disclosure strong{ font-weight:700; }
.cmp-box.review-template[data-tf-review] .cmp-disclosure--bottom{ margin-top:1.25rem; margin-bottom:0; }

/* site-links: NO sticky + centrado */
.cmp-box.review-template[data-tf-review] .site-links{
  position: static !important;
  top: auto !important;
  z-index: auto !important;

  background: transparent !important;
  backdrop-filter: none !important;
  border: 0 !important;
  border-radius: 0 !important;

  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  align-items:center;
  justify-content:center;
  margin: 1.1rem 0 0;
  padding: .5rem .2rem;
}

.cmp-box.review-template[data-tf-review] .site-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.4rem .9rem;
  border-radius:999px;
  border:1px solid var(--border);
  background:var(--soft);
  font-size:.9rem;
  font-weight:500;
  text-decoration:none;
  color:var(--brand);
  line-height:1.2;
  white-space:nowrap;
}
.cmp-box.review-template[data-tf-review] .site-links a:hover{
  background:var(--brand);
  color:#fff;
  border-color:var(--brand);
}

/* offset anclas (solo header real) */
.cmp-box.review-template[data-tf-review] section[id]{
  scroll-margin-top: 64px;
}

@media (max-width:720px){
  .cmp-box.review-template[data-tf-review] .site-links{
    justify-content:center !important;
    padding-inline:.1rem;
  }
}

/* =========================================================
   HERO (base)
========================================================= */

.cmp-box.review-template[data-tf-review] .hero-card{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1.25fr);
  gap:1.4rem;
  align-items:flex-start;
  padding:1.2rem 1.3rem;
  border-radius:var(--radius);
  border:1px solid rgb(var(--brand-rgb) / .28);
  background:radial-gradient(circle at top left, rgb(var(--brand-rgb) / .06), #ffffff);
  box-shadow:var(--shadow-md);
}

.cmp-box.review-template[data-tf-review] .hero-col--left{
  display:flex;
  flex-direction:column;
  gap:.9rem;
}

.cmp-box.review-template[data-tf-review] .hero-media{
  border-radius:1.3rem;
  background:
    radial-gradient(circle at top, rgba(255,255,255,.12), rgba(0,0,0,.55)),
    linear-gradient(180deg, #0b1120, #020617);
  padding:1rem;
  box-shadow:var(--shadow-lg), inset 0 0 0 1px rgba(255,255,255,.06);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.cmp-box.review-template[data-tf-review] .hero-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at center, rgba(255,255,255,.18), rgba(255,255,255,0) 60%);
  pointer-events:none;
}
.cmp-box.review-template[data-tf-review] .hero-media > *{ position:relative; z-index:1; }

.cmp-box.review-template[data-tf-review] .hero-media a:not(.btn-pill):not(.cta-btn),
.cmp-box.review-template[data-tf-review] .hero-media a:not(.btn-pill):not(.cta-btn):visited{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:3px;
  font-weight:500;
}
.cmp-box.review-template[data-tf-review] .hero-media a:not(.btn-pill):not(.cta-btn):hover{ color:#fde68a; }

.cmp-box.review-template[data-tf-review] .hero-product{ margin:0 0 .7rem; }
.cmp-box.review-template[data-tf-review] .hero-product img{ border-radius:1rem; background:transparent; }

.cmp-box.review-template[data-tf-review] .hero-chips{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  margin-bottom:.6rem;
}
.cmp-box.review-template[data-tf-review] .chip{
  padding:.28rem .7rem;
  border-radius:999px;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.02em;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.12);
  color:#fff;
  backdrop-filter:blur(4px);
}
.cmp-box.review-template[data-tf-review] .chip--brand{
  background:var(--brand);
  border-color:var(--brand);
  color:#fff;
}

.cmp-box.review-template[data-tf-review] .hero-links{
  display:flex;
  flex-direction:column;
  gap:.25rem;
  font-size:.82rem;
  margin-bottom:.45rem;
}
.cmp-box.review-template[data-tf-review] .hero-note{ font-size:.8rem; color:#e5e7eb; }

/* Rating */
.cmp-box.review-template[data-tf-review] .hero-rating{
  position:relative;
  overflow:hidden;
  border-radius:1.25rem;
  padding:.92rem 1rem;
  border:1px solid rgba(245,158,11,.32);
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.95), rgba(255,255,255,0) 44%),
    linear-gradient(135deg, #fff8df 0%, #fff3bf 52%, #fffaf0 100%);
  box-shadow:
    0 18px 42px rgba(180,83,9,.14),
    inset 0 1px 0 rgba(255,255,255,.88),
    inset 0 0 0 1px rgba(255,255,255,.52);
}

.cmp-box.review-template[data-tf-review] .hero-rating::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(120deg, rgba(255,255,255,.42), rgba(255,255,255,0) 45%),
    radial-gradient(circle at 92% 12%, rgba(245,158,11,.18), transparent 34%);
  pointer-events:none;
}

.cmp-box.review-template[data-tf-review] .hero-rating .tf-rating-pro{
  position:relative;
  z-index:1;
}

.cmp-box.review-template[data-tf-review] .tf-rating-pro{
  display:flex;
  align-items:center;
  gap:.7rem .8rem;
  min-width:0;
  flex-wrap:wrap;
}

.cmp-box.review-template[data-tf-review] .tf-rating-pro__stars{
  --tf-rating:5;

  position:relative;
  display:inline-block;
  flex:0 0 auto;

  font-size:1.5rem;
  line-height:1;
  letter-spacing:.03em;

  color:rgba(245,158,11,.24);
  white-space:nowrap;
  text-shadow:none;
}

.cmp-box.review-template[data-tf-review] .tf-rating-pro__stars::before{
  content:"★★★★★";
  position:absolute;
  inset:0;
  pointer-events:none;
  white-space:nowrap;

  color:transparent;
  -webkit-text-fill-color:transparent;

  background:linear-gradient(
    90deg,
    #f59e0b 0%,
    #f59e0b calc((var(--tf-rating) / 5) * 100%),
    transparent calc((var(--tf-rating) / 5) * 100%),
    transparent 100%
  );

  -webkit-background-clip:text;
  background-clip:text;
}

.cmp-box.review-template[data-tf-review] .tf-rating-pro__label{
  flex:1 1 180px;
  min-width:150px;
  font-size:1rem;
  line-height:1.45;
  font-weight:750;
  color:#374151;
}

.cmp-box.review-template[data-tf-review] .tf-rating-pro__score{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.28rem .58rem;
  border-radius:999px;
  background:#ffffff;
  border:1px solid rgba(245,158,11,.30);
  box-shadow:0 8px 18px rgba(146,64,14,.10);
  font-size:1.05rem;
  line-height:1;
  font-weight:950;
  color:#8a3b0a;
}

/* Hero CTAs */
.cmp-box.review-template[data-tf-review] .hero-ctas{
  border-radius:1.15rem;
  padding:.9rem 1rem;
  background:#f9fafb;
  border:1px solid rgb(var(--brand-rgb) / .40);
  box-shadow:0 10px 26px rgba(15,23,42,.06);
  display:block !important;
  visibility:visible !important;
}
.cmp-box.review-template[data-tf-review] .hero-ctas__title{
  font-size:.9rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#6b7280;
  margin-bottom:.65rem;
}
.cmp-box.review-template[data-tf-review] .hero-ctas__buttons{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:.65rem !important;
  margin-bottom:.4rem;
}
.cmp-box.review-template[data-tf-review] .hero-ctas__disclaimer{
  font-size:.82rem;
  color:#6b7280;
  margin:0;
}

/* Columna derecha */
.cmp-box.review-template[data-tf-review] .hero-content{
  display:flex;
  flex-direction:column;
  gap:.9rem;
}
.cmp-box.review-template[data-tf-review] .hero-kicker{
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#2563eb;
  font-weight:700;
  margin-bottom:.15rem;
}
.cmp-box.review-template[data-tf-review] .hero-summary{
  font-size:1.14rem;
  line-height:1.72;
  color:#111827;
}
.cmp-box.review-template[data-tf-review] .hero-bullets{ margin:.1rem 0 .1rem 1rem; padding:0; }
.cmp-box.review-template[data-tf-review] .hero-bullets li{ margin-bottom:.35rem; }
.cmp-box.review-template[data-tf-review] .hero-verdict{
  margin-top:.1rem;
  padding:.8rem .9rem;
  border-radius:1.1rem;
  background:#ecfdf3;
  border:1px solid var(--brand);
  box-shadow:0 8px 20px rgba(34,197,94,.12);
  font-size:.95rem;
}

/* Móvil: botones hero a ancho completo */
@media (max-width: 720px){
  .cmp-box.review-template[data-tf-review] .hero-ctas__buttons .cta-btn,
  .cmp-box.review-template[data-tf-review] .hero-ctas__buttons .btn-pill{
    width:100% !important;
  }
}

/* =========================================================
   SECTION CARDS / IDEA
========================================================= */

.cmp-box.review-template[data-tf-review] .section-card{
  margin-top:1.6rem;
  padding:1.2rem 1.3rem;
  border-radius:var(--radius);
  border:1px solid var(--brand);
  background:radial-gradient(circle at top left, rgba(249,250,251,.85), #ffffff);
  box-shadow:0 10px 26px rgba(15,23,42,.04);
}
.cmp-box.review-template[data-tf-review] .section-card > h2{ margin-bottom:.95rem; }

.cmp-box.review-template[data-tf-review] .fit-list{ margin:.4rem 0 0 1.1rem; padding:0; }

.cmp-box.review-template[data-tf-review] .idea-key{
  margin:.4rem 0 1.2rem;
  padding:.9rem 1.1rem;
  border-radius:1.1rem;
  border:1px solid var(--brand);
  background:#fff9f5;

  font-size:1rem;
  line-height:1.72;
  color:#111827;
  font-weight:500;
}
.cmp-box.review-template[data-tf-review] .idea-key > strong{
  display:block;
  font-size:1.10rem;
  line-height:1.25;
  margin:0 0 .45rem;
  letter-spacing:-.01em;
  font-weight:900;
  color:var(--title);
}
.cmp-box.review-template[data-tf-review] .idea-key p strong,
.cmp-box.review-template[data-tf-review] .idea-key li strong{
  font-weight:750;
  color:#0f172a;
}
@media (max-width:720px){
  .cmp-box.review-template[data-tf-review] .idea-key > strong{ font-size:1.14rem; }
}

/* =========================================================
   SPECS
========================================================= */

.cmp-box.review-template[data-tf-review] .specs-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.6rem;
  margin-top:.6rem;
}
.cmp-box.review-template[data-tf-review] .specs-grid dl{
  margin:0;
  padding:.65rem .7rem;
  border-radius:1rem;
  background:#f9fafb;
  border:1px solid var(--brand);
}
.cmp-box.review-template[data-tf-review] .specs-grid dt{
  font-size:.8rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#6b7280;
  margin-bottom:.12rem;
}
.cmp-box.review-template[data-tf-review] .specs-grid dd{ margin:0 0 .25rem; font-size:.93rem; }
.cmp-box.review-template[data-tf-review] .specs-note{
  font-size:.98rem;
  line-height:1.7;
  color:var(--muted);
  margin-top:.7rem;
}

/* =========================================================
   PROS / CONTRAS + RATING PANEL
========================================================= */

.cmp-box.review-template[data-tf-review] .proscons-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.9rem;
}
.cmp-box.review-template[data-tf-review] .pros,
.cmp-box.review-template[data-tf-review] .cons{
  padding:.85rem .95rem;
  border-radius:1rem;
  background:#f9fafb;
  border:1px solid var(--brand);
}

.cmp-box.review-template[data-tf-review] .rating-panel{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.35fr);
  gap:1rem;
  align-items:stretch;
}

.cmp-box.review-template[data-tf-review] .rating-panel__main{
  position:relative;
  overflow:hidden;
  border-radius:1.25rem;
  padding:1rem 1.05rem;
  border:1px solid rgba(245,158,11,.32);
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.98), rgba(255,255,255,0) 42%),
    linear-gradient(135deg, #fff8df 0%, #fff1b8 52%, #fffaf0 100%);
  box-shadow:
    0 18px 42px rgba(180,83,9,.13),
    inset 0 1px 0 rgba(255,255,255,.9),
    inset 0 0 0 1px rgba(255,255,255,.54);
}

.cmp-box.review-template[data-tf-review] .rating-panel__main::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(120deg, rgba(255,255,255,.46), rgba(255,255,255,0) 48%),
    radial-gradient(circle at 92% 12%, rgba(245,158,11,.20), transparent 34%);
  pointer-events:none;
}

.cmp-box.review-template[data-tf-review] .rating-panel__main .tf-rating-pro{
  position:relative;
  z-index:1;
  align-items:flex-start;
}

.cmp-box.review-template[data-tf-review] .rating-panel__main .tf-rating-pro__stars{
  font-size:1.45rem;
  padding-top:.08rem;
}

.cmp-box.review-template[data-tf-review] .rating-panel__text{
  position:relative;
  overflow:hidden;
  border-radius:1.25rem;
  padding:1rem 1.1rem;
  border:1px solid rgb(var(--brand-rgb) / .26);
  background:
    radial-gradient(circle at top left, rgb(var(--brand-rgb) / .055), transparent 42%),
    linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
  box-shadow:
    0 18px 42px rgba(15,23,42,.065),
    inset 0 1px 0 rgba(255,255,255,.86);
}

.cmp-box.review-template[data-tf-review] .rating-panel__text::before{
  content:"";
  position:absolute;
  left:0;
  top:1rem;
  bottom:1rem;
  width:4px;
  border-radius:999px;
  background:linear-gradient(180deg, var(--brand), rgba(198,93,58,.28));
}

.cmp-box.review-template[data-tf-review] .rating-panel__text p{
  margin:0 0 .75rem;
  font-size:1rem;
  line-height:1.72;
  color:#374151;
}

.cmp-box.review-template[data-tf-review] .rating-panel__text p:last-child{
  margin-bottom:0;
}

@media (max-width:980px){
  .cmp-box.review-template[data-tf-review] .rating-panel{
    grid-template-columns:1fr;
    gap:.85rem;
  }
}

@media (max-width:520px){
  .cmp-box.review-template[data-tf-review] .tf-rating-pro{
    align-items:center;
    gap:.58rem;
    flex-wrap:wrap;
  }

  .cmp-box.review-template[data-tf-review] .tf-rating-pro__stars{
  font-size:1.32rem;
  letter-spacing:.03em;
}

  .cmp-box.review-template[data-tf-review] .tf-rating-pro__label{
    font-size:.96rem;
    line-height:1.42;
    font-weight:750;
  }

  .cmp-box.review-template[data-tf-review] .tf-rating-pro__score{
    font-size:1rem;
    padding:.25rem .52rem;
  }

  .cmp-box.review-template[data-tf-review] .rating-panel__text{
    padding:.92rem 1rem .92rem 1.05rem;
  }
}

/* =========================================================
   VÍDEO (YouTube lite)
========================================================= */

.cmp-box.review-template[data-tf-review] .video-wrapper{
  position:relative;
  width:100%;
  max-width:960px;
  margin:.6rem auto 0;
  aspect-ratio:16/9;
  border-radius:var(--radius);
  overflow:hidden;
  background:#000;
  box-shadow:0 16px 45px rgba(15,23,42,.45);
}
.cmp-box.review-template[data-tf-review] .video-wrapper::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at center, rgba(0,0,0,.45), rgba(0,0,0,.9));
  z-index:1;
  opacity:1;
  transition:opacity .2s ease;
  pointer-events:none;
}
.cmp-box.review-template[data-tf-review] .video-wrapper[data-loaded="1"]::before{ opacity:0; }

.cmp-box.review-template[data-tf-review] .video-wrapper .yt-lite{
  position:relative;
  width:100%;
  height:100%;
  border:0;
  padding:0;
  margin:0;
  background:transparent;
  display:block;
  cursor:pointer;
  z-index:2;
}
.cmp-box.review-template[data-tf-review] .video-wrapper .yt-lite img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  z-index:0;
}
.cmp-box.review-template[data-tf-review] .video-wrapper .yt-lite::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:74px;
  height:74px;
  border-radius:999px;
  background:rgba(0,0,0,.55);
  border:3px solid rgba(255,255,255,.98);
  box-shadow:0 10px 32px rgba(0,0,0,1);
  z-index:3;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.cmp-box.review-template[data-tf-review] .video-wrapper .yt-lite::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-35%,-50%);
  border-left:18px solid #ffffff;
  border-top:11px solid transparent;
  border-bottom:11px solid transparent;
  z-index:4;
}
.cmp-box.review-template[data-tf-review] .video-wrapper .yt-lite__label{
  position:absolute;
  left:16px;
  bottom:16px;
  padding:.4rem 1rem;
  border-radius:999px;
  background:#ffffff;
  color:#111827;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  box-shadow:0 6px 18px rgba(0,0,0,.7);
  z-index:4;
}
.cmp-box.review-template[data-tf-review] .video-wrapper .yt-lite:hover::before,
.cmp-box.review-template[data-tf-review] .video-wrapper .yt-lite:focus-visible::before{
  background:rgba(0,0,0,.7);
  transform:translate(-50%,-50%) scale(1.06);
  box-shadow:0 14px 40px rgba(0,0,0,1);
}
.cmp-box.review-template[data-tf-review] .video-wrapper iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

/* =========================================================
   BOTONES / CTAs (wrap + sin recortes)
========================================================= */

.cmp-box.review-template[data-tf-review] .btn-pill,
.cmp-box.review-template[data-tf-review] .cta-btn{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;

  padding:.7rem 1rem;
  border-radius:12px;
  border:1px solid transparent;
  text-decoration:none;

  font-size:.92rem;
  font-weight:800;
  line-height:1.15;

  white-space:normal;
  text-align:center;

  box-shadow:0 10px 22px rgba(0,0,0,.16);
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
}

.cmp-box.review-template[data-tf-review] .cta-btn__title,
.cmp-box.review-template[data-tf-review] .btn-pill span:first-child{
  display:block;
  font-size:.95rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  line-height:1.15;
  text-wrap:balance;
}

.cmp-box.review-template[data-tf-review] .cta-btn__store,
.cmp-box.review-template[data-tf-review] .btn-pill span:last-child{
  display:block;
  font-size:.82rem;
  font-weight:600;
  opacity:.95;
}

.cmp-box.review-template[data-tf-review] .btn-pill{
  background:#ffffff;
  color:var(--brand);
  border-color:var(--brand);
  box-shadow:0 8px 18px rgba(0,0,0,.10);
  text-decoration:none !important;
}
.cmp-box.review-template[data-tf-review] .btn-pill:hover,
.cmp-box.review-template[data-tf-review] .btn-pill:focus-visible{
  background:var(--brand);
  color:#ffffff;
  border-color:color-mix(in srgb, var(--brand), black 18%);
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(0,0,0,.22);
}

.cmp-box.review-template[data-tf-review] .cta-btn{
  position:relative;
  overflow:hidden;
}
.cmp-box.review-template[data-tf-review] .cta-btn::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, rgba(255,255,255,.28), rgba(255,255,255,0) 55%);
  mix-blend-mode:screen;
  opacity:0;
  transform:translateX(-40%);
  transition:opacity .25s ease, transform .25s ease;
}
.cmp-box.review-template[data-tf-review] .cta-btn:hover::after,
.cmp-box.review-template[data-tf-review] .cta-btn:focus-visible::after{
  opacity:.9;
  transform:translateX(10%);
}
.cmp-box.review-template[data-tf-review] .cta-btn:hover,
.cmp-box.review-template[data-tf-review] .cta-btn:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 16px 32px rgba(0,0,0,.24);
  filter:brightness(1.04);
}

/* Tiendas */
.cmp-box.review-template[data-tf-review] .cta-btn--amz{ background:var(--amz); border-color:var(--amz); color:#111827; }
.cmp-box.review-template[data-tf-review] .cta-btn--ler{ background:var(--ler); border-color:var(--ler); color:#ffffff; }
.cmp-box.review-template[data-tf-review] .cta-btn--pc{  background:var(--pc);  border-color:var(--pc);  color:#ffffff; }
.cmp-box.review-template[data-tf-review] .cta-btn--aigo{ background:var(--aigo);border-color:var(--aigo);color:#0f172a; }
.cmp-box.review-template[data-tf-review] .cta-btn--lidl{ background:var(--lidl);border-color:var(--lidl);color:#ffffff; }

/* =========================================================
   CTA INTERMEDIO · DÓNDE COMPRAR
========================================================= */

.cmp-box.review-template[data-tf-review] .section-card--cta{
  border:1px solid var(--brand);
  border-radius:1.25rem;
  background:radial-gradient(circle at top, rgb(var(--brand-rgb) / .06), #ffffff);
  box-shadow:0 16px 40px rgba(15,23,42,.08);
  padding:1.25rem 1.3rem;
  margin-top:1.4rem;
}
.cmp-box.review-template[data-tf-review] .section-card--cta h2{ margin-bottom:.4rem; }
.cmp-box.review-template[data-tf-review] .section-card__intro{ margin-bottom:.9rem; font-size:.96rem; }

.cmp-box.review-template[data-tf-review] .cta-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
  margin-bottom:.75rem;
  align-items:stretch;
}

@media (min-width:980px){
  .cmp-box.review-template[data-tf-review] .cta-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

.cmp-box.review-template[data-tf-review] .cta-store{
  display:flex;
  flex-direction:column;
  height:100%;
  padding:1rem;
  border-radius:1.1rem;
  border:1px solid var(--brand);
  background:#fffdfb;
  box-shadow:0 10px 26px rgba(15,23,42,.04);
}
.cmp-box.review-template[data-tf-review] .cta-store h3{ margin:0 0 .25rem; font-size:1.02rem; }
.cmp-box.review-template[data-tf-review] .cta-store p{
  margin:0;
  font-size:1rem;
  line-height:1.7;
  color:#374151;
  flex:1 1 auto;
}
.cmp-box.review-template[data-tf-review] .cta-store .cta-btn{
  margin-top:1rem;
  align-self:stretch;
  min-height:46px;
}
.cmp-box.review-template[data-tf-review] .cta-grid__note{ font-size:.88rem; color:#6b7280; }

/* =========================================================
   SELECTOR (details) — base + premium (coherente)
========================================================= */

.cmp-box.review-template[data-tf-review] .selector-grid{
  display:grid;
  gap:1rem;
  margin-top:.9rem;
}

.cmp-box.review-template[data-tf-review] .selector-item{
  border-radius:1.15rem;
  border:1px solid rgba(15,23,42,.12);
  background:radial-gradient(circle at top left, rgb(var(--brand-rgb) / .05), #ffffff);
  box-shadow:var(--shadow-sm);
  overflow:hidden;
}

.cmp-box.review-template[data-tf-review] .selector-item > summary{
  padding:.85rem .95rem;
  cursor:pointer;
  user-select:none;
}

.cmp-box.review-template[data-tf-review] .selector-body{
  padding:.75rem .95rem .95rem;
  border-top:1px solid rgba(15,23,42,.08);
  background:#fff;
}

.cmp-box.review-template[data-tf-review] .selector-body > img{
  margin:0 0 .75rem;
  border-radius:1rem;
  background:rgba(15,23,42,.02);
}

/* =========================================================
   CARDS · MEDIA 1:1 (NO RECORTA) + CTA abajo
========================================================= */

.cmp-box.review-template[data-tf-review] .mini-card,
.cmp-box.review-template[data-tf-review] .winner{
  border-radius:1.3rem;
  padding:1rem 1.05rem 1.1rem;
  background:#ffffff;
  border:1px solid var(--brand);
  box-shadow:0 10px 26px rgba(15,23,42,.05);
  display:flex;
  flex-direction:column;
  gap:.55rem;
}

.cmp-box.review-template[data-tf-review] .winner{
  background:radial-gradient(circle at top left, rgba(59,130,246,.12), #eef2ff);
  border:1px solid rgba(59,130,246,.30);
  color:#111827;
  box-shadow:0 14px 34px rgba(15,23,42,.10);
}

.cmp-box.review-template[data-tf-review] .winner-badge{
  align-self:flex-start;
  padding:.22rem .8rem;
  border-radius:999px;
  background:#111827;
  color:#f9f9fb;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
  margin-bottom:.45rem;
}

.cmp-box.review-template[data-tf-review] .mini-card__body h3{
  margin:0 0 .25rem;
  font-size:1.06rem;
  line-height:1.72;
}
.cmp-box.review-template[data-tf-review] .mini-card__body p{
  margin:0;
  font-size:1rem;
  line-height:1.68;
  color:#374151;
}
.cmp-box.review-template[data-tf-review] .mini-card__cta{ margin-top:auto; }

/* Marco 1:1 único */
.cmp-box.review-template[data-tf-review] .mini-card__media,
.cmp-box.review-template[data-tf-review] .alt-card__media{
  aspect-ratio:1 / 1;
  overflow:hidden;
  display:grid;
  place-items:center;
  padding:14px;
  background:rgba(15,23,42,.03);
  border-radius:1.2rem;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
}
.cmp-box.review-template[data-tf-review] .mini-card__media img,
.cmp-box.review-template[data-tf-review] .alt-card__media img{
  width:100%;
  height:auto !important;
  max-height:100%;
  object-fit:contain !important;
  object-position:center;
  border-radius:1rem;
  background:transparent;
}

/* Stack CTAs dentro de cards */
.cmp-box.review-template[data-tf-review] .cta-stack{
  display:flex;
  flex-direction:column;
  gap:.55rem;
  margin-top:auto;
}
.cmp-box.review-template[data-tf-review] .cta-stack .cta-btn{
  width:100%;
  min-height:46px;
  padding-inline:.9rem;
}

/* =========================================================
   GRID “TOP / VERSUS” (SIN HUECOS)
========================================================= */

.cmp-box.review-template[data-tf-review] .versus-grid{
  display:grid;
  gap:1.25rem;
  align-items:stretch;
  grid-template-columns:repeat(auto-fit, minmax(var(--card-min), 1fr));
}

/* 1 sola card */
.cmp-box.review-template[data-tf-review] .versus-grid:has(> :only-child){
  grid-template-columns:1fr;
}
.cmp-box.review-template[data-tf-review] .versus-grid > :only-child{
  max-width:none;
  width:100%;
}

/* 2 cards */
@media (min-width: 980px){
  .cmp-box.review-template[data-tf-review]
  .versus-grid:has(> :nth-child(2)):not(:has(> :nth-child(3))){
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

/* 3+ cards */
@media (min-width: 980px){
  .cmp-box.review-template[data-tf-review] .versus-grid:has(> :nth-child(3)){
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

/* =========================================================
   ALTERNATIVAS — grid inteligente
========================================================= */

.cmp-box.review-template[data-tf-review] .alts-grid{
  display:grid;
  gap:var(--grid-gap);
  align-items:stretch;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
}
.cmp-box.review-template[data-tf-review] .alts-grid > :only-child{ max-width:560px; }

@media (min-width: 980px){
  .cmp-box.review-template[data-tf-review] .alts-grid:has(> :nth-child(2)):not(:has(> :nth-child(3))){
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 980px){
  .cmp-box.review-template[data-tf-review] .alts-grid:has(> :nth-child(3)){
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}
@media (max-width:720px){
  .cmp-box.review-template[data-tf-review] .alts-grid{ grid-template-columns:1fr; }
}

/* Tarjeta alternativa */
.cmp-box.review-template[data-tf-review] .alt-card{
  position:relative;
  height:100%;
  display:flex;
  flex-direction:column;
  gap:.65rem;
  padding:1.05rem 1.1rem 1.15rem;
  border-radius:var(--radius);
  border:1px solid rgb(var(--brand-rgb) / .28);
  background:radial-gradient(circle at top left, rgb(var(--brand-rgb) / .05), #ffffff);
  box-shadow:var(--shadow-sm);
}
@media (hover:hover){
  .cmp-box.review-template[data-tf-review] .alt-card{
    transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  }
  .cmp-box.review-template[data-tf-review] .alt-card:hover{
    transform:translateY(-1px);
    box-shadow:var(--shadow-md);
    border-color:rgb(var(--brand-rgb) / .40);
  }
}

.cmp-box.review-template[data-tf-review] .alt-card__body{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  gap:.45rem;
}
.cmp-box.review-template[data-tf-review] .alt-card__body h3{
  margin:0;
  font-size:1.02rem;
  font-weight:900;
  letter-spacing:-.01em;
  color:var(--title);
}
.cmp-box.review-template[data-tf-review] .alt-card__body p{
  margin:0;
  font-size:1rem;
  line-height:1.68;
  color:#374151;
}

.cmp-box.review-template[data-tf-review] .alt-card__cta{
  margin-top:auto;
  padding-top:.7rem;
  display:flex;
  justify-content:flex-start;
}
.cmp-box.review-template[data-tf-review] .alt-card__cta .btn-pill{ min-width:140px; }
@media (max-width:720px){
  .cmp-box.review-template[data-tf-review] .alt-card__cta .btn-pill{
    width:100%;
    min-width:0;
  }
}

/* =========================================================
   FUENTES
========================================================= */

.cmp-box.review-template[data-tf-review] .sources-list{
  list-style:disc;
  padding-left:1.2rem;
  font-size:1rem;
  line-height:1.72;
}
.cmp-box.review-template[data-tf-review] .sources-note{ font-size:.88rem; color:var(--muted); }

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width:980px){
  .cmp-box.review-template[data-tf-review]{ padding-inline:10px; margin-bottom:36px; }

  .cmp-box.review-template[data-tf-review] .hero-card{
    grid-template-columns:minmax(0,1fr);
    gap:1.1rem;
  }

  .cmp-box.review-template[data-tf-review] .specs-grid,
  .cmp-box.review-template[data-tf-review] .proscons-grid,
  .cmp-box.review-template[data-tf-review] .rating-panel{
    grid-template-columns:minmax(0,1fr);
    gap:.85rem;
  }

  .cmp-box.review-template[data-tf-review]{ --card-min:280px; }
  .cmp-box.review-template[data-tf-review] .versus-grid > .mini-card,
  .cmp-box.review-template[data-tf-review] .alts-grid > .alt-card{
    max-width:none;
  }
}

@media (max-width:720px){
  .cmp-box.review-template[data-tf-review] .versus-grid,
  .cmp-box.review-template[data-tf-review] .alts-grid,
  .cmp-box.review-template[data-tf-review] .cta-grid{
    grid-template-columns:1fr;
  }

  .cmp-box.review-template[data-tf-review] .section-card{
    padding:1rem 1.05rem;
    border-radius:1.2rem;
  }

  .cmp-box.review-template[data-tf-review] .hero-media{
    padding:.9rem;
    border-radius:1.2rem;
  }
  .cmp-box.review-template[data-tf-review] .hero-summary{
    font-size:1.08rem;
    line-height:1.68;
  }
}

@media (max-width:420px){
  .cmp-box.review-template[data-tf-review] .cta-btn__title,
  .cmp-box.review-template[data-tf-review] .btn-pill span:first-child{
    font-size:.9rem;
    letter-spacing:.02em;
  }
  .cmp-box.review-template[data-tf-review] .cta-btn{ min-height:46px; padding-inline:.85rem; }
}

/* =========================================================
   COMPARADOR ADS · SELECCIONADOS (PREMIUM, SIN DUPLICADOS)
   Scope: #comparador-ads-airfryers [data-tf-ads-selected]
========================================================= */

.cmp-box.review-template#comparador-ads-airfryers[data-tf-review] [data-tf-ads-selected]{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
  align-items:stretch;
  margin-top:.85rem;
}
.cmp-box.review-template#comparador-ads-airfryers[data-tf-review] [data-tf-ads-selected] > *{
  grid-column:auto !important;
  min-width:0;
}
@media (max-width: 980px){
  .cmp-box.review-template#comparador-ads-airfryers[data-tf-review] [data-tf-ads-selected]{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px){
  .cmp-box.review-template#comparador-ads-airfryers[data-tf-review] [data-tf-ads-selected]{
    grid-template-columns:1fr;
  }
}

.cmp-box.review-template#comparador-ads-airfryers[data-tf-review] [data-tf-ads-selected] .mini-card{
  width:100% !important;
  max-width:100% !important;

  border-radius:18px;
  border:1px solid rgba(15,23,42,.12);
  background:
    radial-gradient(circle at top left, rgba(198,93,58,.06), rgba(255,255,255,1) 58%),
    linear-gradient(180deg, rgba(2,6,23,.012), #ffffff);

  box-shadow:0 16px 40px rgba(2,6,23,.08);
  overflow:hidden;

  padding:.9rem;
  display:flex;
  flex-direction:column;
  gap:.75rem;

  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
@media (hover:hover){
  .cmp-box.review-template#comparador-ads-airfryers[data-tf-review] [data-tf-ads-selected] .mini-card:hover{
    transform:translateY(-1px);
    box-shadow:0 22px 56px rgba(2,6,23,.10);
    border-color:rgba(198,93,58,.22);
  }
}

.cmp-box.review-template#comparador-ads-airfryers[data-tf-review]
[data-tf-ads-selected] .mini-card__media{
  aspect-ratio:1 / 1;
  display:grid;
  padding:0 !important;
  border-radius:16px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
}
.cmp-box.review-template#comparador-ads-airfryers[data-tf-review]
[data-tf-ads-selected] .mini-card__media img{
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:0 !important;
  display:block;
}

.cmp-box.review-template#comparador-ads-airfryers[data-tf-review]
[data-tf-ads-selected] .mini-card__body h3{
  font-size:1.02rem;
  line-height:1.18;
  letter-spacing:-.012em;
  margin:0;
  font-weight:900;
}
.cmp-box.review-template#comparador-ads-airfryers[data-tf-review]
[data-tf-ads-selected] .mini-card__body .muted{
  margin:.35rem 0 0;
  font-size:.92rem;
}

.cmp-box.review-template#comparador-ads-airfryers[data-tf-review]
[data-tf-ads-selected] .cta-stack{
  margin-top:auto;
  display:grid;
  gap:.6rem;
}

.cmp-box.review-template#comparador-ads-airfryers[data-tf-review]
[data-tf-ads-selected] .cta-btn{
  width:100%;
  border-radius:14px;
  padding:.82rem .95rem;
  text-align:center;
  box-shadow:0 10px 22px rgba(2,6,23,.10);
  border:1px solid rgba(15,23,42,.10);
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
@media (hover:hover){
  .cmp-box.review-template#comparador-ads-airfryers[data-tf-review]
  [data-tf-ads-selected] .cta-btn:hover{
    transform:translateY(-1px);
    box-shadow:0 14px 28px rgba(2,6,23,.14);
    filter:brightness(1.03);
  }
}

.cmp-box.review-template#comparador-ads-airfryers[data-tf-review]
[data-tf-ads-selected] .cta-btn:focus-visible,
.cmp-box.review-template#comparador-ads-airfryers[data-tf-review]
[data-tf-ads-selected] .btn-pill:focus-visible{
  outline:3px solid color-mix(in srgb, var(--brand), white 18%);
  outline-offset:3px;
}

.cmp-box.review-template#comparador-ads-airfryers[data-tf-review]
[data-tf-ads-selected] ins.adsbygoogle,
.cmp-box.review-template#comparador-ads-airfryers[data-tf-review]
[data-tf-ads-selected] iframe{
  grid-column: 1 / -1 !important;
  width:100% !important;
  max-width:100% !important;
}

.cmp-box.review-template#comparador-ads-airfryers[data-tf-review] [data-tf-ads-selected]:empty{
  display:block !important;
  padding:1rem 1.05rem;
  border:1px dashed rgba(15,23,42,.18);
  border-radius:16px;
  background:rgba(2,6,23,.012);
}
.cmp-box.review-template#comparador-ads-airfryers[data-tf-review] [data-tf-ads-selected]:empty::before{
  content:"Selecciona hasta 3 modelos arriba para ver aquí la comparativa.";
  display:block;
  color:var(--muted);
  font-weight:700;
}

/* =========================================================
   TF · Catálogo interactivo (SOLO #modelos)
========================================================= */

.cmp-box.review-template#modelos[data-tf-review] .catalogo-controls{ margin-top:.25rem; }
.cmp-box.review-template#modelos[data-tf-review] .catalogo-row{
  display:grid;
  gap:.8rem;
  grid-template-columns: 1.4fr repeat(4, minmax(0,1fr)) auto;
  align-items:end;
}
.cmp-box.review-template#modelos[data-tf-review] .catalogo-field{
  display:flex;
  flex-direction:column;
  gap:.35rem;
}
.cmp-box.review-template#modelos[data-tf-review] .catalogo-field input,
.cmp-box.review-template#modelos[data-tf-review] .catalogo-field select{
  width:100%;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.14);
  background:#fff;
  padding:.7rem .8rem;
  font-weight:650;
  color:var(--text);
  box-shadow:0 10px 22px rgba(2,6,23,.05);
}
.cmp-box.review-template#modelos[data-tf-review] .catalogo-field input::placeholder{
  color:rgba(75,85,99,.75);
  font-weight:600;
}
.cmp-box.review-template#modelos[data-tf-review] .catalogo-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
}
.cmp-box.review-template#modelos[data-tf-review] .catalogo-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:.85rem;
}
.cmp-box.review-template#modelos[data-tf-review] .catalogo-empty{
  margin-top:1rem;
  padding:1rem 1.1rem;
  border-radius:16px;
  border:1px dashed rgba(15,23,42,.22);
  background:rgba(2,6,23,.012);
}
.cmp-box.review-template#modelos[data-tf-review] .catalogo-grid{ margin-top:.9rem; }

.cmp-box.review-template#modelos[data-tf-review] .alt-card__link{
  display:flex;
  flex-direction:column;
  gap:.65rem;
  text-decoration:none;
  color:inherit;
}
.cmp-box.review-template#modelos[data-tf-review] .alt-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
}
.cmp-box.review-template#modelos[data-tf-review] .alt-card__title{
  margin:0;
  font-size:1.02rem;
  font-weight:900;
  letter-spacing:-.01em;
  color:var(--title);
}
.cmp-box.review-template#modelos[data-tf-review] .alt-card__buy{
  margin-top:auto;
  display:flex;
  flex-direction:column;
  gap:.55rem;
}

@media (max-width: 980px){
  .cmp-box.review-template#modelos[data-tf-review] .catalogo-row{
    grid-template-columns: 1fr 1fr;
  }
  .cmp-box.review-template#modelos[data-tf-review] .catalogo-actions{
    justify-content:stretch;
  }
  .cmp-box.review-template#modelos[data-tf-review] .catalogo-actions .cta-btn{
    width:100%;
  }
}
@media (max-width: 560px){
  .cmp-box.review-template#modelos[data-tf-review] .catalogo-row{
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   TF SIDEBAR (V15) — ADS READY 2026 (ALINEADO A TU UI)
   Scope: .tf-sb[data-tf-sb="1"]
========================================================= */

.tf-sb[data-tf-sb="1"]{
  --tf-sb-top: 130px;

  --tf-sb-brand: #c65d3a;
  --tf-sb-text:  #0b1120;
  --tf-sb-title: #020617;
  --tf-sb-muted: #4b5563;
  --tf-sb-border: rgba(15,23,42,.14);
  --tf-sb-soft: #f5f7fb;
  --tf-sb-card: #ffffff;

  --tf-sb-accent: #f97316;
  --tf-sb-accent-2: #ea580c;

  --tf-sb-radius: 1.25rem;
  --tf-sb-radius-md: 1.05rem;
  --tf-sb-radius-sm: .85rem;

  --tf-sb-shadow-sm: 0 8px 20px rgba(15,23,42,.06);
  --tf-sb-shadow-md: 0 14px 40px rgba(15,23,42,.08);

  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color: var(--tf-sb-text);
  box-sizing: border-box;
}
.tf-sb[data-tf-sb="1"],
.tf-sb[data-tf-sb="1"] *{ box-sizing:border-box; }

.tf-sb.tf-sb--wrap[data-tf-sb="1"]{
  position: -webkit-sticky;
  position: sticky;
  top: var(--tf-sb-top);
  z-index: 10;
  align-self: start;
}
@media (max-width: 1023px){
  .tf-sb.tf-sb--wrap[data-tf-sb="1"]{
    position: static;
    top: auto;
    margin-top: 28px;
  }
}

.tf-sb[data-tf-sb="1"] .tf-sb__card{
  background: var(--tf-sb-card);
  border: 1px solid var(--tf-sb-border);
  border-radius: var(--tf-sb-radius);
  padding: 1.05rem 1.05rem 1rem;
  box-shadow: var(--tf-sb-shadow-md);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  width: 100%;
}
@media (hover:hover){
  .tf-sb[data-tf-sb="1"] .tf-sb__card:hover{
    transform: translateY(-1px);
    border-color: rgba(15,23,42,.20);
    box-shadow: 0 18px 46px rgba(15,23,42,.10);
  }
}

.tf-sb[data-tf-sb="1"] .tf-sb__head{
  text-align:center;
  margin: 0 0 .9rem;
}
.tf-sb[data-tf-sb="1"] .tf-sb__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: .28rem .70rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  border: 1px solid var(--tf-sb-border);
  background: var(--tf-sb-soft);
  color: var(--tf-sb-title);
  margin-bottom: .55rem;
}
.tf-sb[data-tf-sb="1"] .tf-sb__badge--ads{
  background: #fff7ed;
  border-color: rgba(249,115,22,.30);
  color: #9a3412;
}
.tf-sb[data-tf-sb="1"] .tf-sb__badge--top{
  background: #f0f9ff;
  border-color: rgba(2,132,199,.26);
  color: #075985;
}
.tf-sb[data-tf-sb="1"] .tf-sb__badge--ventas{
  background: #fff7f2;
  border-color: rgba(198,93,58,.25);
  color: #4a1c0b;
}

.tf-sb[data-tf-sb="1"] .tf-sb__title{
  margin: 0 0 .45rem;
  font-size: 1.08rem;
  line-height: 1.2;
  letter-spacing: -.015em;
  font-weight: 900;
  color: var(--tf-sb-title);
}
.tf-sb[data-tf-sb="1"] .tf-sb__intro{
  margin: 0;
  font-size: .92rem;
  line-height: 1.5;
  color: color-mix(in srgb, var(--tf-sb-muted), #111827 15%);
}

.tf-sb[data-tf-sb="1"] .tf-sb__list{
  display:flex;
  flex-direction:column;
  gap: .75rem;
}
.tf-sb[data-tf-sb="1"] .tf-sb__item{
  display:flex;
  gap: .75rem;
  align-items:flex-start;
  padding: .75rem;
  border-radius: var(--tf-sb-radius-md);
  border: 1px solid rgba(15,23,42,.10);
  background: radial-gradient(circle at top left, rgba(198,93,58,.06), #ffffff);
  box-shadow: var(--tf-sb-shadow-sm);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
@media (hover:hover){
  .tf-sb[data-tf-sb="1"] .tf-sb__item:hover{
    transform: translateY(-1px);
    box-shadow: 0 14px 34px rgba(15,23,42,.10);
    border-color: rgba(198,93,58,.24);
  }
}

.tf-sb[data-tf-sb="1"] .tf-sb__thumb{
  width: 74px;
  height: 74px;
  flex: 0 0 74px;
  border-radius: 14px;
  overflow:hidden;
  display:grid;
  place-items:center;
  padding: 6px;
  border: 1px solid rgba(15,23,42,.08);
  background: rgba(15,23,42,.03);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.55);
}
.tf-sb[data-tf-sb="1"] .tf-sb__thumb img{
  width:100%;
  height:100%;
  object-fit: contain;
  display:block;
  mix-blend-mode: multiply;
}
.tf-sb[data-tf-sb="1"] .tf-sb__thumb--link{ text-decoration:none; }

.tf-sb[data-tf-sb="1"] .tf-sb__body{ flex:1; min-width:0; }

.tf-sb[data-tf-sb="1"] .tf-sb__tag{
  display:inline-flex;
  align-items:center;
  padding: 3px 8px;
  border-radius: 8px;
  font-size: .70rem;
  font-weight: 800;
  color: #075985;
  background: #e0f2fe;
  border: 1px solid rgba(2,132,199,.18);
  margin-bottom: .35rem;
}
.tf-sb[data-tf-sb="1"] .tf-sb__h4{
  margin: 0 0 .35rem;
  font-size: .98rem;
  line-height: 1.22;
  letter-spacing: -.01em;
  font-weight: 900;
  color: var(--tf-sb-title);
}
.tf-sb[data-tf-sb="1"] .tf-sb__benefit{
  margin: 0 0 .65rem;
  font-size: .86rem;
  line-height: 1.35;
  color: color-mix(in srgb, var(--tf-sb-muted), #111827 10%);
}

.tf-sb[data-tf-sb="1"] .tf-sb__actions{
  display:flex;
  gap: .55rem;
  flex-wrap: wrap;
}
.tf-sb[data-tf-sb="1"] .tf-sb__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: .70rem .85rem;
  border-radius: 12px;
  font-size: .86rem;
  font-weight: 900;
  text-decoration:none !important;
  border: 1px solid transparent;
  line-height: 1;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
  white-space: nowrap;
}
.tf-sb[data-tf-sb="1"] .tf-sb__btn:focus-visible{
  outline: 3px solid color-mix(in srgb, var(--tf-sb-brand), white 15%);
  outline-offset: 3px;
  border-radius: 12px;
}
.tf-sb[data-tf-sb="1"] .tf-sb__btn--buy{
  background: linear-gradient(135deg, var(--tf-sb-accent), var(--tf-sb-accent-2));
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(234,88,12,.18);
  flex: 1 1 auto;
  min-width: 132px;
}
@media (hover:hover){
  .tf-sb[data-tf-sb="1"] .tf-sb__btn--buy:hover{
    transform: translateY(-1px);
    box-shadow: 0 14px 30px rgba(234,88,12,.24);
  }
}
.tf-sb[data-tf-sb="1"] .tf-sb__btn--info{
  background: var(--tf-sb-soft);
  color: var(--tf-sb-title) !important;
  border-color: rgba(15,23,42,.12);
}
@media (hover:hover){
  .tf-sb[data-tf-sb="1"] .tf-sb__btn--info:hover{
    transform: translateY(-1px);
    background: #e9eef6;
    border-color: rgba(15,23,42,.16);
  }
}
.tf-sb[data-tf-sb="1"] .tf-sb__footer{ margin-top: .85rem; }
.tf-sb[data-tf-sb="1"] .tf-sb__btn--outline{
  width: 100%;
  background: #fff;
  color: var(--tf-sb-brand) !important;
  border-color: rgba(198,93,58,.40);
  padding: .80rem .95rem;
  border-radius: 14px;
  box-shadow: 0 10px 22px rgba(15,23,42,.06);
}
@media (hover:hover){
  .tf-sb[data-tf-sb="1"] .tf-sb__btn--outline:hover{
    background: #fff7f2;
    border-color: rgba(198,93,58,.60);
    transform: translateY(-1px);
  }
}
.tf-sb[data-tf-sb="1"] .tf-sb__disclaimer{
  margin: .85rem 0 0;
  font-size: .78rem;
  line-height: 1.35;
  color: rgba(75,85,99,.75);
  text-align: center;
}
.tf-sb[data-tf-sb="1"][data-tf-sb-ads="1"] .tf-sb__card{
  border-color: rgba(249,115,22,.22);
}
@media (prefers-reduced-motion: reduce){
  .tf-sb[data-tf-sb="1"] .tf-sb__card,
  .tf-sb[data-tf-sb="1"] .tf-sb__item,
  .tf-sb[data-tf-sb="1"] .tf-sb__btn{ transition:none !important; }
  .tf-sb[data-tf-sb="1"] .tf-sb__card:hover,
  .tf-sb[data-tf-sb="1"] .tf-sb__item:hover,
  .tf-sb[data-tf-sb="1"] .tf-sb__btn:hover{ transform:none !important; }
}

/* =========================================================
   HOME · Ritmo vertical (si lo usas)
========================================================= */
.tf-home-newsroom{
  --tf-gap-h2: clamp(18px, 1.2vw + 10px, 28px);
  --tf-gap-h3: clamp(14px, 0.9vw + 8px, 22px);
  --tf-gap-h4: clamp(12px, 0.8vw + 6px, 18px);
  --tf-gap-head: clamp(18px, 1.4vw + 10px, 30px);
}
.tf-home-newsroom * + .tf-nr-head{ margin-top: var(--tf-gap-head); }
.tf-home-newsroom * + h2,
.tf-home-newsroom * + h2.tf-nr-title,
.tf-home-newsroom * + .tf-nr-h2{ margin-top: var(--tf-gap-h2) !important; }
.tf-home-newsroom * + h3,
.tf-home-newsroom * + h3.tf-nr-title,
.tf-home-newsroom * + h3.tf-nr-title--sm,
.tf-home-newsroom * + h3.tf-nr-card__title,
.tf-home-newsroom * + .tf-nr-h3{ margin-top: var(--tf-gap-h3) !important; }
.tf-home-newsroom * + h4,
.tf-home-newsroom * + h4.tf-nr-card__title,
.tf-home-newsroom * + .tf-nr-h4{ margin-top: var(--tf-gap-h4) !important; }

/* =========================================================
   TF HERO LAYOUT V2 (DISEÑO FINAL)
   Activación: .hero-card[data-tf-hero-layout="v2"]
========================================================= */

/* =========================================================
   FIX SAFE — desactivar HERO V2 automático
   Mantiene el hero clásico estable en todos los artículos
========================================================= */

.cmp-box.review-template[data-tf-review] .hero-card[data-tf-hero-layout="v2"]{
  display:grid !important;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1.25fr) !important;
  gap:1.4rem !important;
  align-items:flex-start !important;
}

.cmp-box.review-template[data-tf-review] .hero-card[data-tf-hero-layout="v2"] .hero-col--left{
  display:flex !important;
  flex-direction:column !important;
  gap:.9rem !important;
}

.cmp-box.review-template[data-tf-review] .hero-card[data-tf-hero-layout="v2"] .hero-content{
  display:flex !important;
  flex-direction:column !important;
  gap:.9rem !important;
}

@media (max-width:980px){
  .cmp-box.review-template[data-tf-review] .hero-card[data-tf-hero-layout="v2"]{
    grid-template-columns:1fr !important;
  }
}

/* =========================================================
   TF FINAL — SELECTOR Smokin (diseño final)
========================================================= */

.cmp-box.review-template#cecotec-smokin-que-modelo-comprar[data-tf-review] .selector-body{
  padding-bottom:.55rem;
}
.cmp-box.review-template#cecotec-smokin-que-modelo-comprar[data-tf-review] .selector-cta{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  align-items:center;
  margin-top:.55rem;
  margin-bottom:.85rem;
}
.cmp-box.review-template#cecotec-smokin-que-modelo-comprar[data-tf-review] .selector-cta .cta-btn{
  min-width:110px;
  padding:.65rem .9rem;
}
.cmp-box.review-template#cecotec-smokin-que-modelo-comprar[data-tf-review] .selector-cta > a:not(.cta-btn){
  display:inline-flex;
  align-items:center;
  padding:.25rem .35rem;
  font-weight:800;
  white-space:nowrap;
  text-decoration:underline;
  text-underline-offset:3px;
  margin-left:.1rem;
}

/* summary con miniatura + caret propio */
.cmp-box.review-template#cecotec-smokin-que-modelo-comprar[data-tf-review] summary.selector-summary{
  display:flex;
  align-items:center;
  gap:.65rem;
  list-style:none;
}
.cmp-box.review-template#cecotec-smokin-que-modelo-comprar[data-tf-review] summary.selector-summary::-webkit-details-marker{
  display:none;
}
.cmp-box.review-template#cecotec-smokin-que-modelo-comprar[data-tf-review] .selector-thumb{
  width:46px;
  height:46px;
  flex:0 0 46px;
  border-radius:12px;
  object-fit:cover;
  border:1px solid rgba(15,23,42,.12);
  background:rgba(15,23,42,.03);
  box-shadow:0 8px 18px rgba(2,6,23,.06);
}
.cmp-box.review-template#cecotec-smokin-que-modelo-comprar[data-tf-review] .selector-summary__text{
  min-width:0;
  line-height:1.25;
}
.cmp-box.review-template#cecotec-smokin-que-modelo-comprar[data-tf-review] summary.selector-summary::after{
  content:"▾";
  margin-left:auto;
  font-weight:900;
  opacity:.65;
  transform:translateY(-1px);
}
.cmp-box.review-template#cecotec-smokin-que-modelo-comprar[data-tf-review] details[open] > summary.selector-summary::after{
  content:"▴";
  opacity:.85;
}
/* =========================================================
   PATCH — Carrusel/galería un pelín más grande + bloque centrado
   Scope: review-template hero-media
========================================================= */

.cmp-box.review-template[data-tf-review] .hero-media{
  text-align:center;                 /* centra textos */
}

/* Centrar “piezas” dentro del hero-media */
.cmp-box.review-template[data-tf-review] .hero-media .hero-chips{
  justify-content:center;            /* chips centrados */
}

.cmp-box.review-template[data-tf-review] .hero-media .hero-links{
  align-items:center;                /* links centrados */
}

/* Opcional: notas centradas (más simetría) */
.cmp-box.review-template[data-tf-review] .hero-media .hero-note{
  text-align:center;
}

/* ===== Galería: un pelín más grande ===== */

/* 1) Stage (imagen grande) */
.cmp-box.review-template[data-tf-review] .hero-media .tf-gallery__stage{
  max-width: 600px;                  /* antes 520px */
  margin-inline:auto;                /* centra el stage */
}

/* 2) Nav (tira de miniaturas) centrada */
.cmp-box.review-template[data-tf-review] .hero-media .tf-gallery__nav{
  justify-content:center;            /* centra las miniaturas */
  padding-inline:.35rem;
}

/* 3) Miniaturas/botones un pelín más grandes */
.cmp-box.review-template[data-tf-review] .hero-media .tf-gallery__thumb{
  width: 64px;                       /* antes 56px */
  height: 64px;                      /* antes 56px */
  border-radius: 16px;               /* un poco más premium */
}

/* 4) Play overlay un poco más grande (si usas thumb vídeo) */
.cmp-box.review-template[data-tf-review] .hero-media .tf-gallery__play{
  width: 80px;                       /* antes 72px */
  height: 80px;                      /* antes 72px */
}

/* Mobile: mantiene equilibrio */
@media (max-width: 980px){
  .cmp-box.review-template[data-tf-review] .hero-media .tf-gallery__stage{
    max-width: 100%;
  }
  .cmp-box.review-template[data-tf-review] .hero-media .tf-gallery__thumb{
    width: 60px;
    height: 60px;
  }
}
/* =========================================================
   TF · HEAD tipo MediaMarkt (sin cambiar HTML en posts)
   Activo cuando JS añade: .tf-mm-head
========================================================= */

.cmp-box.review-template[data-tf-review] .tf-mm-head{
  margin:.25rem 0 .35rem;
}

.cmp-box.review-template[data-tf-review] .tf-mm-head__title{
  margin:0 0 .35rem !important;
  font-size:clamp(1.55rem, 1.25vw + 1.1rem, 2.05rem);
  line-height:1.12;
  letter-spacing:-.02em;
  font-weight:950;
  color:var(--title);
}

/* fila “MediaMarkt” */
.cmp-box.review-template[data-tf-review] .tf-mm-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.45rem .9rem;
}

/* Bloque rating */
.cmp-box.review-template[data-tf-review] .tf-mm-rating{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  font-weight:900;
}

/* estrellas rojas (retail) */
.cmp-box.review-template[data-tf-review] .tf-mm-stars{
  font-size:1.02rem;
  letter-spacing:.08em;
  line-height:1;
  color:#e11d48;
}

/* nota tipo “4.2” */
.cmp-box.review-template[data-tf-review] .tf-mm-score{
  font-size:.92rem;
  color:rgba(2,6,23,.78);
  font-weight:950;
}

/* contador tipo “(73)” clicable */
.cmp-box.review-template[data-tf-review] .tf-mm-count{
  font-size:.92rem;
  font-weight:950;
  color:rgba(2,6,23,.72);
  text-decoration:none;
  border-bottom:1px dashed rgba(2,6,23,.30);
  padding-bottom:1px;
}
.cmp-box.review-template[data-tf-review] .tf-mm-count:hover{
  color:var(--brand);
  border-bottom-color:color-mix(in srgb, var(--brand), rgba(2,6,23,.30) 45%);
}

/* línea “SKU | Marca” */
.cmp-box.review-template[data-tf-review] .tf-mm-brandline{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  font-size:.90rem;
  font-weight:800;
  color:rgba(2,6,23,.62);
}
.cmp-box.review-template[data-tf-review] .tf-mm-brandline__sep{ opacity:.55; }

.cmp-box.review-template[data-tf-review] .tf-mm-brandline__brand{
  font-weight:950;
  letter-spacing:.02em;
  color:rgba(2,6,23,.80);
  text-decoration:none;
  border-bottom:1px solid rgba(2,6,23,.18);
}
.cmp-box.review-template[data-tf-review] .tf-mm-brandline__brand:hover{
  color:var(--brand);
  border-bottom-color:color-mix(in srgb, var(--brand), rgba(2,6,23,.18) 35%);
}

/* icono “share” estilo retail (opcional) */
.cmp-box.review-template[data-tf-review] .tf-mm-share{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;height:38px;
  border-radius:12px;
  border:1px solid rgba(15,23,42,.14);
  background:var(--soft);
  box-shadow:0 8px 18px rgba(2,6,23,.06);
  cursor:pointer;
}
.cmp-box.review-template[data-tf-review] .tf-mm-share:hover{
  transform:translateY(-1px);
}
.cmp-box.review-template[data-tf-review] .tf-mm-share svg{
  width:18px;height:18px;
  fill:none;
  stroke:rgba(2,6,23,.72);
  stroke-width:2.2;
}

/* ocultar el rating original SOLO cuando ya está “mm-head” */
.cmp-box.review-template[data-tf-review] .tf-mm-head + .hero-rating,
.cmp-box.review-template[data-tf-review] .tf-mm-head + .tf-rating-pro{
  display:none !important;
}

/* móvil: que no se rompa, y el “share” baja */
@media (max-width:720px){
  .cmp-box.review-template[data-tf-review] .tf-mm-share{
    margin-left:0;
  }

  .cmp-box.review-template[data-tf-review]{
    font-size:1.02rem;
    line-height:1.7;
  }

  .cmp-box.review-template[data-tf-review] p{
    font-size:1em;
    line-height:1.72;
  }

  .cmp-box.review-template[data-tf-review] .hero-summary{
    font-size:1.08rem;
    line-height:1.68;
  }

  .cmp-box.review-template[data-tf-review] .idea-key,
  .cmp-box.review-template[data-tf-review] .sources-list,
  .cmp-box.review-template[data-tf-review] .specs-note,
  .cmp-box.review-template[data-tf-review] .cta-store p,
  .cmp-box.review-template[data-tf-review] .mini-card__body p,
  .cmp-box.review-template[data-tf-review] .alt-card__body p{
    font-size:.98rem;
    line-height:1.68;
  }
}
/* =========================================================
   FIX DEFINITIVO — eliminar “pastilla” vacía del rating
   Causa: .hero-rating siempre tiene fondo/padding aunque no haya contenido visible
========================================================= */

/* 1) Si no existe el bloque real de rating dentro -> fuera */
.cmp-box.review-template[data-tf-review] .hero-card .hero-rating:not(:has(.tf-rating-pro)){
  display:none !important;
}

/* 2) Si existe mm-head en el HERO, el rating original no debe verse (evita la pastilla vacía) */
.cmp-box.review-template[data-tf-review] .hero-card:has(.tf-mm-head) .hero-rating{
  display:none !important;
}

/* 3) Defensa extra: si por CSS/JS se oculta el contenido del rating, el contenedor tampoco debe “ocupar” */
.cmp-box.review-template[data-tf-review] .hero-card .hero-rating:has(.tf-rating-pro[style*="display:none"]),
.cmp-box.review-template[data-tf-review] .hero-card .hero-rating:has(.tf-rating-pro[hidden]){
  display:none !important;
}

/* 4) Si por cualquier razón queda un wrapper vacío, que no reserve nada */
.cmp-box.review-template[data-tf-review] .hero-card .hero-rating{
  min-height:0 !important;
}
/* =========================================================
   PATCH — HERO V2: panels SIEMPRE en 1 columna
   (evita el 2-col a >=1280px)
========================================================= */

.cmp-box.review-template[data-tf-review]
.hero-card[data-tf-hero-layout="v2"]
.tf-hero-panels{
  grid-template-columns: 1fr !important;
}
/* =========================================================
   TF · Share CTA (premium + empuja a compartir)
   Sin tocar HTML/JS: añade texto con ::after
========================================================= */

/* En el row del head: que el share vaya a la derecha */
.cmp-box.review-template[data-tf-review] .tf-mm-row{
  align-items:center;
}
.cmp-box.review-template[data-tf-review] .tf-mm-row .tf-mm-share{
  margin-left:auto; /* empuja a la derecha */
}

/* Botón tipo “pill” con texto */
.cmp-box.review-template[data-tf-review] .tf-mm-share{
  width:auto !important;
  height:42px !important;
  padding:0 14px 0 12px !important;
  border-radius:999px !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;

  border:1px solid rgb(var(--brand-rgb) / .32) !important;

  background:
    radial-gradient(circle at top left, rgb(var(--brand-rgb) / .18), rgba(255,255,255,.0) 55%),
    linear-gradient(135deg, rgb(var(--brand-rgb) / .92), rgb(var(--brand-rgb) / .78)) !important;

  color:#fff !important;

  box-shadow:
    0 16px 34px rgb(var(--brand-rgb) / .22),
    inset 0 0 0 1px rgba(255,255,255,.22) !important;

  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease, border-color .15s ease;
}

/* Texto “Compartir” sin tocar HTML */
.cmp-box.review-template[data-tf-review] .tf-mm-share::after{
  content:"Compartir";
  font-size:.92rem;
  font-weight:950;
  letter-spacing:.02em;
  line-height:1;
  white-space:nowrap;
  text-shadow:0 1px 0 rgba(0,0,0,.18);
}

/* Icono */
.cmp-box.review-template[data-tf-review] .tf-mm-share svg{
  width:18px !important;
  height:18px !important;
  stroke: rgba(255,255,255,.95) !important;
  stroke-width:2.4 !important;
  fill:none !important;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.18));
}

/* Hover: más “CTA” */
@media (hover:hover){
  .cmp-box.review-template[data-tf-review] .tf-mm-share:hover{
    transform:translateY(-1px);
    filter:brightness(1.04);
    border-color: rgb(var(--brand-rgb) / .45) !important;
    box-shadow:
      0 20px 44px rgb(var(--brand-rgb) / .28),
      inset 0 0 0 1px rgba(255,255,255,.26) !important;
  }
}

/* Active: sensación de click */
.cmp-box.review-template[data-tf-review] .tf-mm-share:active{
  transform:translateY(0);
  filter:brightness(.995);
}

/* Focus accesible */
.cmp-box.review-template[data-tf-review] .tf-mm-share:focus-visible{
  outline:3px solid color-mix(in srgb, var(--brand), white 18%);
  outline-offset:3px;
}

/* Móvil: compacto (solo icono si quieres) */
@media (max-width:520px){
  .cmp-box.review-template[data-tf-review] .tf-mm-share{
    padding:0 12px !important;
  }
  .cmp-box.review-template[data-tf-review] .tf-mm-share::after{
    content:""; /* deja solo el icono en móvil */
  }
}
#cecotec-cecofrygrill-smokin-8500-landing-ads .ads-trust-line{
  font-size: .95rem;
  margin: .25rem 0 1rem;
  color: rgba(15,23,42,.78);
}
/* =========================================================
   ALTERNATIVAS — layout 3 + 2 + 2 (solo si lo activas)
   Uso: <div class="alts-grid alts-grid--322"> ... 7 items ...
========================================================= */
@media (min-width:980px){
  .cmp-box.review-template[data-tf-review] .alts-grid.alts-grid--322{
    grid-template-columns:repeat(6, minmax(0, 1fr));
  }
  .cmp-box.review-template[data-tf-review] .alts-grid.alts-grid--322 > .alt-card:nth-child(1),
  .cmp-box.review-template[data-tf-review] .alts-grid.alts-grid--322 > .alt-card:nth-child(2),
  .cmp-box.review-template[data-tf-review] .alts-grid.alts-grid--322 > .alt-card:nth-child(3){
    grid-column: span 2;
  }
  .cmp-box.review-template[data-tf-review] .alts-grid.alts-grid--322 > .alt-card:nth-child(4),
  .cmp-box.review-template[data-tf-review] .alts-grid.alts-grid--322 > .alt-card:nth-child(5),
  .cmp-box.review-template[data-tf-review] .alts-grid.alts-grid--322 > .alt-card:nth-child(6),
  .cmp-box.review-template[data-tf-review] .alts-grid.alts-grid--322 > .alt-card:nth-child(7){
    grid-column: span 3;
  }
}
/* =========================================================
   FIX — CTA INTERMEDIO · DÓNDE COMPRAR
   Alineación estable en desktop
========================================================= */

.cmp-box.review-template[data-tf-review] .cta-grid{
  align-items:stretch;
}

.cmp-box.review-template[data-tf-review] .cta-store{
  display:flex;
  flex-direction:column;
  height:100%;
  padding:1rem;
  border-radius:1.1rem;
  border:1px solid var(--brand);
  background:#fffdfb;
  box-shadow:0 10px 26px rgba(15,23,42,.04);
  gap:.75rem;
}

/* Marco de imagen estable */
.cmp-box.review-template[data-tf-review] .cta-store__media{
  margin:0;
  aspect-ratio:1 / 1;
  display:grid;
  place-items:center;
  padding:14px;
  background:rgba(15,23,42,.03);
  border:1px solid rgba(15,23,42,.08);
  border-radius:1.1rem;
  overflow:hidden;
}

.cmp-box.review-template[data-tf-review] .cta-store__media img{
  width:100%;
  height:100% !important;
  object-fit:contain !important;
  object-position:center;
  border-radius:0;
  background:transparent;
}

.cmp-box.review-template[data-tf-review] .cta-store h3{
  margin:0;
  font-size:1.02rem;
  line-height:1.3;
}

/* Reset general: no todos los párrafos deben crecer */
.cmp-box.review-template[data-tf-review] .cta-store p{
  margin:0;
  font-size:1rem;
  line-height:1.7;
  color:#374151;
  flex:none;
}

/* Solo el texto descriptivo ocupa el espacio flexible */
.cmp-box.review-template[data-tf-review] .cta-store > p:first-of-type{
  flex:1 1 auto;
}

/* Botones consistentes */
.cmp-box.review-template[data-tf-review] .cta-store .cta-btn{
  margin-top:0;
  width:100%;
  align-self:stretch;
  min-height:58px;
}

/* El enlace final se pega abajo */
.cmp-box.review-template[data-tf-review] .cta-store > p:last-child{
  margin-top:auto;
}

.cmp-box.review-template[data-tf-review] .cta-store > p:last-child a{
  display:inline-block;
}
/* =========================================================
   TF · Favoritos en HERO (destacado real)
========================================================= */

.cmp-box.review-template[data-tf-review] .tf-fav-hero{
  display:flex;
  align-items:flex-start;
  gap:.8rem;
  margin:.15rem 0 .15rem;
  padding:.9rem 1rem;
  border-radius:1rem;
  border:1px solid rgb(var(--brand-rgb) / .34);
  background:
    radial-gradient(circle at top left, rgb(var(--brand-rgb) / .12), rgba(255,255,255,0) 52%),
    linear-gradient(135deg, #fff7f2, #ffffff);
  box-shadow:
    0 12px 28px rgb(var(--brand-rgb) / .12),
    inset 0 0 0 1px rgba(255,255,255,.55);
}

.cmp-box.review-template[data-tf-review] .tf-fav-hero__icon{
  flex:0 0 42px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:linear-gradient(135deg, rgb(var(--brand-rgb) / .16), rgb(var(--brand-rgb) / .08));
  border:1px solid rgb(var(--brand-rgb) / .24);
  font-size:1.05rem;
  line-height:1;
}

.cmp-box.review-template[data-tf-review] .tf-fav-hero__body{
  flex:1 1 auto;
  min-width:0;
}

.cmp-box.review-template[data-tf-review] .tf-fav-hero__title{
  margin:0 0 .22rem;
  font-size:.98rem;
  line-height:1.2;
  font-weight:900;
  color:var(--title);
  letter-spacing:-.01em;
}

.cmp-box.review-template[data-tf-review] .tf-fav-hero__text{
  margin:0;
  font-size:.95rem;
  line-height:1.58;
  color:#334155;
}

.cmp-box.review-template[data-tf-review] .tf-fav-hero__hint{
  display:block;
  margin-top:.38rem;
  font-size:.84rem;
  line-height:1.45;
  color:#64748b;
}

.cmp-box.review-template[data-tf-review] .tf-fav-hero__hint strong{
  color:#0f172a;
  font-weight:850;
}

/* hero clásico */
.cmp-box.review-template[data-tf-review] .hero-content > .tf-fav-hero{
  order:2;
}

/* hero v2 */
.cmp-box.review-template[data-tf-review] .hero-card[data-tf-hero-layout="v2"] .tf-hero-panels > .tf-fav-hero{
  margin-top:.1rem;
  margin-bottom:0;
}

/* móvil */
@media (max-width:720px){
  .cmp-box.review-template[data-tf-review] .tf-fav-hero{
    padding:.85rem .9rem;
    gap:.72rem;
  }

  .cmp-box.review-template[data-tf-review] .tf-fav-hero__title{
    font-size:.95rem;
  }

  .cmp-box.review-template[data-tf-review] .tf-fav-hero__text{
    font-size:.92rem;
    line-height:1.52;
  }

  .cmp-box.review-template[data-tf-review] .tf-fav-hero__hint{
    font-size:.82rem;
  }
}
/* FIX — miniatura visible en vídeos lite */
.cmp-box.review-template[data-tf-review] .video-wrapper::before{
  background:linear-gradient(
    180deg,
    rgba(0,0,0,.08),
    rgba(0,0,0,.22)
  ) !important;
}

.cmp-box.review-template[data-tf-review] .video-wrapper .yt-lite img{
  z-index:1 !important;
  opacity:1 !important;
  visibility:visible !important;
}

.cmp-box.review-template[data-tf-review] .video-wrapper .yt-lite::before,
.cmp-box.review-template[data-tf-review] .video-wrapper .yt-lite::after,
.cmp-box.review-template[data-tf-review] .video-wrapper .yt-lite__label{
  z-index:5 !important;
}
/* =========================================================
   FIX — Vídeo HERO más contenido para mejorar nitidez visual
========================================================= */

.cmp-box.review-template[data-tf-review] .hero-media .hero-product--video{
  width:100% !important;
  max-width:720px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  grid-template-columns:1fr !important;
}

.cmp-box.review-template[data-tf-review] .hero-media .hero-product--video .video-wrapper{
  width:100% !important;
  max-width:720px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media (max-width:720px){
  .cmp-box.review-template[data-tf-review] .hero-media .hero-product--video,
  .cmp-box.review-template[data-tf-review] .hero-media .hero-product--video .video-wrapper{
    max-width:100% !important;
  }
}
/* =========================================================
   FIX — CTA STORE: igualar altura de texto antes de botones
========================================================= */

.cmp-box.review-template[data-tf-review] .cta-store{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
}

/* Los párrafos mantienen altura natural */
.cmp-box.review-template[data-tf-review] .cta-store > p{
  flex:0 0 auto !important;
}

/* El primer botón empuja el grupo de CTAs al fondo de la tarjeta */
.cmp-box.review-template[data-tf-review] .cta-store .cta-btn:first-of-type{
  margin-top:auto !important;
}

/* Los botones posteriores mantienen separación constante */
.cmp-box.review-template[data-tf-review] .cta-store .cta-btn + .cta-btn{
  margin-top:.65rem !important;
}
/* =========================================================
   FIX — Vídeos dentro del artículo más contenidos
   Evita miniaturas gigantes/pixeladas fuera del hero
========================================================= */

.cmp-box.review-template[data-tf-review] .section-card .video-wrapper{
  max-width:720px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media (max-width:720px){
  .cmp-box.review-template[data-tf-review] .section-card .video-wrapper{
    max-width:100% !important;
  }
}
/* =========================================================
   TF · Silvercrest equivalencias
   Bloque: .tf-silvercrest-equivalencias
========================================================= */

.cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias{
  overflow:hidden;
  background:
    radial-gradient(circle at top left,rgb(var(--brand-rgb) / .08),transparent 42%),
    linear-gradient(180deg,#fffdfb,#fff);
}

.cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-list{
  display:flex;
  flex-direction:column;
  gap:1.15rem;
  margin-top:1.15rem;
}

.cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-row{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) 54px minmax(0,.92fr) 132px;
  gap:1.15rem;
  align-items:stretch;
  padding:1.15rem;
  border-radius:1.45rem;
  border:1px solid rgb(var(--brand-rgb) / .24);
  background:#fff;
  box-shadow:0 16px 38px rgba(15,23,42,.075);
}

.cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-side{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:1rem;
  align-items:center;
  min-width:0;
}

.cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-side:nth-of-type(3){
  grid-template-columns:132px minmax(0,1fr);
}

.cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-media{
  margin:0;
  width:180px;
  aspect-ratio:1/1;
  display:grid;
  place-items:center;
  padding:8px;
  border-radius:1.25rem;
  background:
    radial-gradient(circle at 50% 18%,rgba(255,255,255,.95),rgba(248,250,252,.9) 58%),
    #f8fafc;
  border:1px solid rgba(15,23,42,.09);
  overflow:hidden;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 10px 22px rgba(15,23,42,.06);
}

.cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-side:nth-of-type(3) .tf-eq-media{
  width:132px;
}

.cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-media img{
  width:100%;
  height:100% !important;
  object-fit:contain !important;
  transform:none !important;
  transform-origin:center;
}

.cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-badge{
  display:inline-flex;
  margin-bottom:.42rem;
  padding:.24rem .72rem;
  border-radius:999px;
  font-size:.76rem;
  font-weight:950;
  letter-spacing:.055em;
  text-transform:uppercase;
  border:1px solid rgb(var(--brand-rgb) / .30);
  background:#fff7f2;
  color:#4a1c0b;
}

.cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-badge--ok{
  background:#ecfdf3;
  border-color:rgba(34,197,94,.42);
  color:#166534;
}

.cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-body{
  text-align:center;
}

.cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-body h3{
  margin:0 0 .35rem;
  font-size:1.08rem;
  line-height:1.25;
  font-weight:950;
  letter-spacing:-.015em;
  color:var(--title);
  text-align:center;
  max-width:100%;
}

.cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-body h3 a{
  color:inherit;
  text-decoration:none;
}

.cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-body h3 a:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}

.cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-body p{
  margin:0;
  font-size:1rem;
  line-height:1.52;
  color:#334155;
}

.cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-arrow{
  align-self:center;
  justify-self:center;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:999px;
  background:#ecfdf3;
  border:1px solid rgba(34,197,94,.28);
  box-shadow:0 10px 22px rgba(22,101,52,.10);
  font-size:1.35rem;
  font-weight:950;
  color:#166534;
}

.cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-actions{
  display:flex;
  flex-direction:column;
  gap:.6rem;
  justify-content:center;
}

.cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-actions .cta-btn{
  min-height:64px;
  border-radius:18px;
}

.cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-actions .btn-pill{
  width:100%;
  min-height:42px;
  border-radius:14px;
}

/* Tablet */
@media(max-width:1100px){
  .cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-row{
    grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);
  }

  .cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-actions{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:1fr 1fr;
  }
}

/* Móvil grande */
@media(max-width:820px){
  .cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-row{
    grid-template-columns:1fr;
  }

  .cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-arrow{
    transform:rotate(90deg);
  }

  .cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-side,
  .cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-side:nth-of-type(3){
    grid-template-columns:150px minmax(0,1fr);
  }

  .cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-side:nth-of-type(3) .tf-eq-media{
    width:150px;
  }
}
/* =========================================================
   FIX MÓVIL REAL · Equivalencias Silvercrest
   Imagen arriba → título → texto
========================================================= */

@media (max-width:560px){

  .cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-side,
  .cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-row > .tf-eq-side:first-of-type,
  .cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-row > .tf-eq-side:nth-of-type(3){
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    text-align:center !important;
  }

  .cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-media{
    order:1 !important;
    width:100% !important;
    max-width:230px !important;
    margin:0 auto .75rem !important;
  }

  .cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-body{
    order:2 !important;
    width:100% !important;
    max-width:320px !important;
    text-align:center !important;
  }

  .cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-body h3{
    margin-top:.15rem !important;
    margin-bottom:.45rem !important;
  }

  .cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-body p{
    margin:0 !important;
  }
}
/* =========================================================
   FIX GLOBAL · Imágenes equivalencias Silvercrest
   Tamaño uniforme desktop + móvil
========================================================= */

/* Marco común para TODAS las imágenes del bloque */
.cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-media{
  width:190px !important;
  max-width:190px !important;
  aspect-ratio:1 / 1 !important;
  padding:8px !important;
  overflow:hidden !important;
  display:grid !important;
  place-items:center !important;
}

/* Imagen común */
.cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-media img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:scale(1.08) !important;
}

/* Silvercrest: un poco más grande porque suele traer más fondo blanco */
.cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-row > .tf-eq-side:first-of-type .tf-eq-media img{
  transform:scale(1.22) !important;
}

/* Equivalentes: tamaño estable */
.cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-row > .tf-eq-side:nth-of-type(3) .tf-eq-media img{
  transform:scale(1.08) !important;
}

/* Desktop: columnas equilibradas */
.cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-side,
.cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-side:nth-of-type(3){
  grid-template-columns:190px minmax(0,1fr) !important;
}

/* Tablet */
@media(max-width:820px){
  .cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-media{
    width:170px !important;
    max-width:170px !important;
  }

  .cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-side,
  .cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-side:nth-of-type(3){
    grid-template-columns:170px minmax(0,1fr) !important;
  }
}

/* Móvil: imagen arriba, texto debajo */
@media(max-width:560px){
  .cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-media{
    width:100% !important;
    max-width:230px !important;
  }

  .cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-row > .tf-eq-side:first-of-type .tf-eq-media img{
    transform:scale(1.18) !important;
  }

  .cmp-box.review-template[data-tf-review] .tf-silvercrest-equivalencias .tf-eq-row > .tf-eq-side:nth-of-type(3) .tf-eq-media img{
    transform:scale(1.04) !important;
  }
}
/* =========================================================
   FIX · Silvercrest mini con mucho aire interno
   Uso: .tf-eq-media--zoom-xl
========================================================= */

.cmp-box.review-template[data-tf-review]
.tf-silvercrest-equivalencias .tf-eq-media.tf-eq-media--zoom-xl{
  padding:0 !important;
  overflow:hidden !important;
}

.cmp-box.review-template[data-tf-review]
.tf-silvercrest-equivalencias .tf-eq-media.tf-eq-media--zoom-xl img{
  width:116% !important;
  height:116% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:scale(1.03) translateY(8%) !important;
}

/* =========================================================
   FIX · Silvercrest horno 9 en 1 con mucho aire interno
   Uso: .tf-eq-media--zoom-xxl
========================================================= */

.cmp-box.review-template[data-tf-review]
.tf-silvercrest-equivalencias .tf-eq-media.tf-eq-media--zoom-xxl{
  padding:0 !important;
  overflow:hidden !important;
}

.cmp-box.review-template[data-tf-review]
.tf-silvercrest-equivalencias .tf-eq-media.tf-eq-media--zoom-xxl img{
  width:150% !important;
  height:150% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:scale(1.12) !important;
}

@media(max-width:560px){
  .cmp-box.review-template[data-tf-review]
  .tf-silvercrest-equivalencias .tf-eq-media.tf-eq-media--zoom-xl img{
    width:118% !important;
    height:118% !important;
    transform:scale(1.04) translateY(3%) !important;
  }

  .cmp-box.review-template[data-tf-review]
  .tf-silvercrest-equivalencias .tf-eq-media.tf-eq-media--zoom-xxl img{
    width:135% !important;
    height:135% !important;
    transform:scale(1.08) !important;
  }
}
/* =========================================================
   FIX · CTA STORE: enlaces internos en imagen/título sin romper altura
========================================================= */

.cmp-box.review-template[data-tf-review] .cta-store__media a{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  text-decoration:none;
}

.cmp-box.review-template[data-tf-review] .cta-store__media a img{
  width:100%;
  height:100% !important;
  object-fit:contain !important;
}

.cmp-box.review-template[data-tf-review] .cta-store h3 a{
  color:var(--title);
  text-decoration:none;
}

.cmp-box.review-template[data-tf-review] .cta-store h3 a:hover{
  color:var(--brand);
  text-decoration:underline;
  text-underline-offset:3px;
}