/* ============= Ibergestión — Tema moderno “futurista” (responsive) ============= */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&display=swap');

#ibergestion-home{font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";color:#0b1220}
:root{
  --emerald-700:#047857; --emerald-600:#059669; --emerald-50:#ecfdf5;
  --iris-600:#6366f1; --iris-50:#eef2ff;
  --slate-900:#0b1220; --slate-800:#0b0f19; --slate-700:#334155; --slate-600:#475569; --slate-500:#64748b; --slate-300:#cbd5e1;
  --gray-900:#111827; --gray-700:#374151; --gray-600:#4b5563; --gray-500:#6b7280; --gray-300:#d1d5db; --gray-200:#e5e7eb; --gray-100:#f3f4f6; --gray-50:#f9fafb;
  --white:#ffffff;
  --radius-xl:16px; --radius-2xl:22px; --shadow:0 16px 40px rgba(2,6,23,.10); --maxw:1200px;
}

/* Helpers */
#ibergestion-home *{box-sizing:border-box}
#ibergestion-home img{max-width:100%;height:auto;display:block}
html,body{max-width:100%;overflow-x:hidden}
#ibergestion-home .container{max-width:var(--maxw);margin:0 auto;padding:0 16px}
#ibergestion-home h1{font-size:clamp(30px,4.4vw,48px);line-height:1.06;margin:0}
#ibergestion-home h2{font-size:clamp(22px,3.2vw,32px);margin:0}
#ibergestion-home h3{font-size:18px;margin:0}
#ibergestion-home p{margin:.5rem 0}
#ibergestion-home .muted{color:var(--slate-500)}
#ibergestion-home .success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;padding:12px;border-radius:12px}

#ibergestion-home .grid{display:grid;gap:20px}
#ibergestion-home .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
#ibergestion-home .grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
#ibergestion-home .grid-col-span-2{grid-column:span 2}
#ibergestion-home .grid-col-span-3{grid-column:span 3}
@media (max-width:980px){
  #ibergestion-home .grid-2,#ibergestion-home .grid-3{grid-template-columns:1fr}
  #ibergestion-home .grid-col-span-2,#ibergestion-home .grid-col-span-3{grid-column:span 1}
}
#ibergestion-home section.block{padding:64px 0}

/* Cards */
#ibergestion-home .card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-2xl);padding:22px;box-shadow:var(--shadow)}
#ibergestion-home .pill{display:inline-block;padding:.25rem .6rem;border-radius:999px;background:var(--emerald-50);color:var(--emerald-700);font-size:.78rem;font-weight:700}

/* Botones */
#ibergestion-home .btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.05rem;border-radius:999px;text-decoration:none;font-weight:800;border:1px solid var(--gray-300);color:#0b1220;background:#fff;transition:.15s}
#ibergestion-home .btn:hover{transform:translateY(-1px)}
#ibergestion-home .btn.primary{background:linear-gradient(135deg,#10b981,#059669);border-color:#059669;color:#fff}
#ibergestion-home .btn.primary:hover{filter:brightness(.95)}
#ibergestion-home .btn.icon{padding:.55rem .75rem;border-radius:12px}

/* Header “glass” */
#ibergestion-home .site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.86);border-bottom:1px solid rgba(226,232,240,.7);backdrop-filter:saturate(160%) blur(8px)}
#ibergestion-home .brand-row{display:flex;align-items:center;gap:12px}
#ibergestion-home .logo-img{height:36px;width:auto;display:block}
#ibergestion-home .nav a{color:#0f172a;text-decoration:none;font-weight:700;opacity:.9}
#ibergestion-home .nav a:hover{opacity:1}
#ibergestion-home .hamb{display:none}
@media (max-width:880px){
  #ibergestion-home .nav{display:none!important}
  #ibergestion-home .hamb{display:inline-flex}
}

