/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Apr 30 2026 | 04:27:46 */
/* ===========================================================
 * HEADER AVSYS PARA TIENDA (Divi + WooCommerce)
 * Versión 2.0 — Remanufacturada
 *
 * CAMBIOS vs v1:
 * [FIX]  Logotipo en móvil reducido a 70% de ancho
 * [FIX]  overflow: visible en contenedores para evitar
 *        que el dropdown quede recortado
 * [FIX]  Hover de iconos usa color de marca (#c30c24)
 *        en lugar de negro puro
 * [FIX]  Focus visible en todos los elementos
 *        interactivos (accesibilidad WCAG 2.1)
 * [FIX]  will-change en elementos animados (rendimiento)
 * [NEW]  Transición suave de apertura del dropdown móvil
 * [NEW]  Separador sutil entre filas en tablet/móvil
 * [CLEAN] Consolidación de reglas duplicadas entre
 *         tablet y móvil
 * =========================================================== */

/* ===========================================================
 * CONTENEDOR PRINCIPAL
 * =========================================================== */

.av-menu-header {
  position: relative;
  width: 100%;
  /* background-color: #0c1f3f; */
  z-index: 50;
  /* Overflow visible es crítico para que el dropdown
     no quede recortado por el header */
  overflow: visible;
}

.av-menu-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 20px;
  overflow: visible; /* No recortar el dropdown */
  /* background-color: #a0b200; */
}

.av-menu-header .et_pb_module {
  margin-bottom: 0;
}

/* ===========================================================
 * COLUMNA 1 — LOGO
 * =========================================================== */

.av-columna-1 {
  display: flex;
  align-items: center;
  /* background-color: #e09900; */
}

.av-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  text-align: center;
}

.av-logo img {
  display: block;
  margin: 0 auto;
  height: auto;
  max-width: 80%; /* Logotipo al 80% en desktop */
}

/* ===========================================================
 * COLUMNA 2 — MENÚ
 * =========================================================== */

.av-columna-2 {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible; /* Permitir que el dropdown sobresalga */
  /* background-color: #00a4ba; */
}

/* ===========================================================
 * MENÚ PRINCIPAL — DESKTOP
 * =========================================================== */

@media (min-width: 981px) {

  /* -----------------------------------------------------------
   * NIVEL SUPERIOR — flex horizontal
   * Solo el primer ul; los submenús quedan en bloque vertical
   * ----------------------------------------------------------- */

  .av-menu > ul,
  .av-menu ul.nav {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 20px;
  }

  .av-menu ul li {
    position: relative;
  }

  /* Links del nivel superior únicamente */
  .av-menu > ul > li > a,
  .av-menu ul.nav > li > a {
    position: relative;
    display: inline-block;
    text-decoration: none;
    padding-bottom: 6px;
    will-change: opacity;
  }

  /* -----------------------------------------------------------
   * UNDERLINE ANIMADO — solo nivel superior
   * ----------------------------------------------------------- */

  .av-menu > ul > li > a::after,
  .av-menu ul.nav > li > a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background: #c30c24; /* Rojo marca */
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.28s ease;
    will-change: transform;
    opacity: 0.95;
  }

  .av-menu > ul > li > a:hover::after,
  .av-menu ul.nav > li > a:hover::after,
  .av-menu ul li.current-menu-item > a::after,
  .av-menu ul li.current_page_item > a::after,
  .av-menu ul li.current-menu-ancestor > a::after,
  .av-menu ul li.current_page_ancestor > a::after {
    transform: scaleX(1);
  }

  .av-menu > ul > li > a:hover,
  .av-menu ul.nav > li > a:hover {
    opacity: 1 !important;
  }

  /* -----------------------------------------------------------
   * SUBMENÚ DROPDOWN — bloque vertical, sin subrayado
   * ----------------------------------------------------------- */

  .av-menu ul ul {
    display: block !important; /* Corrige el flex heredado */
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 9999;
    min-width: 200px;
    background: #ffffff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
    border-top: 2px solid #c30c24; /* Línea de acento superior */
    padding: 8px 0;
  }

  .av-menu ul ul li {
    width: 100%;
  }

  .av-menu ul ul li a {
    display: block;
    padding: 10px 20px;
    white-space: nowrap;
    text-decoration: none;
  }

  /* Sin subrayado animado en el dropdown */
  .av-menu ul ul li a::after {
    display: none !important;
  }

  /* Hover sutil en ítems del dropdown */
  .av-menu ul ul li a:hover {
    opacity: 0.75;
  }

  /* Focus accesible */
  .av-menu ul li a:focus-visible {
    outline: 2px solid #c30c24;
    outline-offset: 3px;
    border-radius: 2px;
  }
}

/* ===========================================================
 * COLUMNA 3 — ICONOS
 * =========================================================== */

.av-columna-3 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  /* background-color: #7cda24; */
}

.av-search,
.av-user,
.av-favorito,
.av-cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  min-height: 34px;
  border-radius: 999px;
  color: #345ca5; /* Azul */
  cursor: pointer;
  font-size: 15px;
  transition: color 0.2s ease, opacity 0.2s ease;
  will-change: color;
}

