/* ===== Evitar scroll horizontal accidental (sobre todo en móvil) ===== */
html,body{ max-width:100%; overflow-x:hidden; }

/* ===== Scrollbar estilizada (coherente con la paleta) ===== */
html{
  scrollbar-width: thin;
  scrollbar-color: var(--orange, #961126) var(--bg, #f3f1ed);
}
::-webkit-scrollbar{ width: 12px; height: 12px; }
::-webkit-scrollbar-track{ background: var(--bg, #f3f1ed); }
::-webkit-scrollbar-thumb{
  background: var(--orange, #961126);
  border: 3px solid var(--bg, #f3f1ed);
  border-radius: 999px;
}
::-webkit-scrollbar-thumb:hover{ background: var(--orange-deep, #7a0d1f); }

/* ===========================================================
   MENÚ MÓVIL (hamburguesa) — web pública
   Inyectado por /assets/site.js en todas las páginas
   =========================================================== */

/* Botón hamburguesa (oculto en escritorio) */
.nav-burger{
  display:none;align-items:center;justify-content:center;
  width:46px;height:46px;flex-shrink:0;padding:0;
  border:1px solid currentColor;border-radius:999px;
  background:transparent;color:inherit;cursor:pointer;
  transition:background .2s,color .2s,border-color .2s;
}
.nav-burger:hover{background:var(--orange,#961126);border-color:var(--orange,#961126);color:#fff}
.nav-burger span,.nav-burger span::before,.nav-burger span::after{
  display:block;width:18px;height:2px;background:currentColor;border-radius:2px;
}
.nav-burger span{position:relative}
.nav-burger span::before,.nav-burger span::after{content:"";position:absolute;left:0}
.nav-burger span::before{top:-6px}
.nav-burger span::after{top:6px}
/* En el sticky-nav el fondo es claro → líneas oscuras */
.sticky-nav .nav-burger{color:var(--ink,#2E312C)}

/* Overlay de menú a pantalla completa */
.mobile-menu{
  position:fixed;inset:0;z-index:200;
  background:var(--ink,#2E312C);color:#fff;
  display:flex;flex-direction:column;
  padding:24px 28px 36px;
  opacity:0;visibility:hidden;transform:translateY(-10px);
  transition:opacity .3s ease,transform .3s ease,visibility .3s;
  overflow-y:auto;-webkit-overflow-scrolling:touch;
}
.mobile-menu.open{opacity:1;visibility:visible;transform:none}
.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.mobile-menu-head img{height:52px;width:auto;display:block}
.mobile-close{
  background:transparent;border:1px solid #ffffff55;color:#fff;
  width:46px;height:46px;border-radius:999px;font-size:26px;line-height:1;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;transition:background .2s,color .2s;
}
.mobile-close:hover{background:#fff;color:var(--ink,#2E312C)}
.mobile-links{display:flex;flex-direction:column;margin-top:8px}
.mobile-links a{
  color:#fff;text-decoration:none;
  font-family:'Archivo',sans-serif;font-weight:800;font-size:29px;
  letter-spacing:-.01em;text-transform:uppercase;line-height:1.1;
  padding:14px 0;border-bottom:1px solid #ffffff1a;
  transition:color .2s,padding-left .2s;
}
.mobile-links a:hover{color:var(--orange,#961126);padding-left:8px}
.mobile-links a.sub{
  font-size:15px;font-weight:600;letter-spacing:.12em;opacity:.75;
  padding:11px 0 11px 20px;border-bottom:1px solid #ffffff0f;
}
.mobile-links a.cta{
  margin-top:24px;background:var(--orange,#961126);color:#fff;border:0;border-radius:999px;
  text-align:center;font-size:15px;letter-spacing:.14em;padding:20px;
}
.mobile-links a.cta:hover{background:var(--orange-deep,#7a0d1f);padding-left:20px}
.mobile-foot{margin-top:auto;padding-top:26px;display:flex;flex-direction:column;gap:12px;font-size:14px}
.mobile-foot a{color:#fff;opacity:.85;text-decoration:none}
.mobile-foot a:hover{opacity:1;color:var(--orange,#961126)}
.mobile-foot .mm-socials{display:flex;gap:20px;margin-top:8px}
.mobile-foot .mm-socials a{display:inline-flex}
body.menu-open{overflow:hidden}

/* ===========================================================
   BOTONES FLOTANTES GLOBALES (WhatsApp + volver arriba)
   Inyectados por /assets/site.js en todas las páginas
   =========================================================== */
.gfloat{position:fixed;right:24px;bottom:24px;z-index:85;display:flex;flex-direction:column;gap:14px;align-items:center}
.gfloat-btn{
  width:52px;height:52px;border-radius:999px;border:0;cursor:pointer;
  display:flex;align-items:center;justify-content:center;color:#fff;
  box-shadow:0 14px 30px -10px rgba(0,0,0,.45);
  transition:transform .2s,opacity .25s,visibility .25s;text-decoration:none;
}
.gfloat-btn:hover{transform:translateY(-3px)}
.gfloat-wa{background:var(--wa,#25d366)}
.gfloat-top{background:var(--orange,#961126)}
/* El "volver arriba" aparece solo tras hacer scroll */
.gfloat-top{opacity:0;visibility:hidden}
.gfloat-top.show{opacity:1;visibility:visible}
@media(max-width:600px){
  .gfloat{right:16px;bottom:16px}
  .gfloat-btn{width:48px;height:48px}
}

/* Mostrar la hamburguesa cuando se oculta el menú de escritorio */
@media(max-width:1100px){
  .nav-burger{display:inline-flex}
  header.site .logo img{height:54px}
  header.site .header-right .btn-pill{display:none} /* "Contactar" queda dentro del menú */
}
/* En móvil/tablet pequeño la barra de contacto (topbar) se solapaba con el
   logo: la ocultamos (sus datos están dentro del menú) y subimos el header. */
@media(max-width:768px){
  .topbar{display:none}
  header.site{top:0}
}
@media(max-width:600px){
  .mobile-links a{font-size:25px}
  header.site .logo img{height:46px}
  .sticky-nav{gap:12px}
  .sticky-nav .logo img{height:38px}
  .sticky-nav .btn-pill{padding:11px 15px;font-size:10px}
  .nav-burger{width:42px;height:42px}
  /* Evita que el título del hero (una sola palabra larga) se recorte */
  .hero h1{font-size:clamp(30px,8.5vw,120px)}
}
