/* ============================================================
   Barra, menú y pie COMPARTIDOS de todo el sitio.
   Los pinta php/lib/sitio_ui.php. Una sola copia: antes la home y la
   tienda tenían cada una la suya y no se parecían en nada.
   ============================================================ */

/* ---------- Barra de arriba ---------- */
.sitio-nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 300;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 14px 5%;
  background: rgba(10, 8, 5, .35);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}
/* La home la usa transparente sobre el video; donde el fondo es claro
   (tienda, carrito, checkout) va opaca, si no el texto blanco no se lee. */
.sitio-nav.solida {
  background: #16241c;
  backdrop-filter: none;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.sitio-nav-marca { display: flex; align-items: center; gap: 10px; }
.site-logo {
  width: 108px; height: 48px;
  object-fit: contain; object-position: left center;
  filter: brightness(1.15) drop-shadow(0 0 6px rgba(0, 0, 0, .5));
}
.sitio-nav .desktop-nav {
  display: flex; gap: 30px;
  list-style: none; margin: 0; padding: 0;
}
.sitio-nav .desktop-nav a {
  color: #f2f4f0;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: .4px;
  text-decoration: none;
  padding-bottom: 4px;
}
.sitio-nav .desktop-nav a:hover { color: #4ade80; }
.sitio-nav .desktop-nav a.activo {
  color: #fff; font-weight: 700; border-bottom: 2px solid #4ade80;
}
.sitio-nav-der { display: flex; align-items: center; gap: 12px; }

.mobile-menu-btn {
  display: flex; align-items: center; justify-content: center;
  flex: 0 0 auto;
  width: 40px; height: 40px;
  background: none;
  border: 1px solid rgba(255, 255, 255, .3);
  border-radius: 8px;
  color: #fff; font-size: 18px;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.mobile-menu-btn:hover { background: rgba(74, 222, 128, .14); border-color: #4ade80; }
.mobile-menu-btn:active { transform: scale(.94); }

/* El contenido tiene que arrancar abajo de la barra, que es fija */
.sitio-con-nav { padding-top: 76px; }

/* ---------- Menú lateral (celular) ---------- */
#mobile-menu {
  visibility: hidden; opacity: 0;
  position: fixed; inset: 0;
  background: rgba(0, 0, 0, .58);
  z-index: 400;
  transition: opacity .25s ease, visibility .25s;
}
#mobile-menu.is-open { visibility: visible; opacity: 1; }
.mobile-menu-drawer {
  position: absolute; top: 0; right: 0;
  width: min(84%, 340px); height: 100%;
  background: #141a15;
  padding: 24px 28px 48px;
  display: flex; flex-direction: column;
  overflow-y: auto;
  box-shadow: -18px 0 50px rgba(0, 0, 0, .28);
  transform: translateX(100%);
  transition: transform .32s cubic-bezier(.22, .8, .24, 1);
}
#mobile-menu.is-open .mobile-menu-drawer { transform: translateX(0); }
.mm-cab {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 18px;
}
.mm-cab button {
  width: 38px; height: 38px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .2);
  background: none; color: #fff;
  font-size: 15px; cursor: pointer;
}
.mm-cab button:hover { background: rgba(255, 255, 255, .08); }
.mobile-menu-link {
  display: block;
  color: #fff; font-size: 17px; font-weight: 600;
  padding: 13px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  text-decoration: none;
}
.mobile-menu-link:hover { color: #4ade80; }
.mobile-menu-link.activo { color: #4ade80; font-weight: 700; }
.mm-calc {
  margin-top: 22px;
  display: block; text-align: center;
  border: 1.5px solid #16c175; border-radius: 999px;
  color: #4ade80; font-weight: 700; font-size: 16px;
  padding: 13px 20px; text-decoration: none;
}
.mm-calc:hover { background: rgba(22, 193, 117, .12); }

/* ---------- Pie ---------- */
.sitio-footer {
  padding: 50px 6% 34px;
  background: #f5f7f3;
  border-top: 1px solid rgba(22, 36, 28, .08);
  display: flex; flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
}
.sitio-footer a { text-decoration: none; }
.sitio-footer-marca { display: flex; align-items: center; gap: 10px; }
.sitio-footer-marca img { width: 32px; height: 32px; object-fit: contain; }
.sitio-footer-marca span { font-weight: 700; font-size: 13px; color: #16241c; }
.sitio-footer-nav { display: flex; gap: 20px; flex-wrap: wrap; }
.sitio-footer-nav a { color: #5c6a5e; font-size: 13px; }
.sitio-footer-nav a:hover { color: #0b8f4f; }
.sitio-footer-legal {
  flex-basis: 100%;
  display: flex; gap: 18px; flex-wrap: wrap; align-items: center;
  padding-top: 18px;
  border-top: 1px solid rgba(22, 36, 28, .08);
}
.sitio-footer-legal a { color: #5c6a5e; font-size: 13px; }
.sitio-footer-legal a:hover { color: #0b8f4f; }
.sitio-arrepentimiento {
  color: #0b8f4f !important; font-weight: 700;
  border: 1.5px solid #0b8f4f; border-radius: 999px;
  padding: 7px 16px;
}
.sitio-footer-pie {
  flex-basis: 100%;
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px;
}
.sitio-footer-pie span { color: #8f9a90; font-size: 12px; }

/* ---------- WhatsApp flotante ---------- */
.whatsapp-float {
  position: fixed; right: 24px; bottom: 24px;
  z-index: 390;
  display: flex; align-items: center; gap: 12px;
  color: #fff; text-decoration: none;
}
.whatsapp-message {
  background: #fff; color: #173022;
  font-size: 13px; font-weight: 700; line-height: 1.35;
  padding: 11px 15px; border-radius: 13px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .22);
  animation: waNudge 4.5s ease-in-out infinite;
}
.whatsapp-button {
  position: relative;
  width: 60px; height: 60px; border-radius: 50%;
  display: grid; place-items: center;
  background: #25d366; color: #fff;
  box-shadow: 0 8px 28px rgba(37, 211, 102, .42);
}
.whatsapp-button::before, .whatsapp-button::after {
  content: ""; position: absolute; inset: 0;
  border: 2px solid rgba(37, 211, 102, .75);
  border-radius: 50%;
  animation: waPulse 2.6s ease-out infinite;
}
.whatsapp-button::after { animation-delay: 1.3s; }
.whatsapp-button svg { width: 32px; height: 32px; position: relative; z-index: 1; }
@keyframes waPulse { 0% { transform: scale(.9); opacity: .85 } 75%, 100% { transform: scale(1.65); opacity: 0 } }
@keyframes waNudge { 0%, 72%, 100% { transform: translateX(0) } 78% { transform: translateX(-5px) } 84% { transform: translateX(2px) } 90% { transform: translateX(-2px) } }

@media (max-width: 900px) {
  .sitio-nav .desktop-nav { display: none !important; }
  .sitio-nav { padding: 12px 5%; }
  .sitio-con-nav { padding-top: 68px; }
}
@media (max-width: 620px) {
  .whatsapp-message { display: none; }
  .whatsapp-float { right: 16px; bottom: 16px; }
  .sitio-footer { padding: 36px 6% 26px; }
}
@media (prefers-reduced-motion: reduce) {
  .whatsapp-message, .whatsapp-button::before, .whatsapp-button::after { animation: none !important; }
  .mobile-menu-drawer { transition: none; }
}

/* ============================================================
   Botones flotantes y el menú: quién va arriba de quién
   ============================================================ */

/* El menú es un modal: va por encima de TODO, incluidos los botones
   flotantes del carrito (z-index 10000) y de WhatsApp (99999). Antes
   quedaba debajo y esos botones aparecían flotando sobre el panel. */
#mobile-menu { z-index: 100000; }

/* Y además se esconden mientras el menú está abierto: aunque queden
   debajo, se los veía asomar por el velo oscuro y ensuciaban la pantalla.
   Se van con una transición para que no "parpadeen". */
body.menu-abierto .cart-fab,
body.menu-abierto .btn-wapp-float,
body.menu-abierto .whatsapp-float,
body.menu-abierto .wa-burbuja {
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}

/* El carrito estaba puesto al lado de la hamburguesa VIEJA del catálogo
   (fixed arriba a la derecha). Con la barra compartida esa hamburguesa ya
   no existe y el carrito quedaba encima de la barra. Ahora se acomoda
   DENTRO de la barra, a la izquierda del botón de menú. */
.con-sitio-nav .cart-fab {
  top: 17px;                        /* centrado en los 76px de la barra */
  right: calc(5% + 52px);           /* 5% del borde + 40 del botón + 12 de aire */
  z-index: 320;                     /* arriba de la barra (300), debajo del menú */
  background: rgba(255, 255, 255, .14);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .28);
  backdrop-filter: blur(6px);
}
.con-sitio-nav .cart-fab:hover {
  background: rgba(74, 222, 128, .22);
  border-color: #4ade80;
  color: #fff;
}
@media (max-width: 900px) {
  .con-sitio-nav .cart-fab { top: 14px; right: calc(5% + 50px); }
}
