/* ============================================
   TOTMOBLE.COM - Tema profesional muebles
   Paleta: Marrón cálido + Dorado + Crema
   ============================================ */

:root {
  --tm-primary:    #3E271A;
  --tm-secondary:  #8B5A2B;
  --tm-accent:     #C4A064;
  --tm-light-bg:   #F9F5EF;
  --tm-text-dark:  #2C1A0E;
  --tm-text-light: #7A6655;
}

/* --- TIPOGRAFÍA BASE --- */
body {
  background: #FAFAF8;
  overflow-x: hidden;
  font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
  color: var(--tm-text-dark);
  -webkit-font-smoothing: antialiased;
}
a { color: var(--tm-secondary); }
a:hover { color: var(--tm-primary); text-decoration: none; }
html { scroll-behavior: smooth; overflow-x: hidden; }


/* --- NAVEGACIÓN --- */
#_desktop_top_menu .top-menu a,
.top-menu > li > a {
  color: var(--tm-primary) !important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.88rem;
  padding-bottom: 4px;
  transition: color 0.2s;
}
.top-menu > li > a:hover,
.top-menu > li.current > a {
  color: var(--tm-accent) !important;
}

/* ==========================
   SLIDER / CAROUSEL HERO
   ========================== */
#carousel.carousel {
  margin-bottom: 0 !important;
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  max-width: none;
}
#carousel .carousel-inner {
  height: auto !important;
  min-height: 300px;
}
#carousel .carousel-item {
  height: auto !important;
}
#carousel .carousel-item figure {
  position: relative;
  margin: 0;
  overflow: hidden;
}
#carousel .carousel-item img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 600px;
  object-fit: cover;
}
#carousel .carousel-item .caption {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  position: absolute !important;
  z-index: 2;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  right: auto !important;
  width: 55% !important;
  max-width: 680px !important;
  padding: 40px 60px !important;
  margin: 0 !important;
  background: none !important;
  color: #fff !important;
  text-align: left !important;
}
#carousel .carousel-item .caption .display-1,
#carousel .carousel-item .caption h2 {
  font-size: clamp(1.6rem, 4vw, 2.8rem) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  margin: 0 0 12px 0 !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.5) !important;
  letter-spacing: -0.02em;
  text-transform: none !important;
  color: #fff !important;
}
#carousel .carousel-item .caption .caption-description,
#carousel .carousel-item .caption .caption-description p {
  font-size: clamp(0.95rem, 1.8vw, 1.15rem) !important;
  font-weight: 400;
  line-height: 1.5;
  text-shadow: 0 1px 6px rgba(0,0,0,0.5);
  margin: 0;
  opacity: 0.95;
  color: #fff !important;
}
#carousel .carousel-indicators {
  bottom: 20px;
  z-index: 15;
}
#carousel .carousel-indicators li {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border-color: rgba(255,255,255,0.7);
  background: transparent;
  margin: 0 4px;
}
#carousel .carousel-indicators .active {
  background: #fff;
  border-color: #fff;
}
#carousel .carousel-control {
  width: 60px;
  opacity: 0.6;
  transition: opacity 0.2s;
}
#carousel .carousel-control:hover {
  opacity: 1;
}
#carousel .carousel-control i.material-icons {
  font-size: 42px;
}
#carousel .carousel-control.left {
  background: linear-gradient(to right, rgba(0,0,0,0.25), transparent) !important;
}
#carousel .carousel-control.right {
  background: linear-gradient(to left, rgba(0,0,0,0.25), transparent) !important;
}


/* --- BOTONES --- */
.btn-primary,
.btn.add-to-cart,
#add-to-cart-or-refresh .btn-primary {
  background: var(--tm-primary) !important;
  border-color: var(--tm-primary) !important;
  color: #fff !important;
  border-radius: 3px !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 700;
  font-size: 0.85rem;
  padding: 10px 24px;
  transition: all 0.25s ease;
}
.btn-primary:hover,
.btn.add-to-cart:hover {
  background: var(--tm-secondary) !important;
  border-color: var(--tm-secondary) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(62,39,26,0.15);
}
.btn-secondary, .btn.btn-secondary {
  background: transparent !important;
  border: 2px solid var(--tm-primary) !important;
  color: var(--tm-primary) !important;
  border-radius: 3px !important;
}
.btn-secondary:hover {
  background: var(--tm-primary) !important;
  color: #fff !important;
}

/* ==========================
   SECCIONES HOME
   ========================== */
