/*=============================================
DY G MERCHANDISING – CSS PERSONALIZADO
Optimizado y unificado
===============================================*/

/*=============================================
FUENTE BASE
===============================================*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap');

:root{
  /* Marca DyG */
  --dyg-primary:#f45914;
  --dyg-secondary:#2567bd;

  /* Neutros */
  --dyg-dark:#111;
  --dyg-gray:#9ea0a5;
  --dyg-light:#f5f5f5;

  /* Dimensiones */
  --icon:30px;
  --chip-h:32px;
  --chip-icon:24px;
  --chip-ring:3px;
  --search-h:42px;
}

/*=============================================
TIPOGRAFÍA HEADER
===============================================*/
header, header *{
  font-family:"Poppins",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

/* Ocultar top-nav */
header .top-nav{ display:none !important; }

/*=============================================
HEADER – FRANJA SUPERIOR
===============================================*/
.angulo-header-main .top-content{
  padding:8px 0 !important;
  background:#fff;
}
.angulo-header-main .top-content .d-flex{
  align-items:center !important;
  gap:14px;
}
.angulo-header-main .top-content .img-with{
  max-height:38px;
}

/* Buscador */
.angulo-header-main .form-box{ max-width:640px !important; }
.angulo-header-main .intBuscar{
  height:var(--search-h);
  border:2px solid #e5e6ea !important;
  background:#fafafa;
  border-radius:26px !important;
  padding:0 48px 0 14px !important;
  font-size:14.5px;
}
.angulo-header-main .search-input{
  width:32px;
  height:32px;
  border-radius:50%;
  background:var(--dyg-primary);
  color:#fff !important;
  display:grid;
  place-items:center;
  border:2px solid #fff;
  box-shadow:0 2px 6px rgba(0,0,0,.12);
}
.angulo-header-main .search-input i{ font-size:16px !important; }

/*=============================================
BARRA DE NAVEGACIÓN
===============================================*/
.navbar-fondo{
  background:var(--dyg-secondary) !important;
  padding:4px 0 !important;
}
.navbar-fondo .navbar-nav{
  align-items:center;
  gap:10px;
}
.navbar-fondo .nav-link{
  color:#fff !important;
  font-size:14.5px;
  font-weight:500;
  padding:8px 10px !important;
  line-height:1 !important;
}

/* Activo */
.navbar-fondo .nav-item.active .nav-link{
  position:relative;
}
.navbar-fondo .nav-item.active .nav-link::after{
  content:"";
  position:absolute;
  bottom:-8px;
  left:50%;
  transform:translateX(-50%);
  width:60px;
  height:3px;
  background:#fff;
  border-radius:3px;
}

/*=============================================
CHIP CATEGORÍAS
===============================================*/
#products_item .nav-link{
  position:relative;
  height:var(--chip-h);
  padding:4px 14px 4px calc(12px + var(--chip-icon) + (var(--chip-ring)*2) + 12px) !important;
  border-radius:999px;
  background:#fff;
  color:#000 !important;
  font-weight:600;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}
#products_item .nav-link::before{
  content:"\f0c9";
  font-family:"Font Awesome 5 Free","Font Awesome 6 Free";
  font-weight:900;
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  width:var(--chip-icon);
  height:var(--chip-icon);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--dyg-primary);
  color:#fff;
  box-shadow:0 0 0 var(--chip-ring) #fff;
  font-size:12px;
}

/*=============================================
ICONOS USUARIO / CARRITO
===============================================*/
.item-cart-menu{
  width:var(--icon);
  height:var(--icon);
  border-radius:50%;
  display:grid;
  place-items:center;
  line-height:0;
}

/* Usuario – solo contorno */
.item-cart-menu .fa-user{
  color:transparent !important;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:2px var(--dyg-dark);
}

/* Carrito */
a.item-cart-menu[href*="carrito"]{
  background:var(--dyg-primary);
}
.item-cart-menu .fa-shopping-cart{
  color:#fff !important;
}

/* Badge carrito */
.cart-items-badge{
  position:absolute;
  top:-5px;
  right:-6px;
  min-width:14px;
  height:14px;
  background:#fff;
  color:var(--dyg-primary);
  font-size:10px;
  font-weight:700;
  border-radius:10px;
  display:grid;
  place-items:center;
  box-shadow:0 1px 3px rgba(0,0,0,.12);
}

/* Texto total */
.text-order{
  color:#fff;
  font-size:13px;
  margin-left:8px;
}
.cart-items-total{ font-weight:700; }

