/* =========================================================
   01. VARIABLES GLOBALES
   ========================================================= */

:root{
  --color-bg:#ffffff;
  --color-text:#0f172a;
  --color-muted:#64748b;
  --color-primary:#744923;
  --color-primary-dark:#5c3718;
  --color-border:#e2e8f0;
  --shadow:0 10px 30px rgba(0,0,0,.08);
  --shadow-hover:0 14px 34px rgba(0,0,0,.13);
  --container:1120px;
}


/* =========================================================
   02. RESET GENERAL
   ========================================================= */

*{
  box-sizing:border-box;
  margin:0;
  padding:0;
}

html,body{
  width:100%;
  min-height:100%;
  overflow-x:hidden;
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--color-text);
  background:var(--color-bg);
  line-height:1.6;
}

img{
  max-width:100%;
  height:auto;
  display:block;
}

a{
  color:inherit;
  text-decoration:none;
}

ul{
  list-style:none;
}


/* =========================================================
   03. HEADER
   ========================================================= */

.header{
  position:sticky;
  top:0;
  z-index:1000;
  background:#ffffff;
  width:100%;
  padding:14px 40px;
  border-bottom:1px solid var(--color-border);
  display:flex;
  align-items:center;
}

.logo-group{
  display:flex;
  align-items:center;
  gap:10px;
  max-width:var(--container);
  margin:0 auto;
  width:100%;
}

.logo-img,
.imagen{
  width:auto;
  height:52px;
  object-fit:contain;
}

.logo-text{
  font-family:"Playfair Display",serif;
  font-size:28px;
  font-weight:700;
  color:var(--color-primary);
}


/* =========================================================
   04. BROCHURE / IMAGEN PRINCIPAL
   ========================================================= */

.brochure-section{
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  padding:0;
  margin:0;
}

.brochure-card{
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
}

.brochure-img{
  display:block;
  width:auto;
  max-width:min(1400px,95vw);
  height:auto;
  margin-left:auto;
  margin-right:auto;
}

/* =========================================================
   04. PROMO / IMAGEN secundaria
   ========================================================= */
.promo-container{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    margin:30px auto;
}

.promo-img{
    width:40%;
    max-width:400px;
    height:auto;
}

/* =========================================================
   05. FOOTER
   ========================================================= */

.footer{
  --top-bg:#111827;
  --bottom-bg:#152037;
  --text:#e5e7eb;
  --muted:#94a3b8;
}

.footer-top{
  background:var(--top-bg);
  color:var(--text);
  padding:clamp(28px,4vw,48px) 16px;
}

.footer-inner{
  max-width:var(--container);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(280px,1.15fr) minmax(220px,1fr) minmax(220px,1fr);
  gap:clamp(20px,3vw,36px);
  align-items:start;
}

.footer-bottom{
  background:var(--bottom-bg);
  color:#cbd5e1;
  padding:14px 12px;
}

.footer-bottom-inner{
  max-width:var(--container);
  margin:0 auto;
  text-align:center;
  font-size:1rem;
}

.footer-brand,
.footer-col{
  width:100%;
  text-align:left;
}

.footer-avatar{
  width:112px;
  height:112px;
  object-fit:cover;
  border-radius:16px;
  margin-bottom:14px;
  box-shadow:0 6px 24px rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.06);
}

.brand-heading{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:2px 0 6px;
}

.brand-lotus{
  width:28px;
  height:28px;
  object-fit:contain;
}

.brand-title{
  font-family:"Playfair Display",serif;
  font-size:clamp(1.35rem,1.1rem + .8vw,1.7rem);
  font-weight:700;
  color:var(--text);
}

.brand-tagline{
  margin-top:6px;
  color:var(--muted);
  max-width:40ch;
  line-height:1.5;
}

.footer-col-title{
  font-family:"Playfair Display",serif;
  font-weight:700;
  font-size:clamp(1.1rem,1rem + .3vw,1.3rem);
  color:var(--text);
  margin:4px 0 10px;
}

.footer-links{
  display:grid;
  gap:8px;
}

.footer-links a{
  color:var(--text);
  opacity:.9;
  display:inline-block;
  line-height:1.5;
  transition:opacity .15s ease,transform .15s ease;
}

.footer-links a:hover{
  opacity:1;
  transform:translateX(2px);
  text-decoration:underline;
  text-underline-offset:3px;
}

.contact-list a{
  display:inline-flex;
  align-items:center;
  gap:10px;
}


/* =========================================================
   06. BOTÓN FLOTANTE PRINCIPAL - INSCRÍBETE
   ========================================================= */

.payu-float{
  position:fixed;
  right:25px;
  bottom:120px;
  z-index:99999;

  width:260px;
  height:62px;

  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;

  background:#ffffff;
  color:#744923;

  border:3px solid #C9A96A;
  border-radius:999px;

  font-size:18px;
  font-weight:700;

  box-shadow:0 10px 28px rgba(0,0,0,.12);
  transition:all .25s ease;
}

.payu-float:hover{
  background:#744923;
  color:#ffffff;
  border-color:#744923;
  transform:translateY(-3px);
  box-shadow:0 14px 32px rgba(0,0,0,.20);
}

.payu-float svg{
  width:24px;
  height:24px;
  flex-shrink:0;
}

