/* =========================================================
   REVIEW TEMPLATE (PROMPT-COMPATIBLE) — Top-Aspiradoras
   Scope único: .cmp-box.review-template[data-tf-review]
   - No incluye reglas por #id (comparadores/catálogos concretos)
   - No toca sidebar ni módulos fuera del template
   - Coherente con tu HTML fijo:
     <div class="cmp-box review-template" … data-tf-review … style="--brand:...">
========================================================= */

.cmp-box.review-template[data-tf-review]{
  /* Tokens (si el HTML ya trae --brand/--amz/--ler/--pc en style="", prevalecerán) */
  --brand:#0f6abf;            /* Top-Aspiradoras: azul por defecto */
  --brand-rgb:15 106 191;

  --amz:#ff9900;
  --ler:#2bb673;
  --pc:#ff6a00;

  /* 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;

  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:1rem;
  line-height:1.65;
  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 .8rem; }
.cmp-box.review-template[data-tf-review] p:last-child{ margin-bottom:0; }

/* 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; }

.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,
.cmp-box.review-template[data-tf-review] button{ -webkit-text-fill-color:currentColor; }

/* Focus */
.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;
}

/* =========================================================
   DISCLOSURE + NAV
========================================================= */

.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:#f2f8ff;
  box-shadow:0 8px 20px rgb(var(--brand-rgb) / .10);
  font-size:.92rem;
  line-height:1.6;
  color:#0b2b4a;
}
.cmp-box.review-template[data-tf-review] .cmp-disclosure strong{ font-weight:700; }

.cmp-box.review-template[data-tf-review] .site-links{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  align-items:center;
  justify-content:center;
  margin:1.25rem 0 0;
  padding:.5rem .75rem;
}

.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);
}

/* =========================================================
   HERO
========================================================= */

.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:#bfdbfe; }

.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-links a{ opacity:.95; }
.cmp-box.review-template[data-tf-review] .hero-links a:hover{ opacity:1; }
.cmp-box.review-template[data-tf-review] .hero-note{ font-size:.8rem; color:#e5e7eb; }

/* Rating */
.cmp-box.review-template[data-tf-review] .hero-rating{
  border-radius:1.15rem;
  background:linear-gradient(90deg, rgba(251,191,36,.14), rgba(254,243,199,1));
  border:1px solid rgba(251,191,36,.5);
  box-shadow:0 10px 28px rgba(251,191,36,.28);
  padding:.8rem .95rem;
}
.cmp-box.review-template[data-tf-review] .tf-rating-pro{
  display:flex;
  align-items:center;
  gap:.8rem;
}
.cmp-box.review-template[data-tf-review] .tf-rating-pro__stars{
  font-size:1.6rem;
  line-height:1;
  color:#f59e0b;
}
.cmp-box.review-template[data-tf-review] .tf-rating-pro__label{ font-size:.86rem; color:#4b5563; }
.cmp-box.review-template[data-tf-review] .tf-rating-pro__score{ font-weight:800; font-size:.98rem; color:#92400e; }

/* 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);
}
.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;
  flex-wrap:wrap;
  gap:.65rem;
  margin-bottom:.4rem;
}
.cmp-box.review-template[data-tf-review] .hero-ctas__disclaimer{
  font-size:.82rem;
  color:#6b7280;
  margin:0;
}

/* Right col */
.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:var(--brand);
  font-weight:800;
  margin-bottom:.15rem;
}
.cmp-box.review-template[data-tf-review] .hero-summary{ font-size:.98rem; 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:#eff6ff;
  border:1px solid rgb(var(--brand-rgb) / .45);
  box-shadow:0 8px 20px rgb(var(--brand-rgb) / .10);
  font-size:.95rem;
}

/* =========================================================
   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 rgb(var(--brand-rgb) / .55);
  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 rgb(var(--brand-rgb) / .55);
  background:#f2f8ff;
  font-size:.94rem;
  line-height:1.6;
  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;
}

/* =========================================================
   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 rgb(var(--brand-rgb) / .55);
}
.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:.88rem; 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 rgb(var(--brand-rgb) / .55);
}

.cmp-box.review-template[data-tf-review] .rating-panel{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr);
  gap:1rem;
  align-items:stretch;
}
.cmp-box.review-template[data-tf-review] .rating-panel__main{
  border-radius:1.1rem;
  padding:.8rem .9rem;
  background:linear-gradient(90deg, rgba(251,191,36,.14), rgba(254,243,199,1));
  border:1px solid rgba(251,191,36,.5);
  box-shadow:0 10px 26px rgba(251,191,36,.18);
}
.cmp-box.review-template[data-tf-review] .rating-panel__text{
  border-radius:1.1rem;
  padding:.8rem .9rem;
  background:#f9fafb;
  border:1px solid rgb(var(--brand-rgb) / .55);
}

/* =========================================================
   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;
}
/* Si ya hay iframe, quita el overlay oscuro */
.cmp-box.review-template[data-tf-review] .video-wrapper:has(iframe)::before{ opacity:0; }

/* =========================================================
   BOTONES / CTAs
========================================================= */

.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:focus-visible{
  outline:2px solid #ffb454;
  outline-offset:2px;
}

/* =========================================================
   DÓNDE COMPRAR (CTA GRID)
========================================================= */

.cmp-box.review-template[data-tf-review] .section-card--cta{
  border:1px solid rgb(var(--brand-rgb) / .55);
  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;
  gap:1rem;
  margin-bottom:.75rem;
  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 rgb(var(--brand-rgb) / .55);
  background:#f8fbff;
  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:.93rem;
  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; }

/* =========================================================
   COMPARATIVA / ALTERNATIVAS (CARDS + MEDIA 1:1 sin recorte)
========================================================= */

.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 rgb(var(--brand-rgb) / .55);
  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:1rem;
  font-weight:800;
}
.cmp-box.review-template[data-tf-review] .mini-card__body p{
  margin:0;
  font-size:.95rem;
  color:#374151;
}
.cmp-box.review-template[data-tf-review] .mini-card__cta{ margin-top:auto; }

.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;
}

