/* =========================================================
   OVERRIDES.CSS — CAPA FINAL LIMPIA / V26
   Base estable, sin capas viejas ni notas internas.
   ========================================================= */

:root {
  --bg: #f5f5f7;
  --surface: #ffffff;
  --surface-2: #fafafc;
  --ink: #000000;
  --ink-soft: #16171a;
  --line: #e5e5e7;
  --line-strong: #d2d2d7;
  --green: #2f8f3a;
  --green-dark: #256f2d;
  --green-soft: rgba(47, 143, 58, 0.10);
  --gold: #d4a017;
  --gold-dark: #a67c00;
  --max: 1100px;
  --radius: 18px;
  --radius-sm: 12px;
  --shadow: 0 20px 60px rgba(15, 17, 22, 0.06);
  --shadow-soft: 0 10px 30px rgba(15, 17, 22, 0.045);
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  background: var(--bg);
  color: var(--ink);
  font-family: "Exo 2", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-wrap: pretty;
}

.container {
  width: min(calc(100% - 28px), var(--max));
  margin: 0 auto;
}

button,
input,
select,
textarea {
  font-family: inherit;
}

a,
button,
.button,
.card-link,
.amazon-cta {
  transition: .18s ease;
}

a:focus-visible,
button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(47, 143, 58, 0.20);
}

img {
  max-width: 100%;
  height: auto;
}

/* ===== TIPOGRAFÍA GLOBAL ===== */
body,
p,
span,
small,
li,
dt,
dd,
blockquote,
cite,
label,
strong,
em,
b,
td,
th,
figcaption,
a,
.hero p,
.page-hero p,
.section-intro,
.footer-copy,
.card p,
.info-box p,
.band-card p,
.highlight span,
.small-note,
.meta-note,
.brand-copy span,
.band p,
.band .section-intro,
.faq-answer,
.cookie-banner p,
.note-good,
.note-care,
.inline-note,
.card-link,
.footer-links a,
.footer-mini a,
.content-main,
.content-side,
.legal-box,
.notice-box,
.main-nav a,
.faq-question,
.badge,
.cta-text {
  color: var(--ink) !important;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0 !important;
}

strong,
b,
.content-main strong,
.content-side strong,
.legal-box strong,
.notice-box strong,
.hero-copy strong,
.page-hero-copy strong,
.card p strong,
.faq-answer strong,
.cta-text strong {
  font-weight: 700 !important;
  color: #000 !important;
  letter-spacing: 0 !important;
}

.site-header,
.hero,
.page-hero,
.section,
.section-tight,
.site-footer,
.footer-inner,
.cookie-banner,
.author-card,
.card-body,
.highlight,
.info-box,
.band-card,
.box,
.legal-box,
.notice-box,
.content-main,
.content-side,
.page-hero-copy,
.hero-copy,
.footer-copy,
.footer-links,
.footer-mini,
.footer-logo-wrap,
.centered,
.breadcrumbs,
.breadcrumbs-wrap {
  text-align: center;
}

h1,
h2,
h3,
h4,
h5,
h6,
.section-title,
.hero h1,
.page-hero h1,
.card h2,
.card h3,
.content-main h1,
.content-main h2,
.content-main h3,
.content-side h2,
.content-side h3,
.legal-box h1,
.legal-box h2,
.legal-box h3,
.notice-box h1,
.notice-box h2,
.notice-box h3 {
  color: #000 !important;
  font-style: italic;
  letter-spacing: 0 !important;
  line-height: 1.08;
  font-weight: 700;
  text-align: center;
  text-shadow: 2px 1px 0 rgba(229, 186, 58, 0.95), 4px 1px 10px rgba(166, 124, 0, 0.22) !important;
}

h1,
.hero h1,
.page-hero h1 {
  font-size: clamp(2.2rem, 4.2vw, 3.8rem);
}

h2,
.section-title,
.content-main h2,
.content-side h2,
.legal-box h2,
.notice-box h2,
.card h2 {
  font-size: clamp(1.95rem, 3vw, 2.65rem);
}

h3,
.content-main h3,
.content-side h3,
.legal-box h3,
.notice-box h3,
.card h3 {
  font-size: clamp(1.35rem, 2vw, 1.7rem);
}

ul,
ol,
.summary-list,
.faq-list,
.content-main ul,
.content-main ol,
.content-side ul,
.content-side ol,
.legal-box ul,
.legal-box ol,
.notice-box ul,
.notice-box ol {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

li::marker {
  content: "" !important;
}

.content-main li,
.content-side li,
.legal-box li,
.notice-box li,
.summary-list li,
.footer-links li,
.footer-mini li {
  margin: 0 0 14px;
  text-align: center;
}

.skip-link {
  position: absolute !important;
  left: -9999px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.skip-link:focus {
  left: 16px !important;
  top: 16px !important;
  width: auto !important;
  height: auto !important;
  z-index: 999 !important;
  background: #fff !important;
  border: 1px solid var(--line-strong) !important;
  border-radius: 12px !important;
  padding: 10px 14px !important;
}

/* ===== HEADER ===== */
.site-header {
  background: rgba(244, 243, 243, 0.92);
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  backdrop-filter: blur(16px);
}

.header-inner {
  min-height: 86px;
  justify-content: center;
  gap: 22px;
}

.brand-zone {
  justify-content: center;
  gap: 14px;
}

.expertos-badge img {
  width: 52px;
  height: 52px;
  object-fit: contain;
  border-radius: 8px;
}

.brand-logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding-left: 0;
  border-left: 0;
}

.brand-logo-wrap img {
  width: 122px;
  max-height: 122px;
  object-fit: contain;
}

.brand-copy {
  display: none !important;
}

.main-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.main-nav a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 14px !important;
  border-radius: 999px !important;
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
  color: #000 !important;
  position: relative;
  background: transparent !important;
  border: 1px solid transparent !important;
}

.main-nav a:hover,
.main-nav a.active,
.main-nav a[aria-current="page"] {
  color: var(--green) !important;
  background: rgba(47, 143, 58, 0.10) !important;
  border-color: rgba(47, 143, 58, 0.18) !important;
}

.main-nav a.active::after,
.main-nav a[aria-current="page"]::after,
.main-nav a:hover::after {
  display: none !important;
}

.nav-toggle {
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.9);
  border-radius: 14px;
  padding: 10px 12px;
  font-weight: 700;
  letter-spacing: 0 !important;
}

/* ===== HERO / CABECERAS ===== */
.hero,
.page-hero {
  padding: 28px 0 10px;
}

.hero-grid,
.page-hero-inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  align-items: stretch;
}

