/* =========================
   PALETA BASE (DARK MODE)
   ========================= */
:root {
  --nc-red: #e30613;
  --nc-red-dark: #b10410;

  --nc-bg: #050505;
  --nc-bg-soft: #0b0b0b;
  --nc-bg-elevated: #111111;
  --nc-page-gradient: radial-gradient(circle at top left, #262626 0, #050505 55%);

  --nc-text: #ffffff;
  --nc-text-soft: #e5e5e5;
  --nc-text-muted: #b3b3b3;

  --nc-gray-900: #1f1f1f;
  --nc-gray-700: #3b3b3b;
  --nc-gray-500: #6b6b6b;
  --nc-gray-400: #8b8b8b;
  --nc-gray-300: #b3b3b3;
  --nc-gray-200: #d4d4d4;
  --nc-gray-100: #f5f5f5;

  --nc-border-subtle: rgba(255,255,255,0.08);
  --nc-border-soft: rgba(255,255,255,0.16);

  --nc-card-bg: radial-gradient(circle at top left, rgba(255,255,255,0.06) 0, rgba(17,17,17,0.98) 55%);
  --nc-input-bg: #050505;
  --nc-input-border: rgba(255,255,255,0.2);

  --nc-radius-lg: 16px;
  --nc-radius-md: 10px;
  --nc-radius-sm: 6px;
  --nc-shadow-soft: 0 18px 35px rgba(0,0,0,0.18);
  --nc-max-width: 1200px;

  /* fondo unificado para imágenes de producto: SIEMPRE blanco */
  --nc-product-image-bg: #ffffff;
}

/* =========================
   MODO CLARO (más contraste)
   ========================= */
html[data-theme="light"] {
  --nc-bg: #ffffff;
  --nc-bg-soft: #f5f5f5;
  --nc-bg-elevated: #ffffff;
  --nc-page-gradient: radial-gradient(circle at top left, #ffffff 0, #f3f3f3 55%);

  --nc-text: #111111;
  --nc-text-soft: #3a3a3a;
  --nc-text-muted: #6b6b6b;

  --nc-gray-900: #111111;
  --nc-gray-700: #333333;
  --nc-gray-500: #555555;
  --nc-gray-400: #777777;
  --nc-gray-300: #8f8f8f;
  --nc-gray-200: #a8a8a8;
  --nc-gray-100: #f2f2f2;

  --nc-border-subtle: rgba(0,0,0,0.06);
  --nc-border-soft: rgba(0,0,0,0.14);

  --nc-card-bg: radial-gradient(circle at top left, rgba(0,0,0,0.02) 0, #ffffff 55%);
  --nc-input-bg: #ffffff;
  --nc-input-border: rgba(0,0,0,0.18);

  --nc-product-image-bg: #ffffff;
}

@media (prefers-color-scheme: light) {
  html:not([data-theme="dark"]):not([data-theme="light"]) { color-scheme: light; }
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="dark"]):not([data-theme="light"]) { color-scheme: dark; }
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--nc-bg-soft);
  color: var(--nc-text);
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

.page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--nc-page-gradient);
}

.container {
  width: 100%;
  max-width: var(--nc-max-width);
  margin: 0 auto;
  padding: 0 1.25rem;
}

/* TOP BAR */
.topbar {
  background: #000;
  color: var(--nc-gray-200);
  font-size: 0.75rem;
  border-bottom: 1px solid var(--nc-border-subtle);
}
html[data-theme="light"] .topbar {
  background: #f7f7f7;
  color: var(--nc-gray-700);
}
.topbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.35rem 0;
  gap: 1rem;
  flex-wrap: wrap;
}
.topbar-tag {
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 600;
  color: var(--nc-red);
}
.topbar-link,
.topbar-link a {
  opacity: .9;
  color: inherit;
}

/* HEADER PRINCIPAL */
.site-header {
  border-bottom: 1px solid var(--nc-border-subtle);
  backdrop-filter: blur(12px);
  background: rgba(5,5,5,0.93);
  position: sticky;
  top: 0;
  z-index: 50;
}
html[data-theme="light"] .site-header {
  background: rgba(255,255,255,0.92);
}

