/* ==========================================================================
   ALUMA — International Medical Hospitality
   Sistema de diseño: paleta y tipografía del Manual de Identidad v1.0 (2026)
   Layout/patrones de interacción inspirados en avada.website/architecture
   ========================================================================== */

:root{
  --carbon:#0D0D0F;       /* Negro Carbón 50% */
  --grafito:#333336;      /* Gris Grafito 30% */
  --marfil:#E3DCD4;       /* Marfil Cálido 15% */
  --taupe:#C9B7A0;        /* Taupe Arena 10% */
  --champagne:#B89A6A;    /* Champagne Suave 5% - acento/CTA principal */
  --champagne-dark:#9c8154;
  --white:#FFFFFF;
  --whatsapp:#25D366;
  --whatsapp-dark:#1ebe57;
  --text-dark:#232326;
  --text-muted:#6b6b6e;
  --border-soft:rgba(13,13,15,0.1);
  --font-serif:Georgia,'Times New Roman',serif;
  --font-sans:'Helvetica Neue',Helvetica,Arial,sans-serif;
  --max-width:1180px;
  --radius:2px;
  --shadow-soft:0 10px 30px rgba(13,13,15,0.08);
  --shadow-card:0 6px 20px rgba(13,13,15,0.10);
  --header-h:46px;
  --nav-h:76px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-sans);
  color:var(--text-dark);
  background:var(--white);
  line-height:1.6;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{font-family:var(--font-serif);font-weight:400;margin:0 0 16px;color:var(--carbon);letter-spacing:.2px;}
h1{font-size:clamp(34px,4.4vw,58px);line-height:1.12;}
h2{font-size:clamp(26px,3vw,38px);line-height:1.2;}
h3{font-size:20px;line-height:1.35;}
p{margin:0 0 16px;color:var(--text-muted);}
.container{max-width:var(--max-width);margin:0 auto;padding:0 28px;}
.eyebrow{
  font-family:var(--font-sans);
  font-size:12px;
  font-weight:700;
  letter-spacing:2.2px;
  text-transform:uppercase;
  color:var(--champagne-dark);
  display:block;
  margin-bottom:14px;
}
section{position:relative;}
.section-pad{padding:76px 0;}
.bg-marfil{background:var(--marfil);}
.bg-carbon{background:var(--carbon);color:var(--marfil);}
.bg-carbon h2,.bg-carbon h3{color:var(--white);}
.bg-carbon p{color:rgba(227,220,212,.75);}
.bg-white{background:var(--white);}
.bg-grafito{background:var(--grafito);color:var(--marfil);}
.bg-grafito h2,.bg-grafito h3{color:var(--white);}
.text-center{text-align:center;}

/* ---------- Top header bar ---------- */
.top-bar{
  background:var(--carbon);
  color:var(--marfil);
  font-size:13px;
  font-family:var(--font-sans);
}
.top-bar .container{
  display:flex;align-items:center;justify-content:space-between;
  height:var(--header-h);
}
.top-bar-left{display:flex;align-items:center;gap:22px;}
.top-bar a{color:var(--marfil);}
.top-bar a:hover{color:var(--champagne);}
.top-bar-item{display:flex;align-items:center;gap:7px;white-space:nowrap;}
.top-bar-item svg{width:14px;height:14px;flex:none;}
.top-bar-brand{font-family:var(--font-serif);letter-spacing:2px;font-size:13px;}
.lang-switch{display:flex;gap:6px;font-weight:700;letter-spacing:.5px;font-size:13px;}
.lang-switch a{opacity:.55;padding:2px 4px;color:var(--marfil);}
.lang-switch a.active{opacity:1;border-bottom:1px solid var(--champagne);}
.lang-switch-item{display:flex;align-items:center;padding-left:14px;margin-left:6px;border-left:1px solid rgba(227,220,212,.18);}

