/*
Theme Name: FMH Theme V4
Theme URI: https://federacionherbolaria.com
Author: Gabo Neri
Description: Tema profesional optimizado para la Federación Mexicana de Herbolaria. Compatible con Elementor y Gutenberg. 
Version: 4.1
Text Domain: fmh
*/

/* -----------------------------------------------------------
   VARIABLES
----------------------------------------------------------- */
:root{
  --font-primary: "Montserrat", sans-serif;
  --font-heading: "Playfair Display", serif;

  --blanco: #ffffff;
  --gris-claro: #f4f4f4;
  --gris: #e6e6e6;
  --negro: #222222;
  --arena: #f5f1e7;
  --tierra: #8c5b3f;
  --verde-oscuro: #2e5945;
  --verde-medio: #4b8f6f;
  --verde-claro: #bcd4c7;

  --max-width: 1300px;
  --transition: 0.3s ease;
}

/* -----------------------------------------------------------
   RESET & BASE
----------------------------------------------------------- */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-primary);
  color:var(--negro);
  background:var(--blanco);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--verde-oscuro);text-decoration:none}
a:hover{text-decoration:underline}

.container{
  width:90%;
  max-width:var(--max-width);
  margin:0 auto;
}

/* -----------------------------------------------------------
   HEADER
----------------------------------------------------------- */
.site-header{
  width:100%;
  padding:16px 0;
  background:var(--blanco);
  border-bottom:1px solid var(--gris);
  position:sticky;
  top:0;
  z-index:999;
}

.header-container{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}

/* Logo header: controlado y responsive */
.site-header .custom-logo,
.site-header .custom-logo-link img,
.site-header .site-logo img{
  max-height:70px;
  width:auto;
  object-fit:contain;
  display:block;
}

/* Título fallback */
.site-title{font-weight:700;color:var(--negro);font-size:18px}

/* Navegación */
.site-nav{display:flex;align-items:center}
.nav-menu{list-style:none;display:flex;gap:24px;margin:0;padding:0}
.nav-menu a{color:var(--negro);font-weight:500;transition:var(--transition)}
.nav-menu a:hover,.nav-menu .current-menu-item a{color:var(--verde-medio)}

/* Botón menú (mobile) */
.menu-toggle{display:none;background:none;border:none;font-size:32px;cursor:pointer}

/* -----------------------------------------------------------
   HERO
----------------------------------------------------------- */
.hero{
  padding:120px 0;
  background-size:cover;
  background-position:center;
  color:var(--blanco);
  text-shadow:0 2px 4px rgba(0,0,0,0.35);
}
.hero-container{display:flex;align-items:center}
.hero-title{font-family:var(--font-heading);font-size:48px;margin-bottom:12px}
.hero-subtitle{font-size:18px;max-width:650px;margin-bottom:18px}
.hero-buttons{display:flex;gap:12px}

/* -----------------------------------------------------------
   SECCIONES GENERALES
----------------------------------------------------------- */
.section{padding:80px 0}
.section-title{text-align:center;font-family:var(--font-heading);font-size:34px;margin-bottom:30px}

/* Grids flexibles */
.grid-2, .grid-3, .grid-4{
  display:grid;
  gap:30px;
}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}

/* Cards */
.card{
  background:var(--blanco);
  padding:22px;
  border-radius:10px;
  box-shadow:0 6px 18px rgba(0,0,0,0.06);
  transition:var(--transition);
}
.card:hover{transform:translateY(-6px)}

/* Utility image class */
.img-fluid{width:100%;height:auto;border-radius:8px;display:block}

/* -----------------------------------------------------------
   BUTTONS
----------------------------------------------------------- */
.button{
  display:inline-block;
  padding:12px 26px;
  background:var(--verde-medio);
  color:var(--blanco);
  border-radius:8px;
  text-decoration:none;
  transition:var(--transition);
  font-weight:600;
}
.button:hover{opacity:.95;transform:scale(1.02)}

.button-outline{
  background:transparent;
  border:2px solid var(--verde-medio);
  color:var(--verde-medio);
  padding:10px 22px;
}
.button-outline:hover{background:var(--verde-medio);color:var(--blanco)}

/* -----------------------------------------------------------
   FOOTER
----------------------------------------------------------- */
.site-footer{
  margin-top:40px;
  font-size:14px;
  background:linear-gradient(180deg,var(--tierra),#6a3f25);
  color:var(--blanco);
}
.footer-flex{
  display:flex;
  gap:20px;
  justify-content:space-between;
  padding:40px 0;
  flex-wrap:wrap;
}
.footer-block{max-width:280px}
.footer-block h4{margin-bottom:8px}
.footer-copy{
  text-align:center;
  background:rgba(0,0,0,0.08);
  padding:12px;
}

/* Footer logo controlado */
.site-footer img, .footer-logo img{
  max-height:60px;
  width:auto;
  object-fit:contain;
  display:inline-block;
}

/* -----------------------------------------------------------
   FORMS, WIDGETS & CONTENT
----------------------------------------------------------- */
.