/*=============================================
DROPDOWN CATEGORÍAS (DESKTOP)
===============================================*/
#dropdown-submenu-products{
  position:absolute !important;
  background:var(--dyg-secondary) !important;
  color:#fff;
  border-radius:7px;
  box-shadow:0 12px 30px rgba(0,0,0,.22);
  opacity:0;
  transform:translateY(-8px) scale(.985);
  transition:.2s ease;
}
#dropdown-submenu-products.show{
  opacity:1;
  transform:translateY(0) scale(1);
}
#dropdown-submenu-products a{ color:#fff !important; }

/*=============================================
HEADER – LIMPIEZA TOTAL DE BORDES
===============================================*/
header, header *{
  border:0 !important;
  box-shadow:none !important;
}


/*=============================================
LISTADO DE PRODUCTOS
===============================================*/
#product-container .angulo-item-button{
  background:var(--dyg-secondary);
  color:#fff !important;
  border-radius:7px;
  font-size:.85rem;
  padding:7px;
}
#product-container .angulo-item-button:hover{
  background:#1e539a;
}

/*=============================================
MOBILE
===============================================*/
@media (max-width:991.98px){

  #products_item .nav-link{
    background:transparent;
    color:#fff !important;
    box-shadow:none;
  }
  #products_item .nav-link::before{ display:none; }

  .text-order{ display:none; }

  .navbar-toggler-icon{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%239EA0A5' stroke-width='2' stroke-linecap='round' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E") !important;
  }
}

/*=============================================
OCULTAR FORM ORIGINAL
===============================================*/
section.mb-5.mt-5 .form-contact{ display:none !important; }

/* =============================
FIX 1 – LOGO AJUSTADO (-25%)
============================= */

/* Desktop */
.angulo-header-main .top-content .img-with{
  max-height: 82px !important;
  width: auto !important;
}

/* Tablet */
@media (max-width: 991.98px){
  .angulo-header-main .top-content .img-with{
    max-height: 68px !important;
  }
}

/* Mobile */
@media (max-width: 575.98px){
  .angulo-header-main .top-content .img-with{
    max-height: 52px !important;
  }
}



/* =============================
FIX 2 – ALINEACIÓN LUPA BUSCADOR
============================= */

/* Contenedor del buscador como referencia */
.angulo-header-main .form-box{
  position: relative !important;
}

/* Input */
.angulo-header-main .intBuscar{
  height: 44px !important;
  line-height: 44px !important;
  padding-right: 52px !important; /* espacio real para la lupa */
}

/* Botón lupa perfectamente centrado */
.angulo-header-main .search-input{
  position: absolute !important;
  top: 50% !important;
  right: 8px !important;
  transform: translateY(-50%) !important;

  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
}


/* =============================
FIX DEFINITIVO – REGISTRARSE NO SE ENCIMA
============================= */

/* El botón de login NO debe ser circular */
a[data-action="session-login"].item-cart-menu{
  width: auto !important;
  height: auto !important;
  border-radius: 999px !important;
  padding: 6px 10px !important;
  display: flex !important;
  align-items: center !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Contenedor interno */
a[data-action="session-login"] > div{
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* Texto "Ingresá o registrate" */
a[data-action="session-login"] span:first-child{
  width: auto !important;       /* 🔑 anula el width:92px inline */
  min-width: unset !important;
  text-align: left !important;
  font-size: 14px;
  color: #fff;
  white-space: nowrap;
}

/* Ícono usuario vuelve a ser círculo */
a[data-action="session-login"] span:last-child{
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #fff;
  display: grid;
  place-items: center;
  margin-left: 4px;
}

/* Icono usuario outline */
a[data-action="session-login"] .fa-user{
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 2px #111;
  font-size: 16px !important;
}

/* Separación real con el carrito */
a[data-action="session-login"]{
  margin-right: 10px !important;
}

/*=============================================
SLIDER – PROPORCIÓN 1920 x 520 (DESKTOP)
===============================================*/

/* Contenedor general */
#slider{
  width: 100%;
  overflow: hidden;
}

/* ===== DESKTOP (≥768px) ===== */
@media (min-width: 768px){

  /* Forzamos proporción 1920x520 */
  #slider .carousel-item > .d-none.d-md-block{
    height: auto !important;
    aspect-ratio: 1920 / 520; /* moderno y exacto */
    width: 100%;
    background-size: cover !important;
    background-position: center center !important;
  }

  /* Fallback por si algún browser ignora aspect-ratio */
  #slider .carousel-item > .d-none.d-md-block::before{
    content:"";
    display:block;
    padding-top:27.08%; /* 520 / 1920 */
  }
}

/* ===== MOBILE (≤767px) ===== */
/* Respetamos tu altura actual */
@media (max-width: 767.98px){
  #slider .carousel-item > .d-block.d-md-none{
    height: 450px !important;
  }
}

/*=============================================
FICHA DE PRODUCTO – IMÁGENES EN CONTAIN
===============================================*/