/* ---------- Sticky main nav ---------- */
.main-nav{
  position:sticky;top:0;z-index:500;
  background:rgba(13,13,15,.97);
  border-bottom:1px solid rgba(227,220,212,.08);
}
.main-nav .container{
  display:flex;align-items:center;justify-content:space-between;
  height:var(--nav-h);
}
.brand-logo{display:flex;align-items:center;gap:10px;}
.brand-logo img{height:34px;width:auto;}
.nav-links{display:flex;align-items:center;gap:34px;}
.nav-links > li{position:relative;}
.nav-links a{
  color:var(--marfil);font-size:14px;letter-spacing:.4px;
  padding:10px 2px;display:flex;align-items:center;gap:5px;
}
.nav-links > li > a::after{
  content:"";position:absolute;left:2px;right:2px;bottom:4px;height:1px;
  background:var(--champagne);transform:scaleX(0);transition:transform .25s ease;
}
.nav-links > li > a:hover::after,
.nav-links > li.active > a::after{transform:scaleX(1);}
.chevron{width:9px;height:9px;transition:transform .2s ease;}
.has-submenu:hover .chevron{transform:rotate(180deg);}
.submenu{
  position:absolute;top:100%;left:-18px;min-width:280px;
  background:var(--carbon);border:1px solid rgba(227,220,212,.1);
  box-shadow:var(--shadow-soft);
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:all .2s ease;padding:10px 0;
}
.has-submenu:hover .submenu{opacity:1;visibility:visible;transform:translateY(0);}
.submenu a{padding:12px 24px;font-size:13.5px;display:block;}
.submenu a:hover{background:rgba(184,154,106,.12);color:var(--champagne);}
.nav-ctas{display:flex;align-items:center;gap:12px;}
.hamburger{display:none;background:none;border:0;cursor:pointer;padding:6px;}
.hamburger span{display:block;width:24px;height:2px;background:var(--marfil);margin:5px 0;transition:.2s;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--font-sans);font-size:13.5px;font-weight:700;
  letter-spacing:1px;text-transform:uppercase;
  padding:15px 28px;border-radius:var(--radius);border:1.5px solid transparent;
  cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-2px);}
.btn svg{width:16px;height:16px;}
.btn-solid{background:var(--champagne);color:var(--carbon);}
.btn-solid:hover{background:var(--white);box-shadow:var(--shadow-card);}
.btn-outline{background:transparent;border-color:var(--marfil);color:var(--marfil);}
.btn-outline:hover{background:var(--marfil);color:var(--carbon);}
.btn-outline-dark{background:transparent;border-color:var(--carbon);color:var(--carbon);}
.btn-outline-dark:hover{background:var(--carbon);color:var(--marfil);}
.btn-whatsapp{background:var(--whatsapp);color:var(--white);border-color:var(--whatsapp);}
.btn-whatsapp:hover{background:var(--whatsapp-dark);box-shadow:var(--shadow-card);}
.btn-block{width:100%;}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:8px;}

/* ---------- Hero ---------- */
.hero{
  position:relative;min-height:460px;display:flex;align-items:flex-end;
  background-size:cover;background-position:center;color:var(--white);
  padding-top:calc(var(--nav-h) + 16px);
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(13,13,15,.55) 0%,rgba(13,13,15,.35) 35%,rgba(13,13,15,.88) 100%);
}
.hero-inner{position:relative;z-index:2;padding-bottom:40px;width:100%;}
.hero h1{color:var(--white);max-width:800px;}
.hero .eyebrow{
  display:inline-block;background:rgba(13,13,15,.6);border:1px solid rgba(227,220,212,.2);
  padding:7px 14px;border-radius:var(--radius);margin-bottom:18px;
}
.hero .lead{color:rgba(255,255,255,.88);font-size:19px;max-width:620px;margin-bottom:26px;}
.hero-cred{
  display:inline-flex;flex-wrap:wrap;gap:10px 22px;align-items:center;
  background:rgba(13,13,15,.45);border:1px solid rgba(227,220,212,.25);
  padding:10px 18px;border-radius:var(--radius);font-size:12.5px;color:var(--marfil);
  margin-bottom:22px;
}
.page-hero{min-height:280px;}
.page-hero .hero-inner{padding-bottom:28px;}

/* ---------- Trust bar ---------- */
.trust-bar{background:var(--marfil);border-bottom:1px solid var(--border-soft);}
.trust-bar .container{
  display:flex;flex-wrap:wrap;gap:10px 40px;align-items:center;justify-content:center;
  padding:22px 28px;
}
.trust-item{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--grafito);font-weight:600;}
.trust-item svg{width:20px;height:20px;flex:none;color:var(--champagne-dark);}

/* ---------- texto-foto (2 columnas simétricas) ---------- */
.split{
  display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:stretch;
}
.split.reverse{direction:rtl;}
.split.reverse > *{direction:ltr;}
.split-media{position:relative;min-height:100%;}
.split-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.split-text{display:flex;flex-direction:column;justify-content:center;padding:20px 0;}
.split-text ul{margin:18px 0;}
.split-text ul li{position:relative;padding-left:26px;margin-bottom:12px;color:var(--text-muted);}
.split-text ul li::before{
  content:"";position:absolute;left:0;top:8px;width:12px;height:12px;
  background:var(--champagne);border-radius:1px;
}

/* ---------- Tarjetas ---------- */
.grid-cards{display:grid;gap:28px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}
.card{
  background:var(--white);border:1px solid var(--border-soft);border-radius:var(--radius);
  padding:32px 26px;transition:transform .2s ease,box-shadow .2s ease;
}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card);}
.card .icon{
  width:46px;height:46px;border-radius:50%;background:var(--marfil);
  display:flex;align-items:center;justify-content:center;margin-bottom:18px;
}
.card .icon svg{width:22px;height:22px;color:var(--champagne-dark);}
.card h3{margin-bottom:10px;}
.card-photo{border:0;padding:0;overflow:hidden;}
.card-photo img{width:100%;height:220px;object-fit:cover;}
.card-photo .card-body{padding:22px 24px;}
.card-photo .tag{font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--champagne-dark);font-weight:700;}

