/* ============================================
   APLIUM - CUSTOM OVERRIDES
   Paleta: Azul profesional + blanco + gris
   ============================================ */

:root {
  --aplium-primary: #1e40af;
  --aplium-primary-dark: #1e3a8a;
  --aplium-accent: #3b82f6;
  --aplium-text: #1f2937;
  --aplium-text-soft: #6b7280;
  --aplium-bg: #ffffff;
  --aplium-bg-soft: #f9fafb;
  --aplium-border: #e5e7eb;
}

/* ---------- 1. COLORES GLOBALES ---------- */
body { color: var(--aplium-text); background: var(--aplium-bg-soft); }

a { color: var(--aplium-primary); }
a:hover, a:focus { color: var(--aplium-primary-dark); }

/* Reemplazar el cyan #24b9d7 del tema */
.btn-primary,
.btn-primary:hover {
  background-color: var(--aplium-primary) !important;
  border-color: var(--aplium-primary) !important;
  color: #fff !important;
  border-radius: 6px;
  font-weight: 600;
  letter-spacing: 0.3px;
  transition: all 0.2s ease;
}
.btn-primary:hover {
  background-color: var(--aplium-primary-dark) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(30, 64, 175, 0.25);
}

.product-price,
.has-discount.product-price,
.product-miniature .product-price-and-shipping {
  color: var(--aplium-primary) !important;
}

.product-flags li.product-flag {
  background: var(--aplium-primary);
  border-radius: 4px;
}

/* Links del menú y header */
#header .top-menu a[data-depth="0"]:hover,
#header a:hover,
.dropdown:hover .expand-more {
  color: var(--aplium-primary) !important;
}

/* Inputs focus */
.form-control:focus,
.input-group.focus,
.search-widget form input[type="text"]:focus {
  outline: 2px solid var(--aplium-primary) !important;
  border-color: var(--aplium-primary);
}

/* ---------- 2. HEADER SIMPLIFICADO ---------- */
#header {
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
  border-bottom: 1px solid var(--aplium-border);
}

#header .header-nav {
  background: var(--aplium-bg-soft);
  border-bottom: 1px solid var(--aplium-border);
  max-height: 44px;
  font-size: 0.85rem;
}

#header .header-top {
  padding: 1rem 0;
}

#header .logo {
  max-height: 55px;
  width: auto;
}

/* Carrito destacado */
#header .header-nav .blockcart {
  background: var(--aplium-primary);
  color: #fff;
  border-radius: 6px;
  padding: 0.5rem 1rem;
  transition: background 0.2s;
}
#header .header-nav .blockcart.active { background: var(--aplium-primary-dark); }
#header .header-nav .blockcart a,
#header .header-nav .blockcart .shopping-cart { color: #fff !important; }
#header .header-nav .blockcart:hover { background: var(--aplium-primary-dark); }

/* Menú principal limpio */
#header .top-menu a[data-depth="0"] {
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--aplium-text);
  padding: 0.75rem 1rem;
  text-transform: none;
  letter-spacing: 0.2px;
}

/* ---------- 3. FOOTER LIMPIO ---------- */
#footer {
  background: #fff;
  padding-top: 3rem;
  border-top: 1px solid var(--aplium-border);
}

.footer-container {
  background: #fff;
  box-shadow: none;
}

.footer-container .h3,
.footer-container .h4 {
  color: var(--aplium-text);
  font-size: 0.95rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 1.25rem;
}

.footer-container li a {
  color: var(--aplium-text-soft);
  font-size: 0.9rem;
  transition: color 0.15s;
}
.footer-container li a:hover {
  color: var(--aplium-primary);
  text-decoration: none;
}

/* Ocultar el bloque de newsletter ruidoso si existe */
.block_newsletter {
  background: var(--aplium-bg-soft);
  padding: 2rem;
  border-radius: 8px;
  box-shadow: none;
}

/* Pie de página inferior */
.footer-container {
  padding-top: 2rem;
}

/* ---------- 4. HERO / CAROUSEL ELEGANTE ---------- */
.carousel {
  background: linear-gradient(135deg, var(--aplium-primary) 0%, var(--aplium-primary-dark) 100%);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(30, 64, 175, 0.12);
  margin-bottom: 2.5rem;
}

.carousel .carousel-inner {
  background: transparent;
}

.carousel .carousel-item .caption {
  color: #fff;
}

.carousel .carousel-item .caption .display-1 {
  color: #fff;
  font-weight: 700;
  letter-spacing: -0.5px;
}

.carousel .carousel-item .caption .caption-description p,
.carousel .carousel-item .caption .caption-description h3 {
  color: rgba(255, 255, 255, 0.92);
}

.carousel .carousel-control .icon-next i,
.carousel .carousel-control .icon-prev i {
  color: rgba(255, 255, 255, 0.85);
  font-size: 2.5rem;
  transition: color 0.2s;
}
.carousel .carousel-control:hover .icon-next i,
.carousel .carousel-control:hover .icon-prev i {
  color: #fff;
}

.carousel-indicators li {
  background: rgba(255,255,255,0.4);
  border: none;
}
.carousel-indicators .active {
  background: #fff;
}

/* ---------- 5. TARJETAS DE PRODUCTO MÁS LIMPIAS ---------- */
.product-miniature .thumbnail-container {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
  transition: all 0.25s ease;
  overflow: hidden;
}
.product-miniature .thumbnail-container:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  transform: translateY(-2px);
}

.product-miniature .product-title a {
  color: var(--aplium-text);
  font-weight: 600;
  font-size: 0.95rem;
}
.product-miniature .product-title a:hover {
  color: var(--aplium-primary);
}

/* ---------- 6. BREADCRUMB SUTIL ---------- */
#wrapper {
  background: var(--aplium-bg-soft);
}
#wrapper .breadcrumb li a {
  color: var(--aplium-text-soft);
  font-size: 0.85rem;
}
#wrapper .breadcrumb li a:hover {
  color: var(--aplium-primary);
}

/* ---------- 7. AJUSTES FINALES ---------- */
.h1, .h2, .h3, h1, h2, h3 {
  color: var(--aplium-text);
  font-weight: 700;
  letter-spacing: -0.3px;
}

/* Quitar mayúsculas agresivas */
.h1, .h2, .h3, h1, h2, h3 {
  text-transform: none;
}

/* Tarjetas/bloques generales */
.card, .block-categories, #search_filters, #search_filters_brands {
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