/* Hero futurista */
#ibergestion-home .hero{
  background:
    radial-gradient(1200px 300px at 15% -8%, #ecfdf5 0%, rgba(255,255,255,0) 60%),
    radial-gradient(900px 220px at 100% 0%, #eef2ff 0%, rgba(255,255,255,0) 60%),
    #ffffff;
  padding:72px 0
}
#ibergestion-home .stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
#ibergestion-home .stat{border:1px solid var(--gray-200);border-radius:14px;padding:14px}
#ibergestion-home .stat .k{color:var(--slate-500);font-size:.9rem}
#ibergestion-home .stat .v{font-size:22px;font-weight:800;color:#1e3a8a}

/* Beneficios */
#ibergestion-home .benefit{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--gray-200);border-radius:18px;padding:14px;background:#fff}
#ibergestion-home .benefit b{font-weight:800}

/* Inputs + forms */
#ibergestion-home input,#ibergestion-home select,#ibergestion-home textarea{width:100%;border:1px solid var(--gray-300);border-radius:12px;padding:.65rem .8rem;font:inherit}
#ibergestion-home label{font-size:.92rem;color:#1f2937}

/* Consentimiento + botones: NUNCA se pisa ni en móvil ni en desktop */
#ibergestion-home .form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
#ibergestion-home .form-actions .consent{display:flex;align-items:center;gap:8px;font-size:.95rem;color:var(--slate-500);flex:1 1 280px}
#ibergestion-home .form-actions .consent input[type="checkbox"]{margin:0 6px 0 0;accent-color:var(--emerald-600)}
#ibergestion-home .form-actions .consent .consent-text{white-space:normal;line-height:1.35}
#ibergestion-home .form-actions .btn{flex:0 0 auto}

/* Tabs (Contacto) */
#ibergestion-home .tabbar{display:flex;gap:8px;margin-top:8px;flex-wrap:nowrap;overflow:auto;padding-bottom:2px}
#ibergestion-home .tabbar::-webkit-scrollbar{height:6px}
#ibergestion-home .tab{border:1px solid var(--gray-300)!important;border-radius:999px!important;padding:.55rem .95rem!important;background:#fff!important;cursor:pointer;color:#0f172a!important;font-weight:800}
#ibergestion-home .tab.active{background:var(--emerald-600)!important;border-color:var(--emerald-600)!important;color:#fff!important}

/* Oficinas */
#ibergestion-home .office-card .title{display:flex;align-items:center;gap:8px}
#ibergestion-home .office-card .city{font-weight:800;font-size:18px}
#ibergestion-home .office-card .meta{color:#64748b;font-size:.92rem;margin-top:2px}
#ibergestion-home .office-card ul{margin:.2rem 0 0 1.1rem;padding:0}
#ibergestion-home .office-card li{margin:.15rem 0}
#ibergestion-home .btnrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
#ibergestion-home .btnrow .btn{flex:1 1 auto}

/* Footer */
#ibergestion-home .footer{background:var(--slate-800);color:#cbd5e1}
#ibergestion-home .footer a{color:#93c5fd;text-decoration:none}
#ibergestion-home .footer a:hover{text-decoration:underline}

/* ===================== MOBILE FIX PACK ===================== */
@media (max-width:780px){
  #ibergestion-home .container{padding:0 14px}
  #ibergestion-home .grid-2, #ibergestion-home .grid-3{grid-template-columns:1fr !important}
  #ibergestion-home .hero .container{display:block !important}
  #ibergestion-home h1{font-size:28px}
  #ibergestion-home .btn{width:100%; justify-content:center}
  #ibergestion-home .btnrow .btn{flex:1 1 100%}
  #ibergestion-home .form-actions{flex-direction:column; align-items:stretch}
  #ibergestion-home .consent .consent-text{white-space:normal}
  #ibergestion-home .nav{display:none !important}
  #ibergestion-home .hamb{display:inline-flex !important}
}
/* ======= Hotfix móvil + tipografía + enlaces ======= */
html { -webkit-text-size-adjust: 100%; }
#ibergestion-home h1, #ibergestion-home p { overflow-wrap:anywhere; word-break:break-word; }

/* Evita que los enlaces salgan morados si son botones */
#ibergestion-home a { color: inherit; text-decoration: none; }
#ibergestion-home a.btn { color:#0b1220; }
#ibergestion-home a.btn.primary { color:#fff; }

/* Ajustes de hero y títulos en móvil */
@media (max-width:780px){
  #ibergestion-home .hero { padding:48px 0; }
  #ibergestion-home h1 { font-size:26px !important; line-height:1.18; }
  #ibergestion-home .stats { grid-template-columns:1fr 1fr; gap:10px; }
}
/* ====== MODO COMPACTO MÓVIL — solo afecta < 780px ====== */
@media (max-width:780px){

  /* Contenedor y secciones */
  #ibergestion-home .container{padding:0 14px}
  #ibergestion-home section.block{padding:28px 0}            /* antes 64px */
  #ibergestion-home .hero{padding:32px 0 !important}         /* antes 64–72px */

  /* Tipografías más contenidas */
  #ibergestion-home h1{font-size:24px !important;line-height:1.18;margin:0 0 6px}
  #ibergestion-home h2{font-size:20px !important}
  #ibergestion-home p{font-size:15px}

  /* Grid y gaps */
  #ibergestion-home .grid{gap:14px}
  #ibergestion-home .grid-2,#ibergestion-home .grid-3{grid-template-columns:1fr !important}

  /* Cards más finas */
  #ibergestion-home .card{
    padding:14px !important;
    border-radius:14px !important;
    box-shadow:0 10px 24px rgba(2,6,23,.08) !important;
  }
  #ibergestion-home .stats{gap:8px}
  #ibergestion-home .stat{padding:10px;border-radius:12px}

  /* Botones */
  #ibergestion-home .btn{
    width:100%;justify-content:center;
    padding:.65rem .9rem !important;
    font-size:15px !important;
  }
  #ibergestion-home .btnrow{gap:8px;margin-top:8px}
  #ibergestion-home .pill{font-size:.72rem;padding:.18rem .5rem}

  /* Header compacto */
  #ibergestion-home .site-header .container{padding:8px 14px !important}
  #ibergestion-home .logo-img{height:28px !important}

  /* Beneficios / Oficinas */
  #ibergestion-home .benefit{padding:12px;border-radius:14px}
  #ibergestion-home .office-card ul{margin:.15rem 0 0 1rem}

  /* Formularios (alineación y alturas) */
  #ibergestion-home input,
  #ibergestion-home select,
  #ibergestion-home textarea{
    padding:.55rem .7rem !important;
    font-size:15px !important;
  }
  #ibergestion-home .form-actions{
    flex-direction:column;align-items:stretch;gap:10px
  }
  #ibergestion-home .form-actions .consent{
    font-size:.95rem;line-height:1.3
  }

  /* Footer más corto */
  #ibergestion-home .footer{padding-top:24px !important;padding-bottom:24px !important}
}
/* ===== Header compacto SOLO en móvil ===== */
@media (max-width:780px){
  /* Contenedor del header más estrecho */
  #ibergestion-home .site-header .container{
    padding:8px 12px !important;
    gap:10px !important;
  }

  /* Logo más pequeño */
  #ibergestion-home .logo-img{height:24px !important}

  /* Oculta SIEMPRE el menú de texto superior en móvil */
  #ibergestion-home .nav{display:none !important}

  /* Botón hamburguesa visible y compacto */
  #ibergestion-home .hamb{
    display:inline-flex !important;
    padding:.45rem .6rem !important;
    border-radius:10px !important;
  }

  /* Botón WhatsApp más pequeño para que no “empuje” */
  #ibergestion-home .btn.primary{
    padding:.55rem .8rem !important;
    border-radius:999px !important;
  }

  /* Panel móvil: enlaces grandes y scrolleables */
  #ibergestion-home #mobileNav{padding:0 12px 10px 12px !important}
  #ibergestion-home #mobileNav .card{
    padding:10px !important; border-radius:14px !important;
    max-height:70vh; overflow:auto;
  }
  #ibergestion-home #mobileNav .card a{
    display:block; padding:12px 10px; border:1px solid #e5e7eb;
    border-radius:12px; margin:2px 0; font-weight:800; text-decoration:none;
  }
}
/* ===== BEAUTY PACK MÓVIL (no afecta a PC) ===== */
@media (max-width:780px){

  /* 1) Estadísticas del hero: 2x2, encuadradas y centradas */
  #ibergestion-home .stats{
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }
  #ibergestion-home .stat{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:12px;
    padding:12px !important;
    box-shadow:0 10px 22px rgba(2,6,23,.06);
  }
  #ibergestion-home .stat .k{
    font-size:.85rem !important;
    color:#64748b !important;
  }
  #ibergestion-home .stat .v{
    font-size:20px !important;
    font-weight:800 !important;
    color:#1e3a8a !important;
    margin-top:2px;
  }

  /* 2) Tabs de “Hablemos”: asegurar contraste SIEMPRE */
  #ibergestion-home .tab{
    background:#fff !important;
    border:1px solid #d1d5db !important;
    color:#0f172a !important;            /* texto oscuro por defecto */
    font-weight:800 !important;
  }
  #ibergestion-home .tab.active{
    background:#059669 !important;       /* verde activo */
    border-color:#059669 !important;
    color:#fff !important;               /* texto blanco activo */
  }
  /* evita que el tab no activo herede color blanco de la plantilla */
  #ibergestion-home .tab:not(.active){
    color:#0f172a !important;
  }

  /* 3) Formularios más compactos y ordenados */
  #ibergestion-home #contacto .card{padding:16px !important}
  #ibergestion-home #contacto .form-actions{gap:12px !important}
  #ibergestion-home #contacto .btn{width:100%;justify-content:center}
}
/* —— FIX TABS EN MÓVIL —— */
@media (max-width:780px){
  #ibergestion-home .tab{
    background:#fff !important;
    border:1px solid #d1d5db !important;
    color:#0f172a !important;       /* SIEMPRE legible el inactivo */
    font-weight:800 !important;
  }
  #ibergestion-home .tab.active{
    background:#059669 !important;  /* Activo verde */
    border-color:#059669 !important;
    color:#fff !important;           /* Texto blanco en activo */
  }
  #ibergestion-home .tab:focus{ outline:none; box-shadow:0 0 0 2px rgba(5,150,105,.25); }
}
/* Logo sin fondo y header blanco para evitar “gris” bajo PNG */
#ibergestion-home .logo-img{
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
  mix-blend-mode:normal !important;
}
#ibergestion-home .site-header{
  background:#ffffff !important;     /* quita el glass en todo el header */
  backdrop-filter:none !important;
}
/* Header sólido y logo sin ningún fondo ni mezcla */
#ibergestion-home .site-header{
  background:#fff !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}