/* IMAGEN PRINCIPAL */
.containerImagePrincipal > a > div{
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* MINIATURAS DEL CAROUSEL (OWL) */
.containerImagePrincipal .ficha_carousel_img > a > div{
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* Opcional: fondo neutro para evitar transparencias raras */
.containerImagePrincipal > a > div,
.containerImagePrincipal .ficha_carousel_img > a > div{
  background-color: #ffffff;
}

/* Evita que Owl fuerce escalados raros */
.containerImagePrincipal .owl-item div{
  background-size: contain !important;
}
/*=============================================
FIX NAV PRODUCTOS – QUITAR CHIP E ICONO
===============================================*/

/* Quita fondo, forma y comportamiento especial */
#products_item .nav-link{
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;

  padding: 8px 10px !important;   /* mismo padding que el resto */
  height: auto !important;
  line-height: 1 !important;

  color: #fff !important;         /* mismo color que Home / Contacto */
  font-weight: 500 !important;
}

/* Elimina completamente el icono/hamburguesa */
#products_item .nav-link::before{
  display: none !important;
  content: none !important;
}

/* Asegura que no quede espacio fantasma a la izquierda */
#products_item .nav-link{
  padding-left: 10px !important;
}

/*=============================================
FIX MOBILE – CENTRAR ICONO CARRITO
===============================================*/
@media (max-width: 991.98px){

  /* Contenedor circular del carrito */
  a.item-cart-menu[href*="carrito"]{
    display: grid !important;
    place-items: center !important;
  }

  /* Icono carrito: corrección visual fina */
  a.item-cart-menu[href*="carrito"] i{
    line-height: 1 !important;
    display: block !important;
    font-size: 16px !important;
    transform: translateY(1px) !important; /* 🔑 ajuste visual real */
  }

}



/*=============================================
NAVBAR – ACTIVE Y HOVER COMO BOTÓN
===============================================*/

/* Quitar definitivamente la línea inferior */
.navbar-fondo .nav-item.active .nav-link::after{
  display:none !important;
  content:none !important;
}

/* Estado base */
.navbar-fondo .nav-link{
  border-radius: 999px;
  transition: background-color .25s ease, color .25s ease;
}

/* ACTIVO = BOTÓN */
.navbar-fondo .nav-item.active .nav-link{
  background: #fff !important;
  color: var(--dyg-secondary) !important;
  padding: 8px 14px !important;
  font-weight: 600;
}

/* HOVER = MISMO BOTÓN */
.navbar-fondo .nav-link:hover{
  background: rgba(255,255,255,.9) !important;
  color: var(--dyg-secondary) !important;
}

/* Evita subrayados raros */
.navbar-fondo .nav-link,
.navbar-fondo .nav-link:hover{
  text-decoration: none !important;
}

/*=============================================
FIX NAV – ACTIVE/HOVER COMO BOTÓN (SIN LÍNEAS)
+ Color de texto naranja DyG (#f45914)
Pegar AL FINAL del CSS personalizado
===============================================*/

/* 1) Mata cualquier “línea” que aparezca por borde o pseudo-elementos */
.navbar-fondo .nav-link,
.navbar-fondo .nav-link:hover,
.navbar-fondo .nav-link:focus{
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

.navbar-fondo .nav-link::after,
.navbar-fondo .nav-link:hover::after,
.navbar-fondo .nav-link:focus::after,
.navbar-fondo .nav-item.active .nav-link::after,
.navbar-fondo .nav-item.active .nav-link:hover::after{
  content: none !important;
  display: none !important;
}

/* 2) Base (para que todos respondan igual, incluidos sections_link y Productos) */
.navbar-fondo .navbar-nav .nav-link{
  border-radius: 999px !important;
  padding: 8px 14px !important;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

/* 3) Hover = botón blanco + texto naranja DyG */
.navbar-fondo .navbar-nav .nav-link:hover,
.navbar-fondo .navbar-nav .nav-link:focus{
  background: #fff !important;
  color: #f45914 !important;
  transform: translateY(-1px);
}

/* 4) Active = igual que hover (botón) */
.navbar-fondo .navbar-nav .nav-item.active > .nav-link{
  background: #fff !important;
  color: #f45914 !important;
  font-weight: 600 !important;
}

/* 5) Caso especial: “Productos” tiene CSS propio (id products_item / products_item_small)
      Forzamos que también tenga el mismo hover/active */
#products_item .nav-link,
#products_item_small .nav-link{
  border-radius: 999px !important;
  padding: 8px 14px !important;
  border-bottom: 0 !important;
}

#products_item .nav-link:hover,
#products_item_small .nav-link:hover,
#products_item .nav-link:focus,
#products_item_small .nav-link:focus{
  background: #fff !important;
  color: #f45914 !important;
}