/* ---------- Proceso / stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;}
.stat-num{font-family:var(--font-serif);font-size:42px;color:var(--champagne);}
.stat-label{font-size:13px;letter-spacing:.6px;color:rgba(227,220,212,.75);text-transform:uppercase;}
.process{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;counter-reset:step;}
.process-step{text-align:center;position:relative;}
.process-step .num{
  width:38px;height:38px;border-radius:50%;border:1.5px solid var(--champagne);
  display:flex;align-items:center;justify-content:center;margin:0 auto 14px;
  font-family:var(--font-serif);color:var(--champagne-dark);
}

/* ---------- Acordeon (FAQ / mitos / alertas) ---------- */
.accordion-item{border-bottom:1px solid var(--border-soft);}
.accordion-item summary{
  list-style:none;cursor:pointer;padding:20px 4px;display:flex;
  align-items:center;justify-content:space-between;gap:20px;font-weight:700;color:var(--carbon);
  font-size:16px;
}
.accordion-item summary::-webkit-details-marker{display:none;}
.accordion-item summary .plus{
  width:22px;height:22px;flex:none;position:relative;
}
.accordion-item summary .plus::before,.accordion-item summary .plus::after{
  content:"";position:absolute;background:var(--champagne-dark);
}
.accordion-item summary .plus::before{left:0;top:50%;width:100%;height:2px;transform:translateY(-50%);}
.accordion-item summary .plus::after{top:0;left:50%;width:2px;height:100%;transform:translateX(-50%);transition:opacity .2s;}
.accordion-item[open] summary .plus::after{opacity:0;}
.accordion-item .accordion-body{padding:0 4px 22px;color:var(--text-muted);}
.accordion-item.alert summary{color:#8a4b1f;}
.accordion-item.myth .myth-label{color:#a33b3b;font-weight:700;}
.accordion-item.myth .real-label{color:#3b7a4a;font-weight:700;}

/* ---------- Reviews ---------- */
.reviews-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.review-card{background:var(--white);border:1px solid var(--border-soft);padding:26px;border-radius:var(--radius);}
.review-stars{display:flex;gap:3px;margin-bottom:12px;color:var(--champagne-dark);}
.review-stars svg{width:16px;height:16px;}
.review-name{font-weight:700;margin-top:14px;font-size:14px;color:var(--carbon);}
.review-source{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);margin-top:4px;}
.review-source img{width:16px;height:16px;}

/* ---------- Mapa ---------- */
.map-embed{width:100%;height:420px;border:0;filter:grayscale(15%);}

/* ---------- Formulario ---------- */
.form-wrap{
  background:var(--white);border:1px solid var(--border-soft);
  padding:40px;border-radius:var(--radius);box-shadow:var(--shadow-card);
}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-grid .full{grid-column:1/-1;}
label{display:block;font-size:12.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--grafito);margin-bottom:7px;}
input,select,textarea{
  width:100%;padding:13px 14px;border:1.5px solid var(--border-soft);border-radius:var(--radius);
  font-family:var(--font-sans);font-size:14.5px;background:var(--marfil);color:var(--text-dark);
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--champagne);}
textarea{resize:vertical;min-height:110px;}
.form-note{font-size:12px;color:var(--text-muted);margin-top:14px;}
.form-note a{color:var(--champagne-dark);text-decoration:underline;}

/* ---------- Formulario: sección oscura con foto de fondo ---------- */
.form-section{position:relative;background-size:cover;background-position:center;}
.form-overlay{
  position:relative;padding:64px 0;
  background:linear-gradient(100deg,rgba(13,13,15,.94) 0%,rgba(13,13,15,.9) 45%,rgba(13,13,15,.72) 100%);
}
.form-split{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center;}
.form-intro .eyebrow{color:var(--champagne);}
.form-intro h2{color:var(--white);margin-bottom:14px;}
.form-intro p{color:rgba(227,220,212,.8);}
.form-bullets{margin:20px 0 26px;}
.form-bullets li{
  display:flex;align-items:center;gap:12px;margin-bottom:12px;
  color:rgba(227,220,212,.9);font-size:14.5px;
}
.form-bullets svg{width:18px;height:18px;flex:none;color:var(--champagne);}
.form-compact{padding:28px 30px;}
.form-compact .form-grid{gap:12px;}
.form-compact label{margin-bottom:5px;font-size:11.5px;}
.form-compact input,.form-compact select,.form-compact textarea{padding:10px 12px;font-size:14px;}
.form-compact textarea{min-height:64px;}
.form-compact .form-note{margin-top:10px;font-size:11.5px;}