#ibergestion-home .brand-row,
#ibergestion-home .brand-row *{
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
  mix-blend-mode:normal !important;
}
#ibergestion-home .logo-img{
  display:inline-block !important;
  height:36px; width:auto;
  border-radius:0 !important;
  background-color:transparent !important;
}
@media (max-width:780px){
  #ibergestion-home .logo-img{ height:28px; }
}
/* ====== ESTILO TEXTO LOGO (coincide con el color y estilo del PNG) ====== */
#ibergestion-home .brand-name{
  font-family: "Georgia", "Times New Roman", serif;  /* serif elegante similar */
  font-style: italic;
  font-weight: 700;
  color: #31a36f;           /* verde del logo — ajústalo si tu PNG usa otro tono */
  font-size: 1.4rem;
  line-height: 1.1;
}
#ibergestion-home .brand-sub{
  font-family: "Georgia", "Times New Roman", serif;
  font-style: italic;
  font-size: 0.9rem;
  color: #4b4b4b;
  margin-top: 2px;
}
#ibergestion-home .brand-sub2{
  font-size: 0.75rem;
  color: #64748b;
  font-weight: 600;
  margin-top: 4px;
}

/* En móvil el bloque se adapta mejor */
@media (max-width:780px){
  #ibergestion-home .brand-name{ font-size:1.1rem; }
  #ibergestion-home .brand-sub{ font-size:0.8rem; }
  #ibergestion-home .brand-sub2{ font-size:0.7rem; }
}
/* Listas dentro de tarjetas: sin viñeta grande + punto pequeño custom */
#ibergestion-home .card ul{
  list-style:none;               /* quita el bullet grande */
  margin:.6rem 0 0 0;
  padding:0;
}
#ibergestion-home .card ul li{
  position:relative;
  padding-left:18px;             /* espacio para el punto pequeño */
  margin:8px 0;
}
#ibergestion-home .card ul li::before{
  content:"";
  position:absolute; left:0; top:.7em;
  width:6px; height:6px; border-radius:50%;
  background:#64748b;            /* color del punto (puedes poner #059669 si lo quieres verde) */
}
/* Listas dentro de tarjetas: sin viñeta grande + punto pequeño */
#ibergestion-home .card ul{list-style:none;margin:.6rem 0 0 0;padding:0}
#ibergestion-home .card ul li{
  position:relative; padding-left:18px; margin:8px 0;
}
#ibergestion-home .card ul li::before{
  content:""; position:absolute; left:0; top:.7em;
  width:6px; height:6px; border-radius:50%; background:#64748b;
}
#ibergestion-home #tarifas .card{
  border:1px solid #e2e8f0;
  background:#fff;
  transition:transform .2s ease, box-shadow .2s ease;
}
#ibergestion-home #tarifas .card:hover{
  transform:translateY(-3px);
  box-shadow:0 6px 16px rgba(0,0,0,0.08);
}
#ibergestion-home #tarifas .pill{
  background:#d1fae5;
  color:#065f46;
  font-size:12px;
  font-weight:700;
  border-radius:999px;
  padding:3px 8px;
  margin-left:4px;
}
/* ===========================================
   ESTILO PÁGINAS LEGALES (Privacidad / Aviso)
   =========================================== */