.header-main { padding: .75rem 0; }
.header-main-inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1.5fr) auto;
  align-items: center;
  gap: 1rem;
}

.logo { display:flex; align-items:center; gap:.5rem; }
.logo img { height: 36px; }

.logo-img--dark   { display:block; }
.logo-img--light  { display:none; }
html[data-theme="light"] .logo-img--dark  { display:none; }
html[data-theme="light"] .logo-img--light { display:block; }

/* BUSCADOR */
.search-box {
  display: flex;
  gap: .5rem;
  align-items: stretch;
  background: rgba(255,255,255,0.04);
  border-radius: 999px;
  border: 1px solid var(--nc-border-subtle);
  padding: .2rem .25rem .2rem .75rem;
}
html[data-theme="light"] .search-box {
  background: rgba(0,0,0,0.03);
}
.search-box input {
  border: none;
  background: transparent;
  color: var(--nc-text);
  width: 100%;
  font-size: .9rem;
  outline: none;
}
.search-box input::placeholder { color: var(--nc-gray-500); }
.search-box button {
  border: none;
  border-radius: 999px;
  background: var(--nc-red);
  color: #fff;
  font-size: .8rem;
  padding: .45rem 1.1rem;
  cursor: pointer;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  transition: background .18s ease, transform .12s ease, box-shadow .12s ease;
}
.search-box button:hover {
  background: var(--nc-red-dark);
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(0,0,0,.18);
}

/* BOTONES HEADER */
.header-actions {
  display: flex;
  align-items: center;
  gap: .6rem;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .3rem;
  padding: .4rem .7rem;
  border-radius: 999px;
  border: 1px solid var(--nc-border-subtle);
  background: rgba(255,255,255,0.02);
  font-size: .78rem;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, transform .1s ease;
  white-space: nowrap;
  color: var(--nc-text);
}
.icon-btn span.icon { font-size: 1rem; }
.icon-btn:hover {
  background: rgba(255,255,255,0.06);
  border-color: var(--nc-border-soft);
  transform: translateY(-1px);
}
.icon-btn--primary {
  background: var(--nc-red);
  border-color: var(--nc-red);
  color: #fff;
}
.icon-btn--primary:hover { background: var(--nc-red-dark); }
.cart-count {
  background: #fff;
  color: #000;
  border-radius: 999px;
  font-size: .7rem;
  padding: .05rem .35rem;
  font-weight: 700;
}