/* ---------- Credenciales ---------- */
.credenciales-bar{
  background:var(--carbon);color:var(--marfil);padding:20px 0;font-size:13px;
  border-top:1px solid rgba(227,220,212,.12);border-bottom:1px solid rgba(227,220,212,.12);
}
.credenciales-bar .container{display:flex;flex-wrap:wrap;gap:10px 34px;justify-content:center;text-align:center;}
.credenciales-bar strong{color:var(--champagne);font-weight:700;}

/* ---------- Footer ---------- */
.site-footer{background:var(--carbon);color:rgba(227,220,212,.8);}
.footer-top{padding:64px 0 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;}
.footer-top h4{color:var(--white);font-size:14px;letter-spacing:1px;text-transform:uppercase;font-family:var(--font-sans);margin-bottom:18px;}
.footer-top a{display:flex;align-items:center;gap:9px;color:rgba(227,220,212,.75);font-size:14px;margin-bottom:10px;}
.footer-top a:hover{color:var(--champagne);}
.footer-top svg{width:16px;height:16px;flex:none;}
.footer-logo img{height:32px;width:auto;margin-bottom:16px;}
.footer-social{display:flex;gap:12px;margin-top:18px;}
.footer-social a{
  width:36px;height:36px;border:1px solid rgba(227,220,212,.25);border-radius:50%;
  display:flex;align-items:center;justify-content:center;margin-bottom:0;
}
.footer-social svg{width:16px;height:16px;flex:none;}
.footer-bottom{
  border-top:1px solid rgba(227,220,212,.12);padding:22px 0;font-size:12.5px;
  display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;color:rgba(227,220,212,.55);
}
.footer-bottom .legal-links{display:flex;gap:20px;flex-wrap:wrap;}
.mkt-salud-signature{
  padding:14px 28px 26px;border-top:1px solid rgba(227,220,212,.08);
  text-align:center;font-size:12px;color:rgba(227,220,212,.4);
}
.mkt-salud-signature a{color:rgba(227,220,212,.55);}
.mkt-salud-signature a:hover{color:var(--champagne);}
.footer-bottom a:hover{color:var(--champagne);}

/* ---------- Placeholder floating bubble (visual only, ver resumen) ---------- */
.floating-placeholder{
  position:fixed;right:24px;bottom:24px;z-index:400;
  width:58px;height:58px;border-radius:50%;background:var(--whatsapp);
  display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(0,0,0,.28);
}
.floating-placeholder svg{width:30px;height:30px;color:var(--white);}

/* ---------- Patrón decorativo ---------- */
.pattern-divider{
  height:64px;background-image:url('patron-marca.png');background-size:220px;background-repeat:repeat;opacity:.5;
}
.bg-carbon .pattern-divider,.bg-grafito .pattern-divider{opacity:.14;filter:invert(1);}

/* ---------- Utilidades responsive ---------- */
.mb-0{margin-bottom:0;}
.section-head{max-width:720px;margin:0 auto 48px;text-align:center;}
.section-head.left{margin:0 0 44px;text-align:left;}

@media (max-width:1100px){
  .footer-top{grid-template-columns:1fr 1fr;}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .process{grid-template-columns:repeat(3,1fr);}
}

@media (max-width:860px){
  .top-bar{display:none;}
  .nav-links{
    position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;
    background:var(--carbon);flex-direction:column;align-items:stretch;gap:0;
    padding:10px 24px 40px;overflow-y:auto;
    transform:translateX(100%);transition:transform .25s ease;
  }
  .nav-links.open{transform:translateX(0);}
  .nav-links > li{width:100%;}
  .nav-links a{padding:16px 2px;border-bottom:1px solid rgba(227,220,212,.08);width:100%;}
  .nav-ctas{display:none;}
  .hamburger{display:block;}
  .submenu{position:static;opacity:1;visibility:visible;transform:none;display:none;background:rgba(227,220,212,.04);padding:0;}
  .has-submenu.mobile-open .submenu{display:block;}
  .has-submenu.mobile-open .chevron{transform:rotate(180deg);}
  .split{grid-template-columns:1fr;}
  .split-media{min-height:280px;}
  .split.reverse{direction:ltr;}
  .grid-3,.grid-4,.grid-2{grid-template-columns:1fr;}
  .reviews-strip{grid-template-columns:1fr;}
  .stats{grid-template-columns:repeat(2,1fr);}
  .process{grid-template-columns:repeat(2,1fr);}
  .form-grid{grid-template-columns:1fr;}
  .form-split{grid-template-columns:1fr;gap:32px;}
  .form-overlay{padding:44px 0;}
  .footer-top{grid-template-columns:1fr;gap:30px;}
  .hero{min-height:560px;}
}