/* Versus grid (sin huecos en desktop moderno) */
.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));
}
.cmp-box.review-template[data-tf-review] .versus-grid:has(> :only-child){
  grid-template-columns:1fr;
}
@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));
  }
  .cmp-box.review-template[data-tf-review] .versus-grid:has(> :nth-child(3)){
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

/* Alts grid */
.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));
  }
  .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; }
}

/* Alt card */
.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:.95rem;
  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:.93rem;
}
.cmp-box.review-template[data-tf-review] .sources-note{ font-size:.88rem; color:var(--muted); }

/* =========================================================
   ADS — responsive FIX (solo dentro de review-template)
   Evita recorte lateral en móvil por iframes/anchos fijos.
   Compatible con clases antiguas: .tl-ad (si existiera),
   y nuevas: .ta-ad / .cmp-ad
========================================================= */

.cmp-box.review-template[data-tf-review] .cmp-ad,
.cmp-box.review-template[data-tf-review] .ta-ad,
.cmp-box.review-template[data-tf-review] .tl-ad{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  margin:1.1rem 0;
  padding:0; /* si quieres “aire” lateral, usa padding:0 .25rem */
  overflow:visible;
}

/* AdSense: obliga a comportarse como bloque fluido */
.cmp-box.review-template[data-tf-review] .cmp-ad ins.adsbygoogle,
.cmp-box.review-template[data-tf-review] .ta-ad ins.adsbygoogle,
.cmp-box.review-template[data-tf-review] .tl-ad ins.adsbygoogle{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

/* Iframe interno: que nunca exceda el contenedor */
.cmp-box.review-template[data-tf-review] .cmp-ad iframe,
.cmp-box.review-template[data-tf-review] .ta-ad iframe,
.cmp-box.review-template[data-tf-review] .tl-ad iframe{
  max-width:100% !important;
}

/* Por si el tema mete overflow oculto en wrappers de contenido */
.cmp-box.review-template[data-tf-review] .review-body,
.cmp-box.review-template[data-tf-review] .hero-card,
.cmp-box.review-template[data-tf-review] .section-card{
  overflow:visible;
}

/* =========================================================
   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; }
}

@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;
  }

  /* FIX · Anclas (site-links) centradas en móvil */
  .cmp-box.review-template[data-tf-review] .site-links{
    justify-content:center !important;
    text-align:center;
  }
}

@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; }
}
