/*
Theme Name: Cáritas Mérida Child
Template: hello-elementor
Version: 1.0
*/

:root {
  --cr: #C0392B; --crd: #922B21; --crl: #E74C3C;
  --gold: #D4AC0D; --warm: #F5F0EB; --dark: #1A1A2E;
  --gray: #6C757D; --light: #F8F9FA;
  --shadow: 0 4px 20px rgba(0,0,0,0.08);
  --shadowr: 0 8px 30px rgba(192,57,43,0.2);
  --rad: 12px; --tr: all 0.3s ease;
}
* { box-sizing: border-box; }
body { font-family: 'Inter','Segoe UI',sans-serif; color: var(--dark); line-height: 1.7; }

/* HEADER */
.elementor-location-header { background:#fff!important; box-shadow:0 2px 20px rgba(0,0,0,0.08)!important; position:sticky!important; top:0; z-index:9999; }
nav .menu-item a { font-weight:600!important; font-size:15px!important; color:var(--dark)!important; padding:8px 16px!important; border-radius:6px; transition:var(--tr); }
nav .menu-item a:hover { color:var(--cr)!important; background:rgba(192,57,43,0.06); }

/* BOTONES */
.elementor-button { border-radius:50px!important; font-weight:700!important; transition:var(--tr)!important; }
.elementor-button-primary { background:var(--cr)!important; color:#fff!important; border:none!important; }
.elementor-button-primary:hover { background:var(--crd)!important; transform:translateY(-3px)!important; box-shadow:var(--shadowr)!important; }

/* HERO */
.e-con.hero, section.hero { background:linear-gradient(135deg,#8B0000 0%,#C0392B 50%,#E74C3C 100%)!important; padding:100px 0 80px!important; }

/* CARDS */
.service-card { background:#fff!important; border-radius:var(--rad)!important; padding:36px 28px!important; box-shadow:var(--shadow)!important; transition:var(--tr)!important; border-top:4px solid var(--cr)!important; }
.service-card:hover { transform:translateY(-8px)!important; box-shadow:var(--shadowr)!important; }

/* STATS */
.stat-number { font-size:clamp(48px,6vw,72px)!important; font-weight:900!important; color:var(--cr)!important; line-height:1!important; }
.stat-label { font-size:14px!important; color:var(--gray)!important; font-weight:700!important; text-transform:uppercase; letter-spacing:1px; }

/* EQUIPO MÉDICO */
.medical-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:20px; padding:30px 0; }
.specialty-card { background:#fff!important; border-radius:var(--rad)!important; padding:22px!important; box-shadow:var(--shadow)!important; border-left:4px solid var(--cr)!important; transition:var(--tr); }
.specialty-card:hover { transform:translateY(-4px); box-shadow:var(--shadowr)!important; }
.specialty-name { font-size:12px!important; font-weight:700!important; color:var(--cr)!important; text-transform:uppercase!important; letter-spacing:1px!important; margin-bottom:6px!important; }
.doctor-name { font-size:14px!important; font-weight:600!important; color:var(--dark)!important; margin-bottom:6px!important; }
.specialty-schedule { font-size:12px!important; color:var(--gray)!important; }

/* VALUES GRID */
.values-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:18px; margin-top:30px; }
.value-item { background:#fff!important; border-radius:var(--rad)!important; padding:26px 20px!important; box-shadow:var(--shadow)!important; text-align:center!important; transition:var(--tr); }
.value-item:hover { transform:translateY(-4px); }
.value-icon { font-size:34px!important; display:block; margin-bottom:12px!important; }
.value-title { font-weight:700!important; font-size:17px!important; color:var(--cr)!important; margin-bottom:6px!important; }

/* CONTACT CARDS */
.contact-card { background:#fff!important; border-radius:var(--rad)!important; padding:32px!important; box-shadow:var(--shadow)!important; margin-bottom:20px!important; }
.donation-box { background:linear-gradient(135deg,var(--cr),var(--crl))!important; border-radius:var(--rad)!important; padding:36px!important; color:#fff!important; text-align:center!important; }
.donation-box h3 { color:#fff!important; font-size:24px!important; font-weight:800!important; }
.donation-box p { color:rgba(255,255,255,0.9)!important; }

/* FORMULARIOS */
.elementor-form input, .elementor-form textarea, .wpcf7-form input, .wpcf7-form textarea { border:2px solid #E5E7EB!important; border-radius:8px!important; padding:14px 16px!important; transition:border-color 0.3s!important; width:100%!important; }
.elementor-form input:focus, .elementor-form textarea:focus { border-color:var(--cr)!important; outline:none!important; box-shadow:0 0 0 3px rgba(192,57,43,0.1)!important; }

/* FOOTER */
.site-footer, footer { background:var(--dark)!important; color:rgba(255,255,255,0.8)!important; padding:60px 0 30px!important; }
.footer-heading { color:var(--gold)!important; font-weight:700!important; text-transform:uppercase!important; letter-spacing:1px!important; }
.footer-link { color:rgba(255,255,255,0.7)!important; font-size:14px!important; transition:color 0.3s!important; display:block; margin-bottom:7px!important; }
.footer-link:hover { color:var(--gold)!important; }

/* HELPERS */
.red-divider { width:56px; height:4px; background:var(--cr); border-radius:2px; margin:14px 0 22px; }
.red-divider.centered { margin:14px auto 22px; }
.section-title { font-size:clamp(26px,3.5vw,42px)!important; font-weight:800!important; color:var(--dark)!important; line-height:1.2!important; }
.section-subtitle { font-size:17px!important; color:var(--gray)!important; max-width:600px; margin:0 auto 40px!important; text-align:center; }
.about-hero { background:linear-gradient(135deg,#1A1A2E 0%,#C0392B 100%); padding:80px 20px; text-align:center; }
.about-hero h1 { color:#fff; font-size:clamp(32px,5vw,52px); font-weight:800; margin-bottom:16px; }
.about-hero p { color:rgba(255,255,255,0.88); font-size:18px; max-width:650px; margin:0 auto; }

/* RESPONSIVE */
@media(max-width:768px){
  .values-grid{grid-template-columns:repeat(2,1fr)!important;}
  .medical-grid{grid-template-columns:1fr!important;}
}
@media(max-width:480px){
  .values-grid{grid-template-columns:1fr!important;}
  .stat-number{font-size:46px!important;}
}

/* =============================================
   FIX: Separador hero/header — evitar choque visual
   ============================================= */
.elementor-location-header {
  border-bottom: 3px solid #C0392B !important;
}

/* Banda de anuncio sobre el hero */
.hero-announce-bar {
  background: #1A1A2E;
  color: rgba(255,255,255,0.85);
  text-align: center;
  padding: 10px 20px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.3px;
}
.hero-announce-bar a { color: #D4AC0D; font-weight: 700; text-decoration: none; }

/* =============================================
   SECCIÓN QUIÉNES SOMOS (extracto home)
   ============================================= */
.quienes-somos-section {
  background: #fff;
  padding: 90px 20px;
}
.quienes-somos-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.quienes-somos-text h2 { font-size: clamp(26px,3.5vw,40px); font-weight:800; color:#1A1A2E; margin-bottom:12px; }
.quienes-somos-text p { font-size:16px; color:#555; line-height:1.8; margin-bottom:16px; }
.quienes-somos-stat-col { display:flex; flex-direction:column; gap:20px; }
.qs-stat { background: #F5F0EB; border-radius:12px; padding:24px 28px; border-left:4px solid #C0392B; }
.qs-stat-num { font-size:42px; font-weight:900; color:#C0392B; line-height:1; }
.qs-stat-label { font-size:14px; color:#6C757D; font-weight:600; margin-top:4px; text-transform:uppercase; letter-spacing:0.8px; }

/* =============================================
   MISIÓN Y VISIÓN
   ============================================= */
.mision-vision-section {
  background: #F5F0EB;
  padding: 80px 20px;
}
.mv-inner { max-width:1000px; margin:0 auto; }
.mv-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:40px; }
.mv-card { background:#fff; border-radius:14px; padding:36px 32px; box-shadow:0 4px 20px rgba(0,0,0,0.07); }
.mv-card-icon { font-size:44px; margin-bottom:16px; display:block; }
.mv-card h3 { font-size:22px; font-weight:800; color:#C0392B; margin-bottom:14px; }
.mv-card p { font-size:15px; color:#555; line-height:1.8; }

/* =============================================
   ¿QUÉ HACEMOS? — grid 2x2
   ============================================= */
.que-hacemos-section { background:#fff; padding:90px 20px; }
.qh-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  max-width: 900px;
  margin: 40px auto 0;
}

/* =============================================
   LÍNEAS DE ACCIÓN — grid 3x2
   ============================================= */
.lineas-section { background: #1A1A2E; padding: 90px 20px; }
.lineas-section .section-title { color:#fff !important; }
.lineas-section .section-subtitle { color:rgba(255,255,255,0.7) !important; }
.lineas-section .red-divider { background: #D4AC0D; }
.lineas-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  max-width: 1100px;
  margin: 40px auto 0;
}
.linea-card {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 14px;
  padding: 30px 24px;
  transition: all 0.3s ease;
}
.linea-card:hover {
  background: rgba(192,57,43,0.25);
  border-color: #C0392B;
  transform: translateY(-5px);
}
.linea-card-icon { font-size:40px; margin-bottom:14px; display:block; }
.linea-card h3 { font-size:18px; font-weight:700; color:#fff; margin-bottom:10px; }
.linea-card p { font-size:14px; color:rgba(255,255,255,0.7); line-height:1.7; }

/* =============================================
   INSTAGRAM — siempre antes del footer
   ============================================= */
.instagram-home-section { background:#fff; padding:80px 20px; text-align:center; }
.instagram-home-section h2 { font-size:clamp(24px,3vw,36px); font-weight:800; color:#1A1A2E; margin-bottom:8px; }
.instagram-home-section p { color:#6C757D; margin-bottom:36px; }
.insta-handle { display:inline-flex; align-items:center; gap:8px; background:#C0392B; color:#fff; padding:10px 24px; border-radius:50px; font-weight:700; text-decoration:none; font-size:15px; }

/* =============================================
   RESPONSIVE AJUSTES
   ============================================= */
@media(max-width:900px) {
  .quienes-somos-inner { grid-template-columns:1fr; gap:40px; }
  .mv-grid { grid-template-columns:1fr; }
  .qh-grid { grid-template-columns:1fr; }
  .lineas-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:600px) {
  .lineas-grid { grid-template-columns:1fr; }
}

/* =============================================
   FIX: Separador hero/header — evitar choque visual
   ============================================= */
.elementor-location-header {
  border-bottom: 3px solid #C0392B !important;
}

/* Banda de anuncio sobre el hero */
.hero-announce-bar {
  background: #1A1A2E;
  color: rgba(255,255,255,0.85);
  text-align: center;
  padding: 10px 20px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.3px;
}
.hero-announce-bar a { color: #D4AC0D; font-weight: 700; text-decoration: none; }

/* =============================================
   SECCIÓN QUIÉNES SOMOS (extracto home)
   ============================================= */
.quienes-somos-section {
  background: #fff;
  padding: 90px 20px;
}
.quienes-somos-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.quienes-somos-text h2 { font-size: clamp(26px,3.5vw,40px); font-weight:800; color:#1A1A2E; margin-bottom:12px; }
.quienes-somos-text p { font-size:16px; color:#555; line-height:1.8; margin-bottom:16px; }
.quienes-somos-stat-col { display:flex; flex-direction:column; gap:20px; }
.qs-stat { background: #F5F0EB; border-radius:12px; padding:24px 28px; border-left:4px solid #C0392B; }
.qs-stat-num { font-size:42px; font-weight:900; color:#C0392B; line-height:1; }
.qs-stat-label { font-size:14px; color:#6C757D; font-weight:600; margin-top:4px; text-transform:uppercase; letter-spacing:0.8px; }

/* =============================================
   MISIÓN Y VISIÓN
   ============================================= */
.mision-vision-section {
  background: #F5F0EB;
  padding: 80px 20px;
}
.mv-inner { max-width:1000px; margin:0 auto; }
.mv-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:40px; }
.mv-card { background:#fff; border-radius:14px; padding:36px 32px; box-shadow:0 4px 20px rgba(0,0,0,0.07); }
.mv-card-icon { font-size:44px; margin-bottom:16px; display:block; }
.mv-card h3 { font-size:22px; font-weight:800; color:#C0392B; margin-bottom:14px; }
.mv-card p { font-size:15px; color:#555; line-height:1.8; }

/* =============================================
   ¿QUÉ HACEMOS? — grid 2x2
   ============================================= */
.que-hacemos-section { background:#fff; padding:90px 20px; }
.qh-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  max-width: 900px;
  margin: 40px auto 0;
}

/* =============================================
   LÍNEAS DE ACCIÓN — grid 3x2
   ============================================= */
.lineas-section { background: #1A1A2E; padding: 90px 20px; }
.lineas-section .section-title { color:#fff !important; }
.lineas-section .section-subtitle { color:rgba(255,255,255,0.7) !important; }
.lineas-section .red-divider { background: #D4AC0D; }
.lineas-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  max-width: 1100px;
  margin: 40px auto 0;
}
.linea-card {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 14px;
  padding: 30px 24px;
  transition: all 0.3s ease;
}
.linea-card:hover {
  background: rgba(192,57,43,0.25);
  border-color: #C0392B;
  transform: translateY(-5px);
}
.linea-card-icon { font-size:40px; margin-bottom:14px; display:block; }
.linea-card h3 { font-size:18px; font-weight:700; color:#fff; margin-bottom:10px; }
.linea-card p { font-size:14px; color:rgba(255,255,255,0.7); line-height:1.7; }

/* =============================================
   INSTAGRAM — siempre antes del footer
   ============================================= */
.instagram-home-section { background:#fff; padding:80px 20px; text-align:center; }
.instagram-home-section h2 { font-size:clamp(24px,3vw,36px); font-weight:800; color:#1A1A2E; margin-bottom:8px; }
.instagram-home-section p { color:#6C757D; margin-bottom:36px; }
.insta-handle { display:inline-flex; align-items:center; gap:8px; background:#C0392B; color:#fff; padding:10px 24px; border-radius:50px; font-weight:700; text-decoration:none; font-size:15px; }

/* =============================================
   RESPONSIVE AJUSTES
   ============================================= */
@media(max-width:900px) {
  .quienes-somos-inner { grid-template-columns:1fr; gap:40px; }
  .mv-grid { grid-template-columns:1fr; }
  .qh-grid { grid-template-columns:1fr; }
  .lineas-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:600px) {
  .lineas-grid { grid-template-columns:1fr; }
}

/* =============================================
   CENTRO MÉDICO DESTACADO — HOME
   ============================================= */
@media(max-width:900px) {
  .quienes-somos-section + .mision-vision-section + .que-hacemos-section + div[style*='F5F0EB'] > div { grid-template-columns:1fr !important; }
}

/* =============================================
   EQUIPO MÉDICO — REDISEÑO GRANDE Y VISIBLE
   ============================================= */
.medical-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)) !important;
  gap: 24px !important;
  padding: 30px 0 !important;
}
.specialty-card {
  background: #fff !important;
  border-radius: 14px !important;
  padding: 28px 26px !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
  border-left: 5px solid #C0392B !important;
  transition: all 0.3s ease;
}
.specialty-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 30px rgba(192,57,43,0.2) !important;
}
.specialty-name {
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #C0392B !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin-bottom: 10px !important;
}
.doctor-name {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #1A1A2E !important;
  margin-bottom: 12px !important;
  line-height: 1.5 !important;
}
.specialty-schedule {
  font-size: 15px !important;
  color: #555 !important;
  background: #F5F0EB !important;
  padding: 10px 14px !important;
  border-radius: 8px !important;
  line-height: 1.5 !important;
}
@media(max-width:768px) {
  .medical-grid { grid-template-columns: 1fr !important; }
}

/* =============================================
   FIX: Dropdown submenu hover — vinotinto
   ============================================= */
.eael-simple-menu .sub-menu li a:hover,
.eael-simple-menu .sub-menu li:hover > a,
.eael-simple-menu-container .sub-menu li a:hover,
.eael-simple-menu-container .sub-menu li:hover > a,
nav .sub-menu li a:hover,
nav .sub-menu li:hover > a,
.eael-simple-menu .sub-menu li a:focus,
ul.sub-menu li a:hover {
  background-color: #9F1B01 !important;
  color: #fff !important;
}
.eael-simple-menu .sub-menu,
.eael-simple-menu-container .sub-menu,
nav ul.sub-menu {
  background-color: #1A1A2E !important;
  border: none !important;
}
.eael-simple-menu .sub-menu li a,
.eael-simple-menu-container .sub-menu li a,
nav ul.sub-menu li a {
  color: #fff !important;
}

/* =============================================
   SCROLL ANIMATIONS — SIMPLE & ROBUST
   ============================================= */
.sal-up {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.7s ease-out, transform 0.7s ease-out;
}
.sal-left {
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity 0.7s ease-out, transform 0.7s ease-out;
}
.sal-right {
  opacity: 0;
  transform: translateX(40px);
  transition: opacity 0.7s ease-out, transform 0.7s ease-out;
}

/* Stagger delays for children */
.sal-stagger:nth-child(1) { transition-delay: 0s; }
.sal-stagger:nth-child(2) { transition-delay: 0.12s; }
.sal-stagger:nth-child(3) { transition-delay: 0.24s; }
.sal-stagger:nth-child(4) { transition-delay: 0.36s; }
.sal-stagger:nth-child(5) { transition-delay: 0.48s; }
.sal-stagger:nth-child(6) { transition-delay: 0.6s; }

/* Visible state */
.sal-show {
  opacity: 1 !important;
  transform: none !important;
}

/* Hero entrance */
.hero-announce-bar {
  animation: slideDown 0.5s ease-out;
}
@keyframes slideDown {
  from { transform: translateY(-100%); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}
.hero-announce-bar + div h1 {
  animation: fadeUp 0.8s ease-out 0.2s both;
}
.hero-announce-bar + div p {
  animation: fadeUp 0.8s ease-out 0.35s both;
}
.hero-announce-bar + div a {
  animation: fadeUp 0.8s ease-out 0.5s both;
}
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(25px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Floating contact button pulse */
a[href="/contacto"][style*="position:fixed"] {
  animation: btnPulse 2.5s ease-in-out infinite;
}
@keyframes btnPulse {
  0%, 100% { box-shadow: 0 4px 20px rgba(192,57,43,0.4); }
  50% { box-shadow: 0 6px 30px rgba(192,57,43,0.65); }
}

/* Card hovers */
.service-card, .mv-card, .linea-card {
  transition: transform 0.35s ease, box-shadow 0.35s ease !important;
}
.service-card:hover, .mv-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.12) !important;
}
.qs-stat {
  transition: transform 0.3s ease !important;
}
.qs-stat:hover {
  transform: translateY(-3px) !important;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .sal-up, .sal-left, .sal-right { opacity: 1 !important; transform: none !important; transition: none !important; }
  .hero-announce-bar, .hero-announce-bar + div h1, .hero-announce-bar + div p, .hero-announce-bar + div a { animation: none !important; }
}

/* =============================================
   MOBILE — RESPONSIVE FIXES
   ============================================= */

/* Prevent horizontal overflow */
/* overflow handled per-section, not globally */
img {
  max-width: 100% !important;
  height: auto !important;
}

/* Hero text mobile */
@media(max-width:768px) {
  .hero-announce-bar {
    font-size: 12px !important;
    padding: 8px 15px !important;
  }
  /* Cifras de impacto — 2 cols on mobile */
  div[style*='repeat(4,1fr)'] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  /* Centro medico destacado — stack */
  div[style*='1fr 1fr'][style*='gap:50px'] {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
  /* Centro medico inner grid */
  div[style*='1fr 1fr'][style*='gap:14px'] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  /* Quienes somos stats grid */
  div[style*='1fr 1fr'][style*='gap:16px'] {
    grid-template-columns: 1fr 1fr !important;
  }
  /* Asamblea banner flex wrap */
  div[style*='gap:20px'][style*='flex-wrap'] {
    justify-content: center !important;
  }
  /* Floating buttons — stacked vertically on mobile */
  a[href='/contacto'][style*='position:fixed'] {
    padding: 12px 20px !important;
    font-size: 13px !important;
    bottom: 80px !important;
    right: 15px !important;
    left: auto !important;
  }
  #caritas-chat-btn {
    padding: 12px 16px !important;
    font-size: 12px !important;
    bottom: 20px !important;
    right: 15px !important;
  }
  #caritas-chat-box {
    width: calc(100vw - 20px) !important;
    right: 10px !important;
    bottom: 80px !important;
    height: 70vh !important;
  }
  /* Info practica grid */
  div[style*='minmax(250px'] {
    grid-template-columns: 1fr !important;
  }
  /* About hero */
  .about-hero h1 {
    font-size: clamp(24px, 6vw, 36px) !important;
  }
  .about-hero p {
    font-size: 15px !important;
  }
  /* Contact grid */
  div[style*='1fr 1fr'][style*='gap:40px'] {
    grid-template-columns: 1fr !important;
  }
}

@media(max-width:480px) {
  /* Cifras — single column */
  div[style*='repeat(4,1fr)'] {
    grid-template-columns: 1fr 1fr !important;
  }
  /* Smaller padding on sections */
  .quienes-somos-section,
  .mision-vision-section,
  .que-hacemos-section {
    padding: 60px 15px !important;
  }
  .lineas-section {
    padding: 60px 15px !important;
  }
  /* Aviso importante centro medico — stack */
  div[style*='grid-template-columns:auto 1fr'] {
    grid-template-columns: 1fr !important;
    text-align: center;
  }
}

/* =============================================
   MOBILE HAMBURGER MENU — WHITE BACKGROUND
   ============================================= */
/* Menu panel background */
.eael-simple-menu-container.eael-simple-menu-hamburger .eael-simple-menu-wrap,
.eael-simple-menu-container .eael-simple-menu-hamburger-wrap,
.eael-hamburger-menu,
.eael-simple-menu-container .eael-simple-menu-wrap {
  background: #fff !important;
}

/* Menu items text */
.eael-simple-menu-container.eael-simple-menu-hamburger .eael-simple-menu li a,
.eael-simple-menu-container .eael-simple-menu-hamburger-wrap li a,
.eael-simple-menu-hamburger .eael-simple-menu > li > a {
  color: #1A1A2E !important;
  background: #fff !important;
}

/* Hover state */
.eael-simple-menu-container.eael-simple-menu-hamburger .eael-simple-menu li a:hover,
.eael-simple-menu-container .eael-simple-menu-hamburger-wrap li a:hover,
.eael-simple-menu-hamburger .eael-simple-menu > li > a:hover {
  color: #C0392B !important;
  background: #f5f0eb !important;
}



/* Submenu in mobile */
.eael-simple-menu-container.eael-simple-menu-hamburger .eael-simple-menu .sub-menu,
.eael-simple-menu-hamburger .sub-menu {
  background: #f8f8f8 !important;
}
.eael-simple-menu-container.eael-simple-menu-hamburger .eael-simple-menu .sub-menu a,
.eael-simple-menu-hamburger .sub-menu a {
  color: #1A1A2E !important;
  background: transparent !important;
}
.eael-simple-menu-container.eael-simple-menu-hamburger .eael-simple-menu .sub-menu a:hover,
.eael-simple-menu-hamburger .sub-menu a:hover {
  color: #C0392B !important;
  background: #f5f0eb !important;
}

/* Hamburger icon — keep visible */
.eael-simple-menu-container .eael-simple-menu-toggle {
  background: #9F1B01 !important;
}

/* Dropdown indicator arrows */
.eael-simple-menu-hamburger .eael-simple-menu .eael-simple-menu-indicator,
.eael-simple-menu .eael-simple-menu-indicator {
  color: #1A1A2E !important;
  border-color: #1A1A2E !important;
}



/* =============================================
   INSTAGRAM FEED — FORCE VISIBLE
   ============================================= */
.instagram-home-section .sbi,
.instagram-home-section .sb_instagram,
.instagram-home-section #sb_instagram,
.instagram-home-section #sbi_images,
.instagram-home-section .sbi_item,
.instagram-home-section .sbi_photo_wrap,
.instagram-home-section .sbi_photo,
.instagram-home-section .sbi_link,
.instagram-home-section .sbi_item img,
.sbi_item.sbi_transition {
  opacity: 1 !important;
  visibility: visible !important;
  max-width: 100% !important;
}
.instagram-home-section {
  overflow: visible !important;
}

/* =============================================
   DESKTOP MENU — ACTIVE ITEM FIX (no white bg)
   ============================================= */
/* Remove white/unwanted background on current page menu item */
.eael-simple-menu li.current-menu-item > a,
.eael-simple-menu li.current_page_item > a,
.eael-simple-menu li.current-menu-ancestor > a,
.eael-simple-menu > li.current-menu-item > a,
.eael-simple-menu > li.current_page_item > a {
  color: #fff !important;
  background: transparent !important;
}
.eael-simple-menu > li.current-menu-item > a:hover,
.eael-simple-menu > li.current_page_item > a:hover {
  color: #fff !important;
  background: rgba(255,255,255,0.1) !important;
}

/* Mobile only — white background menu */
@media(max-width:768px) {
  .eael-simple-menu li.current-menu-item > a,
  .eael-simple-menu li.current_page_item > a,
  .eael-simple-menu li.current-menu-ancestor > a {
    color: #C0392B !important;
    background: #f5f0eb !important;
    font-weight: 700 !important;
  }
}

/* =============================================
   INSTAGRAM FEED — FORCE DISPLAY MOBILE
   ============================================= */
#sb_instagram,
#sb_instagram .sbi_item,
#sb_instagram .sbi_photo_wrap,
#sb_instagram .sbi_photo,
#sb_instagram .sbi_photo img {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
}
#sbi_images {
  opacity: 1 !important;
  visibility: visible !important;
  min-height: 200px !important;
}
/* Ensure instagram section itself is not hidden by animations */
.instagram-home-section,
.instagram-home-section * {
  visibility: visible !important;
}
.instagram-home-section.sal-up {
  opacity: 1 !important;
  transform: none !important;
}

/* =============================================
   CARRUSEL GALERÍA INSTAGRAM
   ============================================= */
.insta-carousel-section {
  background: #fff;
  padding: 80px 20px;
  overflow: hidden;
}
.insta-carousel-track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding: 10px 0 20px;
  scrollbar-width: none;
}
.insta-carousel-track::-webkit-scrollbar {
  display: none;
}
.insta-carousel-slide {
  flex: 0 0 300px;
  scroll-snap-align: center;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 6px 25px rgba(0,0,0,0.1);
  transition: transform 0.4s ease;
  position: relative;
}
.insta-carousel-slide:hover {
  transform: scale(1.03);
}
.insta-carousel-slide img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
}
.insta-carousel-nav {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 24px;
}
.insta-carousel-nav button {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 2px solid #C0392B;
  background: #fff;
  color: #C0392B;
  font-size: 20px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.insta-carousel-nav button:hover {
  background: #C0392B;
  color: #fff;
}
@media(max-width:768px) {
  .insta-carousel-slide {
    flex: 0 0 250px;
  }
  .insta-carousel-slide img {
    height: 220px;
  }
}