/* Focus accesible en iconos */
.av-search:focus-visible,
.av-user:focus-visible,
.av-favorito:focus-visible,
.av-cart:focus-visible {
  outline: 2px solid #c30c24; /* Rojo marca */
  outline-offset: 3px;
}

/* .av-search { background-color: #8d08a8; } */
/* .av-user   { background-color: #04d693; } */
/* .av-favorito { background-color: #ba7a05; } */

.av-cart {
  /* background-color: #ff00aa; */
  /* padding: 0 10px; */ /* Para Tienda  — descomentar si hay carrito con precio */
  padding: 0;           /* Para Catálogo */
  gap: 4px;
}

.av-cart .av-cart-icon {
  display: inline-flex;
  align-items: center;
}

/* Ya definido por PopCarts */ 
/*
.av-cart .av-cart-count {
  display: inline-block;
  min-width: 16px;
  padding: 2px 5px;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1;
  text-align: center;
  background-color: #c30c24;
  color: #ffffff; 
}

.av-cart .av-cart-total {
  font-size: 13px;
  font-weight: 600;
}
*/

/* ===========================================================
 * FIBOSEARCH
 * Comportamiento base del plugin sin forzar
 * =========================================================== */

.av-search .dgwt-wcas-search-wrapp {
  width: 100%;
}

/* ===========================================================
 * TABLET  (768–980 px)
 * Layout:
 *   LOGO  |  ICONOS
 *      MENÚ
 * =========================================================== */

@media (min-width: 768px) and (max-width: 980px) {

  .av-menu-container {
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    overflow: visible;
  }

  .av-columna-1 {
    order: 1;
    flex: 1 1 auto;
    width: auto;
    justify-content: flex-start;
  }

  .av-columna-1 .av-logo,
  .av-columna-1 .et_pb_image,
  .av-columna-1 .et_pb_code,
  .av-columna-1 .et_pb_text {
    margin-left: 0;
    margin-right: auto;
    text-align: left;
  }

  .av-columna-3 {
    order: 2;
    flex: 0 0 auto;
    width: auto;
    margin-left: auto;
    justify-content: flex-end;
    gap: 6px;
  }

  .av-columna-2 {
    order: 3;
    flex: 0 0 100%;
    width: 100%;
    justify-content: center;
    overflow: visible;
  }

  .av-search,
  .av-user,
  .av-favorito,
  .av-cart {
    min-width: 32px;
    min-height: 32px;
    font-size: 14px;
  }

  /* ---- Dropdown hamburguesa — Tablet ---- */

  .av-columna-2 .et_pb_menu__wrap {
    width: 100%;
    justify-content: center;
    overflow: visible;
  }

  .av-columna-2 .et_mobile_nav_menu {
    display: block;
    width: 100%;
  }

  .av-columna-2 .mobile_nav {
    position: relative;
    width: 100%;
    text-align: center;
    overflow: visible; /* Sin esto el dropdown queda recortado */
  }

  .av-columna-2 .mobile_menu_bar {
    display: inline-block;
    float: none;
    position: relative;
  }

  .av-columna-2 .mobile_menu_bar::before {
    transition: all 0.25s ease;
  }

  /* Ícono X al abrir el menú (font ETmodules de Divi) */
  .av-columna-2 .mobile_nav.opened .mobile_menu_bar::before {
    content: "\4d";
  }

  .av-columna-2 .et_mobile_menu {
    position: absolute;
    top: calc(100% + 10px);
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%);
    width: min(92vw, 640px) !important;
    max-width: 92vw !important;
    margin: 0 !important;
    padding: 14px 0 !important;
    text-align: center;
    box-sizing: border-box;
    z-index: 9999;
    /* Transición de apertura suave */
    animation: av-dropdown-in 0.2s ease forwards;
  }

  .av-columna-2 .et_mobile_menu li,
  .av-columna-2 .et_mobile_menu li a {
    text-align: center !important;
  }

  .av-columna-2 .et_mobile_menu li a {
    display: block;
    padding: 14px 20px !important;
    line-height: 1.35;
  }
}

/* ===========================================================
 * MÓVIL  (≤ 767 px)
 * Layout vertical:
 *   ICONOS
 *   LOGO      ← 70% de ancho
 *   MENÚ
 * =========================================================== */