/* NAV CATEGORÍAS */
.nav-cats {
  border-top: 1px solid var(--nc-border-subtle);
  border-bottom: 1px solid var(--nc-border-subtle);
  background: linear-gradient(to right, #0a0a0a, #191919);
}
html[data-theme="light"] .nav-cats {
  background: linear-gradient(to right, #f7f7f7, #ffffff);
}
.nav-cats-inner {
  display: flex;
  gap: 1.25rem;
  overflow-x: auto;
  padding: .45rem 0;
  scrollbar-width: thin;
}
.nav-item {
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  opacity: .8;
  white-space: nowrap;
  position: relative;
  padding-bottom: .25rem;
  cursor: pointer;
}
.nav-item--active,
.nav-item:hover { opacity: 1; }
.nav-item--active::after,
.nav-item:hover::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 16px;
  height: 2px;
  border-radius: 999px;
  background: var(--nc-red);
}

main {
  flex: 1;
  padding: 1.25rem 0 2.5rem;
}

.grid { display:grid; gap:1rem; }

.card {
  background: var(--nc-card-bg);
  border-radius: var(--nc-radius-lg);
  border: 1px solid var(--nc-border-subtle);
  padding: 1rem;
  box-shadow: 0 22px 50px rgba(0,0,0,0.35);
}
html[data-theme="light"] .card {
  box-shadow: 0 14px 30px rgba(0,0,0,0.08);
}

.pill {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .15rem .55rem;
  border-radius: 999px;
  font-size: .7rem;
  background: rgba(255,255,255,0.06);
  text-transform: uppercase;
  letter-spacing: .08em;
}
html[data-theme="light"] .pill { background: rgba(0,0,0,0.04); }

.pill--success { background: rgba(22,163,74,0.14); color:#4ade80; }
.pill--danger  { background: rgba(239,68,68,0.14); color:#fecaca; }

.badge-red {
  background: var(--nc-red);
  color: #fff;
  border-radius: 999px;
  font-size: .65rem;
  padding: .1rem .45rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

/* =====================================
   IMAGEN DE PRODUCTO – SIEMPRE BLANCA
   ===================================== */
.product-image {
  border-radius: var(--nc-radius-md);
  background: var(--nc-product-image-bg);   /* blanco en ambos modos */
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-bottom: .4rem;
  border: 1px solid rgba(0,0,0,0.12);
}
.product-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ===============================
   RESEÑAS
   =============================== */
.reviews-section-header {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:1rem;
  margin-bottom:1rem;
}
.reviews-section-header h2 {
  margin:0;
  font-size:1.1rem;
}
.reviews-section-header p {
  margin:.25rem 0 0;
  font-size:.8rem;
  color:var(--nc-text-soft);
}
.reviews-section-header a {
  font-size:.8rem;
  color:var(--nc-text-soft);
  white-space:nowrap;
}

.reviews-section { overflow:hidden; }

#reseñas {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding:.25rem 0 .5rem;
  min-height:180px;
  white-space: nowrap;
  scrollbar-width:thin;
}
#reseñas::-webkit-scrollbar { height:6px; }
#reseñas::-webkit-scrollbar-track { background:transparent; }
#reseñas::-webkit-scrollbar-thumb {
  background:rgba(255,255,255,0.18);
  border-radius:999px;
}
html[data-theme="light"] #reseñas::-webkit-scrollbar-thumb {
  background:rgba(0,0,0,0.18);
}

#reseñas .reviews-container {
  display:inline-block;
  white-space:normal;
}

#reseñas .review {
  display:inline-block;
  vertical-align:top;
  white-space:normal;
  width:260px;
  margin-right:1rem;
  background:var(--nc-bg-elevated);
  border-radius:var(--nc-radius-md);
  border:1px solid var(--nc-border-subtle);
  padding:.85rem;
  box-shadow:0 14px 30px rgba(0,0,0,0.25);
  font-family:inherit;
}
html[data-theme="light"] #reseñas .review {
  background:#ffffff;
  box-shadow:0 10px 24px rgba(0,0,0,0.08);
}

#reseñas .review img {
  border-radius:999px;
  width:40px;
  height:40px;
  object-fit:cover;
  margin-bottom:.4rem;
}
#reseñas .author {
  font-weight:600;
  font-size:.9rem;
}
#reseñas .rating {
  color:#facc15;
  font-size:.8rem;
  margin-top:.15rem;
}
#reseñas .text {
  margin:.35rem 0;
  font-size:.8rem;
  color:var(--nc-text-soft);
}
#reseñas .time {
  font-size:.75rem;
  color:var(--nc-text-muted);
}
#reseñas .link {
  display:inline-block;
  margin-top:.25rem;
  font-size:.78rem;
  color:var(--nc-red);
  text-decoration:none;
}
#reseñas .link:hover { text-decoration:underline; }

@supports (display: flex) {
  #reseñas .reviews-container {
    display:flex;
    flex-wrap:nowrap;
    gap:1rem;
  }
  #reseñas .review {
    display:block;
    margin-right:0;
  }
}

/* FOOTER */
footer {
  background: #050505;
  border-top: 1px solid var(--nc-border-subtle);
  padding: 2rem 0 1.5rem;
  color: var(--nc-gray-300);
}
html[data-theme="light"] footer {
  background: #f3f3f3;
  color: var(--nc-gray-700);
}
.footer-grid {
  display: grid;
  grid-template-columns: 2fr repeat(3, 1fr);
  gap: 2rem;
  font-size: .85rem;
}
.footer-title {
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-bottom: .75rem;
  color: var(--nc-text-soft);
}
.footer-link {
  display: block;
  margin-bottom: .3rem;
  opacity: .8;
}
.footer-link:hover { opacity: 1; }
.footer-bottom {
  border-top: 1px solid var(--nc-border-subtle);
  margin-top: 1.5rem;
  padding-top: 1rem;
  font-size: .75rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: .75rem;
  opacity: .7;
}

