/*
 * MEISTER Archidona v1.8.7
 * Desktop legible y compacto para portátiles; navegación táctil sin zonas muertas.
 */

@media (min-width:1181px) and (hover:hover) and (pointer:fine){
  .site-header .nav-wrap{
    display:grid!important;
    grid-template-columns:104px 174px minmax(0,1fr) auto!important;
    align-items:center!important;
    column-gap:6px!important;
    width:100%!important;
    height:82px!important;
    min-height:82px!important;
    padding-inline:12px!important;
  }
  .site-header .brand{grid-column:1!important;justify-self:start!important}
  .site-header .brand img{width:104px!important;max-width:104px!important;height:auto!important}
  .site-header .desktop-site-title{
    grid-column:2!important;
    display:flex!important;
    min-width:0!important;
    padding-inline:9px!important;
    font-size:9px!important;
    letter-spacing:.018em!important;
  }
  .site-header .main-nav{
    grid-column:3!important;
    display:block!important;
    min-width:0!important;
    width:100%!important;
    margin:0!important;
  }
  .site-header .main-nav .menu{
    display:flex!important;
    justify-content:flex-start!important;
    gap:clamp(3px,.32vw,6px)!important;
  }
  .site-header .main-nav .menu>li>a,
  .site-header .collections-nav-toggle,
  .site-header .services-nav-toggle,
  .site-header .guides-nav-toggle,
  .site-header .technology-nav-toggle,
  .site-header .boutique-nav-toggle,
  .site-header .social-nav-toggle{
    min-height:52px!important;
    padding-inline:clamp(3px,.28vw,5px)!important;
    color:rgba(255,255,255,.82)!important;
    font-family:inherit!important;
    font-size:clamp(10.8px,.72vw,12px)!important;
    font-weight:inherit!important;
    line-height:1!important;
    letter-spacing:.025em!important;
    white-space:nowrap!important;
  }
  .site-header .main-nav .menu>li>a:hover,
  .site-header .main-nav .menu>li>a:focus-visible,
  .site-header .collections-nav-toggle:hover,
  .site-header .services-nav-toggle:hover,
  .site-header .guides-nav-toggle:hover,
  .site-header .technology-nav-toggle:hover,
  .site-header .boutique-nav-toggle:hover,
  .site-header .social-nav-toggle:hover{
    color:var(--orange,#f59a00)!important;
  }
  .site-header .local-boutique-nav-item{display:flex!important;align-items:center!important}
  .site-header .local-boutique-nav-link{
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .site-header .nav-actions{
    grid-column:4!important;
    display:flex!important;
    gap:4px!important;
    min-width:max-content!important;
    margin:0!important;
  }
  .site-header .nav-action,
  .site-header .nav-cta{
    min-height:44px!important;
    height:44px!important;
    padding-inline:8px!important;
    font-size:10.5px!important;
    letter-spacing:.02em!important;
  }
  .site-header .nav-call{min-width:64px!important}
  .site-header .nav-cta{min-width:128px!important}
  .site-header .mobile-site-title,
  .site-header [data-mobile-toggle],
  .site-header [data-mobile-panel]{display:none!important}

  /* Menú MEISTIA agrupado: herramientas y comunidad sin alargar la cabecera. */
  .site-header .technology-nav-menu.meistia-nav-menu{
    width:min(720px,calc(100vw - 32px))!important;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 10px;
    padding:12px!important;
  }
  .site-header .meistia-nav-menu .meistia-suite-brand{grid-column:1/-1}
  .site-header .meistia-nav-group{min-width:0}
  .site-header .meistia-nav-group>p{
    margin:0;
    padding:13px 15px 9px;
    color:var(--orange,#f59a00);
    font-size:9px;
    font-weight:900;
    line-height:1.2;
    letter-spacing:.15em;
  }
  .site-header .meistia-nav-group>a:last-child{border-bottom:0}
}

@media (max-width:1180px), (hover:none), (pointer:coarse), (pointer:none){
  .site-header{
    height:64px!important;
    padding-top:env(safe-area-inset-top)!important;
    background:#050505!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
  }
  .site-header .nav-wrap{
    position:relative!important;
    z-index:5001!important;
    display:grid!important;
    grid-template-columns:104px minmax(0,1fr) 104px!important;
    align-items:center!important;
    column-gap:0!important;
    width:100%!important;
    height:64px!important;
    min-height:64px!important;
    padding:0 18px!important;
    background:#050505!important;
  }
  .site-header .main-nav,
  .site-header .nav-actions,
  .site-header .desktop-site-title{
    display:none!important;
    visibility:hidden!important;
  }
  .site-header .brand{
    grid-column:1!important;
    display:flex!important;
    align-items:center!important;
    justify-self:start!important;
    width:96px!important;
    height:52px!important;
    margin:0!important;
  }
  .site-header .brand img{
    display:block!important;
    width:92px!important;
    max-width:92px!important;
    height:auto!important;
    max-height:34px!important;
  }
  .site-header .mobile-site-title{
    grid-column:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    color:#fff!important;
    text-align:center!important;
  }
  .site-header .mobile-site-title strong{
    display:block!important;
    font-size:14px!important;
    line-height:1!important;
    letter-spacing:.01em!important;
    white-space:nowrap!important;
  }
  .site-header .mobile-site-title small{display:none!important}
  .site-header [data-mobile-toggle]{
    grid-column:3!important;
    display:block!important;
    position:relative!important;
    justify-self:end!important;
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    min-height:52px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:#fff!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    cursor:pointer!important;
  }
  .site-header [data-mobile-toggle] span{
    position:absolute!important;
    left:12px!important;
    width:28px!important;
    height:1.5px!important;
    margin:0!important;
    background:#fff!important;
  }
  .site-header [data-mobile-toggle] span:first-child{top:19px!important}
  .site-header [data-mobile-toggle] span:last-child{top:30px!important}
  .site-header.open [data-mobile-toggle] span:first-child{top:25px!important;transform:rotate(45deg)!important}
  .site-header.open [data-mobile-toggle] span:last-child{top:25px!important;transform:rotate(-45deg)!important}
  .site-header [data-mobile-panel]{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:5002!important;
    padding:0!important;
    background:#050505!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-10px)!important;
    transition:opacity .24s ease,transform .24s ease,visibility .24s ease!important;
  }
  .site-header.open [data-mobile-panel],
  .site-header [data-mobile-panel].is-open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }
  .site-header.open>.nav-wrap{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  body.mobile-menu-open{overflow:hidden!important;touch-action:none!important}
}

/* En tablet y ventanas intermedias el control se identifica expresamente como MENÚ. */
@media (min-width:481px) and (max-width:1180px),
       (min-width:481px) and (hover:none),
       (min-width:481px) and (pointer:coarse),
       (min-width:481px) and (pointer:none){
  .site-header .nav-wrap{
    grid-template-columns:104px minmax(0,1fr) 104px!important;
  }
  .site-header [data-mobile-toggle]{
    width:96px!important;
    min-width:96px!important;
    border:1px solid rgba(255,255,255,.14)!important;
    border-radius:2px!important;
  }
  .site-header [data-mobile-toggle]::before{
    content:'MENÚ';
    position:absolute;
    left:13px;
    top:50%;
    transform:translateY(-50%);
    color:rgba(255,255,255,.9);
    font-family:inherit;
    font-size:9px;
    font-weight:700;
    line-height:1;
    letter-spacing:.12em;
  }
  .site-header [data-mobile-toggle] span{left:61px!important;width:23px!important}
}

@media (max-width:767px){
  .site-header .nav-wrap{
    grid-template-columns:58px minmax(0,1fr) 58px!important;
    height:76px!important;
    min-height:76px!important;
    padding-inline:10px!important;
  }
  .site-header{height:76px!important}
  .site-header .brand{width:52px!important;height:52px!important}
  .site-header .brand img{width:52px!important;max-width:52px!important;max-height:30px!important}
  .site-header .mobile-site-title strong{font-size:clamp(12px,3.7vw,16px)!important}
}

@media (min-width:481px) and (max-width:767px){
  .site-header .nav-wrap{
    grid-template-columns:84px minmax(0,1fr) 84px!important;
  }
  .site-header .brand{width:78px!important}
  .site-header .brand img{width:74px!important;max-width:74px!important}
  .site-header [data-mobile-toggle]{width:82px!important;min-width:82px!important}
  .site-header [data-mobile-toggle]::before{left:9px!important;font-size:8px!important}
  .site-header [data-mobile-toggle] span{left:50px!important;width:22px!important}
}

@media (max-width:480px){
  .site-header [data-mobile-toggle]::before{content:none!important}
}

/*
 * Continuidad atómica del menú estático de conversión.
 * El modo depende de anchura y capacidad real del dispositivo.
 */
@media (max-width:1180px), (hover:none), (pointer:coarse), (pointer:none){
  :root{--ml-static-actionbar-height:58px}
  body{
    padding-bottom:calc(var(--ml-static-actionbar-height) + env(safe-area-inset-bottom))!important;
  }
  body .mobile-actionbar{
    position:fixed!important;
    z-index:999980!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    display:grid!important;
    grid-template-columns:1fr 1fr 1.25fr!important;
    width:100%!important;
    min-height:var(--ml-static-actionbar-height)!important;
    margin:0!important;
    padding:0 0 env(safe-area-inset-bottom)!important;
    overflow:hidden!important;
    border-top:1px solid rgba(255,255,255,.14)!important;
    background:#050505!important;
    box-shadow:0 -8px 28px rgba(0,0,0,.22)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important;
  }
  body .mobile-actionbar a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    min-width:0!important;
    min-height:var(--ml-static-actionbar-height)!important;
    padding:10px 6px!important;
    font-size:clamp(9px,1.05vw,11px)!important;
    line-height:1!important;
    letter-spacing:.075em!important;
    white-space:nowrap!important;
  }
  body .mobile-actionbar a:nth-child(1){background:#050505!important;color:#fff!important}
  body .mobile-actionbar a:nth-child(2){background:var(--whatsapp,#25d366)!important;color:#07180d!important}
  body .mobile-actionbar a:nth-child(3){background:var(--orange,#f59a00)!important;color:#050505!important;font-weight:900!important}

  body.mobile-menu-open .mobile-actionbar,
  body.ml-quick-budget-open .mobile-actionbar,
  body.mp-modal-open .mobile-actionbar,
  body.meister-assistance-active .mobile-actionbar,
  body.meistia-eye-open .mobile-actionbar,
  body.meistia-call-open .mobile-actionbar{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(100%)!important;
  }
}

@media (max-width:480px){
  :root{--ml-static-actionbar-height:54px}
  body .mobile-actionbar a{font-size:clamp(8.4px,2.6vw,10.5px)!important;letter-spacing:.055em!important}
  body .mobile-actionbar a svg{width:20px!important;height:20px!important;flex-basis:20px!important}
}

@media (max-width:350px){
  body .mobile-actionbar{grid-template-columns:.9fr 1.05fr 1.2fr!important}
  body .mobile-actionbar a{gap:4px!important;padding-inline:3px!important;font-size:8.4px!important;letter-spacing:.035em!important}
  body .mobile-actionbar a svg{width:18px!important;height:18px!important;flex-basis:18px!important}
}

@media (min-width:1181px) and (hover:hover) and (pointer:fine){
  body{padding-bottom:0!important}
  body .mobile-actionbar{display:none!important}
}

@media (prefers-reduced-motion:reduce){
  .site-header [data-mobile-panel],
  body .mobile-actionbar{transition:none!important}
}