.featured-products,
.new-products,
.bestsellers-products {
  padding: 50px 0 40px;
}
.featured-products .products-section-title,
.new-products .products-section-title,
.bestsellers-products .products-section-title,
.featured-products h2,
.new-products h2 {
  color: var(--tm-primary) !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  text-align: center !important;
  position: relative;
  padding-bottom: 14px !important;
  margin-bottom: 32px !important;
}
.featured-products .products-section-title::after,
.new-products .products-section-title::after,
.featured-products h2::after,
.new-products h2::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: var(--tm-accent);
  margin: 12px auto 0;
  border-radius: 2px;
}
.featured-products .all-product-link {
  text-align: center;
  margin-top: 24px;
}
.featured-products .all-product-link a {
  display: inline-block;
  padding: 10px 32px;
  border: 2px solid var(--tm-primary);
  color: var(--tm-primary);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.85rem;
  border-radius: 3px;
  transition: all 0.2s;
}
.featured-products .all-product-link a:hover {
  background: var(--tm-primary);
  color: #fff;
}

/* --- TARJETAS PRODUCTO --- */
.product-miniature {
  margin-bottom: 24px;
}
.product-miniature .card,
.product-miniature .thumbnail-container {
  border: 1px solid #EDE8E0 !important;
  border-radius: 6px !important;
  overflow: hidden;
  transition: box-shadow 0.3s, transform 0.3s;
  background: #fff;
}
.product-miniature .card:hover,
.product-miniature .thumbnail-container:hover {
  box-shadow: 0 8px 28px rgba(62,39,26,0.12) !important;
  transform: translateY(-4px);
}
.product-miniature .product-thumbnail img {
  transition: transform 0.4s ease;
}
.product-miniature .thumbnail-container:hover .product-thumbnail img {
  transform: scale(1.04);
}
.product-miniature .product-price-and-shipping .price {
  color: var(--tm-primary) !important;
  font-weight: 700;
  font-size: 1.1rem;
}
.product-miniature .product-title a {
  color: var(--tm-text-dark) !important;
  font-weight: 600;
  font-size: 0.92rem;
  line-height: 1.3;
}
.product-miniature .product-title a:hover {
  color: var(--tm-accent) !important;
}
.product-flag {
  background: var(--tm-accent) !important;
  color: #fff !important;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* --- BREADCRUMB --- */
.breadcrumb {
  background: var(--tm-light-bg) !important;
  border-radius: 0 !important;
  padding: 0.6rem 1rem;
  font-size: 0.78rem;
}
.breadcrumb a { color: var(--tm-secondary) !important; }

/* --- PÁGINA PRODUCTO --- */
.product-information .product-prices .current-price .price {
  color: var(--tm-primary) !important;
  font-size: 1.8rem;
  font-weight: 700;
}
.product-variants .control-label {
  color: var(--tm-text-dark) !important;
  font-weight: 600;
}
.product-quantity .input-group .form-control {
  border-color: #DDD5C8 !important;
}

/* --- FOOTER --- */
#footer {
  background: var(--tm-primary) !important;
  color: #F0EBE3 !important;
  border-top: 4px solid var(--tm-accent) !important;
  padding-top: 40px;
}
#footer a { color: var(--tm-accent) !important; transition: color 0.2s; }
#footer a:hover { color: #fff !important; }
#footer h4, #footer .h4,
#footer h3, #footer .h3,
#footer .myaccount-title,
#footer .block-contact-title {
  color: #fff !important;
  font-size: 0.88rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  border-bottom: 1px solid rgba(196,160,100,0.3);
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
}
#footer .footer-container { padding: 20px 0; }

/* --- BUSCADOR --- */
#search_widget input {
  border: 2px solid #DDD5C8 !important;
  border-radius: 3px !important;
  transition: border-color 0.2s;
}
#search_widget input:focus {
  border-color: var(--tm-accent) !important;
  box-shadow: 0 0 0 3px rgba(196,160,100,0.15) !important;
}

/* --- CARRITO --- */
.cart-preview .header .cart-products-count,
.blockcart .cart-products-count {
  background: var(--tm-accent) !important;
  color: var(--tm-primary) !important;
  font-weight: 700;
}

/* --- LISTING / CATEGORÍA --- */
.block-category h1 {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--tm-primary);
}
.facet-title { font-weight: 600; color: var(--tm-primary); }