@media (max-width: 767px) {

  .av-menu-container {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    overflow: visible;
  }

  .av-columna-1,
  .av-columna-2,
  .av-columna-3 {
    width: 100%;
  }

  /* --- Orden visual --- */

  .av-columna-3 {
    order: 1;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    padding-inline: 5px;
  }

  .av-columna-1 {
    order: 2;
    justify-content: center !important;
    text-align: center !important;
  }

  .av-columna-2 {
    order: 3;
    justify-content: center;
    overflow: visible;
  }

  /* -----------------------------------------------------------
   * [FIX] LOGO MÓVIL al 70%
   * ----------------------------------------------------------- */

  .av-columna-1 .av-logo,
  .av-columna-1 .et_pb_image,
  .av-columna-1 .et_pb_code,
  .av-columna-1 .et_pb_text {
    display: flex;
    justify-content: center !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 70%;          /* ← CAMBIO: de 90% a 70% */
    max-width: 70%;      /* ← Garantiza que no se expanda */
  }

  .av-columna-1 img {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100%;     /* Relativo al 80% del contenedor padre */
  }

  /* --- Tamaño de iconos en móvil --- */

  .av-search,
  .av-user,
  .av-favorito,
  .av-cart {
    min-width: 32px;
    min-height: 32px;
    font-size: 14px;
  }

  .av-cart {
    margin-left: auto;
  }

  /* ---- Dropdown hamburguesa — Móvil ---- */

  .av-columna-2 .et_pb_menu__wrap {
    width: 100%;
    justify-content: center;
    overflow: visible;
  }

  .av-columna-2 .et_mobile_nav_menu {
    display: block;
    width: 100%;
  }

  .av-columna-2 .mobile_nav {
    position: relative;
    width: 100%;
    text-align: center;
    overflow: visible;
  }

  .av-columna-2 .mobile_menu_bar {
    display: inline-block;
    float: none;
    position: relative;
  }

  .av-columna-2 .mobile_menu_bar::before {
    transition: all 0.25s ease;
  }

  /* Ícono X al abrir el menú */
  .av-columna-2 .mobile_nav.opened .mobile_menu_bar::before {
    content: "\4d";
  }

  .av-columna-2 .et_mobile_menu {
    position: absolute;
    top: calc(100% + 10px);
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%);
    width: calc(100vw - 32px) !important;
    max-width: 520px !important;
    margin: 0 !important;
    padding: 14px 0 !important;
    text-align: center;
    box-sizing: border-box;
    z-index: 9999;
    animation: av-dropdown-in 0.2s ease forwards;
  }

  .av-columna-2 .et_mobile_menu li,
  .av-columna-2 .et_mobile_menu li a {
    text-align: center !important;
  }

  .av-columna-2 .et_mobile_menu li a {
    display: block;
    padding: 14px 18px !important;
    line-height: 1.35;
    white-space: normal;
  }
}

/* ===========================================================
 * AJUSTES EXTRA
 * =========================================================== */

/* Ocultar total del carrito en pantallas muy pequeñas */
@media (max-width: 480px) {
  .av-cart .av-cart-total {
    display: none;
  }
}

/* ===========================================================
 * ANIMACIÓN DROPDOWN
 * [NEW] Entrada suave del menú hamburguesa
 * =========================================================== */

@keyframes av-dropdown-in {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

/* ===========================================================
 * ICONOS HEADER — USER / FAVORITO
 * Pseudo-elementos con FontAwesome
 * =========================================================== */

.av-ico-user::after,
.av-ico-favorito::after {
  font-family: "FontAwesome";
  font-size: 17px;
  color: #345ca5; /* Azul */
  transition: color 0.2s ease;
  will-change: color;
}

.av-ico-user::after {
  content: '\f007'; /* Usuario */
}

.av-ico-favorito::after {
  content: '\f004'; /* Favorito */
}

/* ===========================================================
 * HOVER ICONOS HEADER — SEARCH / CUENTA / FAVORITOS
 * [FIX] Cambiado de #000000 a rojo de marca #c30c24
 *       para consistencia visual
 * Solo desktop
 * =========================================================== */

@media (min-width: 981px) {

  /* ---------- SEARCH ---------- */
  /* Solo el ícono disparador, no la lupa interna del input */

  .av-search:hover > *,
  .av-search:hover .dgwt-wcas-search-icon,
  .av-search:hover .dgwt-wcas-search-icon svg,
  .av-search:hover .dgwt-wcas-search-icon * {
    color: #c30c24 !important;   /* [FIX] Antes: #000000 */
    fill: #c30c24 !important;
    stroke: #c30c24 !important;
  }

  /* Restaurar color del ícono dentro de la caja de búsqueda */
  .av-search:hover .dgwt-wcas-search-form .dgwt-wcas-search-icon,
  .av-search:hover .dgwt-wcas-search-form .dgwt-wcas-search-icon svg,
  .av-search:hover .dgwt-wcas-search-form .dgwt-wcas-search-icon * {
    color: inherit !important;
    fill: inherit !important;
    stroke: inherit !important;
  }

  /* ---------- USER ---------- */

  .av-user:hover,
  .av-user:hover * {
    color: #c30c24 !important;   /* [FIX] Antes: #000000 */
    fill: #c30c24 !important;
    stroke: #c30c24 !important;
  }

  .av-user:hover .av-ico-user::after {
    color: #c30c24 !important;
  }

  /* ---------- FAVORITO ---------- */

  .av-favorito:hover,
  .av-favorito:hover * {
    color: #c30c24 !important;   /* [FIX] Antes: #000000 */
    fill: #c30c24 !important;
    stroke: #c30c24 !important;
  }

  .av-favorito:hover .av-ico-favorito::after {
    color: #c30c24 !important;
  }
}