/* =========================
   DESKTOP
========================= */
@media (min-width:1025px){

  /* ocultar piezas móviles */
  .db-mm-burger,
  .db-mm-mhead,
  .db-mm-back,
  .db-mm-close,
  .db-mm-quick,
  .db-mm-list.level-1,
  .db-mm-levels.level-2,
  .db-mm-levels.level-3{
    display:none !important;
  }

  /* contenedor general */
  .db-mm{
    position:relative !important;
    width:100%;
    z-index:500 !important;
  }

  /* barra de categorías */
  .db-mm-bar{
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    z-index:510;
  }

  .db-mm-topcats{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:34px;
    width:100%;
    flex-wrap:wrap;
  }

.db-mm-topcats > a{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  color:#fff;
  text-decoration:none;
  font-size:16px;
  font-family:'Playfair Display', serif !important;
  font-weight:600 !important;
  text-transform:uppercase;
  letter-spacing:.6px !important;
  white-space:nowrap;
  transition:opacity .2s ease;
}

  .db-mm-topcats > a:hover,
  .db-mm-topcats > a.active{
    opacity:1;
  }

  .db-mm-topcats > a::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:4px;
    width:0;
    height:2px;
    border-radius:999px;
    transform:translateX(-50%);
    transition:width .22s ease;
    background:linear-gradient(
      90deg,
      rgba(200,16,46,0) 0%,
      #C8102E 20%,
      #ff335f 50%,
      #C8102E 80%,
      rgba(200,16,46,0) 100%
    );
    box-shadow:0 0 12px rgba(200,16,46,.35);
  }

  .db-mm-topcats > a:hover::after,
  .db-mm-topcats > a.active::after{
    width:100%;
  }

  /* contenedor base del panel */
  .db-mm-panel{
    position:absolute !important;
    top:100% !important;
    left:50% !important;
    transform:translateX(-50%) translateY(10px);
    width:min(1180px, calc(100vw - 60px));
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    z-index:999 !important;
  }

  .db-mm.is-open .db-mm-panel{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  .db-mm-cols{
    display:block;
  }

  .db-mm-products{
    max-width:none;
    margin:0;
    padding:0;
    background:transparent;
  }

  /* cada panel de categoría */
  .db-mm-prod-panel{
    display:none;
  }

  .db-mm-prod-panel.active{
    display:block;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:100% !important;
    

    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(-50vw + 50%) !important;

    padding:18px 0 !important;
    overflow:hidden !important;

    background:rgba(20,20,20,.55) !important;
    backdrop-filter:blur(18px) saturate(140%);
    -webkit-backdrop-filter:blur(18px) saturate(140%);

    border:1px solid rgba(255,255,255,.08);
    box-shadow:
      0 25px 60px rgba(0,0,0,.45),
      inset 0 1px 0 rgba(255,255,255,.05);
  }

  .db-mm-prod-panel.active::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
      180deg,
      rgba(255,255,255,.05),
      rgba(255,255,255,0)
    );
    pointer-events:none;
  }

  .db-mm-prod-head{
    display:none;
  }

  /* lista de productos centrada */
  .db-mm-prod-list{
    list-style:none;
    max-width:760px !important;
    margin:0 auto !important;
    padding:0 24px !important;

    display:grid !important;
    grid-template-columns:repeat(2, minmax(240px, 320px)) !important;
    justify-content:center !important;
    column-gap:42px !important;
    row-gap:14px !important;
  }

  .db-mm-prod-list li{
    margin:0 !important;
    padding:0 !important;
    width:100% !important;
    max-width:320px !important;
  }

.db-mm-prod-list li a{
  display:block;
  color:rgba(255,255,255,.88);
  text-decoration:none;
  font-size:12px;
  font-family:'Playfair Display', serif !important;
  font-weight:500;
  line-height:1.35;
  transition:color .18s ease, transform .18s ease;
}

  .db-mm-prod-list li a:hover{
    color:#fff;
    transform:translateX(4px);
  }

  /* texto sin productos */
  .db-mm-prod-empty{
    display:block;
    max-width:760px !important;
    margin:0 auto !important;
    padding:0 24px !important;
    text-align:left!important;
    color:rgba(255,255,255,.60);
    font-size:12px;
    font-family:'Playfair Display', serif !important;
  }

  /* enlace ver todos */
  .db-mm-prod-more{
    display:block !important;
    max-width:760px !important;
    margin:18px auto 0 auto !important;
    padding:0 24px !important;
    text-align:left !important;

    color:#fff;
    text-decoration:none;
    font-size:12px;
    font-weight:700;
    transition:opacity .18s ease, transform .18s ease;
    font-family:'Playfair Display', serif !important;
  }

  .db-mm-prod-more:hover{
    opacity:.85;
    transform:translateX(4px);
  }

  /* asegurar que el header permita el flotante */
  .elementor-section:has(.db-mm),
  .elementor-container:has(.db-mm){
    overflow:visible !important;
    position:relative !important;
    z-index:400 !important;
  }

}