.hero-grid {
  grid-template-columns: minmax(0,2fr) minmax(0,1.3fr);
  gap: 1.5rem;
}
.products-grid {
  grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
}

#novedades-list,
#ofertas-list {
  min-height: 320px;
}

@media (max-width: 900px) {
  .header-main-inner {
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
  }
  .search-box { grid-column: 1 / -1; }
  .header-actions { justify-content: flex-start; }

  .hero-grid {
    grid-template-columns: 1fr;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .header-main-inner {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
  }
  .logo { justify-content: space-between; }
  .header-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .topbar-inner {
    flex-direction: column;
    align-items: flex-start;
  }
  .footer-grid {
    grid-template-columns: 1fr;
  }
  main { padding-top: 1rem; }
}

/* OFERTA DESTACADA HOME */
.hero-offer-wrapper {
  padding: 1.25rem;
  position: relative;
  overflow: hidden;
}

.hero-offer-bg {
  position: absolute;
  inset: 0;
  opacity: .25;
  background: radial-gradient(circle at top, #ff4b4b 0, transparent 45%);
  pointer-events: none;
}

.hero-offer-inner {
  position: relative;
  z-index: 1;
}

.hero-offer-panel {
  display: flex;
  background: #000;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
}
html[data-theme="light"] .hero-offer-panel {
  background: #111;
}

.hero-offer-img-wrap {
  flex: 0 0 150px;
  max-width: 180px;
  background: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: .75rem;
}
.hero-offer-img-wrap img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.hero-offer-info {
  flex: 1;
  padding: .75rem 1rem;
  color: #fff;
}
.hero-offer-info h3 {
  margin: 0 0 .25rem;
  font-size: .95rem;
  font-weight: 700;
}
.hero-offer-info p {
  margin: 0 0 .2rem;
  font-size: .8rem;
}
.hero-offer-price {
  font-size: 1rem;
  font-weight: 700;
  margin-top: .35rem;
}
.hero-offer-cuotas {
  font-size: .8rem;
  opacity: .8;
}

@media (max-width: 640px) {
  .hero-offer-panel {
    flex-direction: column;
    text-align: left;
  }
  .hero-offer-img-wrap {
    max-width: 100%;
    margin: 0 auto;
  }
}

/* whatsapp */
.btn-wsp {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: white;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  box-shadow: 0 4px 18px rgba(0,0,0,0.45);
}
.btn-wsp img {
  width: 35px;
  height: 35px;
  object-fit: contain;
}

/* ===============================
   BUSCAR.PHP – GRILLA DE RESULTADOS
   =============================== */
.results-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.3rem;
  margin-top: 1.2rem;
}
.results-grid--few {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

/* Tarjeta de resultado */
.search-result-card {
  padding: 1.25rem;
  background: var(--nc-bg-elevated);
  border-radius: 14px;
  border: 1px solid var(--nc-gray-900);
  display: flex;
  flex-direction: column;
  gap: .75rem;
  min-height: 100%;
  transition: transform .15s ease, box-shadow .15s ease;
}
.search-result-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 0 16px rgba(0,0,0,.5);
}

/* Imagen del producto dentro de la card:
   usa el mismo fondo blanco, sin negro */
.search-result-card .product-image {
  width: 100%;
  height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--nc-product-image-bg) !important;  /* <- CLAVE */
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,0.12);
}
.search-result-card .product-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Título */
.search-result-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--nc-text);
  min-height: 48px;
}

/* Meta */
.search-result-meta {
  font-size: .85rem;
  color: var(--nc-text-soft);
  line-height: 1.35rem;
}

/* Stock pills */
.stock-row { margin-top: .4rem; }