#legal-page, #privacidad-page, #cookies-page {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  max-width: 900px;
  margin: 0 auto;
  padding: 60px 20px;
  color: #1e293b;
  line-height: 1.7;
  background-color: #ffffff;
}

#legal-page h1, 
#privacidad-page h1, 
#cookies-page h1 {
  font-size: 2rem;
  color: #047857;
  font-weight: 800;
  margin-bottom: 1.5rem;
  border-bottom: 2px solid #10b981;
  padding-bottom: .4rem;
}

#legal-page h2, 
#privacidad-page h2, 
#cookies-page h2 {
  font-size: 1.4rem;
  color: #0f172a;
  margin-top: 2rem;
  margin-bottom: .8rem;
  font-weight: 700;
}

#legal-page p, 
#privacidad-page p, 
#cookies-page p {
  margin-bottom: 1rem;
  text-align: justify;
  color: #334155;
}

#legal-page ul, 
#privacidad-page ul, 
#cookies-page ul {
  margin: 1rem 0 1rem 1.5rem;
  list-style: disc;
}

#legal-page a, 
#privacidad-page a, 
#cookies-page a {
  color: #047857;
  text-decoration: none;
  font-weight: 600;
}

#legal-page a:hover, 
#privacidad-page a:hover, 
#cookies-page a:hover {
  text-decoration: underline;
}

