/* =========================================================
   NovaMed v1.15.5 — HOTFIX PÚBLICO & LOGIN PREMIUM
   Capa visual correctiva, segura y reversible.
   ========================================================= */

/* ---------- Header público: contraste real sobre fondos oscuros ---------- */
body.nm-public-site .public-header{background:rgba(4,23,43,.94);border-bottom-color:rgba(255,255,255,.12);box-shadow:0 10px 34px rgba(0,15,31,.12)}
body.nm-public-site .public-header.scrolled{background:rgba(4,23,43,.985)}
body.nm-public-site .public-links a{color:rgba(226,240,248,.76)!important;text-shadow:0 1px 1px rgba(0,0,0,.08)}
body.nm-public-site .public-links a:hover{color:#fff!important}
body.nm-public-site .public-links a.active{color:#fff!important;font-weight:850}
body.nm-public-site .public-login-link{color:rgba(215,235,245,.78)!important}
body.nm-public-site .public-login-link:hover{color:#fff!important}
body.nm-public-site .public-brand span{color:#a9cadb}

/* ---------- Soluciones: de cards blancas a cards visuales premium ---------- */
body.nm-public-site #soluciones{background:radial-gradient(circle at 100% 0,rgba(8,184,207,.10),transparent 25%),linear-gradient(180deg,#f6fafc 0%,#edf5f8 100%);position:relative;overflow:hidden}
body.nm-public-site #soluciones:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(9,70,108,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(9,70,108,.026) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}
body.nm-public-site #soluciones .public-container{position:relative;z-index:1}
body.nm-public-site #soluciones .section-heading{margin-bottom:38px}
body.nm-public-site #soluciones .section-heading>p{color:#60798b;font-size:15px}
body.nm-public-site .module-grid{gap:18px}
body.nm-public-site .module-card{min-height:310px;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(255,255,255,.17);background-color:#0a3658;background-repeat:no-repeat;background-size:cover;background-position:center;box-shadow:0 18px 48px rgba(5,36,63,.13);isolation:isolate;color:#fff}
body.nm-public-site .module-card:nth-child(1){background-image:url('/assets/img/premium/dashboard-hero.svg')}
body.nm-public-site .module-card:nth-child(2){background-image:url('/assets/img/premium/card-clinical.svg');background-position:54% center}
body.nm-public-site .module-card:nth-child(3){background-image:url('/assets/img/premium/card-certification.svg');background-position:60% center}
body.nm-public-site .module-card:nth-child(4){background-image:url('/assets/img/premium/card-laboratory.svg')}
body.nm-public-site .module-card:nth-child(5){background-image:url('/assets/img/premium/portal-worker.svg')}
body.nm-public-site .module-card:nth-child(6){background-image:url('/assets/img/premium/card-certification.svg')}
body.nm-public-site .module-card:nth-child(7){background-image:url('/assets/img/premium/card-surveillance.svg')}
body.nm-public-site .module-card:nth-child(8){background-image:url('/assets/img/premium/card-bi.svg')}
body.nm-public-site .module-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(3,19,36,.04) 0%,rgba(4,27,48,.22) 32%,rgba(4,25,46,.90) 78%,rgba(3,22,41,.98) 100%)}
body.nm-public-site .module-card:before{width:210px;height:210px;right:-55px;top:-65px;background:radial-gradient(circle,rgba(255,255,255,.20),transparent 68%);z-index:-1}
body.nm-public-site .module-card:hover{transform:translateY(-8px);border-color:rgba(125,231,226,.55);box-shadow:0 28px 62px rgba(5,36,63,.22)}
body.nm-public-site .module-number{position:absolute;top:20px;left:22px;color:rgba(235,249,255,.72);font-size:10px}
body.nm-public-site .module-icon{position:absolute;top:20px;right:20px;width:46px;height:46px;margin:0;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.13);backdrop-filter:blur(12px);box-shadow:inset 0 1px rgba(255,255,255,.15)}
body.nm-public-site .module-icon:before,body.nm-public-site .module-icon:after{background:#fff}
body.nm-public-site .module-card h3{position:relative;color:#fff;font-size:19px;margin:0 0 9px;letter-spacing:-.025em}
body.nm-public-site .module-card p{position:relative;color:#bfd2dd;font-size:12px;line-height:1.65;max-width:260px}
body.nm-public-site .module-arrow{color:#7fe7e2;right:22px;bottom:20px;font-size:20px}

/* ---------- Ecosistema externo: presentación más sólida ---------- */
body.nm-public-site .portals-section{position:relative;background:radial-gradient(circle at 90% 20%,rgba(13,184,207,.14),transparent 23%),linear-gradient(135deg,#04172b 0%,#072b48 62%,#06344f 100%)}
body.nm-public-site .portals-section:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,transparent,#000 35%,#000)}
body.nm-public-site .portals-section .public-container{position:relative;z-index:1}
body.nm-public-site .portal-showcase{gap:22px}
body.nm-public-site .portal-showcase article{position:relative;overflow:hidden;min-height:390px;grid-template-columns:190px 1fr;padding:30px;border-radius:26px;border:1px solid rgba(151,208,226,.20);background:linear-gradient(125deg,rgba(255,255,255,.10),rgba(255,255,255,.045));box-shadow:0 26px 68px rgba(0,15,31,.20);isolation:isolate}
body.nm-public-site .portal-showcase article:before{content:"";position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;opacity:.23;transform:scale(1.03)}
body.nm-public-site .portal-showcase article:nth-child(1):before{background-image:url('/assets/img/premium/portal-company.svg')}
body.nm-public-site .portal-showcase article:nth-child(2):before{background-image:url('/assets/img/premium/portal-worker.svg')}
body.nm-public-site .portal-showcase article:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,rgba(4,24,43,.92) 0%,rgba(5,34,58,.82) 58%,rgba(5,34,58,.58) 100%)}
body.nm-public-site .portal-screen{transform:translateY(0);box-shadow:0 24px 55px rgba(0,13,29,.24);border:1px solid rgba(255,255,255,.20)}
body.nm-public-site .portal-showcase article>div:last-child>span{display:inline-flex;padding:7px 10px;border:1px solid rgba(106,226,224,.20);border-radius:999px;background:rgba(8,184,207,.08);color:#77e6e1}
body.nm-public-site .portal-showcase article h3{font-size:30px;letter-spacing:-.035em;margin:14px 0 10px}
body.nm-public-site .portal-showcase article p{font-size:13px;line-height:1.75;color:#b5cad6;max-width:390px}

/* ---------- Directorio /clinicas ---------- */
body.nm-public-site .directory-page{background:#f3f8fb}
body.nm-public-site .directory-hero{position:relative;overflow:hidden;padding:96px 0 72px;background:linear-gradient(110deg,rgba(4,22,41,.98),rgba(5,48,80,.93)),url('/assets/img/premium/public-clinic.svg');background-size:cover;background-position:center}
body.nm-public-site .directory-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 34%,rgba(38,222,213,.18),transparent 25%);pointer-events:none}
body.nm-public-site .directory-hero>.public-container{position:relative;z-index:1}
body.nm-public-site .directory-hero h1{max-width:850px;text-wrap:balance}
body.nm-public-site .directory-hero>div>p{font-size:15px;max-width:760px;color:#b5cad6}
body.nm-public-site .directory-search{max-width:1040px;margin-top:38px;padding:10px;border-radius:20px;background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.19);box-shadow:0 25px 60px rgba(0,15,31,.18);backdrop-filter:blur(14px)}
body.nm-public-site .directory-search label{height:64px;border:1px solid rgba(8,65,103,.08);box-shadow:0 5px 16px rgba(0,22,44,.05)}
body.nm-public-site .directory-search .public-btn{height:64px;min-width:118px}
body.nm-public-site .directory-results{padding:58px 0 84px;background:radial-gradient(circle at 12% 0,rgba(8,184,207,.07),transparent 22%),#f5f9fb}
body.nm-public-site .directory-toolbar{margin-bottom:28px;padding:0 2px}
body.nm-public-site .directory-toolbar strong{font-size:30px}
body.nm-public-site .clinic-card-grid{grid-template-columns:repeat(auto-fill,minmax(330px,390px));gap:22px;justify-content:start}
body.nm-public-site .clinic-public-card{border-radius:26px;border-color:#d6e5ec;box-shadow:0 20px 52px rgba(7,43,69,.09);background:#fff}
body.nm-public-site .clinic-cover{height:235px;padding:18px;background-position:center;transition:transform .35s ease}
body.nm-public-site .clinic-public-card:hover .clinic-cover{background-size:108% auto}
body.nm-public-site .clinic-badge,body.nm-public-site .clinic-featured{min-height:29px;padding:0 11px;border:1px solid rgba(255,255,255,.18)}
body.nm-public-site .clinic-logo-wrap{left:20px;bottom:-33px;width:78px;height:68px;border-radius:17px;box-shadow:0 14px 30px rgba(9,39,62,.16)}
body.nm-public-site .clinic-body{padding:48px 22px 22px}
body.nm-public-site .clinic-location{font-size:10px}
body.nm-public-site .clinic-body h3{font-size:21px;margin-top:8px}
body.nm-public-site .clinic-body>p{height:auto;min-height:54px;font-size:12px;color:#6e8595}
body.nm-public-site .clinic-card-footer{gap:12px;margin-top:20px;padding-top:17px}
body.nm-public-site .clinic-card-footer a{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:0 13px;margin-left:auto;border-radius:10px;background:linear-gradient(100deg,#0b59d8,#08abc4);color:#fff!important;box-shadow:0 10px 22px rgba(8,103,181,.16)}
body.nm-public-site .directory-help{background:linear-gradient(115deg,#061b33,#093a5e);border-top:1px solid rgba(255,255,255,.08)}

/* ---------- Login Superadmin: logo limpio, sin contenedor blanco ---------- */
body.auth-page .login-visual .login-logo,
body.auth-page .login-visual-c .login-logo{background:transparent!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;filter:drop-shadow(0 12px 30px rgba(0,18,40,.24))!important;width:min(330px,70%)!important;height:auto!important;object-fit:contain!important;object-position:left center!important}
body.auth-page .login-brand-card{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
body.auth-page .login-visual-c{background-image:linear-gradient(135deg,rgba(2,27,59,.77),rgba(5,72,139,.61)),url('/assets/img/premium/dashboard-hero.svg')}
body.auth-page .login-form-card-c{border:1px solid #d9e6ed;box-shadow:0 30px 75px rgba(10,54,87,.13)}

/* ---------- Login tenant: NovaMed sin filtros destructivos / contenedor ---------- */
body.tenant-login-page .tenant-login-top-brand img,
body.tenant-login-page .tenant-login-powered img{filter:none!important;background:transparent!important;padding:0!important;border-radius:0!important;box-shadow:none!important}
body.tenant-login-page .tenant-login-top-brand img{width:160px;max-height:54px}
body.tenant-login-page .tenant-login-top-brand{padding:0;background:transparent!important;border:0!important;box-shadow:none!important}
body.tenant-login-page .tenant-login-powered{background:rgba(4,27,49,.30);border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(10px)}

@media(max-width:1080px){
 body.nm-public-site .public-links.open a{color:#d9ebf4!important}
 body.nm-public-site .portal-showcase article{grid-template-columns:160px 1fr}
}
@media(max-width:780px){
 body.nm-public-site .module-card{min-height:270px}
 body.nm-public-site .portal-showcase article{min-height:330px}
 body.nm-public-site .directory-hero{padding:70px 0 55px}
 body.nm-public-site .clinic-card-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
}
@media(max-width:540px){
 body.nm-public-site .module-card{min-height:255px}
 body.nm-public-site .portal-showcase article{grid-template-columns:1fr;min-height:0;padding:22px}
 body.nm-public-site .portal-screen{max-width:230px;margin:0 auto 10px}
 body.nm-public-site .portal-showcase article h3{font-size:25px}
 body.nm-public-site .directory-hero h1{font-size:42px}
 body.nm-public-site .directory-search{padding:8px}
 body.nm-public-site .clinic-card-grid{grid-template-columns:1fr}
}