/* --- RESPONSIVE --- */
@media (max-width: 767px) {
  /* Header mobile */
  #header .header-nav { padding: 6px 12px !important; max-height: none !important; }
  #header .header-nav .container,
  #header .header-nav .container .row,
  #header .header-nav .container .row > div {
    height: auto !important;
    line-height: normal !important;
  }
  #header .header-top { padding: 10px 0 !important; }
  #header .header-top .position-static { flex-direction: column; gap: 8px; }
  #_desktop_logo img { max-height: 36px !important; }
  #search_widget { margin: 0 !important; width: 100% !important; }

  /* Slider mobile — robust full-viewport breakout */
  #carousel.carousel {
    width: 100vw !important;
    left: 0 !important;
    transform: none !important;
    margin-left: calc(-50vw + 50%) !important;
  }
  #carousel .carousel-inner {
    min-height: 0 !important;
    height: auto !important;
  }
  #carousel .carousel-item {
    height: auto !important;
  }
  #carousel .carousel-item figure {
    position: relative;
    height: 220px;
    overflow: hidden;
  }
  #carousel .carousel-item img {
    width: 100% !important;
    height: 220px !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
  }
  #carousel .carousel-item .caption {
    width: 100% !important;
    max-width: 100% !important;
    padding: 16px 20px !important;
    background: rgba(0,0,0,0.45) !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    right: 0 !important;
  }
  #carousel .carousel-item .caption .display-1,
  #carousel .carousel-item .caption h2 {
    font-size: 1.2rem !important;
    margin-bottom: 6px !important;
  }
  #carousel .carousel-item .caption .caption-description,
  #carousel .carousel-item .caption .caption-description p {
    font-size: 0.85rem !important;
  }
  #carousel .carousel-control {
    width: 36px !important;
  }
  #carousel .carousel-control i.material-icons {
    font-size: 28px !important;
  }
  #carousel .carousel-indicators {
    bottom: 8px !important;
  }
  #carousel .carousel-indicators li {
    width: 8px !important;
    height: 8px !important;
  }

  /* Reassurance bar mobile — vertical stack, full-width breakout */
  #block-reassurance {
    width: 100vw !important;
    left: 0 !important;
    transform: none !important;
    margin-left: calc(-50vw + 50%) !important;
  }
  #block-reassurance ul {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    padding: 12px 16px !important;
    justify-content: center !important;
  }
  #block-reassurance ul li {
    padding: 8px 0 !important;
    border-bottom: 1px solid #E8E0D4;
  }
  #block-reassurance ul li:last-child {
    border-bottom: none;
  }
  #block-reassurance .block-reassurance-item {
    justify-content: center !important;
  }
  #block-reassurance .block-reassurance-item span,
  #block-reassurance .block-reassurance-item p,
  #block-reassurance .block-reassurance-item .h6 {
    font-size: 0.75rem !important;
  }

  /* Featured products mobile — 2 columns */
  .featured-products .products-section-title,
  .featured-products h2 {
    font-size: 1.2rem !important;
    margin-bottom: 20px !important;
  }
  .featured-products,
  section.featured-products {
    padding: 16px 0 20px !important;
  }
  .product-miniature { margin-bottom: 16px !important; }

  /* Product page mobile */
  .product-information h1 { font-size: 1.2rem !important; }
  .product-prices .current-price .price { font-size: 1.4rem !important; }
  .product-quantity .add .btn-primary {
    padding: 10px 20px !important;
    font-size: 0.82rem !important;
  }

  /* Quantity selector mobile */
  .product-quantity .bootstrap-touchspin .form-control {
    width: 42px !important;
    font-size: 0.9rem !important;
  }
  .product-quantity .input-group-btn-vertical .btn {
    width: 34px !important;
  }

  /* Social sharing mobile */
  .social-sharing a {
    width: 32px !important;
    height: 32px !important;
    background-size: 14px 14px !important;
  }

  /* Product tabs mobile */
  .product-tabs .nav-tabs .nav-link {
    font-size: 0.78rem !important;
    padding: 8px 12px !important;
  }
  .product-tabs .tab-content { padding: 14px !important; font-size: 0.82rem !important; }
  .tm-desc h4.tm-desc-title { font-size: 0.82rem !important; }

  /* Newsletter mobile */
  .block_newsletter {
    padding: 20px 16px !important;
    margin: 0 12px 20px !important;
    border-radius: 6px;
  }
  .block_newsletter p { font-size: 0.95rem !important; }
  .block_newsletter .btn-primary { padding: 8px 16px !important; font-size: 0.8rem !important; }

  /* Footer mobile */
  #footer { padding-top: 24px !important; }
  #footer .footer-container .row > div { margin-bottom: 16px; }
  #footer h3, #footer .h3,
  #footer h4, #footer .h4 {
    font-size: 0.82rem !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  #carousel .carousel-item .caption {
    padding: 24px 36px !important;
    width: 60% !important;
  }
  #carousel .carousel-item .caption .display-1,
  #carousel .carousel-item .caption h2 {
    font-size: 1.8rem !important;
  }
  .product-miniature { margin-bottom: 20px; }
}

