/* Menú móvil + header compartido (maqueta v2) */

.site-top{position:sticky;top:0;z-index:100;background:rgba(252,248,245,.97);border-bottom:1px solid transparent;transition:border-color .35s cubic-bezier(.22,.68,0,1),background .35s cubic-bezier(.22,.68,0,1),box-shadow .35s cubic-bezier(.22,.68,0,1)}
.site-top.scrolled{background:var(--paper);border-bottom-color:var(--line);box-shadow:0 1px 0 rgba(42,30,31,.04)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:96px;transition:height .35s cubic-bezier(.22,.68,0,1)}
.site-top.scrolled header .wrap{height:74px}
.logo{display:block;line-height:0;flex-shrink:0}
.logo img{display:block;height:90px;width:auto;transition:height .35s cubic-bezier(.22,.68,0,1)}
.site-top.scrolled .logo img{height:72px}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;background:none;border:0}
.burger span{width:25px;height:1.5px;background:var(--ink);transition:.3s cubic-bezier(.22,.68,0,1)}
body.menu-open .burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
body.menu-open .burger span:nth-child(2){opacity:0}
body.menu-open .burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.chev{width:11px;height:11px;stroke:var(--rose-deep);fill:none;stroke-width:2;transition:transform .3s cubic-bezier(.22,.68,0,1)}
.sub-toggle{background:none;border:0;font:inherit;text-align:inherit;color:inherit;cursor:pointer}
.nav-backdrop{display:none}

@media(max-width:920px){
  .site-top .burger{display:flex;position:relative;z-index:302}
  body.menu-open .site-top{position:fixed;top:0;left:0;right:0;z-index:301;border-bottom-color:var(--line)}
  .nav-backdrop{display:block;position:fixed;inset:0;z-index:299;background:rgba(42,30,31,.45);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s cubic-bezier(.22,.68,0,1),visibility .35s}
  body.menu-open .nav-backdrop{opacity:1;visibility:visible;pointer-events:auto}
  #site-nav{
    position:fixed;inset:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;
    background:var(--paper);box-shadow:none;
    padding:104px 28px 32px;overflow-x:hidden;overflow-y:auto;
    z-index:300;pointer-events:none;-webkit-overflow-scrolling:touch;
    transform:translateX(100%);transition:transform .4s cubic-bezier(.22,.68,0,1);
  }
  body.menu-open #site-nav{transform:translateX(0);pointer-events:auto}
  body.menu-open{overflow:hidden;touch-action:none}
  html:has(body.menu-open){overflow:hidden}
  #site-nav>ul{
    display:flex!important;flex-direction:column!important;align-items:stretch!important;
    justify-content:flex-start!important;gap:0!important;list-style:none;width:100%;
  }
  #site-nav>ul>li{border-bottom:1px solid var(--line);width:100%}
  #site-nav>ul>li>a,
  #site-nav>ul>li>span,
  #site-nav>ul>li>.sub-toggle{
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    width:100%!important;padding:18px 4px!important;text-align:left!important;
    font-size:15px!important;letter-spacing:.04em;font-weight:500;color:var(--ink);
    background:none;border:0;cursor:pointer;
  }
  #site-nav .submenu{
    position:static!important;opacity:1!important;visibility:visible!important;
    transform:none!important;border:0!important;padding:0 0 12px 12px!important;
    max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.22,.68,0,1);
    min-width:0!important;left:auto!important;top:auto!important;
  }
  #site-nav>ul>li.open .submenu{max-height:360px}
  #site-nav>ul>li.open .chev{transform:rotate(180deg)!important}
  #site-nav>ul>li:hover .chev{transform:none}
  #site-nav .submenu a{display:block;padding:12px 8px;font-size:14px;color:var(--ink-soft)}
  body.menu-open .wa{opacity:0;visibility:hidden;pointer-events:none}
}

@media(min-width:921px){
  body:has(.site-top){padding-top:96px;transition:padding-top .35s cubic-bezier(.22,.68,0,1)}
  body.header-scrolled:has(.site-top){padding-top:74px}
  .site-top{position:fixed;top:0;left:0;right:0}
  #site-nav{
    position:fixed;top:0;left:0;right:0;bottom:auto;
    width:100%;max-width:none;height:96px;max-height:none;
    z-index:101;display:flex;justify-content:flex-end;align-items:center;
    padding:0 max(24px,calc((100vw - 1180px)/2 + 40px));
    background:transparent;box-shadow:none;pointer-events:none;
    overflow:visible;transform:none;
  }
  #site-nav>ul{
    display:flex;list-style:none;align-items:center;gap:34px;
    pointer-events:auto;
  }
  #site-nav>ul>li{position:relative}
  #site-nav>ul>li>a,
  #site-nav>ul>li>span,
  #site-nav>ul>li>.sub-toggle{
    font-size:14px;letter-spacing:.04em;font-weight:500;padding:38px 0;
    display:inline-flex;align-items:center;gap:6px;cursor:pointer;
    color:var(--ink);transition:.25s;
  }
  #site-nav.scrolled>ul>li>a,
  #site-nav.scrolled>ul>li>span,
  #site-nav.scrolled>ul>li>.sub-toggle{padding:27px 0}
  #site-nav>ul>li>a:hover,
  #site-nav>ul>li:hover>span,
  #site-nav>ul>li.active>span,
  #site-nav>ul>li.has-sub:hover>.sub-toggle,
  #site-nav>ul>li.has-sub.open>.sub-toggle{color:var(--rose-deep)}
  #site-nav>ul>li:hover .chev,
  #site-nav>ul>li.has-sub:hover .chev,
  #site-nav>ul>li.has-sub.open .chev,
  #site-nav>ul>li.has-sub:focus-within .chev{transform:rotate(180deg)}
  .submenu{
    position:absolute;top:100%;left:-16px;min-width:236px;
    background:var(--paper);padding:14px 8px;
    opacity:0;visibility:hidden;transform:translateY(10px);
    transition:.3s cubic-bezier(.22,.68,0,1);border:1px solid var(--line);
  }
  #site-nav>ul>li:hover .submenu,
  #site-nav>ul>li.has-sub:hover .submenu,
  #site-nav>ul>li.has-sub:focus-within .submenu,
  #site-nav>ul>li.has-sub.open .submenu{opacity:1;visibility:visible;transform:translateY(0)}
  .submenu a{display:block;padding:10px 16px;font-size:14px;font-weight:500;color:var(--ink-soft);transition:.2s}
  .submenu a:hover{color:var(--rose-deep);padding-left:22px}
  .submenu a[aria-current="page"]{color:var(--rose-deep);font-weight:500}
  #site-nav.scrolled{height:74px}
}

/* Footer — icono Instagram */
footer .social{align-items:center}
footer .social-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:rgba(255,255,255,.66);flex-shrink:0}
footer .social-icon svg{width:100%;height:100%}
footer .footer-ig{display:flex;align-items:center;gap:10px}

/* Fix: hello-elementor reset.css pinta los <button> con borde/color #CC3366. Restaurar en el chrome de la maqueta. */
.site-top .sub-toggle,.site-top .burger{border:0;border-radius:0;background:transparent;color:inherit}
.site-top .sub-toggle:hover,.site-top .sub-toggle:focus,.site-top .sub-toggle:focus-visible,.site-top .burger:hover{background:transparent;color:var(--rose-deep)}
.hslider .hslider-btn{border:1px solid rgba(255,255,255,.5);background:rgba(42,30,31,.38);color:#fff;border-radius:50%}
.hslider .hslider-btn:hover{background:rgba(42,30,31,.62);border-color:#fff;color:#fff}