#legal-page .section, 
#privacidad-page .section, 
#cookies-page .section {
  margin-bottom: 2.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #e2e8f0;
}

@media (max-width: 780px) {
  #legal-page, #privacidad-page, #cookies-page {
    padding: 40px 16px;
  }
  #legal-page h1, 
  #privacidad-page h1, 
  #cookies-page h1 {
    font-size: 1.6rem;
  }
}
/* —— Banner Cookies Ibergestión —— */
#ibg-cookiebar{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:#0b0f19;color:#cbd5e1;border-top:1px solid #1f2937}
#ibg-cookiebar .wrap{max-width:1200px;margin:0 auto;padding:14px 16px;display:flex;gap:14px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
#ibg-cookiebar .txt{flex:1 1 320px;font-size:14px;line-height:1.45}
#ibg-cookiebar .txt a{color:#93c5fd;text-decoration:none}
#ibg-cookiebar .txt a:hover{text-decoration:underline}
#ibg-cookiebar .actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
#ibg-cookiebar .btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem .9rem;border-radius:999px;text-decoration:none;font-weight:800;border:1px solid #374151;background:#111827;color:#e5e7eb;cursor:pointer}
#ibg-cookiebar .btn:hover{filter:brightness(1.05)}
#ibg-cookiebar .btn.primary{background:#059669;border-color:#059669;color:#fff}
#ibg-cookiebar .btn.link{background:transparent;border-color:#374151}
#ibg-cookiebar .prefs{display:none;margin-top:8px;padding:10px;border:1px solid #1f2937;border-radius:12px;background:#0f172a}
#ibg-cookiebar .prefs label{display:flex;align-items:center;gap:8px;font-size:14px;color:#cbd5e1}
#ibg-cookiebar .prefs small{color:#94a3b8}
@media (max-width:760px){
  #ibg-cookiebar .wrap{padding:12px}
  #ibg-cookiebar .actions{justify-content:stretch}
  #ibg-cookiebar .btn{width:100%;justify-content:center}
}
/* ===== Shell global (header+footer en todas las páginas NO-Home) ===== */
#ibg-shell-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.86);border-bottom:1px solid rgba(226,232,240,.7);backdrop-filter:saturate(160%) blur(8px)}
#ibg-shell .container{max-width:1200px;margin:0 auto;padding:0 16px}
#ibg-shell .header-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;gap:16px}
#ibg-shell .brand{display:flex;align-items:center;gap:12px}
#ibg-shell .logo-img{height:36px;width:auto;display:block}
#ibg-shell .brand-name{font-weight:800;letter-spacing:.2px;line-height:1}
#ibg-shell .brand-sub{font-size:12px;color:#64748b;font-weight:600}
#ibg-shell nav a{color:#0f172a;text-decoration:none;font-weight:700;opacity:.9}
#ibg-shell nav a:hover{opacity:1}
#ibg-shell .btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem .9rem;border-radius:999px;text-decoration:none;font-weight:800;border:1px solid #d1d5db;background:#fff;color:#0b1220}
#ibg-shell .btn.primary{background:#059669;border-color:#059669;color:#fff}
#ibg-shell .hamb{display:none}
#ibg-shell #mobileNav{display:none;padding:0 0 10px 0}
#ibg-shell #mobileNav .card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:10px}
#ibg-shell #mobileNav .card a{display:block;padding:12px 10px;border:1px solid #e5e7eb;border-radius:12px;margin:2px 0;font-weight:800;text-decoration:none;color:#0f172a}