/* 6) Si Bootstrap marca active en otra estructura, cubrimos también esto */
.navbar-fondo .navbar-nav .nav-link.active{
  background: #fff !important;
  color: #f45914 !important;
  font-weight: 600 !important;
}





/* ======================================================
   FICHA DE PRODUCTO – DYGM (CSS FINAL DEFINITIVO)
   ====================================================== */

.section-product-detail {
  background: #ffffff;
  padding: 2.5rem 0;
}

/* ======================================================
   GALERÍA – CONTENEDOR
   ====================================================== */

.containerImagePrincipal {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 20px;
  padding: 18px;
}

/* Imagen principal */
.containerImagePrincipal > a > div {
  border-radius: 16px;
  background-size: contain !important;
  background-color: #fff;
  transition: transform .3s ease;
}

.containerImagePrincipal > a:hover > div {
  transform: scale(1.015);
}

/* ======================================================
   THUMBS
   ====================================================== */

.carousel-thumbs {
  margin-top: 18px;
}

.ficha_carousel_img {
  padding: 6px;
}

.ficha_carousel_img > a > div {
  border-radius: 12px;
  background-size: contain !important;
  background-color: #fff;
  border: 1px solid #e5e7eb;
  transition: all .25s ease;
}

.ficha_carousel_img > a:hover > div {
  border-color: #f45914;
  box-shadow: 0 6px 16px rgba(0,0,0,.08);
}


/* ======================================================
   COLUMNA DERECHA – INFO
   ====================================================== */

.containerDetailProductCard {
  background: #ffffff;
  border-radius: 20px;
  padding: 30px;
  border: 1px solid #e5e7eb;
}

/* Título */
.container-product-description_info h3 {
  font-weight: 700;
  font-size: 1.7rem;
  color: #111827;
}

/* Precio */
#priceProduct {
  font-size: 2.1rem;
  color: #f45914;
  margin-top: 8px;
}

/* Código */
.product-view-code {
  font-size: .85rem;
  color: #6b7280;
  margin-top: 6px;
}

/* ======================================================
   VARIANTES
   ====================================================== */

.colorButtonAttributeProduct {
  width: 40px;
  height: 40px;
  border-radius: 50% !important;
  border: 2px solid #e5e7eb !important;
  transition: all .2s ease;
}

.colorButtonAttributeProduct.active,
.colorButtonAttributeProduct:hover {
  border-color: #f45914 !important;
  box-shadow: 0 0 0 3px rgba(244,89,20,.25);
}

/* ======================================================
   STOCK + CANTIDAD (LIMPIO)
   ====================================================== */

.product-stock-box {
  background: transparent;
  border: none;
  padding: 0;
  margin-top: 24px;
}

.product-view-stock {
  font-size: .9rem;
  font-weight: 600;
  color: #111827;
}

.product-view-stock span.textStock {
  font-size: 1.2rem;
  font-weight: 700;
  color: #2567bd;
}

/* Cantidad */
input[data-input-product="qty"] {
  border-radius: 12px;
  border: 1px solid #d1d5db;
  height: 46px;
  font-weight: 600;
}

/* Texto cantidad mínima */
.product-stock-box small {
  color: #6b7280;
  font-size: .8rem;
}

/* ======================================================
   BOTÓN CTA
   ====================================================== */

#btnAddCart {
  background: #f45914;
  color: #ffffff !important;
  border: none;
  border-radius: 14px;
  font-weight: 700;
  letter-spacing: .6px;
  padding: 16px;
  margin-top: 20px;
  transition: all .3s ease;
}

#btnAddCart:hover {
  background: #e14f10;
  transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(244,89,20,.35);
}

/* ======================================================
   DESCRIPCIÓN (CARD + ESPACIO SUPERIOR)
   ====================================================== */

.section-product-detail hr {
  display: none;
}

.section-product-detail > div > form > div:last-of-type {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  padding: 24px;
  margin-top: 48px; /* 👈 separación clara desde la galería */
  color: #374151;
  line-height: 1.7;
}

/* ======================================================
   PRODUCTOS RELACIONADOS – FONDO BLANCO
   ====================================================== */

.relatedProductsContainer {
  background: #ffffff !important;
  padding: 40px 0 10px;
}

.relatedProductsContainer .row {
  margin-left: 0;
  margin-right: 0;
}

.titleRelatedProducts {
  font-weight: 700;
  color: #111827;
  margin-bottom: 24px;
}

/* ======================================================
   RESPONSIVE
   ====================================================== */

@media (max-width: 768px) {
  .containerImagePrincipal,
  .containerDetailProductCard {
    padding: 18px;
  }

  #priceProduct {
    font-size: 1.8rem;
  }

  .section-product-detail > div > form > div:last-of-type {
    margin-top: 36px;
  }
}