.payu-float svg path:first-child{
  fill:#744923;
  transition:fill .25s ease;
}

.payu-float svg path:last-child{
  stroke:#ffffff;
  transition:stroke .25s ease;
}

.payu-float:hover svg path:first-child{
  fill:#ffffff;
}

.payu-float:hover svg path:last-child{
  stroke:#744923;
}


/* =========================================================
   07. BOTÓN FLOTANTE SECUNDARIO - WHATSAPP
   20% MÁS PEQUEÑO QUE LA VERSIÓN ANTERIOR
   ========================================================= */

.whatsapp-float{
  position:fixed;
  right:25px;
  bottom:60px;
  z-index:99999;

  width:208px;
  height:42px;

  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;

  background:#ffffff;
  color:#176A31;

  border:3px solid #1E7A39;
  border-radius:999px;

  box-shadow:0 6px 20px rgba(0,0,0,.10);
  text-decoration:none;

  transition:all .25s ease;
}

.whatsapp-float:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 26px rgba(0,0,0,.16);
  background:#f8fff9;
}

.whatsapp-float img{
  width:28px;
  height:28px;
  flex-shrink:0;
}

.whatsapp-text{
  color:#176A31;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}


/* =========================================================
   08. ACCESIBILIDAD
   ========================================================= */

a:focus-visible,
button:focus-visible{
  outline:2px solid var(--color-primary);
  outline-offset:3px;
  border-radius:12px;
}

.footer a:focus-visible{
  outline:2px solid #ffffff;
}

@media (prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    scroll-behavior:auto !important;
    transition:none !important;
    animation:none !important;
  }
}


/* =========================================================
   09. RESPONSIVE - TABLET
   ========================================================= */

@media (max-width:900px){
  .header{
    padding:14px 20px;
  }

  .logo-img,
  .imagen{
    height:44px;
  }

  .logo-text{
    font-size:24px;
  }

  .brochure-img{
    width:auto;
    max-width:100vw;
  }

  .footer-inner{
    grid-template-columns:1fr;
    gap:26px;
  }

  .footer-brand,
  .footer-col{
    max-width:560px;
  }
}


/* =========================================================
   10. RESPONSIVE - MÓVIL GRANDE
   ========================================================= */

@media (max-width:768px){
  .payu-float{
    right:16px;
    width:230px;
    bottom:110px;
    height:58px;
    font-size:17px;
  }

  .whatsapp-float{
    right:16px;
    width:185px;
    height:38px;
    bottom:55px;
  }

  .whatsapp-text{
    font-size:12px;
  }

  .whatsapp-float img{
    width:24px;
    height:24px;
  }
}


/* =========================================================
   11. RESPONSIVE - MÓVIL PEQUEÑO
   ========================================================= */

@media (max-width:480px){
  .header{
    padding:12px 16px;
  }

  .logo-img,
  .imagen{
    height:38px;
  }

  .logo-text{
    font-size:20px;
  }

  .brochure-img{
    width:auto;
    max-width:100vw;
  }

  .payu-float{
    right:12px;
    width:210px;
    bottom:105px;
    height:54px;
    font-size:16px;
  }

  .whatsapp-float{
    right:12px;
    width:170px;
    height:36px;
    bottom:55px;
  }

  .whatsapp-text{
    font-size:11px;
  }

  .whatsapp-float img{
    width:22px;
    height:22px;
  }
}

/* =========================================================
   11. modal
   ========================================================= */

.modal-inscripcion{
  display:none;
  position:fixed;
  inset:0;
  z-index:9999999;
  background:rgba(0,0,0,.65);
  justify-content:center;
  align-items:center;
  padding:20px;
}

.modal-inscripcion.active{
  display:flex;
}

.modal-content{
  width:100%;
  max-width:440px;
  max-height:90vh;
  overflow-y:auto;

  background:#fff;
  border-radius:22px;
  padding:24px;

  position:relative;

  box-shadow:0 25px 70px rgba(0,0,0,.25);
}

.modal-close{
  position:absolute;
  right:16px;
  top:12px;

  border:none;
  background:none;

  font-size:30px;
  line-height:1;

  cursor:pointer;
  color:#744923;
}

.modal-content h2{
  font-size:30px;
  margin-bottom:6px;
}

.modal-content p{
  color:#64748b;
  margin-bottom:18px;
  font-size:15px;
}

.modal-content label{
  display:block;

  margin-top:12px;
  margin-bottom:5px;

  font-weight:600;
  font-size:15px;
}

.modal-content input,
.modal-content select{
  width:100%;

  padding:12px 14px;

  border:1px solid #e2e8f0;
  border-radius:12px;

  font-size:15px;
  min-height:48px;
}

.modal-content input:focus,
.modal-content select:focus{
  outline:none;
  border-color:#744923;
}

.modal-content button[type="submit"]{
  width:100%;

  margin-top:20px;
  padding:14px;

  border:none;
  border-radius:999px;

  background:#744923;
  color:white;

  font-size:16px;
  font-weight:700;

  cursor:pointer;
}

/* Scroll bonito */

.modal-content::-webkit-scrollbar{
  width:8px;
}

.modal-content::-webkit-scrollbar-thumb{
  background:#d0d7e2;
  border-radius:999px;
}