/* Footer */
#ibg-shell-footer{background:#0b0f19;color:#cbd5e1;margin-top:16px}
#ibg-shell-footer a{color:#93c5fd;text-decoration:none}
#ibg-shell-footer a:hover{text-decoration:underline}
#ibg-shell-footer .row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:24px 0}
#ibg-shell-footer .row-bottom{border-top:1px solid #1f2937;margin-top:8px;padding:12px 0;font-size:12px;color:#94a3b8;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}

/* Responsive */
@media (max-width:880px){
  #ibg-shell nav{display:none!important}
  #ibg-shell .hamb{display:inline-flex}
  #ibg-shell .logo-img{height:28px}
}
/* ====== FIX RESPONSIVE BANNER DE COOKIES (móvil + desktop) ====== */
/* Cubre nombres típicos de contenedores de cookies */
#cookie-banner, #cookiebar, #cookie-consent, .cookie-banner, .cookiebar, .cookies-banner, [data-cookie-banner]{
  position: fixed; bottom: 0; left: 0; right: 0;
  z-index: 9999;
  background:#fff; border-top:1px solid #e5e7eb;
  box-shadow:0 -12px 32px rgba(2,6,23,.10);
  padding:14px 16px calc(16px + env(safe-area-inset-bottom));
  font: inherit; font-size:15px; line-height:1.45;
}

/* Envoltorio interior (si existe) para centrar contenido */
#cookie-banner .inner, #cookiebar .inner, #cookie-consent .inner,
.cookie-banner .inner, .cookiebar .inner, .cookies-banner .inner,
[data-cookie-banner] .inner{
  max-width:1200px; margin:0 auto;
}

/* Texto y enlaces legibles */
#cookie-banner, #cookiebar, #cookie-consent, .cookie-banner, .cookiebar, .cookies-banner, [data-cookie-banner] p{
  margin:0 0 8px 0; color:#0b1220;
}
#cookie-banner a, #cookiebar a, #cookie-consent a, .cookie-banner a, .cookiebar a, .cookies-banner a, [data-cookie-banner] a{
  color:#6d28d9; text-decoration:none; font-weight:700;
}

/* Listado de opciones/checkboxs compacto */
#cookie-banner label, #cookiebar label, #cookie-consent label, .cookie-banner label, .cookiebar label, .cookies-banner label, [data-cookie-banner] label{
  display:flex; align-items:center; gap:8px; margin:6px 0;
  color:#374151; font-size:15px;
}
#cookie-banner input[type="checkbox"], #cookiebar input[type="checkbox"], #cookie-consent input[type="checkbox"],
.cookie-banner input[type="checkbox"], .cookiebar input[type="checkbox"], .cookies-banner input[type="checkbox"], [data-cookie-banner] input[type="checkbox"]{
  width:18px; height:18px; accent-color:#059669;
}

