/* Enlaces de secciones en la barra lateral */
.pm-sec-links{ margin:14px 0 0; padding:0 15px; }
.pm-sec-links .pm-sec-head{ font-size:12px; color:#9aa; text-transform:uppercase; letter-spacing:1px; margin-bottom:6px; display:block; }
.pm-sec-link{ display:block; color:#004473; font-weight:700; text-decoration:none; font-size:19px; line-height:1.15;
  text-transform:uppercase; letter-spacing:.5px; padding:9px 0; cursor:pointer; border-bottom:1px solid #eee; transition:color .2s; }
.pm-sec-link:last-child{ border-bottom:none; }
.pm-sec-link:hover{ color:#01b9b4; text-decoration:none; }

/* Modal / popup responsive */
.pm-sec-overlay{ position:fixed; inset:0; top:0;left:0;right:0;bottom:0; background:rgba(10,20,30,.55); z-index:100000; display:none; }
.pm-sec-overlay.open{ display:block; }
.pm-sec-modal{ position:absolute; top:3%; left:50%; transform:translateX(-50%); width:92%; max-width:1180px; max-height:94%;
  background:#fff; border-radius:8px; overflow:auto; -webkit-overflow-scrolling:touch;
  box-shadow:0 24px 70px rgba(0,0,0,.45); padding:44px 52px; }
.pm-sec-close{ position:sticky; float:right; top:0; margin:-24px -30px 0 0; font-size:32px; line-height:1; color:#9aa;
  cursor:pointer; z-index:2; width:36px; height:36px; text-align:center; }
.pm-sec-close:hover{ color:#004473; }

/* Tipografía del contenido */
.pm-sec-content{ color:#2a3b47; font-size:16px; line-height:1.6; font-family:inherit; }
.pm-sec-content h1,.pm-sec-content h2,.pm-sec-content h3{ color:#004473; line-height:1.1; margin:0 0 16px; }
.pm-sec-content h1{ font-size:clamp(28px,4vw,46px); text-transform:uppercase; letter-spacing:1px; }
.pm-sec-content h2{ font-size:clamp(22px,3vw,32px); }
.pm-sec-content p{ margin:0 0 14px; }
.pm-sec-content img{ max-width:100%; height:auto; border-radius:4px; }
.pm-sec-content ul,.pm-sec-content ol{ margin:0 0 14px 20px; }
.pm-sec-content a{ color:#01b9b4; }

/* Layout de columnas creado desde el editor */
.pm-sec-content .cols-2{ display:grid; grid-template-columns:1fr 1fr; gap:36px; }
.pm-sec-content .cols-3{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:26px; }

@media (max-width:768px){
  .pm-sec-modal{ width:96%; padding:26px 20px; top:2%; max-height:96%; }
  .pm-sec-close{ margin:-14px -12px 0 0; }
  .pm-sec-content .cols-2,.pm-sec-content .cols-3{ grid-template-columns:1fr; gap:14px; }
}
