/*
  Hornos Rotativos A&D — Visual Cleanup v2
  Correcciones de cascada, layout y bugs visuales.
  Sobrescribe conflictos del template base (hornos-layout.css).
  ============================================================
*/

/* ── Variables globales ──────────────────────────────────── */
:root {
  --brand-dark:   #1c1c1c;
  --brand-bronze: #c8922a;
  --brand-bronze-dark: #a8721a;
  --brand-cream:  #f8f6f2;
  --brand-light:  #f5f5f5;
  --brand-line:   #e8e2d6;
  --brand-text:   #302a22;
  --brand-muted:  #766f64;
  --shadow-soft:  0 16px 46px rgba(28,28,28,0.09);
  --shadow-card:  0 10px 30px rgba(28,28,28,0.08);
  --radius-card:  22px;
}

/* ── RESET CRÍTICO: hornos-layout.css pone img { width:100% }
   que rompe el logo del nav y otros elementos ─────────────── */
img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Imágenes que SÍ deben ser 100% de su contenedor */
.prod-gallery img.main-img,
.thumb-row img,
.mega-img img,
.sector-card img,
.line-cell img,
.result-img-wrap img,
.product-card-img,
.single-product .left-image img,
.trending .item .thumb img,
.most-played .item .thumb img,
.model-ficha-img img,
#gal-grid img,
.main-banner .right-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Logo del nav: altura fija, no 100% */
.nav-logo img,
.header-area .main-nav .logo img,
.background-header .logo img {
  width: auto !important;
  height: 52px !important;
  max-width: 180px !important;
  object-fit: contain !important;
  mix-blend-mode: multiply !important;
}

/* ── Base de página ────────────────────────────────────────── */
html { scroll-behavior: smooth; }
body {
  background: #fff;
  color: var(--brand-text);
  overflow-x: hidden;
  font-family: 'DM Sans', 'Helvetica Neue', Arial, sans-serif;
}