/* Botonera */
#cookie-banner .cookie-actions, #cookiebar .cookie-actions, #cookie-consent .cookie-actions,
.cookie-banner .cookie-actions, .cookiebar .cookie-actions, .cookies-banner .cookie-actions, [data-cookie-banner] .cookie-actions{
  display:flex; flex-wrap:wrap; gap:8px; margin-top:10px;
}

/* Estilo de botones genérico (por si vienen “a pelo”) */
#cookie-banner button, #cookiebar button, #cookie-consent button,
.cookie-banner button, .cookiebar button, .cookies-banner button, [data-cookie-banner] button{
  appearance:none; border-radius:999px; padding:.65rem 1rem; border:1px solid #d1d5db;
  background:#fff; color:#0f172a; font-weight:800; cursor:pointer;
}
#cookie-banner button.primary, #cookiebar button.primary, #cookie-consent button.primary,
.cookie-banner button.primary, .cookiebar button.primary, .cookies-banner button.primary, [data-cookie-banner] button.primary{
  background:#059669; border-color:#059669; color:#fff;
}

/* En móvil, que ocupen ancho completo y NO se monten */
@media (max-width:780px){
  #cookie-banner .cookie-actions button,
  #cookiebar .cookie-actions button,
  #cookie-consent .cookie-actions button,
  .cookie-banner .cookie-actions button,
  .cookiebar .cookie-actions button,
  .cookies-banner .cookie-actions button,
  [data-cookie-banner] .cookie-actions button{
    width:100%;
  }
}
/* ===== Cookie banner – versión compacta móvil ===== */
#cookie-consent, .cookie-consent{
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 9999;
  background: #fff;
  border-top: 1px solid #e5e7eb;
  box-shadow: 0 -8px 24px rgba(2,6,23,.10);
  font-size: 15px;
  line-height: 1.38;
}

#cookie-consent .inner, .cookie-consent .inner{
  max-width: 980px;
  margin: 0 auto;
  padding: 12px 14px;
}

#cookie-consent p, .cookie-consent p{ margin: 0 0 8px; }

#cookie-consent .opts, .cookie-consent .opts{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 6px 0 0;
}

#cookie-consent .opts label, .cookie-consent .opts label{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #374151;
}

#cookie-consent .actions, .cookie-consent .actions{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px;
}

#cookie-consent .actions button, .cookie-consent .actions button{
  flex: 1 1 120px;                 /* ocupan todo el ancho si hace falta */
  padding: .6rem .8rem;
  border-radius: 12px;
  border: 1px solid #d1d5db;
  background: #fff;
  font-weight: 700;
}

#cookie-consent .actions .accept, .cookie-consent .actions .accept{
  background: #059669;
  border-color: #059669;
  color: #fff;
}

#cookie-consent a, .cookie-consent a{
  color: #6d28d9;
  text-decoration: none;
}

@media (max-width: 380px){
  #cookie-consent, .cookie-consent{ font-size: 14px; }
}
/* ===== Consentimiento en formularios (móvil y desktop) ===== */
#ibergestion-home .form-actions{ align-items: flex-start; }
#ibergestion-home .form-actions .consent{
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  max-width: 100%;
}
#ibergestion-home .form-actions .consent input[type="checkbox"]{
  margin-top: .25rem;
  flex: 0 0 auto;
}
#ibergestion-home .form-actions .consent .consent-text{
  display: inline;
  white-space: normal;
  line-height: 1.35;
  color: #64748b;
}
/* ===== Footer hardening (móvil + desktop) ===== */
#ibg-shell-footer .row > *{
  min-width: 0;              /* evita que el contenido “empuje” */
  flex: 1 1 260px;           /* columnas fluidas */
}
#ibg-shell-footer .row p{ margin:.35rem 0; }
#ibg-shell-footer .row a { word-break: break-word; }