.stock-pills {
  display: flex;
  flex-direction: column;
  gap: .25rem;
}
.stock-pill {
  display: flex;
  align-items: center;
  gap: .4rem;
  background: var(--nc-gray-900);
  padding: .35rem .6rem;
  border-radius: 999px;
  font-size: .75rem;
}
.stock-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}
.stock-ok .stock-dot  { background: #27c24c; }
.stock-low .stock-dot { background: #ffa726; }
.stock-none .stock-dot{ background: #ef5350; }

/* Mejor contraste en modo claro */
html[data-theme="light"] .stock-pill {
  background: var(--nc-gray-200);
  color: var(--nc-text);
  border: 1px solid var(--nc-gray-300);
}
html[data-theme="light"] .stock-dot { opacity: 1; }
html[data-theme="light"] .stock-pill span { color: var(--nc-text); }

/* ===============================
   EXTRA: compatibilidad con .imagebox
   (plantilla vieja de productos)
   =============================== */
.imagebox,
.imagebox.style2,
.imagebox .box-image,
.imagebox .box-image a {
  background-color: #ffffff !important;
  background: #ffffff !important;
  border-radius: 12px;
}
.imagebox .box-image img {
  background: transparent !important;
}

/* =========================
   PRODUCTO.PHP – FICHA DE PRODUCTO
   ========================= */

.card-breadcrumbs {
  padding: 1.1rem 1.4rem;
  margin-bottom: 1rem;
}

.card-product {
  padding: 1.5rem 1.75rem;
}

/* Estado de error */
.card-error {
  padding: 1.5rem 1.75rem;
}
.card-error h1 {
  margin-top: 0;
  font-size: 1.3rem;
}
.card-error-text {
  color: var(--nc-text-soft);
  font-size: .9rem;
}
.card-error-actions {
  font-size: .85rem;
  margin-top: .75rem;
}

/* Grid principal */
.product-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.2fr);
  gap: 1.75rem;
  align-items: flex-start;
}
@media (max-width: 900px) {
  .product-detail-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Galería */
.product-detail-gallery {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.product-detail-mainimg {
  border-radius: 16px;
  background: radial-gradient(circle at top, #222 0, #050505 60%);
  min-height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.product-detail-mainimg img {
  max-width: 100%;
  max-height: 380px;
  object-fit: contain;
  display: block;
}

.product-detail-thumbs {
  display: flex;
  gap: .5rem;
  overflow-x: auto;
  padding-top: .25rem;
}
.product-detail-thumbs img {
  width: 60px;
  height: 60px;
  object-fit: contain;
  border-radius: 8px;
  background: var(--nc-product-image-bg, #050505);
  cursor: pointer;
  opacity: .85;
  transition: transform .16s ease, opacity .16s ease, box-shadow .16s ease;
}
.product-detail-thumbs img:hover {
  opacity: 1;
  transform: translateY(-1px) scale(1.03);
  box-shadow: 0 0 0 1px rgba(255,255,255,.14);
}

/* Columna derecha */
.product-detail-info {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.product-title-main {
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.2;
}

/* Metadatos */
.product-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  font-size: .8rem;
  color: var(--nc-text-muted);
  margin-top: .3rem;
}
.meta-pill {
  padding: .25rem .6rem;
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.06);
}

/* Precio */
.price-box {
  background: var(--nc-card-subtle, rgba(0,0,0,.35));
  border-radius: 14px;
  padding: 1rem 1.1rem;
  display: flex;
  flex-direction: column;
  gap: .45rem;
}
.price-line {
  display: flex;
  align-items: baseline;
  gap: .6rem;
}
.price-main {
  font-size: 1.7rem;
  font-weight: 700;
}
.price-note {
  font-size: .82rem;
  color: var(--nc-text-soft);
}

/* Stock */
.stock-indicator-big {
  margin-top: .25rem;
  font-size: .83rem;
}

/* Botones de acción */
.detail-cta-row {
  margin-top: .65rem;
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

.btn-primary {
  border: none;
  border-radius: 999px;
  padding: .6rem 1.4rem;
  font-size: .9rem;
  font-weight: 600;
  cursor: pointer;
  background: var(--nc-red);
  color: #fff;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  text-decoration: none;
}
.btn-primary:hover {
  background: var(--nc-red-dark);
}

.btn-ghost {
  border-radius: 999px;
  padding: .55rem 1.2rem;
  font-size: .85rem;
  cursor: pointer;
  background: transparent;
  color: var(--nc-text-soft);
  border: 1px solid rgba(255,255,255,.12);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}
.btn-ghost:hover {
  background: rgba(255,255,255,.05);
}

/* Secciones internas (descripción, specs, etc.) */
.section-card {
  margin-top: 1.25rem;
  background: var(--nc-card-subtle, rgba(0,0,0,.35));
  border-radius: 14px;
  padding: 1rem 1.1rem;
}
.section-title {
  font-size: .95rem;
  font-weight: 600;
  margin-bottom: .6rem;
}
.product-description {
  font-size: .9rem;
  color: var(--nc-text-soft);
  line-height: 1.5;
  white-space: pre-line;
}

/* Tabla de especificaciones */
.specs-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .85rem;
  margin-top: .35rem;
}
.specs-table tr:nth-child(odd) {
  background: rgba(255,255,255,.02);
}
.specs-table th,
.specs-table td {
  padding: .45rem .5rem;
  text-align: left;
}
.specs-table th {
  width: 35%;
  font-weight: 500;
  color: var(--nc-text-muted);
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: .7rem;
}

/* =========================
   FAQ – PREGUNTAS FRECUENTES (FULL WIDTH)
   ========================= */

.card-faq {
  padding: 1.5rem 1.75rem;
  margin-top: 1.5rem;
}
.section-title-faq {
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: .8rem;
}

.faq-qa {
  border-bottom: 1px solid rgba(255,255,255,.06);
  padding: .8rem 0;
}
.faq-qa:last-child {
  border-bottom: none;
}
.faq-q {
  display: flex;
  align-items: center;
  gap: .6rem;
  font-weight: 600;
  font-size: .9rem;
  margin-bottom: .35rem;
}
.faq-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--nc-red);
  flex: 0 0 10px;
}
.faq-a {
  font-size: .9rem;
  color: var(--nc-text-soft);
  line-height: 1.6;
  white-space: pre-line;
}
.faq-empty {
  font-size: .9rem;
  color: var(--nc-text-soft);
}

.card-faq {
  margin-top: 1.25rem;
  padding: 1rem 1.1rem;
}

.section-title-faq {
  font-size: .95rem;
  font-weight: 600;
  margin-bottom: .6rem;
}

.faq-loading,
.faq-error,
.faq-empty {
  font-size: .85rem;
  color: var(--nc-text-soft);
}

.faq-error {
  color: #ff6b6b;
}

.faq-qa {
  border-top: 1px solid rgba(255,255,255,.08);
  padding: .6rem 0 .5rem;
}

.faq-qa:first-child {
  border-top: none;
}

.faq-q {
  display: flex;
  align-items: center;
  gap: .4rem;
  font-weight: 600;
  font-size: .9rem;
  margin-bottom: .2rem;
}

.faq-dot {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--nc-red);
  flex: 0 0 6px;
}

.faq-a {
  font-size: .86rem;
  color: var(--nc-text-soft);
  line-height: 1.5;
}

.promo-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .75rem;
  margin-top: .75rem;
  margin-bottom: .35rem;
  font-size: .8rem;
}

.promo-col-title {
  font-weight: 600;
  margin-bottom: .25rem;
  color: var(--nc-text-soft);
}

.promo-table {
  width: 100%;
  border-collapse: collapse;
  border-radius: 10px;
  overflow: hidden;
  background: rgba(0,0,0,.35);
}

.promo-table th,
.promo-table td {
  padding: .35rem .45rem;
  text-align: left;
}

.promo-table th {
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--nc-text-muted);
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.promo-table tr:nth-child(odd) td {
  background: rgba(255,255,255,.02);
}


/* FIN CSS */