/* ── Selección de texto ────────────────────────────────────── */
::selection { background: var(--brand-bronze); color: #fff; }
::-moz-selection { background: var(--brand-bronze); color: #fff; }

/* ── Header ────────────────────────────────────────────────── */
.header-area {
  min-height: 82px;
  backdrop-filter: blur(14px);
}
.header-area .main-nav {
  min-height: 82px;
  display: flex;
  align-items: center;
}
.header-area .main-nav .logo {
  display: flex;
  align-items: center;
  height: 82px;
}
.header-area .main-nav .nav {
  display: flex;
  align-items: center;
  gap: 4px;
}
.header-area .main-nav .nav li a {
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: 0.01em;
  transition: background-color 0.2s ease, color 0.2s ease;
}
@media (max-width: 991px) {
  .header-area .main-nav { min-height: 74px; }
  .header-area .main-nav .logo,
  .header-area .main-nav .logo img { height: 50px !important; }
}
@media (max-width: 767px) {
  .header-area { background: var(--brand-dark) !important; }
  .header-area .main-nav .nav {
    display: none;
    background: #fff;
    border-radius: 0 0 24px 24px;
    overflow: hidden;
  }
  .header-area .main-nav .nav li a {
    border-radius: 0 !important;
    color: #1e1e1e !important;
    background-color: #fff !important;
  }
}

/* ── Banner / Hero sections ────────────────────────────────── */
.main-banner { padding: 168px 0 92px; }
.main-banner .caption h2 {
  max-width: 760px;
  font-size: clamp(34px, 4.4vw, 58px) !important;
  line-height: 1.04 !important;
}
.main-banner .caption p {
  max-width: 680px;
  font-size: 16px;
  line-height: 1.85;
}
@media (max-width: 992px) { .main-banner { padding: 144px 0 70px; } }
@media (max-width: 767px) { .main-banner { padding: 124px 0 54px; } }

/* ── Preloader ─────────────────────────────────────────────── */
.js-preloader.loaded {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* ── Secciones / spacing ───────────────────────────────────── */
.section,
.trending,
.most-played,
.categories,
.contact-page,
.single-product,
.model-ficha-section {
  margin-top: 48px !important;
  padding-top: 0;
  padding-bottom: 0;
}
.section[style*="background:#F5F5F5"],
.section[style*="background:#1C1C1C"],
.catalog-section {
  padding-top: 44px !important;
  padding-bottom: 44px !important;
}
.section-heading { margin-bottom: 42px !important; }
.section-heading h2 {
  font-size: clamp(28px, 3.2vw, 42px);
  line-height: 1.16;
  letter-spacing: -0.035em;
  text-transform: none;
}
.section-heading h6 { letter-spacing: 0.16em; }

/* ── Card base ────────────────────────────────────────────── */
.conversion-box,
.info-card,
.features .item,
.product-card,
.model-ficha-card,
.contact-page .left-text,
.contact-page .right-content,
.faq-item,
.wa-card,
.model-spec-box,
.cta .shop,
.cta .subscribe {
  border-radius: var(--radius-card) !important;
  box-shadow: var(--shadow-card);
}
.conversion-box,
.info-card,
.product-card,
.model-ficha-card,
.contact-page .left-text,
.faq-item,
.wa-card,
.model-spec-box {
  border: 1px solid var(--brand-line) !important;
}

/* ── Features ─────────────────────────────────────────────── */
.features .item {
  min-height: 192px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 30px 18px;
}

/* ── PRODUCT GALLERY — FIX PRINCIPAL ─────────────────────── */
/* La galería de cada producto en el catálogo */
.prod-gallery {
  position: relative !important;
  overflow: hidden !important;
  background: #f5f5f5 !important;     /* NO más fondo negro */
  height: clamp(240px, 26vw, 340px) !important;
  flex-shrink: 0 !important;
}
.prod-gallery img.main-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  transition: transform 0.35s ease;
  padding: 0 !important;             /* Quitar el padding que achica la imagen */
}
.prod-gallery:hover img.main-img { transform: scale(1.04); }

/* Thumbnails */
.thumb-row img {
  width: 54px !important;
  height: 40px !important;
  object-fit: cover !important;
  background: #e0e0e0 !important;
  border-radius: 5px !important;
}

/* Galería en catalog-section */
.catalog-section .prod-gallery,
.catalog-section .prod-gallery {
  height: 255px !important;
  min-height: 255px !important;
  flex: 0 0 255px !important;
}
@media (max-width: 991px) {
  .catalog-section .prod-gallery { height: 220px !important; min-height: 220px !important; flex-basis: 220px !important; }
}
@media (max-width: 767px) {
  .prod-gallery { height: 260px !important; }
}

/* ── Product card body ────────────────────────────────────── */
.product-card {
  height: 100%;
  overflow: hidden;
  background: #fff !important;
}
.catalog-section .product-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  background: #fff !important;
}
.prod-body {
  min-height: 168px;
  padding: 16px 18px 18px !important;
}
.catalog-section .prod-body {
  flex: 1;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px;
  padding: 18px !important;
}
.prod-name { font-size: 16px !important; white-space: normal !important; }
.prod-quick { gap: 6px !important; flex-wrap: wrap !important; }

/* ── Helper card (presupuestador CTA dentro del catálogo) ─── */
.helper-card,
.catalog-section .helper-card {
  background: #1c1c1c !important;
  border: 0 !important;
}
.helper-card .prod-name,
.helper-card .prod-tagline { color: #fff !important; }
.helper-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.helper-options span {
  display: flex;
  align-items: center;
  min-height: 54px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(255,255,255,.07);
  color: #f4efe7;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

/* ── Filter bar ───────────────────────────────────────────── */
.filter-bar { top: 70px !important; }
.filter-btn {
  border-radius: 999px;
  margin: 10px 2px;
  padding: 10px 17px !important;
  border-bottom: 0 !important;
}
.filter-btn.active, .filter-btn:hover {
  background: rgba(200, 146, 42, 0.12) !important;
}

/* ── Botones ──────────────────────────────────────────────── */
.main-button a,
.btn-wa,
.btn-detail,
.model-wa-row a,
.contact-page .right-content form button,
.cta .subscribe form button,
.main-banner .caption a {
  min-height: 46px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 999px !important;
}

/* ── Trending items ───────────────────────────────────────── */
.trending .item {
  display: flex !important;
  flex-direction: column;
  overflow: hidden;
  border-radius: 22px !important;
  background: #fff;
}
.trending .item .thumb,
.trending .item .thumb a {
  display: block;
  height: 255px;
  overflow: hidden;
}
.trending .item .thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.trending .item .down-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 160px;
  padding: 20px;
}

/* ── Especificaciones / fichas ────────────────────────────── */
.model-spec-grid { align-items: stretch; }
.model-spec-box { height: 100%; }
.comp-table, .spec-table { overflow: hidden; border-radius: 16px; }
.spec-table td { color: #111 !important; font-weight: 500; }
.spec-table td:first-child { color: #000 !important; font-weight: 800 !important; }
.model-ficha-card { margin-bottom: 26px !important; }
.model-ficha-body { padding: 28px !important; }
.model-detail-columns {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px !important;
}
.model-detail-columns > div {
  background: #fff;
  border: 1px solid var(--brand-line);
  border-radius: 16px;
  padding: 18px;
}
@media (max-width: 767px) {
  .model-detail-columns { grid-template-columns: 1fr; }
}

/* ── Contacto ─────────────────────────────────────────────── */
.contact-page .right-content {
  background: #fff;
  border: 1px solid var(--brand-line);
  padding: 28px;
  margin-left: 0 !important;
}
.contact-page .right-content form input,
.contact-page .right-content form textarea {
  border-radius: 18px;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.contact-page .right-content form input:focus,
.contact-page .right-content form textarea:focus {
  outline: 0;
  border-color: var(--brand-bronze);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(200,146,42,0.12);
}

/* ── Galería grid ─────────────────────────────────────────── */
#gal-grid > [class*="col-"] { display: flex; }
#gal-grid a, #gal-grid img { width: 100%; }
#gal-grid img {
  height: 170px !important;
  object-fit: cover !important;
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(28,28,28,.08);
}

/* ── Footer ───────────────────────────────────────────────── */
footer { margin-top: 34px !important; }

/* ── WhatsApp float ───────────────────────────────────────── */
.wa-float { bottom: 24px !important; right: 24px !important; }
.wa-float > a, a.wa-float {
  width: 58px !important;
  height: 58px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: #25d366 !important;
  border-radius: 999px !important;
  box-shadow: 0 14px 34px rgba(37,211,102,0.34) !important;
}
.wa-float i, a.wa-float i { color: #fff !important; font-size: 28px !important; }

/* ── Responsive general ───────────────────────────────────── */
.container { max-width: 1200px; }

@media (max-width: 1199px) {
  .header-area .main-nav .nav li a {
    padding-left: 11px;
    padding-right: 11px;
    font-size: 13px;
  }
}
@media (max-width: 992px) {
  .main-banner { padding-top: 144px; }
  .conversion-box { margin-top: 10px; }
  .filter-bar { top: 70px !important; }
  .contact-page .right-content { margin-top: 28px !important; }
  .helper-options { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .section, .trending, .most-played, .categories,
  .contact-page, .single-product, .model-ficha-section {
    margin-top: 36px !important;
  }
  .section[style*="background:#F5F5F5"],
  .section[style*="background:#1C1C1C"],
  .catalog-section {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
  .catalog-section .prod-body { min-height: auto !important; }
  .product-card { max-width: 420px; margin-inline: auto; }
  .wa-float, a.wa-float { bottom: 80px !important; right: 16px !important; }
}
@media (max-width: 575px) {
  .container { padding-left: 18px; padding-right: 18px; }
  .prod-footer { flex-direction: column; }
  .btn-wa, .btn-detail { width: 100%; }
}

/* ── Overflow global ──────────────────────────────────────── */
body { overflow-x: hidden; }
.container > .row { row-gap: 12px; }