/* --- REASSURANCE BAR (horizontal) --- */
#block-reassurance {
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  max-width: none;
  background: var(--tm-light-bg);
  border-bottom: 1px solid #E8E0D4;
  padding: 0;
}
#block-reassurance ul {
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 20px;
  padding: 16px 20px;
  margin: 0;
  list-style: none;
  max-width: 1500px;
  margin: 0 auto;
  flex-wrap: nowrap;
}
#block-reassurance ul li {
  flex: 0 1 auto;
}
#block-reassurance .block-reassurance-item {
  display: flex !important;
  align-items: center;
  gap: 10px;
  
}
#block-reassurance .block-reassurance-item img,
#block-reassurance .block-reassurance-item svg {
  width: 26px !important;
  height: 26px !important;
  flex-shrink: 0;
}
#block-reassurance .block-reassurance-item p,
#block-reassurance .block-reassurance-item .h6,
#block-reassurance .block-reassurance-item span {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--tm-primary);
  line-height: 1.2;
}
#block-reassurance .block-reassurance-item .h6 span {
  display: block;
  font-size: 0.72rem;
  font-weight: 400;
  color: var(--tm-text-light);
}


/* --- CABECERA REDISEÑADA (3 niveles) --- */
#header {
  background: #fff !important;
  border-bottom: 3px solid var(--tm-accent) !important;
  box-shadow: 0 2px 16px rgba(62,39,26,0.08) !important;
}

/* 1. Barra de utilidades – compacta */
#header .header-nav {
  background: var(--tm-primary) !important;
  padding: 4px 0 !important;
  min-height: 0 !important;
}
#header .header-nav,
#header .header-nav a,
#header .header-nav span {
  color: rgba(255,255,255,0.8) !important;
  font-size: 0.78rem;
  line-height: 1.4;
}
#header .header-nav a:hover {
  color: #fff !important;
}
#header .header-nav .material-icons {
  color: var(--tm-accent) !important;
  font-size: 0.95rem;
  vertical-align: middle;
}
#header .header-nav .hidden-sm-down {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
}
#header .header-nav .right-nav {
  display: flex !important;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
}

/* 2. Zona logo + buscador + carrito – compacta */
#header .header-top {
  background: #fff !important;
  padding: 10px 0 !important;
}
#header .header-top .container > .row:first-child {
  align-items: center !important;
}

/* Logo column */
#header .header-top .col-md-2 {
  flex: 0 0 20% !important;
  max-width: 20% !important;
}
#header .header-top .col-md-10,
#header .header-top .header-top-right {
  flex: 0 0 80% !important;
  max-width: 80% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 16px;
}

/* Logo */
#header img.logo,
#header .header-top .logo img,
#header .header-top img.logo.img-fluid {
  max-height: 56px !important;
  max-width: 200px !important;
  width: auto !important;
  height: auto !important;
}

/* Search bar */
#header .header-top #search_widget {
  flex: 1 1 auto;
  max-width: 420px;
}
#header .header-top #search_widget input {
  border: 2px solid #E0D8CC !important;
  border-radius: 4px !important;
  padding: 7px 14px !important;
  font-size: 0.85rem;
  width: 100%;
  transition: border-color 0.2s;
}
#header .header-top #search_widget input:focus {
  border-color: var(--tm-accent) !important;
  box-shadow: 0 0 0 3px rgba(196,160,100,0.12) !important;
  outline: none;
}

/* Cart & user icons */
#header .header-top .blockcart,
#header .header-top .user-info {
  white-space: nowrap;
  font-size: 0.82rem;
  color: var(--tm-primary) !important;
}
#header .header-top .blockcart .material-icons,
#header .header-top .user-info .material-icons {
  font-size: 1.3rem;
  vertical-align: middle;
  color: var(--tm-primary) !important;
}
.cart-preview .header .cart-products-count,
.blockcart .cart-products-count {
  background: var(--tm-accent) !important;
  color: var(--tm-primary) !important;
  font-weight: 700;
  font-size: 0.7rem;
}

