/* ============================================================
   GlobalMedicPro · estilos.css
   Identidad: azul clínico #1F6FE5 · apoyo #2C5091/#16305C
   gris #7A8699 · negro #0E0E10 + naranjo #FF7A1A (solo admin/footer)
   Tipografía: Century Gothic (fallbacks geométricos)
   Mobile-first · PWA
   ============================================================ */
:root{
  --azul:#1F6FE5; --azul-osc:#2C5091; --azul-prof:#16305C;
  --gris:#7A8699; --negro:#0E0E10; --naranjo:#FF7A1A;
  --fondo:#F5F8FD; --blanco:#FFFFFF; --borde:#E3EAF5;
  --ok:#1E9E62; --alerta:#E5484D; --amarillo:#F5B301;
  --radio:16px; --radio-sm:12px; --radio-lg:20px;
  --sombra:0 4px 18px rgba(22,48,92,.08); --sombra-hover:0 10px 30px rgba(22,48,92,.12);
  --fuente:'Century Gothic','CenturyGothic','Questrial','Trebuchet MS','Segoe UI',system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{font-family:var(--fuente);background:var(--fondo);color:var(--negro);line-height:1.55;font-size:16px;overflow-x:hidden;max-width:100%;position:relative}
*{box-sizing:border-box}
img{max-width:100%}
a{color:var(--azul);text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--azul);outline-offset:2px;border-radius:4px}
.container{max-width:1280px;margin:0 auto;padding:0 24px;width:100%}
.container-angosto{max-width:900px;margin:0 auto;padding:0 24px}
@media(max-width:600px){.container,.container-angosto{padding:0 16px}.logo-img{height:46px;max-width:230px}.topbar-inner{min-height:66px}}
.muted{color:var(--gris)}
.mini{font-size:.82rem}
.centro-txt{text-align:center}
h1,h2,h3{color:var(--azul-prof);line-height:1.25;letter-spacing:-.01em}
h1{font-size:1.9rem}h2{font-size:1.4rem;margin-bottom:.6rem}h3{font-size:1.1rem}

/* ============ TOPBAR ============ */
.topbar{background:var(--blanco);border-bottom:1px solid var(--borde);position:sticky;top:0;z-index:50}
.topbar-inner{display:flex;align-items:center;gap:10px;min-height:70px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none}
.marca:hover{text-decoration:none}
.logo-img{height:49px;width:auto;max-width:310px;display:block}

