:root {
  --thm-font: 'Poppins', sans-serif;
  --thm-reey-font: 'reeyregular';

  /* Neutro gris para texto secundario/bordes */
  --thm-gray: #878c8f;
  --thm-gray-rgb: 135, 140, 143;

  /* Acento principal (derivado de tu paleta cálida, NO chillón) */
  /* Usamos #D9843B como base principal */
  --thm-base: #878c8f;
--thm-base-rgb: 135, 140, 143;

  /* Texto oscuro accesible (para contrastar sobre fondos cálidos) */
  --thm-black: #181918;
  --thm-black-rgb: 24, 25, 24;
}
/* ===== Preloader (seguro y accesible) ===== */
.loader-wrap{
  position:fixed; inset:0; z-index:9999;
  display:grid; place-items:center;
  background:#fff; transition:opacity .25s ease;
}
.loader-wrap.is-hiding{ opacity:0; }
.loader-wrap.is-gone{ display:none !important; }

/* Si el usuario prefiere menos animación, corta la transición */
@media (prefers-reduced-motion: reduce){
  .loader-wrap{ transition:none; }
}
/* ===== FIX MENÚ MÓVIL (OFF-CANVAS) ===== */
@media (max-width: 991.98px){
  /* Evita que contenedores padres corten el panel */
  .main-header-three__bottom,
  .main-menu,
  .main-menu__wrapper,
  .main-menu__wrapper-inner,
  .main-menu-box{
    position: static !important;
    overflow: visible !important;
  }

  /* Botón */
  .mobile-nav__toggler{
    appearance:none; border:0; background:transparent; padding:8px;
    font-size:22px; line-height:1; color:var(--thm-black);
    z-index: 1201; /* por encima del backdrop */
  }

  /* Panel del menú (oculto fuera de pantalla por defecto) */
  #primaryMenu.main-menu__list{
    display: block !important;      /* algunos themes lo ocultan */
    position: fixed !important;
    top: 0; right: 0;               /* desliza desde la derecha */
    width: min(84vw, 340px);
    height: 100vh;
    margin: 0; padding: 70px 20px 20px;
    list-style: none;
    background: #fff;
    transform: translateX(100%);    /* oculto */
    transition: transform .28s ease;
    box-shadow: -24px 0 60px rgba(0,0,0,.12);
    z-index: 1202;                  /* por encima del backdrop */
    overflow-y: auto;
  }
  /* Layout vertical de los items */
  #primaryMenu.main-menu__list > li{
    margin: 0 0 12px;
  }
  #primaryMenu.main-menu__list a{
    display:block; padding:12px 10px; font-weight:700; color:var(--thm-black);
    border-radius:10px; text-decoration:none;
  }
  #primaryMenu.main-menu__list a:hover{
    background: rgba(var(--thm-base-rgb,182,31,36), .08);
  }

  /* Estado ABIERTO */
  #primaryMenu.main-menu__list.is-open{
    transform: translateX(0) !important;
    visibility: visible !important;
  }

  /* Backdrop */
  .mobile-nav__backdrop[hidden]{ display:none !important; }
  .mobile-nav__backdrop{
    position: fixed; inset: 0; background: rgba(0,0,0,.45);
    backdrop-filter: blur(1px);
    z-index: 1200;                  /* detrás del panel, delante del sitio */
  }
}

/* En desktop, comportamiento normal */
@media (min-width: 992px){
  .mobile-nav__toggler, .mobile-nav__backdrop{ display:none !important; }
  #primaryMenu.main-menu__list{
    position: static !important; transform: none !important; height:auto; width:auto;
    box-shadow:none; padding:0; overflow:visible;
  }
}