/* 3. Barra de navegación – displayNavFullWidth */
#_desktop_top_menu {
  display: block !important;
  width: 100% !important;
  background: var(--tm-light-bg) !important;
  border-top: 1px solid #E8E0D4;
  border-bottom: none;
  padding: 0 !important;
  text-align: center;
}
#_desktop_top_menu > .top-menu,
#top-menu[data-depth="0"] {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0;
  padding: 0 20px !important;
  margin: 0 auto !important;
  list-style: none;
  max-width: none;
}
#_desktop_top_menu .top-menu > li > a,
.top-menu > li > a {
  display: block;
  padding: 10px 20px !important;
  color: var(--tm-primary) !important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.82rem !important;
  transition: color 0.2s, background 0.2s;
  white-space: nowrap;
  text-decoration: none !important;
}
#_desktop_top_menu .top-menu > li > a:hover,
.top-menu > li > a:hover,
.top-menu > li.current > a {
  color: var(--tm-accent) !important;
  background: rgba(196,160,100,0.08);
}

/* Dropdown submenus */
#_desktop_top_menu .top-menu .sub-menu {
  background: #fff !important;
  border: 1px solid #E8E0D4 !important;
  box-shadow: 0 6px 20px rgba(62,39,26,0.12) !important;
  border-radius: 0 0 6px 6px !important;
  min-width: 280px;
  width: auto !important;
  padding: 8px 0 !important;
  z-index: 1001 !important;
  margin: 0 !important;
}
#_desktop_top_menu .sub-menu .top-menu,
#_desktop_top_menu .popover.sub-menu .top-menu {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
}
#_desktop_top_menu .sub-menu .top-menu > li {
  display: block !important;
  width: 100% !important;
}
#_desktop_top_menu .sub-menu .top-menu > li > a {
  display: block !important;
  color: var(--tm-text-dark) !important;
  font-size: 0.84rem !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  padding: 7px 20px !important;
  white-space: nowrap;
  transition: background 0.15s, color 0.15s !important;
}
#_desktop_top_menu .sub-menu .top-menu > li > a:hover {
  color: var(--tm-accent) !important;
  background: var(--tm-light-bg) !important;
}

/* Fix: utility bar height — override PrestaShop defaults */
#header .header-nav .user-info {
  margin: 0 0 0 20px !important;
  padding: 0 !important;
}
#header .header-nav .blockcart {
  padding: 2px 8px !important;
  margin: 0 0 0 12px !important;
}
#header .header-nav .blockcart .header {
  margin: 0 !important;
}
#header .header-nav .blockcart .cart-products-count {
  font-size: 0.65rem;
}
#header .header-nav #_desktop_user_info,
#header .header-nav #_desktop_cart {
  display: flex !important;
  align-items: center !important;
}

/* Menu bar: hide sub-items from top level display */
#_desktop_top_menu .top-menu > li > .sub-menu {
  display: none;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  z-index: 1000;
}
#_desktop_top_menu .top-menu > li:hover > .sub-menu {
  display: block;
}
#_desktop_top_menu .top-menu > li {
  position: relative;
}

/* Ensure menu items don't show sub-links collapsed */
#_desktop_top_menu .top-menu .collapse {
  display: none !important;
}
#_desktop_top_menu .top-menu > li:hover .collapse {
  display: block !important;
}

/* Menu popover — inherit from .sub-menu rules above */

/* Force compact utility bar */
#header .header-nav {
  max-height: 34px !important;
  overflow: visible !important;
}
#header .header-nav .container,
#header .header-nav .container .row,
#header .header-nav .container .row > div {
  height: 26px !important;
  line-height: 26px !important;
}
#header .header-nav .blockcart {
  height: auto !important;
  padding: 0 8px !important;
  line-height: 26px !important;
}
#header .header-nav .blockcart .header {
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px;
  line-height: 26px !important;
}
#header .header-nav .blockcart .shopping-cart,
#header .header-nav .user-info .material-icons {
  font-size: 16px !important;
  line-height: 26px !important;
}
#header .header-nav .user-info a {
  line-height: 26px !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px;
}

/* Refinements: search bar centered, cart clean */
#header .header-top .header-top-right {
  justify-content: space-between !important;
  gap: 20px !important;
}
#header .header-top #search_widget {
  flex: 1 1 auto !important;
  max-width: 500px !important;
  margin: 0 auto !important;
}