.hero-copy,
.page-hero-copy {
  background: linear-gradient(180deg, #ffffff, #fbfbfd);
  border: 1px solid var(--line);
  border-radius: 30px;
  padding: 42px 34px;
  box-shadow: var(--shadow);
}

.hero-media,
.page-hero-media {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: linear-gradient(180deg, #ffffff, #f6f6f8);
  border: 1px solid var(--line);
  border-radius: 30px;
  min-height: 360px;
  box-shadow: var(--shadow-soft);
  padding: 20px;
}

.hero-media img,
.page-hero-media img {
  width: 100%;
  height: 100%;
  max-height: 420px;
  object-fit: contain;
  object-position: center;
  border-radius: 8px;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  background: var(--green-soft);
  color: var(--green) !important;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0 !important;
  text-transform: uppercase;
  border: 1px solid rgba(47, 143, 58, 0.20);
  text-shadow: none !important;
}

.hero p,
.page-hero p,
.section-intro,
.footer-copy,
.content-main p,
.content-side p,
.legal-box p,
.notice-box p,
.faq-answer p,
.cta-text,
.meta-note {
  margin-left: auto;
  margin-right: auto;
  max-width: 780px;
  line-height: 1.78;
}

.hero-actions,
.action-row,
.author-links,
.badge-row,
.footer-links,
.footer-mini,
.cookie-actions,
.support-links,
.cta-row,
.button-stack,
.review-next-links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

/* ===== BLOQUES ===== */


.card-grid { grid-template-columns: 1fr; }


.highlight,
.info-box,
.band-card,
.box,
.legal-box,
.notice-box,
.content-main,
.content-side,
.card {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 28px;
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(14px);
}

.highlight,
.info-box,
.band-card,
.box,
.legal-box,
.notice-box,
.content-main,
.content-side {
  padding: 28px;
}

.section { padding: 32px 0; }
.section-tight { padding: 18px 0 28px; }
.section-title { margin: 0 0 10px; }

.card {
  overflow: hidden;
}

.card-image {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 16 / 10;
  background: linear-gradient(180deg, #fff, #f4f4f6);
  padding: 18px;
}

.card-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.card-image-link,
.card-image-link:hover {
  display: block;
}

.card-body {
  padding: 42px;
}

.card h2,
.card h3 {
  margin: 0 0 10px;
}

.band {
  background: linear-gradient(180deg, #f2f2f4, #ececef);
  color: var(--ink);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.band .section-intro,
.band p { color: #000 !important; }

.content-wrap {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  padding: 20px 0 28px;
}

.sticky-box {
  position: static;
}

.inline-note {
  border-left: 4px solid #d0d0d5;
  background: #f8f8fa;
  border-radius: 18px;
  padding: 14px 16px;
  color: #000 !important;
}

.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: #f2f2f5;
  border: 1px solid var(--line);
  font-size: 16px;
  font-weight: 600;
}

.note-good,
.note-care {
  border-radius: 22px;
  padding: 20px;
  border: 1px solid var(--line);
  text-align: center;
}

.note-good { background: #f7f7f8; }
.note-care { background: #fafafb; }

/* ===== TABLAS ===== */
.table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* ===== FAQ ===== */
.faq-list {
  display: grid !important;
  gap: 16px !important;
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.faq-item {
  width: 100% !important;
  text-align: center !important;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid var(--line);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: var(--shadow-soft);
}

button.faq-question,
.faq-item > .faq-question {
  width: 100% !important;
  background: transparent;
  border: 0;
  padding: 18px 16px !important;
  display: grid !important;
  grid-template-columns: 32px minmax(0, 1fr) 32px !important;
  align-items: center !important;
  justify-items: center !important;
  column-gap: 8px !important;
  text-align: center !important;
  font-weight: 700;
  cursor: pointer;
  font-size: 20px;
  box-sizing: border-box !important;
}

button.faq-question::before,
.faq-item > .faq-question::before {
  content: "" !important;
  display: block !important;
  width: 32px !important;
  height: 1px !important;
  grid-column: 1 !important;
}

button.faq-question .faq-label,
.faq-item > .faq-question .faq-label {
  grid-column: 2 !important;
  display: block !important;
  width: 100% !important;
  margin: 0 auto !important;
  text-align: center !important;
  line-height: 1.35 !important;
}

button.faq-question .faq-icon,
.faq-item > .faq-question .faq-icon {
  grid-column: 3 !important;
  position: static !important;
  transform: none !important;
  width: 32px !important;
  height: 32px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 24px !important;
  line-height: 1 !important;
  color: var(--green-dark) !important;
}

.faq-answer,
.faq-answer p,
.faq-answer ul,
.faq-answer ol,
.faq-answer li,
.faq-answer * {
  text-align: center !important;
}

.faq-answer {
  max-width: 820px !important;
  margin: 0 auto !important;
  padding: 0 24px 20px !important;
}

/* ===== BOTONES ===== */
.button,
.button-primary,
.button-secondary,
.button-ghost,
.card-link,
a.button,
.hero-actions a,
.action-row a,
.content-main a.button,
.content-side a.button,
.box a.button,
.support-links a,
.card-grid .button,
.card-grid .card-link,
.card-grid-3 .button,
.card-grid-3 .card-link,
.products-grid .button,
.products-grid .card-link,
.family-links .button,
.family-links .card-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 56px;
  padding: 0 26px;
  border-radius: 18px;
  font-weight: 700;
  font-size: 16px;
  border: 1px solid var(--green-dark) !important;
  background: linear-gradient(180deg, var(--green), var(--green-dark)) !important;
  color: #ffffff !important;
  box-shadow: 0 6px 18px rgba(15, 17, 22, 0.08);
  text-decoration: none !important;
  letter-spacing: 0 !important;
  line-height: 1.2;
}

.button:hover,
.button-primary:hover,
.button-secondary:hover,
.button-ghost:hover,
.card-link:hover,
a.button:hover,
.hero-actions a:hover,
.action-row a:hover,
.content-main a.button:hover,
.content-side a.button:hover,
.box a.button:hover,
.support-links a:hover {
  background: linear-gradient(180deg, #3e9a45, #2d7532) !important;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(15, 17, 22, 0.12);
}

.amazon-cta,
a.amazon-cta,
.button.amazon-cta,
.button-primary.amazon-cta {
  border: 1px solid rgba(37, 111, 45, 0.18) !important;
  background: linear-gradient(180deg, var(--green), var(--green-dark)) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 28px rgba(37, 111, 45, 0.18) !important;
}

.amazon-cta:hover,
a.amazon-cta:hover,
.button.amazon-cta:hover,
.button-primary.amazon-cta:hover {
  background: linear-gradient(180deg, #3e9a45, #2d7532) !important;
}

.amazon-cta::after,
.amazon-cta[rel~="sponsored"]::after {
  content: none !important;
  display: none !important;
}

.cta-box {
  margin-top: 28px !important;
  margin-bottom: 30px !important;
  padding: 24px !important;
  border: 1px solid rgba(47, 143, 58, 0.16) !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, rgba(47,143,58,0.08), rgba(47,143,58,0.03)) !important;
  box-shadow: 0 14px 34px rgba(16,17,20,0.06) !important;
}

.cta-text { margin-bottom: 14px !important; }
.review-next-links {
  flex-direction: column;
  gap: 14px;
  margin-top: 10px;
}
.review-next-links .button,
.review-next-links .card-link {
  width: 100%;
  max-width: 340px;
}

.affiliate-note,
.meta-note {
  display: none !important;
}

/* ===== BREADCRUMBS ===== */
.breadcrumbs-wrap {
  padding: 16px 0 0;
}

.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  font-size: 14px;
  color: #4b5563;
}

.breadcrumbs a {
  color: var(--green-dark) !important;
  text-decoration: none;
}

.breadcrumbs a:hover { text-decoration: underline; }
.breadcrumbs-sep { color: #9ca3af; }

/* ===== FOOTER / COOKIES ===== */
.site-footer {
  margin-top: 28px;
  background: #ececef;
  color: #000 !important;
  border-top: 1px solid #dddddf;
}

.footer-inner {
  padding: 34px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.footer-logo {
  width: min(100%, 360px);
  margin: 0 auto 18px;
  border-radius: 8px;
}

.footer-copy { color: #000 !important; }

.footer-links,
.footer-mini {
  width: 100%;
  justify-content: center;
}

.footer-links {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px 18px !important;
  max-width: 900px;
  margin: 12px auto 0;
}

.footer-links a,
.footer-mini a {
  color: #000 !important;
  font-weight: 600;
}

.footer-mini {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 8px 18px !important;
  margin-top: 8px;
}

.cookie-banner {
  position: fixed;
  left: 14px;
  right: 14px;
  bottom: 14px;
  z-index: 120;
  background: rgba(255, 255, 255, 0.95);
  color: #000 !important;
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: var(--shadow);
  padding: 20px;
  display: none;
}

.cookie-banner.show { display: block; }
.cookie-banner p { color: #000 !important; }
.cookie-actions { gap: 12px !important; }
.cookie-actions button {
  border: 1px solid var(--line-strong);
  background: linear-gradient(180deg, #ffffff, #f2f2f4);
  color: #000 !important;
  min-height: 46px;
  padding: 0 16px;
  border-radius: 14px;
  cursor: pointer;
  font-weight: 700;
}
.cookie-actions .accept {
  border: 1px solid rgba(37,111,45,0.18) !important;
  background: linear-gradient(180deg, var(--green), var(--green-dark)) !important;
  color: #fff !important;
}

/* ===== FLECHA ARRIBA ===== */
.back-top {
  position: fixed !important;
  right: 18px !important;
  bottom: 110px !important;
  z-index: 90 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #d9dde2, #bfc6cf) !important;
  border: 1px solid #b8c0ca !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.18) !important;
  color: var(--green-dark) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(10px) !important;
}

.back-top.show {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

.back-top span,
.back-top svg {
  color: var(--green-dark) !important;
  fill: var(--green-dark) !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.sep {
  height: 1px;
  background: var(--line);
  margin: 18px 0;
}

/* ===== MOBILE ===== */
@media (max-width: 1024px) {
  .container { width: min(calc(100% - 20px), var(--max)); }

  body,
  p,
  span,
  small,
  li,
  dt,
  dd,
  blockquote,
  cite,
  label,
  strong,
  em,
  b,
  td,
  th,
  figcaption,
  a,
  .hero p,
  .page-hero p,
  .section-intro,
  .footer-copy,
  .card p,
  .info-box p,
  .band-card p,
  .highlight span,
  .small-note,
  .meta-note,
  .brand-copy span,
  .band p,
  .band .section-intro,
  .faq-answer,
  .cookie-banner p,
  .note-good,
  .note-care,
  .inline-note,
  .card-link,
  .footer-links a,
  .footer-mini a,
  .content-main,
  .content-side,
  .legal-box,
  .notice-box,
  .main-nav a,
  .faq-question,
  .badge,
  .cta-text {
    font-size: 19px !important;
    line-height: 1.78 !important;
  }

  h1,
  .hero h1,
  .page-hero h1,
  .content-main h1,
  .legal-box h1,
  .notice-box h1 {
    font-size: clamp(2.25rem, 8vw, 3rem) !important;
  }

  h2,
  .section-title,
  .content-main h2,
  .content-side h2,
  .legal-box h2,
  .notice-box h2,
  .card h2 {
    font-size: clamp(1.95rem, 6.6vw, 2.45rem) !important;
  }

  h3,
  .content-main h3,
  .content-side h3,
  .legal-box h3,
  .notice-box h3,
  .card h3 {
    font-size: clamp(1.4rem, 5.5vw, 1.7rem) !important;
  }

  .header-inner {
    min-height: 82px !important;
    justify-content: space-between;
  }

  .nav-toggle {
    display: inline-flex;
    align-items: center;
    min-height: 46px !important;
    padding: 10px 14px !important;
    font-size: 18px !important;
  }

  .main-nav {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 82px;
    background: rgba(255, 255, 255, 0.98);
    border-bottom: 1px solid var(--line);
    padding: 16px 14px 20px;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }

  .main-nav.open { display: flex; }

  .main-nav a {
    width: 100%;
    justify-content: center;
    min-height: 48px;
    border-radius: 14px !important;
    padding: 12px 14px !important;
    background: #f6f6f8 !important;
    font-size: 19px !important;
  }

  .hero-copy,
  .page-hero-copy,
  .content-main,
  .content-side,
  .legal-box,
  .notice-box,
  .highlight,
  .info-box,
  .band-card,
  .box {
    padding: 22px !important;
  }

  .brand-logo-wrap img { width: 98px; }
  .hero-media,
  .page-hero-media { min-height: 280px; padding: 16px; }
  .hero-media img,
  .page-hero-media img { max-height: 300px; }
  .eyebrow,
  .badge,
  .breadcrumbs,
  .meta-note { font-size: 16px !important; }
  .card-body { padding: 28px !important; }
  .card-grid { grid-template-columns: 1fr; }
  .button,
  .button-primary,
  .button-secondary,
  .button-ghost,
  .card-link,
  .amazon-cta {
    width: 100%;
    max-width: 360px;
    min-height: 58px !important;
    font-size: 18px !important;
  }

  .review-next-links .button,
  .review-next-links .card-link { max-width: 100%; }

  .table-wrap { overflow: visible; }

  

  

  

  

  

  

  

  

  .footer-inner,
  .footer-links,
  .footer-mini,
  .footer-copy,
  .site-footer {
    text-align: center !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .back-top {
    width: 54px !important;
    height: 54px !important;
    bottom: 100px !important;
  }

  .back-top span,
  .back-top svg { font-size: 26px !important; }
}


/* ===== MENÚ DESKTOP MÁS ANCHO Y ESTABLE ===== */
@media (min-width: 1025px) {
  .site-header .container.header-inner {
    width: min(calc(100% - 28px), 1240px) !important;
  }

  .header-inner {
    gap: 16px !important;
  }

  .main-nav {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    justify-content: center !important;
    gap: 16px !important;
  }

  .main-nav a {
    white-space: nowrap !important;
    padding: 0 18px !important;
  }
}


/* ===== AJUSTE FINO: FIRMA CENTRADA + HEADER DESKTOP MÁS COMPACTO ===== */
.author-card {
  justify-items: center !important;
  text-align: center !important;
}

.author-card img {
  display: block !important;
  margin: 0 auto 18px !important;
}

@media (min-width: 1025px) {
  .site-header .container.header-inner {
    width: min(calc(100% - 28px), 1240px) !important;
  }

  .header-inner {
    min-height: 80px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    gap: 14px !important;
  }

  .main-nav {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    justify-content: center !important;
    gap: 14px !important;
  }

  .main-nav a {
    min-height: 38px !important;
    white-space: nowrap !important;
    padding: 0 16px !important;
  }
}

@media (max-width: 1024px) {
  

  

  

  

  

  .back-top {
    right: 18px !important;
  }
}

@media (min-width: 1025px) {
  .back-top {
    right: 28px !important;
  }
}


/* ===== Énfasis tipográfico coherente ===== */
strong,
b,
.content-main strong,
.content-side strong,
.legal-box strong,
.notice-box strong,
.table-wrap strong,
.cta-text strong,
.lead-copy strong {
  font-size: inherit !important;
  line-height: inherit !important;
}



/* =========================================================
   MÓDULO FINAL HOME / HUBS — V34
   Bloques reutilizables para portada y hubs sin tocar compare.css
   ========================================================= */

.hero-stack-shell {
  max-width: 920px;
}

.hero-copy-stack {
  padding: 34px;
}

.hero-copy-stack h1 {
  margin-bottom: 20px;
}

.hero-media-inline {
  min-height: 0;
  max-width: 820px;
  margin: 0 auto 22px;
  aspect-ratio: 16 / 8.8;
}

.hero-copy-stack .lead-copy {
  max-width: 820px;
  margin: 0 auto;
}

.feature-slab {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 24px;
  align-items: stretch;
}

.feature-slab-reverse {
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
}

.feature-copy,
.feature-media {
  background: linear-gradient(180deg, #fff, #fbfbfc);
  border: 1px solid var(--line);
  border-radius: 28px;
  box-shadow: var(--shadow);
}

.feature-copy {
  padding: 30px;
}

.feature-copy .section-title,
.feature-copy .section-intro {
  margin-left: auto;
  margin-right: auto;
}

.feature-copy .section-intro {
  max-width: 760px;
}

.feature-media {
  overflow: hidden;
  min-height: 320px;
}

.feature-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.feature-points {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 20px;
}

.feature-point {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 16px;
  box-shadow: var(--shadow-soft);
}

.feature-point strong {
  display: block;
  margin-bottom: 6px;
}

.feature-point span {
  display: block;
  color: var(--ink) !important;
}

.section-shell {
  display: grid;
  gap: 22px;
}

.section-head {
  max-width: 900px;
  margin: 0 auto;
}

.section-head .section-intro {
  margin-bottom: 0;
}

.section-cta {
  justify-content: center;
  margin-top: 2px;
}

.feature-slab-compact .feature-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.feature-slab-home .feature-copy {
  justify-content: center;
}

body[data-page="index"] .hero {
  padding-top: 24px;
}

body[data-page="index"] .section-tight {
  padding-top: 20px;
}

body[data-page="index"] .card-grid .card,
body[data-page="index"] .card-grid-3 .card {
  height: 100%;
}

@media (max-width: 1024px) {
  .feature-slab,
  .feature-slab-reverse {
    grid-template-columns: 1fr;
  }

  .feature-points {
    grid-template-columns: 1fr;
  }

  .feature-media {
    min-height: 280px;
  }
}

@media (max-width: 760px) {
  .hero-copy-stack,
  .feature-copy {
    padding: 20px;
  }

  .hero-media-inline {
    aspect-ratio: 16 / 10.5;
    margin-bottom: 18px;
  }

  .feature-media {
    min-height: 220px;
  }

  .section-shell {
    gap: 18px;
  }
}


/* =========================================================
   V35 — LAYOUT FINAL MAESTRO
   Estructura de una columna para hubs, categorías, guías y reviews.
   Mantiene tablas de comparativa sin romper compare.css.
   ========================================================= */

.page-hero-inner,
.section-shell,
.feature-slab,
.feature-slab-reverse,
.card-grid,
.card-grid-3,
.content-wrap,
.faq-list {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}

.feature-slab,
.feature-slab-reverse,
.card-grid,
.card-grid-3,
.content-wrap {
  grid-template-columns: 1fr;
}

.feature-points {
  grid-template-columns: 1fr;
}

.content-main,
.content-side {
  width: 100%;
}

.content-side .box img {
  width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 16px;
}

body[data-page="index"] .card-grid,
body[data-page="index"] .card-grid-3,
body[data-page="productos"] .card-grid,
body[data-page="reviews"] .card-grid,
body[data-page="top-ventas"] .card-grid-3,
body[data-page="comparativas"] .card-grid {
  max-width: 900px;
}

body[data-page="index"] .feature-slab-home .action-row {
  margin-top: 18px;
}

body[data-page="index"] .section-head,
body[data-page="productos"] .page-hero-copy,
body[data-page="comparativas"] .page-hero-copy,
body[data-page="reviews"] .page-hero-copy,
body[data-page="top-ventas"] .page-hero-copy,
body[data-page="guia-compra"] .page-hero-copy,
body[data-page="preguntas-frecuentes"] .page-hero-copy {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1024px) {
  .page-hero-inner,
  .section-shell,
  .feature-slab,
  .feature-slab-reverse,
  .card-grid,
  .card-grid-3,
  .content-wrap,
  .faq-list {
    max-width: none;
  }
}


/* =========================================================
   V39 — ORDEN FINAL HOME + HERO VERTICAL
   H2/H1 -> FOTO -> TEXTO -> BOTÓN según plantilla maestra.
   ========================================================= */

.page-hero-inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  align-items: stretch;
}

.page-hero-copy,
.page-hero-summary {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}

.page-hero-copy {
  display: grid;
  gap: 14px;
}

.page-hero-summary {
  background: linear-gradient(180deg, #ffffff, #fbfbfd);
  border: 1px solid var(--line);
  border-radius: 30px;
  padding: 30px 28px;
  box-shadow: var(--shadow);
}

.page-hero-summary .lead-copy {
  max-width: 780px;
  margin: 0 auto;
}

.stack-block {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  gap: 18px;
}

.stack-media {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: linear-gradient(180deg, #ffffff, #f6f6f8);
  border: 1px solid var(--line);
  border-radius: 30px;
  min-height: 320px;
  box-shadow: var(--shadow-soft);
  padding: 20px;
}

.stack-media img {
  width: 100%;
  height: 100%;
  max-height: 420px;
  object-fit: contain;
  object-position: center;
  border-radius: 8px;
}

.stack-text {
  background: linear-gradient(180deg, #ffffff, #fbfbfd);
  border: 1px solid var(--line);
  border-radius: 30px;
  padding: 30px 28px;
  box-shadow: var(--shadow);
}

.stack-text .section-intro,
.stack-text .lead-copy {
  max-width: 780px;
  margin: 0 auto;
}

.stack-cta {
  justify-content: center;
}

.home-stack-section .card-grid-3 {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}

.home-stack-section .card-grid-3 .card {
  height: 100%;
}

@media (max-width: 760px) {
  .page-hero-summary,
  .stack-text {
    padding: 20px;
  }

  .stack-media {
    min-height: 220px;
    padding: 16px;
  }
}


/* === V41: content stacks clearer for hubs and category pages === */
.card-grid,
.card-grid-3 {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
  grid-template-columns: 1fr !important;
  gap: 28px;
}

.card {
  display: grid;
  gap: 0;
  background: linear-gradient(180deg, #ffffff, #fbfbfd);
  border: 1px solid var(--line);
  border-radius: 30px;
  overflow: hidden;
  box-shadow: var(--shadow);
}

.card-image-link {
  display: block;
}

.card-image {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: linear-gradient(180deg, #ffffff, #f6f6f8);
  border: 0;
  border-radius: 0;
  min-height: 320px;
  box-shadow: none;
  padding: 24px 24px 10px;
  aspect-ratio: auto;
}

.card-image img {
  width: 100%;
  height: 100%;
  max-height: 420px;
  object-fit: contain;
  object-position: center;
  border-radius: 18px;
}

.card-body {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 10px 28px 28px;
  box-shadow: none;
}

.card h2,
.card h3 {
  margin: 0 0 10px;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  line-height: 1.14;
}

.card p {
  margin: 0 0 16px;
}

.card .button,
.card-link {
  width: fit-content;
  min-width: 0;
  margin-top: 8px;
}

.home-stack-section .card-grid-3,
body[data-page="top-ventas"] .card-grid-3,
body[data-page="reviews"] .card-grid-3,
body[data-page="productos"] .card-grid,
body[data-page="taladros"] .card-grid,
body[data-page="martillos-perforadores"] .card-grid,
body[data-page="amoladoras"] .card-grid,
body[data-page="fresadoras"] .card-grid,
body[data-page="comparativas"] .card-grid {
  max-width: 920px;
}

body[data-page="sobre-autor"] .page-hero-media img {
  width: 100%;
  height: 100%;
  max-height: 460px;
  object-fit: cover;
  object-position: center top;
  border-radius: 18px;
}

@media (max-width: 760px) {
  .card-grid,
  .card-grid-3 {
    gap: 22px;
  }

  .card-image {
    min-height: 220px;
    padding: 16px;
  }

  .card-body {
    padding: 20px;
  }
}

/* === V43: one-piece media stack cards across all hubs and category pages === */
.card.card-whole-link {
  padding: 0;
}

.card.card-whole-link .card-shell {
  display: grid;
  gap: 0;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.card.card-whole-link .card-shell:hover,
.card.card-whole-link .card-shell:focus-visible {
  text-decoration: none;
}

.card.card-whole-link .card-image {
  min-height: 320px;
  padding: 22px 22px 8px;
}

.card.card-whole-link .card-body {
  display: grid;
  gap: 0;
  align-content: start;
  padding: 12px 28px 28px;
}

.card.card-whole-link .card-body > :last-child {
  margin-bottom: 0;
}

.card.card-whole-link .faux-button {
  pointer-events: none;
  margin-top: 12px;
}

.card.card-whole-link:hover,
.card.card-whole-link:focus-within {
  border-color: rgba(24, 79, 56, 0.24);
  box-shadow: 0 20px 50px rgba(17, 24, 39, 0.12);
  transform: translateY(-2px);
}

@media (max-width: 1024px) {
  .card.card-whole-link .card-image {
    min-height: 280px;
  }
}

@media (max-width: 760px) {
  .card.card-whole-link .card-image {
    min-height: 210px;
    padding: 14px 14px 6px;
  }

  .card.card-whole-link .card-body {
    padding: 18px 18px 20px;
  }

  .card.card-whole-link .faux-button {
    width: 100%;
    justify-content: center;
  }
}


/* === V44: recenter unified stack cards and hero blocks === */
.page-hero-inner,
.stack-block,
.card.card-whole-link .card-shell {
  justify-items: center;
}

.page-hero-copy,
.page-hero-media,
.page-hero-summary,
.stack-media,
.stack-text,
.card.card-whole-link .card-image,
.card.card-whole-link .card-body {
  width: 100%;
}

.card.card-whole-link .card-body {
  justify-items: center;
  text-align: center;
}

.card.card-whole-link .card-body p,
.card.card-whole-link .card-body .section-intro,
.card.card-whole-link .card-body .lead-copy {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.card.card-whole-link .faux-button,
.card.card-whole-link .button,
.card .button,
.card-link {
  display: inline-flex;
  margin-left: auto;
  margin-right: auto;
  align-self: center;
  justify-self: center;
}

.card.card-whole-link .card-image img,
.page-hero-media img,
.stack-media img {
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 760px) {
  .card.card-whole-link .card-body p,
  .card.card-whole-link .card-body .section-intro,
  .card.card-whole-link .card-body .lead-copy {
    max-width: 100%;
  }
}


/* ===== AJUSTES MAESTROS V52 ===== */
.hero h1,
.page-hero h1,
.section-title,
.card h2,
.card h3 {
  text-wrap: balance;
}

.back-top span,
.back-top svg {
  font-weight: 900 !important;
  line-height: 1;
}


/* ===== V50 — CIERRE FINAL TITULOS + ANCHOS GEMELOS ===== */
.hero h1,
.page-hero h1,
.section-title,
.card h2,
.card h3,
.content-main h1,
.content-main h2,
.content-main h3,
.content-side h2,
.content-side h3,
.legal-box h1,
.legal-box h2,
.legal-box h3,
.notice-box h1,
.notice-box h2,
.notice-box h3 {
  font-style: italic !important;
  text-shadow: 2px 1px 0 rgba(229, 186, 58, 0.95), 4px 1px 10px rgba(166, 124, 0, 0.22) !important;
}

#home-top-ventas .card-grid-3,
#home-reviews .card-grid-3,
body[data-page="top-ventas"] .card-grid-3,
body[data-page="reviews"] .card-grid-3 {
  width: min(100%, 920px) !important;
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 760px) {
  .hero h1,
  .page-hero h1,
  .section-title,
  .card h2,
  .card h3,
  .content-main h1,
  .content-main h2,
  .content-main h3,
  .content-side h2,
  .content-side h3,
  .legal-box h1,
  .legal-box h2,
  .legal-box h3,
  .notice-box h1,
  .notice-box h2,
  .notice-box h3 {
    text-shadow: 1.5px 1px 0 rgba(229, 186, 58, 0.90), 2px 1px 8px rgba(166, 124, 0, 0.18) !important;
  }
}


/* ===== V51 — FAQS + FOLLOW CARDS ===== */
body[data-page="preguntas-frecuentes"] .faq-question .faq-label {
  font-size: clamp(1.2rem, 2.2vw, 1.52rem);
  font-weight: 800;
  font-style: italic;
  color: #8d6700;
  text-shadow: 1.5px 1px 0 rgba(229, 186, 58, 0.82), 2px 1px 8px rgba(166, 124, 0, 0.12);
}

body[data-page="preguntas-frecuentes"] .faq-question .faq-icon {
  color: #8d6700;
  font-weight: 900;
}

body[data-page="preguntas-frecuentes"] .faq-item {
  border-color: rgba(166, 124, 0, 0.18);
}

.stack-link-card,
.follow-card-grid {
  width: min(100%, 920px);
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}

.stack-link-card {
  margin-top: 26px;
}

.follow-card-grid {
  display: grid;
  gap: 28px;
  margin-top: 28px;
}

#hub-comparativas-cta .container,
body[data-page="preguntas-frecuentes"] #faq-contenido .container.follow-card-grid {
  padding-top: 0;
}

body[data-page="guia-compra"] .follow-card-grid {
  margin-top: 10px;
}

body[data-page="guia-compra"] .content-side.sticky-box {
  align-content: start;
}

body[data-page="guia-compra"] .content-side .box:first-child {
  margin-bottom: 0;
}

@media (max-width: 760px) {
  body[data-page="preguntas-frecuentes"] .faq-question .faq-label {
    font-size: clamp(1.08rem, 5vw, 1.28rem);
  }

  .follow-card-grid,
  .stack-link-card {
    width: 100%;
  }
}


/* ===== V52 — PANELES CERRADOS + FOLLOW CARDS GLOBALES ===== */
.page-hero-inner,
body[data-page="index"] .stack-block,
body[data-page="productos"] #hub-categorias-grid > .container,
body[data-page="taladros"] #categoria-contexto > .container,
body[data-page="taladros"] #categoria-entradas > .container,
body[data-page="martillos-perforadores"] #categoria-contexto > .container,
body[data-page="martillos-perforadores"] #categoria-entradas > .container,
body[data-page="amoladoras"] #categoria-contexto > .container,
body[data-page="amoladoras"] #categoria-entradas > .container,
body[data-page="fresadoras"] #categoria-contexto > .container,
body[data-page="fresadoras"] #categoria-entradas > .container,
body[data-page="guia-compra"] #guia-contenido > .container.content-wrap,
body[data-page="preguntas-frecuentes"] #faq-contenido > .container,
body[data-page="reviews"] #hub-reviews-grid > .container,
body[data-page="top-ventas"] #hub-top-ventas-grid > .container,
body[data-page="comparativas"] #hub-comparativas-grid > .container,
body[data-page^="review-"] #review-contenido > .container.content-wrap,
body[data-page^="review-"] #review-follow-cards > .container {
  background: linear-gradient(180deg, #ffffff, #fbfbfd);
  border: 1px solid var(--line);
  border-radius: 32px;
  box-shadow: var(--shadow);
  padding: 28px;
  box-sizing: border-box;
}

body[data-page="index"] .stack-block,
.page-hero-inner,
body[data-page="productos"] #hub-categorias-grid > .container,
body[data-page="taladros"] #categoria-entradas > .container,
body[data-page="martillos-perforadores"] #categoria-entradas > .container,
body[data-page="amoladoras"] #categoria-entradas > .container,
body[data-page="fresadoras"] #categoria-entradas > .container,
body[data-page="preguntas-frecuentes"] #faq-contenido > .container,
body[data-page="reviews"] #hub-reviews-grid > .container,
body[data-page="top-ventas"] #hub-top-ventas-grid > .container,
body[data-page="comparativas"] #hub-comparativas-grid > .container,
body[data-page^="review-"] #review-follow-cards > .container {
  display: grid;
  gap: 22px;
}

body[data-page="index"] .stack-block .stack-cta,
body[data-page="index"] .stack-block .section-title,
body[data-page="index"] .stack-block .stack-text,
body[data-page="index"] .stack-block .stack-media,
body[data-page="index"] .stack-block .card-grid-3 {
  width: 100%;
}

body[data-page="productos"] #hub-categorias-grid > .container > .card-grid,
body[data-page="taladros"] #categoria-entradas > .container > .card-grid,
body[data-page="martillos-perforadores"] #categoria-entradas > .container > .card-grid,
body[data-page="amoladoras"] #categoria-entradas > .container > .card-grid,
body[data-page="fresadoras"] #categoria-entradas > .container > .card-grid,
body[data-page="reviews"] #hub-reviews-grid > .container > .card-grid-3,
body[data-page="top-ventas"] #hub-top-ventas-grid > .container > .card-grid-3,
body[data-page="comparativas"] #hub-comparativas-grid > .container > .card-grid,
body[data-page="preguntas-frecuentes"] #faq-contenido > .container > .follow-card-grid,
body[data-page^="review-"] #review-follow-cards > .container > .follow-card-grid {
  width: 100%;
  max-width: 100%;
}

body[data-page^="review-"] #review-follow-cards {
  padding-top: 12px;
}

body[data-page^="review-"] #review-follow-cards .follow-card-grid {
  margin-top: 0;
}

body[data-page^="review-"] #review-contenido .review-next-links {
  gap: 12px;
}

body[data-page^="review-"] #review-contenido .review-next-links .button {
  width: 100%;
  justify-content: center;
}

@media (max-width: 760px) {
  .page-hero-inner,
  body[data-page="index"] .stack-block,
  body[data-page="productos"] #hub-categorias-grid > .container,
  body[data-page="taladros"] #categoria-contexto > .container,
  body[data-page="taladros"] #categoria-entradas > .container,
  body[data-page="martillos-perforadores"] #categoria-contexto > .container,
  body[data-page="martillos-perforadores"] #categoria-entradas > .container,
  body[data-page="amoladoras"] #categoria-contexto > .container,
  body[data-page="amoladoras"] #categoria-entradas > .container,
  body[data-page="fresadoras"] #categoria-contexto > .container,
  body[data-page="fresadoras"] #categoria-entradas > .container,
  body[data-page="guia-compra"] #guia-contenido > .container.content-wrap,
  body[data-page="preguntas-frecuentes"] #faq-contenido > .container,
  body[data-page="reviews"] #hub-reviews-grid > .container,
  body[data-page="top-ventas"] #hub-top-ventas-grid > .container,
  body[data-page="comparativas"] #hub-comparativas-grid > .container,
  body[data-page^="review-"] #review-contenido > .container.content-wrap,
  body[data-page^="review-"] #review-follow-cards > .container {
    padding: 18px;
    border-radius: 24px;
  }
}


/* FINAL V55 — ajustes mínimos limpios */
.hero-media,
.page-hero-media,
.stack-media,
.card-image,
.follow-card-grid .card-image,
.stack-link-card .card-image {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.hero-media img,
.page-hero-media img,
.stack-media img,
.card-image img,
.follow-card-grid .card-image img,
.stack-link-card .card-image img,
.brand-logo-wrap img,
.footer-logo {
  display: block;
  opacity: 1;
  visibility: visible;
}

body[data-page="preguntas-frecuentes"] .faq-item {
  text-align: left;
}

body[data-page="preguntas-frecuentes"] button.faq-question,
body[data-page="preguntas-frecuentes"] .faq-item > .faq-question {
  grid-template-columns: minmax(0, 1fr) 34px;
  justify-items: stretch;
  column-gap: 14px;
  padding: 18px 22px 18px 24px;
  text-align: left;
}

body[data-page="preguntas-frecuentes"] button.faq-question::before,
body[data-page="preguntas-frecuentes"] .faq-item > .faq-question::before {
  display: none !important;
}

body[data-page="preguntas-frecuentes"] button.faq-question .faq-label,
body[data-page="preguntas-frecuentes"] .faq-item > .faq-question .faq-label {
  grid-column: 1;
  margin: 0;
  padding-left: 4px;
  text-align: left;
  line-height: 1.4;
}

body[data-page="preguntas-frecuentes"] button.faq-question .faq-icon,
body[data-page="preguntas-frecuentes"] .faq-item > .faq-question .faq-icon {
  grid-column: 2;
  justify-self: end;
}

body[data-page="preguntas-frecuentes"] .faq-answer,
body[data-page="preguntas-frecuentes"] .faq-answer p,
body[data-page="preguntas-frecuentes"] .faq-answer ul,
body[data-page="preguntas-frecuentes"] .faq-answer ol,
body[data-page="preguntas-frecuentes"] .faq-answer li {
  text-align: left;
}

body[data-page="preguntas-frecuentes"] .faq-answer {
  max-width: 100%;
  padding: 0 24px 22px 28px;
}

@media (max-width: 760px) {
  body[data-page="preguntas-frecuentes"] button.faq-question,
  body[data-page="preguntas-frecuentes"] .faq-item > .faq-question {
    padding: 16px 16px 16px 18px;
    column-gap: 10px;
  }

  body[data-page="preguntas-frecuentes"] button.faq-question .faq-label,
  body[data-page="preguntas-frecuentes"] .faq-item > .faq-question .faq-label {
    padding-left: 2px;
  }

  body[data-page="preguntas-frecuentes"] .faq-answer {
    padding: 0 18px 18px 20px;
  }
}


/* V59 final reinforcement */

body[data-page="preguntas-frecuentes"] .page-hero .eyebrow {
  letter-spacing: .08em;
}
body[data-page="preguntas-frecuentes"] button.faq-question,
body[data-page="preguntas-frecuentes"] .faq-item > .faq-question {
  padding-left: 26px !important;
  text-align: left !important;
}
body[data-page="preguntas-frecuentes"] .faq-question .faq-label,
body[data-page="preguntas-frecuentes"] .faq-item > .faq-question .faq-label {
  padding-left: 6px !important;
  text-align: left !important;
}
body[data-page="preguntas-frecuentes"] .faq-answer {
  padding-left: 26px !important;
}
.follow-card-grid .card,
.stack-link-card.card {
  overflow: hidden;
}
.follow-card-grid .card-image,
.stack-link-card .card-image {
  min-height: 220px;
}
.follow-card-grid .card-image img,
.stack-link-card .card-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
@media (max-width: 760px) {
  body[data-page="preguntas-frecuentes"] button.faq-question,
  body[data-page="preguntas-frecuentes"] .faq-item > .faq-question {
    padding-left: 18px !important;
  }
  body[data-page="preguntas-frecuentes"] .faq-answer {
    padding-left: 18px !important;
  }
  .follow-card-grid .card-image,
  .stack-link-card .card-image {
    min-height: 180px;
  }
}



/* V60 — cierres finales en recuadro real */
body[data-page="productos"] #hub-categorias-follow > .container,
body[data-page="top-ventas"] #hub-top-ventas-follow > .container,
body[data-page="reviews"] #hub-reviews-follow > .container,
body[data-page="comparativas"] #hub-comparativas-cta > .container,
body[data-page="taladros"] #categoria-follow > .container,
body[data-page="martillos-perforadores"] #categoria-follow > .container,
body[data-page="amoladoras"] #categoria-follow > .container,
body[data-page="fresadoras"] #categoria-follow > .container,
body[data-page="comparativa-taladros-y-martillos"] #comparison-follow > .container,
body[data-page="comparativa-uso-domestico"] #comparison-follow > .container {
  background: linear-gradient(180deg, #ffffff, #fbfbfd);
  border: 1px solid var(--line);
  border-radius: 32px;
  box-shadow: var(--shadow);
  padding: 28px;
  box-sizing: border-box;
}

body[data-page="productos"] #hub-categorias-follow > .container,
body[data-page="top-ventas"] #hub-top-ventas-follow > .container,
body[data-page="reviews"] #hub-reviews-follow > .container,
body[data-page="comparativas"] #hub-comparativas-cta > .container,
body[data-page="taladros"] #categoria-follow > .container,
body[data-page="martillos-perforadores"] #categoria-follow > .container,
body[data-page="amoladoras"] #categoria-follow > .container,
body[data-page="fresadoras"] #categoria-follow > .container,
body[data-page="comparativa-taladros-y-martillos"] #comparison-follow > .container,
body[data-page="comparativa-uso-domestico"] #comparison-follow > .container {
  display: grid;
  gap: 22px;
}

body[data-page="productos"] #hub-categorias-follow .follow-card-grid,
body[data-page="top-ventas"] #hub-top-ventas-follow .follow-card-grid,
body[data-page="reviews"] #hub-reviews-follow .follow-card-grid,
body[data-page="comparativas"] #hub-comparativas-cta .follow-card-grid,
body[data-page="taladros"] #categoria-follow .follow-card-grid,
body[data-page="martillos-perforadores"] #categoria-follow .follow-card-grid,
body[data-page="amoladoras"] #categoria-follow .follow-card-grid,
body[data-page="fresadoras"] #categoria-follow .follow-card-grid,
body[data-page="comparativa-taladros-y-martillos"] #comparison-follow .follow-card-grid,
body[data-page="comparativa-uso-domestico"] #comparison-follow .follow-card-grid {
  width: 100%;
  max-width: 100%;
  margin-top: 0;
}

@media (max-width: 760px) {
  body[data-page="productos"] #hub-categorias-follow > .container,
  body[data-page="top-ventas"] #hub-top-ventas-follow > .container,
  body[data-page="reviews"] #hub-reviews-follow > .container,
  body[data-page="comparativas"] #hub-comparativas-cta > .container,
  body[data-page="taladros"] #categoria-follow > .container,
  body[data-page="martillos-perforadores"] #categoria-follow > .container,
  body[data-page="amoladoras"] #categoria-follow > .container,
  body[data-page="fresadoras"] #categoria-follow > .container,
  body[data-page="comparativa-taladros-y-martillos"] #comparison-follow > .container,
  body[data-page="comparativa-uso-domestico"] #comparison-follow > .container {
    padding: 18px;
    border-radius: 24px;
  }
}


/* V61 final close */
body[data-page="preguntas-frecuentes"] .page-hero-copy,
body[data-page="preguntas-frecuentes"] .page-hero-summary {
  text-align: center !important;
  margin-left: auto;
  margin-right: auto;
}
body[data-page="preguntas-frecuentes"] .faq-item {
  text-align: center !important;
}
body[data-page="preguntas-frecuentes"] button.faq-question,
body[data-page="preguntas-frecuentes"] .faq-item > .faq-question {
  position: relative;
  display: block !important;
  padding: 18px 56px 18px 24px !important;
  text-align: center !important;
}
body[data-page="preguntas-frecuentes"] .faq-question .faq-label,
body[data-page="preguntas-frecuentes"] .faq-item > .faq-question .faq-label {
  display: block;
  padding: 0 !important;
  text-align: center !important;
}
body[data-page="preguntas-frecuentes"] .faq-question .faq-icon,
body[data-page="preguntas-frecuentes"] .faq-item > .faq-question .faq-icon {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
}
body[data-page="preguntas-frecuentes"] .faq-answer,
body[data-page="preguntas-frecuentes"] .faq-answer p,
body[data-page="preguntas-frecuentes"] .faq-answer ul,
body[data-page="preguntas-frecuentes"] .faq-answer ol,
body[data-page="preguntas-frecuentes"] .faq-answer li {
  text-align: center !important;
}
body[data-page="preguntas-frecuentes"] .faq-answer {
  max-width: 780px;
  margin: 0 auto;
  padding: 0 22px 24px !important;
}
.top-sales-grid,
.top-sales-grid-home {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch;
  max-width: 1060px;
  margin-left: auto;
  margin-right: auto;
}
body[data-page="top-ventas"] .top-sales-grid .card-image,
body[data-page="index"] #home-top-ventas .top-sales-grid .card-image {
  min-height: 250px;
  padding: 12px 12px 0;
}
body[data-page="top-ventas"] .top-sales-grid .card-image img,
body[data-page="index"] #home-top-ventas .top-sales-grid .card-image img {
  max-height: none;
  height: 100%;
  object-fit: cover;
}
body[data-page="top-ventas"] .top-sales-grid .card-body,
body[data-page="index"] #home-top-ventas .top-sales-grid .card-body {
  display: flex;
  flex-direction: column;
}
body[data-page="top-ventas"] .top-sales-grid .faux-button,
body[data-page="index"] #home-top-ventas .top-sales-grid .faux-button {
  margin-top: auto;
}
@media (min-width: 980px) {
  .top-sales-grid,
  .top-sales-grid-home {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  body[data-page="preguntas-frecuentes"] button.faq-question,
  body[data-page="preguntas-frecuentes"] .faq-item > .faq-question {
    padding: 16px 46px 16px 16px !important;
  }
  .top-sales-grid,
  .top-sales-grid-home {
    grid-template-columns: 1fr !important;
  }
}


/* ===== V62 — CIERRE FINAL FAQ + TOP VENTAS ===== */
body[data-page="preguntas-frecuentes"] #faq-hero .page-hero-copy,
body[data-page="preguntas-frecuentes"] #faq-hero .page-hero-summary,
body[data-page="preguntas-frecuentes"] #faq-hero .lead-copy,
body[data-page="preguntas-frecuentes"] #faq-hero h1,
body[data-page="preguntas-frecuentes"] #faq-hero .eyebrow {
  text-align: center !important;
}
body[data-page="preguntas-frecuentes"] .faq-list {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}
body[data-page="preguntas-frecuentes"] .faq-item {
  overflow: hidden;
}
body[data-page="comparativas"] #hub-comparativas-grid .card-image,
body[data-page^="comparativa-"] .compare-products-strip img,
body[data-page^="comparativa-"] #comparison-follow .card-image {
  min-height: 250px;
}


/* ===== V63 — CIERRE FINAL HOME + FAQ ===== */
body[data-page="index"] #home-guia .stack-block,
body[data-page="index"] #home-faq .stack-block {
  gap: 18px;
}
body[data-page="index"] #home-guia .stack-media,
body[data-page="index"] #home-guia .stack-text,
body[data-page="index"] #home-faq .stack-media,
body[data-page="index"] #home-faq .stack-text {
  display: none !important;
}
body[data-page="index"] #home-guia .stack-link-card,
body[data-page="index"] #home-faq .stack-link-card {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}
body[data-page="index"] #home-guia .stack-link-card .card-body h3,
body[data-page="index"] #home-faq .stack-link-card .card-body h3 {
  font-size: clamp(1.32rem, 2.1vw, 1.72rem);
}
.top-sales-grid,
.top-sales-grid-home {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  gap: 24px !important;
}
@media (min-width: 761px) and (max-width: 1099px) {
  .top-sales-grid,
  .top-sales-grid-home {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 1100px) {
  .top-sales-grid,
  .top-sales-grid-home {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
body[data-page="preguntas-frecuentes"] #faq-hero .page-hero-copy,
body[data-page="preguntas-frecuentes"] #faq-hero .page-hero-summary,
body[data-page="preguntas-frecuentes"] #faq-hero .lead-copy,
body[data-page="preguntas-frecuentes"] #faq-hero h1,
body[data-page="preguntas-frecuentes"] #faq-hero .eyebrow,
body[data-page="preguntas-frecuentes"] .faq-item,
body[data-page="preguntas-frecuentes"] .faq-question,
body[data-page="preguntas-frecuentes"] .faq-question .faq-label,
body[data-page="preguntas-frecuentes"] .faq-answer,
body[data-page="preguntas-frecuentes"] .faq-answer p {
  text-align: center !important;
}
body[data-page="preguntas-frecuentes"] .faq-list {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
}
body[data-page="preguntas-frecuentes"] .faq-item {
  overflow: hidden;
}
body[data-page="preguntas-frecuentes"] button.faq-question,
body[data-page="preguntas-frecuentes"] .faq-item > .faq-question {
  display: block !important;
  padding: 20px 58px 20px 24px !important;
}
body[data-page="preguntas-frecuentes"] .faq-question .faq-label,
body[data-page="preguntas-frecuentes"] .faq-item > .faq-question .faq-label {
  display: block;
  max-width: 760px;
  margin: 0 auto;
  padding: 0 14px !important;
  font-size: clamp(1.08rem, 2vw, 1.28rem) !important;
  line-height: 1.45;
}
body[data-page="preguntas-frecuentes"] .faq-question .faq-icon,
body[data-page="preguntas-frecuentes"] .faq-item > .faq-question .faq-icon {
  position: absolute;
  right: 22px;
  top: 50%;
  transform: translateY(-50%);
}
body[data-page="preguntas-frecuentes"] .faq-answer {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 34px 26px !important;
}
body[data-page="preguntas-frecuentes"] .faq-answer p {
  font-size: clamp(1rem, 1.55vw, 1.08rem);
  line-height: 1.72;
}
@media (max-width: 760px) {
  body[data-page="preguntas-frecuentes"] .faq-list {
    padding-left: 10px;
    padding-right: 10px;
  }
  body[data-page="preguntas-frecuentes"] button.faq-question,
  body[data-page="preguntas-frecuentes"] .faq-item > .faq-question {
    padding: 18px 46px 18px 14px !important;
  }
  body[data-page="preguntas-frecuentes"] .faq-question .faq-label,
  body[data-page="preguntas-frecuentes"] .faq-item > .faq-question .faq-label {
    padding: 0 8px !important;
    font-size: clamp(1.03rem, 4.5vw, 1.16rem) !important;
  }
  body[data-page="preguntas-frecuentes"] .faq-answer {
    padding: 0 16px 22px !important;
  }
  body[data-page="preguntas-frecuentes"] .faq-answer p {
    font-size: 1rem;
  }
}


/* ===== V64 — CIERRE FINAL REAL FAQ + CATEGORÍAS + REVIEWS ===== */
body[data-page="preguntas-frecuentes"] #faq-contenido > .container {
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 26px !important;
  padding-right: 26px !important;
}
body[data-page="preguntas-frecuentes"] .faq-list {
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body[data-page="preguntas-frecuentes"] .faq-item {
  text-align: center !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body[data-page="preguntas-frecuentes"] button.faq-question::before,
body[data-page="preguntas-frecuentes"] .faq-item > .faq-question::before {
  display: none !important;
  content: none !important;
}
body[data-page="preguntas-frecuentes"] button.faq-question,
body[data-page="preguntas-frecuentes"] .faq-item > .faq-question {
  padding: 22px 62px 22px 32px !important;
  text-align: center !important;
}
body[data-page="preguntas-frecuentes"] .faq-question .faq-label,
body[data-page="preguntas-frecuentes"] .faq-item > .faq-question .faq-label {
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
  text-align: center !important;
  font-size: clamp(1.1rem, 1.8vw, 1.3rem) !important;
}
body[data-page="preguntas-frecuentes"] .faq-answer {
  max-width: 840px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 28px 26px !important;
  text-align: center !important;
}
body[data-page="preguntas-frecuentes"] .faq-answer p {
  text-align: center !important;
}
@media (max-width: 760px) {
  body[data-page="preguntas-frecuentes"] #faq-contenido > .container {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  body[data-page="preguntas-frecuentes"] button.faq-question,
  body[data-page="preguntas-frecuentes"] .faq-item > .faq-question {
    padding: 18px 46px 18px 18px !important;
  }
  body[data-page="preguntas-frecuentes"] .faq-question .faq-label,
  body[data-page="preguntas-frecuentes"] .faq-item > .faq-question .faq-label {
    padding-left: 8px !important;
    padding-right: 8px !important;
    font-size: clamp(1.06rem, 4.2vw, 1.18rem) !important;
  }
  body[data-page="preguntas-frecuentes"] .faq-answer {
    padding: 0 16px 22px !important;
  }
}

@media (min-width: 900px) {
  body[data-page="productos"] #hub-categorias-grid > .container.card-grid,
  body[data-page="taladros"] #categoria-entradas > .container > .card-grid,
  body[data-page="martillos-perforadores"] #categoria-entradas > .container > .card-grid,
  body[data-page="amoladoras"] #categoria-entradas > .container > .card-grid,
  body[data-page="fresadoras"] #categoria-entradas > .container > .card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 980px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

body[data-page^="review-"] .badge-row {
  display: none !important;
}
body[data-page^="review-"] .review-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 22px 0 18px;
}
body[data-page^="review-"] .review-gallery-item {
  margin: 0;
  background: linear-gradient(180deg, #ffffff, #fbfbfd);
  border: 1px solid var(--line);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: var(--shadow);
}
body[data-page^="review-"] .review-gallery-item img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
body[data-page^="review-"] .review-gallery-item figcaption {
  padding: 12px 14px 14px;
  font-size: .95rem;
  line-height: 1.5;
  color: var(--ink-soft);
  text-align: center;
}
body[data-page^="review-"] .review-support-copy {
  margin: 0 0 16px;
  line-height: 1.72;
  color: var(--ink-soft);
}
@media (max-width: 760px) {
  body[data-page^="review-"] .review-gallery {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}


/* ===== V65 — CIERRE ESTRUCTURAL FINAL ===== */
@media (min-width: 900px) {
  body[data-page="productos"] #hub-categorias-grid .card-grid,
  body[data-page="taladros"] #categoria-entradas .card-grid,
  body[data-page="martillos-perforadores"] #categoria-entradas .card-grid,
  body[data-page="amoladoras"] #categoria-entradas .card-grid,
  body[data-page="fresadoras"] #categoria-entradas .card-grid,
  body[data-page="reviews"] #hub-reviews-grid .card-grid-3,
  body[data-page="comparativas"] #hub-comparativas-grid .card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 980px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

body[data-page="productos"] #hub-categorias-grid .card-grid:has(> article:only-child),
body[data-page="taladros"] #categoria-entradas .card-grid:has(> article:only-child),
body[data-page="martillos-perforadores"] #categoria-entradas .card-grid:has(> article:only-child),
body[data-page="amoladoras"] #categoria-entradas .card-grid:has(> article:only-child),
body[data-page="fresadoras"] #categoria-entradas .card-grid:has(> article:only-child),
body[data-page="comparativas"] #hub-comparativas-grid .card-grid:has(> article:only-child) {
  grid-template-columns: minmax(0, 1fr) !important;
  max-width: 560px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body[data-page="reviews"] #hub-reviews-grid .card-grid-3 {
  display: grid;
  gap: 24px;
}

body[data-page="comparativas"] #hub-comparativas-grid .card-grid {
  display: grid;
  gap: 24px;
}

body[data-page^="review-"] .review-final-media {
  margin: 24px 0 20px;
  background: linear-gradient(180deg, #ffffff, #fbfbfd);
  border: 1px solid var(--line);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: var(--shadow);
}

body[data-page^="review-"] .review-final-media img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

body[data-page^="review-"] .review-final-media figcaption {
  padding: 12px 16px 16px;
  text-align: center;
  line-height: 1.6;
}
