/* HJSM Digital | Portal publico Fachada Cristal.
   Foto real de la institucion + paneles con un grado mayor de transparencia. */
:root { --facade-glass: rgba(8,37,88,.67); --facade-glow: rgba(66,194,251,.38); }
body:not(.cartelera-body) {
  background-color:#09284e !important;
  background-image:linear-gradient(120deg,rgba(4,25,64,.65),rgba(6,41,99,.56) 50%,rgba(5,23,68,.63)),url('/static/images/fachada_hsjm_limpia.jpg') !important;
  background-size:cover !important; background-position:center !important; background-attachment:fixed !important;
}
body:not(.cartelera-body)::before,body:not(.cartelera-body)::after { display:none !important; }
body:not(.cartelera-body) .encabezado {
  background:linear-gradient(108deg,rgba(3,26,67,.86),rgba(7,49,102,.68));
  border-bottom:1px solid rgba(120,211,255,.42);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  box-shadow:0 10px 36px rgba(0,14,48,.23);
}
body:not(.cartelera-body) .encabezado .logo-enlace { border-radius:50%; background:rgba(255,255,255,.94); }
body:not(.cartelera-body) .encabezado img.logo { border-radius:50%; }
body:not(.cartelera-body) .encabezado .titulos strong { font-size:clamp(15px,1.6vw,21px); }
body:not(.cartelera-body) .encabezado .titulos small { color:#9de6ff; }
body:not(.cartelera-body) #contenido { position:relative; background:transparent; }
body:not(.cartelera-body) .hero { color:#fff; }
body:not(.cartelera-body) .hero h1 { color:white; text-shadow:0 4px 22px rgba(1,15,55,.46); }
body:not(.cartelera-body) .hero p { color:#e2f3ff; text-shadow:0 1px 8px rgba(0,20,55,.29); }
body:not(.cartelera-body) .sobretitulo { color:#92e5ff; }
body:not(.cartelera-body) .publico-hero {
  background:linear-gradient(135deg,rgba(7,37,90,.68),rgba(10,61,124,.53)) !important;
  border:1px solid rgba(144,224,255,.63);
  min-height:230px; border-radius:26px;
  box-shadow:0 26px 65px rgba(0,17,59,.37),inset 0 1px 0 rgba(255,255,255,.16),0 0 24px rgba(48,161,235,.10);
  -webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);
}
body:not(.cartelera-body) .publico-hero::after { display:none; }
body:not(.cartelera-body) .publico-hero h1 { color:#fff; max-width:850px; }
body:not(.cartelera-body) .publico-hero h1 em { color:#75dcff; }
body:not(.cartelera-body) .hero-kicker { background:rgba(17,105,160,.37); border:1px solid rgba(110,208,255,.4); color:#bdedff; }
body:not(.cartelera-body) .hero-beneficios span { background:rgba(21,95,144,.45); border-color:rgba(139,223,252,.42); color:#e9f8ff; }
/* Superficie clara pero translucida: los campos de pacientes mantienen alto contraste. */
body:not(.cartelera-body) .superficie {
  background:rgba(249,253,255,.83) !important;
  border:1px solid rgba(196,232,255,.72); border-radius:23px;
  box-shadow:0 23px 64px rgba(0,16,52,.35),inset 0 1px 0 rgba(255,255,255,.76);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
}
body:not(.cartelera-body) .formulario-cita { background:rgba(247,252,255,.80) !important; }
body:not(.cartelera-body) .superficie .tarjeta,
body:not(.cartelera-body) .superficie .hoy-card { background:rgba(255,255,255,.81); border-color:rgba(155,205,235,.72); }
body:not(.cartelera-body) input,body:not(.cartelera-body) select,
body:not(.cartelera-body) textarea { background:rgba(255,255,255,.89); border-color:#a9cbdc; color:#102c47; }
body:not(.cartelera-body) .btn:not(.btn-sec):not(.btn-peligro):not(.btn-ok) {
  background:linear-gradient(115deg,#0479ed,#13bcf2) !important;
  border:1px solid rgba(86,218,255,.6); color:white;
  box-shadow:0 9px 28px rgba(0,127,218,.22); border-radius:999px;
}
body:not(.cartelera-body) .btn-sec { background:rgba(255,255,255,.85); }
body:not(.cartelera-body) .hero-compacta {
  margin-bottom:16px; padding:30px clamp(22px,4vw,45px);
  border-radius:22px; border:1px solid rgba(140,220,255,.54);
  background:linear-gradient(130deg,rgba(7,34,82,.68),rgba(13,67,123,.53));
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  box-shadow:0 16px 46px rgba(0,18,60,.26);
}
body:not(.cartelera-body) .pie {
  color:#e2f1ff; background:rgba(6,30,78,.65); border-top-color:rgba(139,223,255,.43);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
}
body:not(.cartelera-body) .pie strong { color:#fff; }
body:not(.cartelera-body) .pie a { color:#91e3ff; }
/* Public TV cartelera: image also present, stronger overlay for distant readability. */
body.cartelera-body { background:linear-gradient(125deg,rgba(7,29,67,.67),rgba(7,32,69,.71)),url('/static/images/fachada_hsjm_limpia.jpg') center/cover fixed !important; }
body.cartelera-body::before,body.cartelera-body::after { display:none !important; }
body.cartelera-body .cart-cab,body.cartelera-body .cart-pie { background:rgba(5,29,77,.79);backdrop-filter:blur(10px); }
body.cartelera-body .cart-escena { background:transparent; }
@media (max-width:760px){
 body:not(.cartelera-body),body.cartelera-body { background-attachment:scroll !important; }
 body:not(.cartelera-body) .publico-hero { padding:23px 18px; border-radius:18px; }
 body:not(.cartelera-body) .superficie { border-radius:17px; }
 body:not(.cartelera-body) .hero-compacta { padding:22px 17px; }
}
@media (prefers-reduced-motion:reduce){
 body:not(.cartelera-body) .publico-hero,body:not(.cartelera-body) .superficie { backdrop-filter:none;-webkit-backdrop-filter:none; }
}
@media print{
 body,body:not(.cartelera-body) { background:white !important; color:#111 !important; }
 body:not(.cartelera-body) .superficie { background:white !important;border:0 !important;box-shadow:none !important; }
}