/* Cart in utility bar — remove border/outline */
#header .header-nav .blockcart,
#header .header-nav .blockcart.cart-preview {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}
#header .header-nav .blockcart .header {
  background: transparent !important;
  border: none !important;
}
#header .header-nav .blockcart a,
#header .header-nav .blockcart span {
  color: rgba(255,255,255,0.85) !important;
  text-decoration: none !important;
}
#header .header-nav .blockcart .cart-products-count {
  background: var(--tm-accent) !important;
  color: var(--tm-primary) !important;
  font-weight: 700;
  border-radius: 50%;
  font-size: 0.65rem;
  padding: 1px 5px;
  vertical-align: top;
  margin-left: 2px;
}

/* Logo area: vertical center align row + slightly less padding */
#header .header-top {
  padding: 8px 0 !important;
}
#header .header-top .container > .row:first-child {
  align-items: center !important;
  min-height: 60px;
}

/* Subtle separator between logo area and menu */
#_desktop_top_menu {
  border-top: 1px solid #E8E0D4 !important;
}

/* Menu bar: add accent line at bottom */
#_desktop_top_menu .top-menu {
  border-bottom: 3px solid var(--tm-accent);
}
#header {
  border-bottom: none !important;
}

/* "Ver todos" link as centered button */
.featured-products .all-product-link,
.new-products .all-product-link {
  text-align: center !important;
  float: none !important;
  display: block !important;
  margin: 28px auto 0 !important;
}
.featured-products .all-product-link a,
.new-products .all-product-link a,
a.all-product-link {
  display: inline-block !important;
  float: none !important;
  padding: 10px 32px !important;
  border: 2px solid var(--tm-primary) !important;
  color: var(--tm-primary) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  font-size: 0.82rem !important;
  border-radius: 3px !important;
  transition: all 0.2s !important;
  text-decoration: none !important;
  background: transparent !important;
}
a.all-product-link:hover,
.featured-products .all-product-link a:hover {
  background: var(--tm-primary) !important;
  color: #fff !important;
}
a.all-product-link .material-icons {
  vertical-align: middle;
  margin-left: 4px;
  font-size: 1rem;
}

/* Newsletter section */
.block_newsletter {
  background: var(--tm-light-bg) !important;
  border: 1px solid #E8E0D4 !important;
  border-radius: 8px;
  padding: 28px 40px !important;
  max-width: 900px;
  margin: 0 auto 30px !important;
}
.block_newsletter .btn-primary {
  background: var(--tm-accent) !important;
  border-color: var(--tm-accent) !important;
  color: var(--tm-primary) !important;
  font-weight: 700;
}
.block_newsletter .btn-primary:hover {
  background: var(--tm-primary) !important;
  border-color: var(--tm-primary) !important;
  color: #fff !important;
}

/* Footer cleanup: hide duplicate MI CUENTA section */
#footer .links .collapse:not(.show) {
  display: block;
}

/* === CATEGORY PAGE FIXES === */

/* Hide subcategory image grid (redundant with sidebar) */
#js-product-list-header .subcategories,
.subcategories,
.block-categories .category-sub-menu .subcategory-image {
  display: none !important;
}

/* Hide "Marcas" and "Proveedores" filters (no real data) */
#search_filters .facet:has(.facet-title:empty),
.block-categories + section:has(.no-brands) {
  display: none !important;
}

/* Style category header */
.block-category {
  background: var(--tm-light-bg) !important;
  padding: 20px 24px !important;
  border-radius: 6px;
  margin-bottom: 20px;
  border: 1px solid #E8E0D4;
}
.block-category h1 {
  font-size: 1.4rem !important;
  font-weight: 700;
  color: var(--tm-primary) !important;
  margin-bottom: 6px;
}
.block-category #category-description p {
  color: var(--tm-text-light);
  font-size: 0.9rem;
  margin: 0;
}

/* Product count and sort bar */
.products-sort-order,
.showing {
  font-size: 0.85rem;
  color: var(--tm-text-light);
}

/* Sidebar styling */
.block-categories .category-sub-menu li a {
  color: var(--tm-text-dark);
  font-size: 0.88rem;
  padding: 4px 0;
  transition: color 0.2s;
}
.block-categories .category-sub-menu li a:hover {
  color: var(--tm-accent);
}
.block-categories .block-categories-title,
.facet-title {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--tm-primary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Hide subcategory image grid (correct selector) */
#subcategories {
  display: none !important;
}

/* ========================================
   PRODUCT DETAIL PAGE
   ======================================== */

/* Product title */
.product-information h1 {
  font-size: 1.5rem !important;
  font-weight: 700;
  color: var(--tm-primary) !important;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin-bottom: 10px;
}