/* ===== Menú con íconos (compacto tipo LinkedIn) ===== */
.nav-iconos{display:flex;align-items:center;gap:0}
.nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 7px;text-decoration:none;color:var(--gris,#7A8699);font-size:.78rem;font-weight:400;border-radius:8px;transition:color .15s}
.nav .nav-item, .nav-iconos .nav-item span{font-size:.78rem !important}
.nav-item svg{width:22px;height:22px;color:var(--azul,#1F6FE5)}
.nav-item:hover{color:var(--azul-osc,#16305C);background:transparent;text-decoration:none}
.nav-sep{width:1px;height:34px;background:var(--borde);margin:0 14px;flex-shrink:0}
.nav a.nav-btn-borde, a.nav-btn-borde{padding:8px 18px;border:1.5px solid var(--azul,#1F6FE5);color:var(--azul,#1F6FE5) !important;border-radius:22px;font-size:.95rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .15s}
.nav-btn-borde:hover{background:#F1F5FC;text-decoration:none;color:var(--azul,#1F6FE5) !important}
.nav a.nav-btn-lleno, .nav a.nav-btn-lleno:hover, a.nav-btn-lleno{padding:8px 20px;background:var(--azul,#1F6FE5);color:#fff !important;border-radius:22px;font-size:.95rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:filter .15s}
.nav-btn-lleno:hover{filter:brightness(.94);text-decoration:none;color:#fff !important}
.nav-salir{margin-left:6px;align-self:center;font-size:.85rem}
@media(max-width:900px){
  .nav-iconos{flex-wrap:wrap}
  .nav-sep{display:none}
}
.marca-txt{color:var(--azul);font-weight:bold;font-size:1.15rem;line-height:1.1;display:flex;flex-direction:column}
.marca-txt small{color:var(--gris);font-weight:normal;font-size:.78rem;letter-spacing:.04em}
.nav{margin-left:auto;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.nav a{color:var(--azul-prof);font-size:.95rem}
.nav a:hover{color:var(--azul);text-decoration:none}
.nav-panel{font-weight:bold}
.btn-nav{padding:8px 16px}
.menu-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--borde);border-radius:8px;font-size:1.3rem;padding:4px 12px;color:var(--azul-prof);cursor:pointer}
.pill-alerta{background:var(--alerta);color:#fff;border-radius:20px;padding:1px 8px;font-size:.75rem;margin-left:4px}
@media(max-width:860px){
  .menu-toggle{display:block}
  .nav{display:none;width:100%;flex-direction:column;align-items:stretch;padding:8px 0;gap:2px}
  .nav.abierto{display:flex}
  .topbar-inner{flex-wrap:wrap}
  /* menú abierto: ítems centrados, ícono al lado del texto, compacto */
  .nav-iconos.nav.abierto{align-items:stretch}
  .nav-item{flex-direction:row !important;justify-content:center;gap:10px !important;padding:12px 0 !important;border-bottom:0.5px solid var(--borde);border-radius:0;font-size:1rem !important}
  .nav-item span{font-size:1rem !important}
  .nav-item svg{width:20px;height:20px}
  .nav-sep{display:none}
  .nav-panel,.nav-salir{text-align:center;justify-content:center;margin-top:8px}
  .nav-btn-borde.nav-panel{align-self:center;display:inline-flex;justify-content:center}
}

/* ============ HERO (buscador por necesidad = firma del sitio) ============ */
/* ===== Hero con bienvenida integrada ===== */
.hero-badge{display:inline-block;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.32);padding:6px 16px;border-radius:20px;font-size:.8rem;color:#fff;margin-bottom:14px;letter-spacing:.02em}
.hero .hero-sub2{color:#EAF1FE;font-size:1.05rem;font-weight:600;margin:30px 0 12px;max-width:640px;letter-spacing:.01em}
@media(max-width:600px){.hero-badge{font-size:.68rem;padding:5px 12px}.hero .hero-sub2{font-size:.95rem}}

.hero{background:linear-gradient(160deg,var(--azul-prof) 0%,var(--azul-osc) 55%,var(--azul) 100%);color:#fff;padding:64px 0 84px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.06)}
.hero h1{color:#fff;font-size:2.3rem;max-width:640px}
.hero p.sub{color:#D8E4FA;max-width:600px;margin:14px 0 6px;line-height:1.65}
.buscador-hero{background:#fff;border-radius:var(--radio);padding:10px;display:flex;gap:8px;max-width:680px;box-shadow:0 12px 40px rgba(14,14,16,.25)}
.buscador-hero input{flex:1;border:none;font-family:var(--fuente);font-size:1.02rem;padding:12px 14px;min-width:0}
.buscador-hero input:focus{outline:none}
.hero-nota{color:#B9CDF2;font-size:.82rem;margin-top:12px;max-width:640px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.chip{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:30px;padding:6px 14px;font-size:.85rem;cursor:pointer}
.chip:hover{background:rgba(255,255,255,.25);text-decoration:none;color:#fff}
@media(max-width:600px){
  .hero{padding:24px 0 30px}
  .hero h1{font-size:1.5rem;margin:6px 0}
  .hero .sub{font-size:.92rem;margin:8px 0 14px;line-height:1.45}
  .hero .hero-sub2{margin:14px 0 8px}
  .hero-badge{margin-bottom:8px}
  .buscador-hero{flex-direction:column}
  .buscador-hero .btn{width:100%}
  .chips{margin-top:10px}
  .hero-nota,.hero-aviso{margin-top:10px;font-size:.78rem}
}

/* ============ BOTONES ============ */
.btn{display:inline-block;border:none;border-radius:11px;padding:13px 26px;font-family:var(--fuente);font-size:.98rem;font-weight:bold;cursor:pointer;text-align:center;transition:transform .12s ease, box-shadow .12s ease}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-primario{background:var(--azul);color:#fff}
.btn-primario:hover{box-shadow:0 6px 18px rgba(31,111,229,.4);color:#fff}
.btn-secundario{background:#fff;color:var(--azul);border:2px solid var(--azul)}
.btn-fantasma{background:transparent;color:var(--azul-prof);border:1px solid var(--borde)}
.btn-peligro{background:var(--alerta);color:#fff}
.btn-chico{padding:6px 14px;font-size:.85rem}
.btn-bloque{display:block;width:100%}

/* ============ CARDS Y GRID ============ */
.grid{display:grid;gap:24px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--borde);border-radius:var(--radio);padding:24px;box-shadow:var(--sombra);transition:box-shadow .18s ease, transform .18s ease}
.card:hover{box-shadow:var(--sombra-hover);transform:translateY(-3px)}
.card h3 a{color:var(--azul-prof)}
.seccion{padding:28px 0}
@media(max-width:600px){.seccion{padding:22px 0}}
.seccion-alt{background:#fff;border-top:1px solid var(--borde);border-bottom:1px solid var(--borde)}
.encabezado-seccion{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:22px;flex-wrap:wrap}

/* ============ PERFILES / DIRECTORIO ============ */
.avatar{width:64px;height:64px;border-radius:50%;background:var(--borde);color:var(--azul-osc);display:flex;align-items:center;justify-content:center;font-weight:bold;font-size:1.3rem;overflow:hidden;flex-shrink:0}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar-xl{width:110px;height:110px;font-size:2rem}
.card-prof{display:flex;gap:14px}
.card-prof .info{min-width:0}
.badge{display:inline-block;border-radius:6px;padding:2px 9px;font-size:.78rem;font-weight:bold;vertical-align:middle}
.badge-verif{background:#E3F0FF;color:var(--azul)}
.badge-complementaria{background:#F1E9FF;color:#6B3FD6}
.badge-destacado{background:#FFF4E3;color:#B96A00;border:1px solid #F5D9A8}
.badge-pub{background:#EEE;color:var(--gris)}
.badge-ok{background:#E2F6EC;color:var(--ok)}
.badge-rev{background:#FFF6DD;color:#9B7700}
.badge-no{background:#FDE7E8;color:var(--alerta)}
.estrellas{color:var(--amarillo);letter-spacing:1px}
.filtros{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px;background:#fff;border:1px solid var(--borde);border-radius:var(--radio);padding:14px}
.filtros select,.filtros input{flex:1;min-width:150px}

/* ============ FORMULARIOS ============ */
label{display:block;font-size:.88rem;color:var(--azul-prof);font-weight:bold;margin:14px 0 5px}
input,select,textarea{width:100%;font-family:var(--fuente);font-size:.95rem;padding:11px 13px;border:1.5px solid var(--borde);border-radius:10px;background:#fff;color:var(--negro)}
input:focus,select:focus,textarea:focus{border-color:var(--azul)}
textarea{min-height:110px;resize:vertical}
.form-caja{max-width:520px;margin:40px auto;background:#fff;border:1px solid var(--borde);border-radius:var(--radio);padding:30px;box-shadow:var(--sombra)}
.aviso{border-radius:10px;padding:12px 16px;margin:14px 0;font-size:.92rem}
.aviso-ok{background:#E2F6EC;color:#0E6B41;border:1px solid #BEE8D2}
.aviso-error{background:#FDE7E8;color:#A22026;border:1px solid #F5C6C8}
.aviso-info{background:#E9F1FF;color:var(--azul-osc);border:1px solid #CCDEFA}
.barra-progreso{background:var(--borde);border-radius:20px;height:12px;overflow:hidden;margin:8px 0}
.barra-progreso div{background:linear-gradient(90deg,var(--azul),var(--ok));height:100%;border-radius:20px;transition:width .4s}

/* ============ PANELES ============ */
.panel-layout{display:grid;grid-template-columns:230px 1fr;gap:24px;padding:28px 0;align-items:start}
.panel-menu{background:#fff;border:1px solid var(--borde);border-radius:var(--radio);padding:14px;position:sticky;top:80px}
.panel-menu a{display:block;padding:10px 12px;border-radius:8px;color:var(--azul-prof);font-size:.92rem}
.panel-menu a:hover{background:var(--fondo);text-decoration:none}
.panel-menu a.activo{background:var(--azul);color:#fff;font-weight:bold}
@media(max-width:820px){.panel-layout{grid-template-columns:1fr}.panel-menu{position:static;display:flex;overflow-x:auto;gap:4px}.panel-menu a{white-space:nowrap}}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:24px}
.kpi{background:#fff;border:1px solid var(--borde);border-radius:var(--radio);padding:18px}
.kpi .num{font-size:1.7rem;font-weight:bold;color:var(--azul)}
.kpi .lbl{color:var(--gris);font-size:.82rem}

/* Panel admin: identidad interna GlobalPro (negro + naranjo) */
.admin .panel-menu{background:var(--negro);border-color:#222}
.admin .panel-menu a{color:#D8D8DC}
.admin .panel-menu a:hover{background:#1C1C20}
.admin .panel-menu a.activo{background:var(--naranjo);color:var(--negro)}
.admin .kpi .num{color:var(--naranjo)}

/* ============ TABLAS ============ */
.tabla-wrap{overflow-x:auto;background:#fff;border:1px solid var(--borde);border-radius:var(--radio)}
table{width:100%;border-collapse:collapse;font-size:.9rem}
th{background:var(--fondo);color:var(--azul-prof);text-align:left;padding:12px 14px;border-bottom:1px solid var(--borde);white-space:nowrap}
td{padding:11px 14px;border-bottom:1px solid var(--borde);vertical-align:top}
tr:last-child td{border-bottom:none}

/* ============ FEED / RED ============ */
.post{background:#fff;border:1px solid var(--borde);border-radius:var(--radio);padding:18px;margin-bottom:16px}
.post-head{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.post-acciones{display:flex;gap:16px;margin-top:12px;border-top:1px solid var(--borde);padding-top:10px;font-size:.88rem}
.comentario{background:var(--fondo);border-radius:10px;padding:8px 12px;margin-top:8px;font-size:.9rem}
.hilo-msg{display:flex;flex-direction:column;gap:8px;max-height:420px;overflow-y:auto;padding:12px;background:var(--fondo);border-radius:10px}
.msg{max-width:75%;padding:9px 13px;border-radius:14px;font-size:.92rem}
.msg-yo{background:var(--azul);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.msg-otro{background:#fff;border:1px solid var(--borde);align-self:flex-start;border-bottom-left-radius:4px}

/* ============ RESEÑAS ============ */
.resena{border-top:1px solid var(--borde);padding:14px 0}
.resena-respuesta{background:var(--fondo);border-left:3px solid var(--azul);border-radius:0 10px 10px 0;padding:10px 14px;margin-top:8px;font-size:.9rem}

/* ============ ANUNCIO ============ */
.anuncio{border:1px dashed var(--gris);position:relative}
.anuncio .badge-pub{position:absolute;top:10px;right:10px}
.anuncio a{display:block;color:var(--negro)}
.anuncio a:hover{text-decoration:none}

/* ============ FOOTER (identidad GlobalPro) ============ */
.footer{background:var(--negro);color:#C9C9CE;margin-top:56px;padding:44px 0 0}
.footer a{color:#E4E7F0;display:block;margin:6px 0;font-size:.9rem}
.footer strong{color:#fff;display:block;margin-bottom:8px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:26px;padding-bottom:30px}
@media(max-width:820px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.footer-grid{grid-template-columns:1fr}}
.footer-bottom{border-top:1px solid #26262B;text-align:center;padding:16px;font-size:.85rem;color:var(--gris)}
.naranjo{color:var(--naranjo)}

/* ============ COOKIES / VARIOS ============ */
.banner-cookies{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);background:#fff;border:1px solid var(--borde);border-radius:var(--radio);box-shadow:0 10px 40px rgba(14,14,16,.25);padding:14px 18px;max-width:640px;width:calc(100% - 28px);z-index:100;display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:.9rem}
.paginacion{display:flex;gap:6px;justify-content:center;margin:26px 0}
.paginacion a,.paginacion span{padding:7px 13px;border:1px solid var(--borde);border-radius:8px;background:#fff}
.paginacion .actual{background:var(--azul);color:#fff;border-color:var(--azul)}
.tag-lista{display:flex;gap:8px;flex-wrap:wrap}
.tag{background:var(--fondo);border:1px solid var(--borde);border-radius:20px;padding:4px 12px;font-size:.82rem;color:var(--azul-osc)}
.icono-beneficio{font-size:1.9rem;margin-bottom:8px}
.precio-grande{font-size:1.6rem;font-weight:bold;color:var(--azul)}
.destello{animation:destello 2.4s ease infinite}
@keyframes destello{0%,100%{box-shadow:0 0 0 0 rgba(31,111,229,.0)}50%{box-shadow:0 0 0 6px rgba(31,111,229,.12)}}
.linea{border:none;border-top:1px solid var(--borde);margin:20px 0}

/* F3 · fix banner cookies: el atributo hidden debe ganar al display:flex */
.banner-cookies[hidden]{display:none}

/* ============ F4 · Academia + Marketplace ============ */
.hero-academia,.hero-marketplace{background:linear-gradient(140deg,var(--azul-prof),var(--azul-osc) 55%,var(--azul));color:#fff;border-radius:18px;padding:32px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:6px}
.hero-marketplace{background:linear-gradient(140deg,#0E3D2E,#127a4d 60%,#1CA66A)}
.hero-academia h1,.hero-marketplace h1{color:#fff;margin:0 0 6px}
.hero-academia p,.hero-marketplace p{color:#D6E4FB;margin:0;max-width:520px;font-size:.95rem}
.hero-marketplace p{color:#CFEEDD}
.hero-kpis{display:flex;gap:12px}
.kpi-hero{text-align:center;background:rgba(255,255,255,.12);border-radius:12px;padding:12px 20px;color:#fff}
.kpi-hero strong{font-size:1.6rem;display:block}
.kpi-hero span{font-size:.75rem;opacity:.85}
.filtros-f4{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.filtros-f4 select,.filtros-f4 input{padding:10px 12px;border:1px solid var(--borde);border-radius:10px;font-family:inherit;font-size:.9rem;background:#fff}
/* curso card */
.curso-card .curso-flyer{height:130px;border-radius:10px;overflow:hidden;background:linear-gradient(120deg,var(--azul),var(--azul-prof));display:grid;place-items:center;color:#fff;font-size:.78rem;letter-spacing:1px;margin-bottom:10px;position:relative}
.curso-card .curso-flyer img{width:100%;height:100%;object-fit:cover}
.curso-flyer .flyer-badge{position:absolute;top:8px;left:8px}
.curso-cat{font-size:.7rem;font-weight:700;color:var(--azul-osc);text-transform:uppercase;letter-spacing:.05em}
.curso-card h3{margin:6px 0 4px;font-size:1.02rem}
.curso-card h3 a{color:var(--azul-prof)}
.curso-precio{font-size:1.25rem;font-weight:700;color:var(--azul-prof);margin:8px 0 2px}
.curso-precio.gratis{color:var(--ok);font-size:1.1rem}
.curso-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:6px}
.curso-dest{border-top:3px solid var(--naranjo)}
.cupos-barra{height:6px;background:#E9EEF7;border-radius:4px;overflow:hidden;margin-top:8px}
.cupos-barra>span{display:block;height:100%;background:var(--azul)}
.badge-mod{background:#EAF1FE;color:var(--azul-osc)}
.curso-flyer-detalle{border-radius:14px;overflow:hidden;max-height:320px;margin-top:14px}
.curso-flyer-detalle img{width:100%;object-fit:cover}
/* producto card */
.prod-card .prod-img{height:150px;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,#DCE6F7,#EFF4FC);display:grid;place-items:center;font-size:2.4rem;margin-bottom:10px;position:relative}
.prod-card .prod-img img{width:100%;height:100%;object-fit:cover}
.prod-nfotos{position:absolute;bottom:6px;right:6px;background:rgba(14,14,16,.6);color:#fff;font-size:.65rem;padding:2px 7px;border-radius:6px}
.prod-cat{font-size:.68rem;font-weight:700;color:#127a4d;text-transform:uppercase;letter-spacing:.05em}
.prod-card h3{margin:2px 0;font-size:.98rem}
.prod-card h3 a{color:var(--azul-prof)}
.prod-dest{border-top:3px solid var(--naranjo)}
.precio-tachado{text-decoration:line-through;color:var(--gris);font-size:.85rem}
.precio-socio{font-size:1.2rem;font-weight:700;color:var(--ok)}
.badge-socio{background:var(--azul-prof);color:#fff}
.aviso-socio{display:flex;gap:10px;align-items:center;background:#EAF6F0;border:1px solid #BFE5D2;border-radius:12px;padding:12px 16px;font-size:.9rem;color:#0E5A38;margin:14px 0}
/* ficha producto */
.prod-galeria-main{height:300px;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#DCE6F7,#EFF4FC);display:grid;place-items:center}
.prod-galeria-main img{width:100%;height:100%;object-fit:cover}
.prod-thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.prod-thumbs .thumb{width:60px;height:60px;object-fit:cover;border-radius:8px;border:2px solid transparent;cursor:pointer}
.prod-thumbs .thumb.on{border-color:var(--azul)}
/* comisión (solo publicador) */
.comision-box{background:#FFF7ED;border:1px solid #FFE0BF;border-radius:10px;padding:10px 14px;font-size:.78rem;color:#8a5200;margin-top:12px;line-height:1.5}
/* planes vitrina */
.plan-vit{border:1px solid var(--borde);border-radius:12px;padding:12px;text-align:center;cursor:pointer;transition:.15s;display:block}
.plan-vit:hover{border-color:var(--azul)}
.plan-vit:has(input:checked){border:2px solid var(--azul);background:#F7FAFF}
.plan-vit .plan-precio{font-size:1.2rem;font-weight:700;color:var(--azul-prof)}
/* tabla genérica paneles */
.tabla{width:100%;border-collapse:collapse;font-size:.85rem}
.tabla th{text-align:left;color:var(--gris);font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;padding:8px;border-bottom:1px solid var(--borde)}
.tabla td{padding:10px 8px;border-bottom:1px solid var(--borde);vertical-align:middle}
.btn-chico{padding:7px 12px;font-size:.78rem}
.eyebrow{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--azul);font-weight:700;margin-bottom:6px}
.form-caja{background:#fff;border:1px solid var(--borde);border-radius:var(--radio);padding:18px}
.form-caja label{display:block;font-size:.78rem;color:var(--azul-osc);font-weight:700;margin:10px 0 4px}
.form-caja input,.form-caja select,.form-caja textarea{width:100%;padding:10px 12px;border:1px solid var(--borde);border-radius:10px;font-family:inherit;font-size:.92rem}
/* panel admin liquidaciones (negro+naranjo) */
.admin-panel{background:var(--negro);color:#EDEDF0;border-radius:var(--radio);padding:22px}
.admin-panel h1,.admin-panel h2{color:#fff}
.eyebrow-adm{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--naranjo);font-weight:700;margin-bottom:4px}
.tabla-adm{width:100%;border-collapse:collapse;font-size:.85rem;color:#EDEDF0;margin-top:12px}
.tabla-adm th{text-align:left;color:#8A8C96;font-size:.68rem;text-transform:uppercase;padding:8px;border-bottom:1px solid #26262C}
.tabla-adm td{padding:10px 8px;border-bottom:1px solid #26262C}
.kpi-adm{text-align:center;background:#17171B;border-radius:12px;padding:14px 22px}
.kpi-adm strong{font-size:1.5rem;display:block}
.kpi-adm span{font-size:.78rem;color:#8A8C96}

/* ============ Landing de Centros y Proveedores ============ */
.hero-centros{background:linear-gradient(140deg,var(--azul-prof),var(--azul-osc) 55%,var(--azul));color:#fff;border-radius:18px;padding:32px 28px;margin-bottom:6px}
.hero-centros h1{color:#fff;margin:0 0 6px}
.hero-centros p{color:#D6E4FB;margin:0;max-width:560px;font-size:.95rem}
.empresa-card .empresa-head{display:flex;gap:12px;align-items:center}
.empresa-logo{width:56px;height:56px;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,var(--azul),var(--azul-prof));display:grid;place-items:center;color:#fff;font-weight:700;font-size:1.3rem;flex-shrink:0}
.empresa-logo img{width:100%;height:100%;object-fit:contain}
.empresa-logo.grande{width:88px;height:88px;font-size:2rem;border-radius:16px}
.empresa-card h3{margin:0;font-size:1.02rem}
.empresa-card h3 a{color:var(--azul-prof)}
.empresa-perfil{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.empresa-contacto{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;color:var(--gris)}
.empresa-contacto span{white-space:nowrap}
.empleo-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--borde)}
.empleo-item:last-child{border-bottom:none}

/* ============ F5 · Telemedicina ============ */
.hero-tele{background:linear-gradient(140deg,#1F6FE5,#16305C 60%,#2C5091);color:#fff;border-radius:18px;padding:32px 28px;margin-bottom:6px}
.hero-tele h1{color:#fff;margin:0 0 6px}
.hero-tele p{color:#D6E4FB;margin:0;max-width:560px;font-size:.95rem}
.badge-tele{background:#1F6FE5;color:#fff;padding:2px 9px;border-radius:7px;font-size:.7rem;font-weight:700}
.tele-card .tele-doc{display:flex;gap:12px;align-items:center}
.tele-foto{width:54px;height:54px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#1F6FE5,#16305C);display:grid;place-items:center;color:#fff;font-weight:700;font-size:1.2rem;flex-shrink:0}
.tele-foto img{width:100%;height:100%;object-fit:cover}
.tele-card h3{margin:0;font-size:1rem;color:#16305C}
.tele-precio{font-size:1.2rem;font-weight:700;color:#16305C;margin-top:10px}
.precio-tele{font-size:1.3rem;font-weight:700;color:#16305C}
.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:8px}
.slot{border:1px solid var(--borde);border-radius:8px;padding:9px;text-align:center;font-size:.82rem;cursor:pointer;transition:.12s}
.slot.libre:hover{border-color:#1F6FE5;background:#F7FAFF}
.slot.sel{background:#1F6FE5;color:#fff;border-color:#1F6FE5}
.consent-box{background:#F7FAFF;border:1px solid var(--borde);border-radius:10px;padding:14px;font-size:.85rem;color:#3a4356;max-height:180px;overflow:auto}
.consent-box p{margin-bottom:8px}
.check-consent{display:flex;gap:10px;align-items:flex-start;margin-top:12px;font-size:.85rem;cursor:pointer}
.check-consent input{margin-top:3px;width:auto}
.plan-tele .plan-tele-head,.plan-tele-activo{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.plan-precio,.plan-tele .plan-precio{font-size:1.5rem;font-weight:700;color:#16305C}
.plan-precio span,.plan-tele .plan-precio span{font-size:.8rem;color:var(--gris);font-weight:400}
.plan-incluye{margin-top:12px;font-size:.88rem;line-height:1.9}
.tele-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--borde)}
.tele-item:last-child{border:none}
.switch{display:flex;gap:10px;align-items:center;cursor:pointer;font-size:.9rem}
.switch input{width:auto}
.tele-sala-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.tele-sala-demo{background:#0E0E10;border-radius:14px;position:relative;height:520px;overflow:hidden}
.tele-video-remoto{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(135deg,#16305C,#0E0E10)}
.tele-avatar-xl{font-size:3.5rem}
.tele-video-local{position:absolute;bottom:16px;right:16px;width:130px;height:96px;border-radius:10px;background:linear-gradient(135deg,#2C5091,#1F6FE5);border:2px solid #fff;display:grid;place-items:center;color:#cfe0ff;font-size:.75rem}
.tele-barra{position:absolute;bottom:0;left:0;right:0;padding:16px;display:flex;gap:12px;justify-content:center;background:linear-gradient(transparent,rgba(0,0,0,.6))}
.tele-ctrl{width:48px;height:48px;border-radius:50%;border:none;cursor:pointer;font-size:1.15rem;background:rgba(255,255,255,.2);color:#fff}
.tele-ctrl.colgar{background:#E5484D;width:60px}
.tele-video-wrap{border-radius:14px;overflow:hidden}

/* ============ F6 · CRM de pacientes ============ */
.badge-crm-lead{background:#FFF4DB;color:#8a6100}
.badge-crm-paciente{background:#E7F6EE;color:#1E9E62}
.badge-crm-inactivo{background:#F1F3F7;color:#7A8699}
.badge-etq{background:#EAF1FE;color:#2C5091}
.aviso-exito{background:#E7F6EE;color:#0E5A38;border:1px solid #BFE5D2;border-radius:10px;padding:11px 13px;font-size:.88rem;margin:10px 0}
.aviso-alerta{background:#FFF7ED;color:#8a5200;border:1px solid #FFE0BF;border-radius:10px;padding:11px 13px;font-size:.88rem;margin:10px 0}

/* ============ M27 · Integración AgendaGlobalPro ============ */
.agp-card{padding:22px}
.agp-hero{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.agp-hero-txt{flex:1;min-width:260px}
.agp-hero-txt h2{margin:0 0 8px;color:#16305C;font-size:1.3rem}
.agp-hero-txt p{margin:0 0 14px;color:#3a4658}
.agp-logo-box{width:150px;height:150px;background:linear-gradient(135deg,#F7EFD6,#FCF9F0);border:1px solid #E4CE8A;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;flex-shrink:0}
.agp-logo-box.chico{width:80px;height:80px}
.agp-logo-box small{color:#6B551F;font-weight:700;font-size:.8rem;letter-spacing:.4px}
.agp-trial{display:flex;align-items:center;gap:10px;background:#F7EFD6;border-radius:10px;padding:10px 14px;font-size:.88rem;color:#6B551F;margin-bottom:16px}
.agp-bene{list-style:none;padding:0;margin:22px 0 18px}
.agp-bene li{padding:7px 0;display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:#3a4658}
.agp-bene li strong{color:#16305C}
.agp-check{color:#1E9E62;font-weight:700;flex-shrink:0}
.agp-avisos{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.agp-avisos .aviso{flex:1;min-width:230px}
.agp-conectada{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.agp-id{display:flex;gap:16px;align-items:center}
.agp-nombre{font-weight:700;color:#16305C;font-size:1.1rem}
.agp-fila{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid #E3EAF5}
.agp-fila:last-child{border-bottom:none}
.agp-lbl{font-size:.85rem;color:#7A8699}
.agp-val{font-weight:700;color:#16305C}
.agp-val.apagado{opacity:.55;font-weight:400}
.agp-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;background:#F5F8FD;border-radius:10px;margin-top:8px}
.pill-off{font-size:.7rem;font-weight:700;background:#F1F3F7;color:#7A8699;padding:3px 9px;border-radius:999px;white-space:nowrap}

/* ---- M27 · Gancho de precios (leído en vivo desde AGP) ---- */
.agp-precio-gancho{background:linear-gradient(135deg,#F7EFD6,#FCF9F0);border:1px solid #E4CE8A;border-radius:14px;padding:20px;margin-top:16px}
.agp-precio-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.agp-precio-desde{font-size:.78rem;color:#6B551F;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.agp-precio-monto{font-size:2.1rem;font-weight:700;color:#A8842A;line-height:1.1;margin:2px 0}
.agp-precio-monto s{font-size:1.05rem;color:#7A8699;font-weight:400;margin-right:8px}
.agp-precio-monto span{font-size:1rem;font-weight:400}
.agp-precio-iva{font-size:.8rem;color:#6B551F}
.agp-pill-desc{background:#1E9E62;color:#fff;font-size:.76rem;font-weight:700;padding:5px 12px;border-radius:999px;white-space:nowrap}
.agp-tabla-planes{width:100%;border-collapse:collapse;margin-top:16px;font-size:.86rem}
.agp-tabla-planes th{text-align:left;padding:8px 10px;color:#6B551F;font-size:.78rem;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid #E4CE8A}
.agp-tabla-planes td{padding:9px 10px;border-bottom:1px solid #EFE6C9}
.agp-tabla-planes tr:last-child td{border-bottom:none}
.agp-plan-nombre{font-weight:700;color:#0E0E10}
.agp-plan-normal{color:#7A8699;text-decoration:line-through;font-size:.82rem}
.agp-plan-desc{font-weight:700;color:#A8842A}
.agp-star{color:#A8842A;font-size:.75rem}
.agp-mini{font-size:.8rem;color:#7A8699}
.agp-nota-precio{font-size:.78rem;color:#6B551F;margin-top:12px;line-height:1.5}
.agp-nota-precio s{color:#7A8699}

/* ===== Landing reordenado ===== */
.grid-5{grid-template-columns:repeat(5,1fr)}
@media(max-width:1000px){.grid-5{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.grid-5{grid-template-columns:1fr 1fr}}

.stats-banda{background:#fff;border-bottom:1px solid var(--borde);padding:22px 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center}
.stat strong{display:block;font-size:1.7rem;color:var(--azul);line-height:1.1}
.stat span{font-size:.8rem;color:var(--gris)}
@media(max-width:600px){.stats-grid{grid-template-columns:1fr 1fr;gap:12px}.stat strong{font-size:1.3rem}}

.seccion-celeste{background:#E8F1FC}
.seccion-menta{background:#E9F7F0}
.seccion-crema{background:#FEF4E8}
.seccion-lavanda{background:#F0ECFA}
.seccion-gris{background:#FFFFFF}

.cta-intermedio{background:linear-gradient(120deg,var(--azul) 0%,var(--azul-prof) 100%);color:#fff;padding:44px 0}
.cta-intermedio h2{color:#fff;margin:0 0 6px}
.cta-intermedio p{color:#D8E4FA;margin:0 0 18px}
.btn-blanco{background:#fff;color:var(--azul);font-weight:bold}
.btn-blanco:hover{background:#F1F5FC}

.carrusel{display:flex;gap:18px;overflow-x:auto;padding:4px 2px 14px;scroll-behavior:smooth;cursor:grab;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.carrusel.arrastrando{cursor:grabbing;scroll-behavior:auto;user-select:none}
.carrusel-item{flex:0 0 260px}
.carrusel::-webkit-scrollbar{height:8px}
.carrusel::-webkit-scrollbar-thumb{background:#C9D6EC;border-radius:8px}

/* ===== Saludo del panel ===== */
.panel-saludo{margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--borde)}
.panel-saludo h1{font-size:1.5rem;color:var(--azul-osc);margin:0 0 2px}
.panel-saludo-rol{font-size:.85rem;color:var(--gris)}

/* ── Ajustes responsive adicionales (móvil) ── */
@media(max-width:600px){
  .hero-kpis{flex-wrap:wrap}
  .empleo-item{flex-direction:column;align-items:flex-start;gap:8px}
  .empleo-item .btn{width:100%}
  .card-prof{flex-direction:column;text-align:center}
  .card-prof .avatar{margin:0 auto}
  .tele-card .tele-doc{flex-direction:column;text-align:center}
  .empresa-card .empresa-head{flex-direction:column;text-align:center}
}

/* ── Botones Ingresar/Crear perfil en el hero, solo en móvil (sobre el badge) ── */
.hero-cta-movil{display:none}
@media(max-width:860px){
  .hero-cta-movil{display:flex;gap:8px;margin-bottom:16px}
  .hero-cta-movil a{flex:1;text-align:center;font-size:.9rem;padding:11px 0;border-radius:24px}
  .hero-cta-movil .nav-btn-borde{border:1.5px solid #fff;color:#fff !important;background:transparent}
  .hero-cta-movil .nav-btn-lleno{background:#fff;color:var(--azul) !important}
}

/* ── Fuente Poppins SOLO en móvil (desktop mantiene Century Gothic) ── */
@media(max-width:860px){
  body, body input, body select, body textarea, body button, body .btn,
  body h1, body h2, body h3, body h4, body h5, body h6, body p, body a, body span, body div, body li, body label{
    font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif !important;
  }
}

/* ── Móvil: secciones de listado en 2 columnas, mostrando solo 4 (resto en "Ver todos") ── */
@media(max-width:600px){
  .grid-movil-4{grid-template-columns:1fr 1fr !important;gap:10px}
  .grid-movil-4 > *:nth-child(n+5){display:none}
  .grid-movil-4 .card{padding:12px}
  .grid-movil-4 .card-prof{flex-direction:column;text-align:center;gap:8px}
  .grid-movil-4 .card-prof .avatar{margin:0 auto;width:48px;height:48px}
  /* "Por qué unirte": 2 columnas mostrando los 6 beneficios */
  .grid-movil-todos{grid-template-columns:1fr 1fr !important;gap:10px}
  .grid-movil-todos .card{padding:12px}
  /* Centros: el carrusel pasa a grilla de 2 col (como profesionales) en móvil */
  .carrusel.grid-movil-4{display:grid;grid-template-columns:1fr 1fr !important;gap:10px;overflow:visible}
  .carrusel.grid-movil-4 .carrusel-item{flex:none;width:auto}
}

/* ── Chips de búsqueda: 5 en desktop, 4 distintas en móvil ── */
.chip-movil{display:none}
@media(max-width:600px){
  .chip-desktop{display:none}
  .chip-movil{display:none}
  .chips{display:none}
}