@media (max-width:780px){
  #ibg-shell-footer .row{
    flex-direction: column;  /* columnas apiladas */
    align-items: flex-start;
  }
  #ibg-shell-footer .row > *{ width:100%; }
}
/* ===== Cookiebar Ibergestión – refuerzo ===== */
#ibg-cookiebar, #ibg-cookiebar *{ box-sizing: border-box; }
#ibg-cookiebar{ 
  position: fixed; left:0; right:0; bottom:0; z-index:9999;
  background:#0b0f19; color:#cbd5e1; border-top:1px solid #1f2937;
}
#ibg-cookiebar .wrap{
  max-width:1200px; margin:0 auto; padding:14px 16px;
  display:flex; gap:14px; align-items:flex-start; justify-content:space-between; flex-wrap:wrap;
}
#ibg-cookiebar .txt{ flex:1 1 320px; font-size:14px; line-height:1.45; }
#ibg-cookiebar .txt a{ color:#93c5fd; text-decoration:none; }
#ibg-cookiebar .txt a:hover{ text-decoration:underline; }
#ibg-cookiebar .prefs{ display:none; margin-top:8px; padding:10px; border:1px solid #1f2937; border-radius:12px; background:#0f172a; }
#ibg-cookiebar .prefs label{ display:flex; align-items:center; gap:8px; font-size:14px; color:#cbd5e1; }
#ibg-cookiebar .prefs small{ color:#94a3b8; }

#ibg-cookiebar .actions{
  display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end;
}
#ibg-cookiebar .btn{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.6rem .9rem; border-radius:999px; border:1px solid #374151;
  background:#111827; color:#e5e7eb; font-weight:800; cursor:pointer;
}
#ibg-cookiebar .btn.primary{ background:#059669; border-color:#059669; color:#fff; }
#ibg-cookiebar .btn.link{ background:transparent; }

/* Móvil: botones a ancho completo */
@media (max-width:780px){
  #ibg-cookiebar .wrap{ padding:12px; }
  #ibg-cookiebar .actions{ justify-content:stretch; }
  #ibg-cookiebar .btn{ width:100%; justify-content:center; }
}
#ibg-cookiebar, #ibg-cookiebar *{ all: revert; box-sizing: border-box; }
/* ===== Fix "filete" footer móvil (full-bleed + hairline) ===== */
#ibg-shell-footer { position: relative; }

/* Contenedor inferior del footer */
#ibg-shell-footer .row-bottom{
  position: relative;
  border-top: 0 !important;        /* quitamos el borde que a veces “salta” */
  margin-top: 16px;
  padding-top: 12px;
  padding-bottom: calc(12px + env(safe-area-inset-bottom)); /* evita pisarse con notch/cookies */
}

/* Línea separadora que sí llega de lado a lado y se ve nítida en iOS */
#ibg-shell-footer .row-bottom::before{
  content:"";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: #1f2937;             /* mismo color que usabas */
  transform: scaleY(.5);            /* hairline en pantallas retina */
  transform-origin: top;
}

/* Ajustes responsive para que nada se rompa en móvil */
@media (max-width:780px){
  #ibg-shell-footer .row-bottom{
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}
/* ===== Footer: filete full-bleed y estable en iOS ===== */
#ibg-shell-footer { position: relative; }

/* Quitamos el borde clásico (que en iOS a veces se ve mal) */
#ibg-shell-footer .row-bottom{
  position: relative;
  border-top: 0 !important;
  margin-top: 16px;
  padding-top: 12px;
  padding-bottom: calc(12px + env(safe-area-inset-bottom));
  overflow: visible;                 /* evita que se “corte” el pseudo-elemento */
}

/* Filete que ocupa TODO el ancho de la ventana, no solo el .container */
#ibg-shell-footer .row-bottom::before{
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;                      /* ancho completo de la ventana */
  transform: translateX(-50%);       /* centra respecto al viewport */
  height: 1px;
  background: #1f2937;               /* mismo color que usas */
  pointer-events: none;
  z-index: 1;
}

/* En pantallas retina (iPhone), damos un “hairline” nítido */
@media (-webkit-min-device-pixel-ratio:2), (min-resolution:192dpi){
  #ibg-shell-footer .row-bottom::before{
    height: 2px;
    background: linear-gradient(#1f2937, #1f2937) no-repeat;
    transform: translateX(-50%) scaleY(.5);  /* 1px visual real */
    transform-origin: top;
  }
}

/* Responsive: distribución vertical limpia en móvil */
@media (max-width:780px){
  #ibg-shell-footer .row-bottom{
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}