/* Price on product page */
.product-prices .current-price {
  margin-bottom: 8px;
}
.product-prices .current-price .price,
.product-information .product-prices .current-price .price {
  color: var(--tm-secondary) !important;
  font-size: 1.75rem !important;
  font-weight: 700;
}
.product-prices .tax-shipping-delivery-label {
  color: var(--tm-text-light);
  font-size: 0.8rem;
}

/* Short description */
.product-information .product-description-short {
  color: var(--tm-text-dark);
  font-size: 0.92rem;
  line-height: 1.6;
  border-bottom: 1px solid #EDE8E0;
  padding-bottom: 14px;
  margin-bottom: 16px;
}

/* Quantity selector — horizontal - [n] + layout */
.product-quantity .qty {
  display: inline-flex !important;
  align-items: stretch !important;
  border: none !important;
  width: auto !important;
}
.product-quantity .bootstrap-touchspin {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  border: 2px solid #DDD5C8 !important;
  border-radius: 6px !important;
  overflow: hidden;
}
.product-quantity .bootstrap-touchspin .form-control {
  width: 50px !important;
  text-align: center !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  border: none !important;
  border-left: 1px solid #DDD5C8 !important;
  border-right: 1px solid #DDD5C8 !important;
  border-radius: 0 !important;
  -moz-appearance: textfield;
  padding: 8px 4px !important;
  height: auto !important;
}
.product-quantity .bootstrap-touchspin .form-control::-webkit-inner-spin-button,
.product-quantity .bootstrap-touchspin .form-control::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.product-quantity .input-group-btn-vertical {
  display: contents !important;
}
.product-quantity .bootstrap-touchspin-down {
  order: -1 !important;
}
.product-quantity .bootstrap-touchspin-up {
  order: 3 !important;
}
.product-quantity .input-group-btn-vertical .btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: auto !important;
  min-height: 44px !important;
  border: none !important;
  background: var(--tm-light-bg) !important;
  color: var(--tm-primary) !important;
  font-size: 1.1rem !important;
  padding: 0 !important;
  border-radius: 0 !important;
  cursor: pointer;
  position: static !important;
  transition: background 0.2s;
}
.product-quantity .input-group-btn-vertical .btn:hover {
  background: var(--tm-accent) !important;
  color: #fff !important;
}
.product-quantity .input-group-btn-vertical .btn .material-icons {
  display: none !important;
}
.product-quantity .bootstrap-touchspin-down::before {
  content: "\2212";
  font-family: sans-serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
}
.product-quantity .bootstrap-touchspin-up::before {
  content: "+";
  font-family: sans-serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
}
.product-quantity .bootstrap-touchspin-prefix,
.product-quantity .bootstrap-touchspin-postfix {
  display: none !important;
}
.product-quantity .add {
  margin-left: 12px;
}
.product-quantity .add .btn-primary {
  padding: 12px 32px !important;
  font-size: 0.88rem !important;
  border-radius: 6px !important;
}

/* Wishlist button */
.product-additional-info .wishlist-button-add,
.product-actions .wishlist-button-add {
  border: 2px solid #DDD5C8 !important;
  border-radius: 3px !important;
  color: var(--tm-text-light) !important;
  transition: all 0.2s;
}
.product-additional-info .wishlist-button-add:hover {
  border-color: var(--tm-accent) !important;
  color: var(--tm-accent) !important;
}

/* Social share */
.social-sharing {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid #EDE8E0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.social-sharing span {
  color: var(--tm-text-light);
  font-size: 0.82rem;
  font-weight: 600;
}
.social-sharing a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--tm-light-bg) !important;
  border: 1px solid #E8E0D4 !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  transition: all 0.2s;
  font-size: 0 !important;
  text-indent: 0 !important;
  overflow: visible !important;
  clip: auto !important;
}
.social-sharing a {
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 16px 16px !important;
}
.social-sharing a[title="Compartir"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%237a7a7a' d='M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z'/%3E%3C/svg%3E") !important;
}
.social-sharing a[title="Tuitear"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%237a7a7a' d='M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z'/%3E%3C/svg%3E") !important;
}
.social-sharing a[title="Pinterest"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%237a7a7a' d='M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z'/%3E%3C/svg%3E") !important;
}
.social-sharing a:hover {
  background-color: var(--tm-accent) !important;
}
.social-sharing a[title="Compartir"]:hover {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%23ffffff' d='M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z'/%3E%3C/svg%3E") !important;
}
.social-sharing a[title="Tuitear"]:hover {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23ffffff' d='M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z'/%3E%3C/svg%3E") !important;
}
.social-sharing a[title="Pinterest"]:hover {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23ffffff' d='M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z'/%3E%3C/svg%3E") !important;
}
.social-sharing a:hover {
  background: var(--tm-accent) !important;
  border-color: var(--tm-accent) !important;
}

/* Product tabs */
.product-tabs .nav-tabs {
  border-bottom: 2px solid #EDE8E0 !important;
  margin-bottom: 0;
}
.product-tabs .nav-tabs .nav-link {
  color: var(--tm-text-light) !important;
  font-weight: 600;
  font-size: 0.88rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 10px 20px !important;
  border: none !important;
  border-bottom: 3px solid transparent !important;
  transition: all 0.2s;
  background: none !important;
}
.product-tabs .nav-tabs .nav-link.active {
  color: var(--tm-primary) !important;
  border-bottom-color: var(--tm-accent) !important;
  background: none !important;
}
.product-tabs .nav-tabs .nav-link:hover {
  color: var(--tm-primary) !important;
}
.product-tabs .tab-content {
  padding: 20px;
  background: var(--tm-light-bg);
  border: 1px solid #EDE8E0;
  border-top: none;
  border-radius: 0 0 6px 6px;
  font-size: 0.88rem;
  line-height: 1.7;
  color: var(--tm-text-dark);
}

/* Formatted product descriptions */
.tm-desc { color: var(--tm-text-dark); }
.tm-desc h4.tm-desc-title {
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--tm-primary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 20px 0 10px;
  padding-bottom: 6px;
  border-bottom: 2px solid var(--tm-accent);
  display: inline-block;
}
.tm-desc h4.tm-desc-title:first-child { margin-top: 0; }
.tm-desc p {
  margin: 0 0 12px;
  line-height: 1.7;
}
.tm-desc ul {
  margin: 0 0 14px !important;
  padding-left: 0 !important;
  list-style: none !important;
}
.tm-desc ul li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 6px;
  line-height: 1.6;
  list-style: none !important;
}
.tm-desc ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 6px;
  height: 6px;
  background: var(--tm-accent);
  border-radius: 50%;
}

/* Related products & most viewed section headings */
.products-section-title,
section.featured-products h2,
section h2.products-section-title {
  text-align: center;
}

/* Section: "X otros productos en la misma categoría" */
section.crossselling h2,
.crossselling .products-section-title,
#product-page .crossselling h2 {
  color: var(--tm-primary) !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  text-align: center !important;
  position: relative;
  padding-bottom: 14px !important;
  margin-bottom: 28px !important;
}
section.crossselling h2::after,
.crossselling .products-section-title::after {
  content: "";
  display: block;
  width: 50px;
  height: 3px;
  background: var(--tm-accent);
  margin: 12px auto 0;
  border-radius: 2px;
}

/* Viewed products section */
#products .products-section-title,
.viewedproduct .products-section-title,
.viewed-products-section h2 {
  color: var(--tm-primary) !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  text-align: center !important;
}

/* Reduce excessive whitespace between sections */
section.crossselling,
section.viewedproduct {
  padding: 30px 0 20px !important;
  margin: 0 !important;
}
.featured-products,
section.featured-products {
  padding: 20px 0 30px !important;
  margin-top: 0 !important;
}

/* Product comments section */
.product-comment-list-header {
  font-size: 0.95rem;
  color: var(--tm-primary);
}
.product-comment-list-none {
  background: var(--tm-light-bg);
  border: 1px solid #EDE8E0;
  border-radius: 6px;
  padding: 16px 24px;
  color: var(--tm-text-light);
  font-size: 0.88rem;
  text-align: center;
}

/* ========================================
   PRODUCT FLAG (NUEVO) — ensure brand color
   ======================================== */
.product-flag.new,
.product-flag {
  background: var(--tm-accent) !important;
  color: #fff !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 4px 10px !important;
  border-radius: 2px !important;
}

/* ========================================
   BREADCRUMB REFINEMENT
   ======================================== */
.breadcrumb li::after {
  content: "›" !important;
  color: var(--tm-text-light);
  margin: 0 6px;
}
.breadcrumb li:last-child::after {
  display: none !important;
}
.breadcrumb li:last-child a,
.breadcrumb li:last-child span {
  color: var(--tm-text-light) !important;
  font-weight: 400;
}

/* ========================================
   MISC REFINEMENTS
   ======================================== */

/* Copyright bar at footer bottom */
#footer .footer-after {
  text-align: center;
  font-size: 0.75rem;
  color: rgba(240,235,227,0.5);
  padding: 12px 0;
  border-top: 1px solid rgba(196,160,100,0.15);
}
