
/* Adaptación CakePHP; los estilos originales se conservan sin sobreescribir. */
.primary-nav{display:flex;align-items:center;gap:24px}.cms-nav-group{position:relative;display:flex;align-items:center;gap:3px}.cms-sub-toggle{background:none;border:0;color:#0b2242;font-size:20px;cursor:pointer;padding:5px}.cms-submenu{display:none;position:absolute;z-index:99;top:100%;left:0;min-width:230px;background:#fff;box-shadow:0 10px 27px rgba(5,25,50,.18);padding:9px;border-radius:8px}.cms-nav-group:hover .cms-submenu,.cms-nav-group:focus-within .cms-submenu,.cms-nav-group.is-expanded .cms-submenu{display:block}.cms-submenu a{display:block;padding:9px;color:#0b2242;text-decoration:none}.cms-submenu a:hover{background:#f1f6ff}.cms-auth-link,.cms-reg-link{display:inline-block;padding:10px 12px;border-radius:5px;text-decoration:none;font-size:13px;font-weight:700;background:#2774de;color:white!important}.cms-reg-link{background:#f7b527;color:#12294b!important}.cms-custom-section{padding:62px 0;background:#fff}.cms-custom-section:nth-of-type(even){background:#f2f8fe}.cms-custom-section h2{font-size:32px;color:#0b2548}.cms-custom-photo{max-width:500px;width:100%;height:auto}.cms-custom-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px}.cms-custom-card{padding:20px;border-radius:12px;box-shadow:0 2px 15px #0001;background:#fff}.cms-custom-card img{max-width:100%;height:150px;object-fit:contain}.cms-action{display:inline-block;background:#2774de;color:white;text-decoration:none;padding:12px 18px;border-radius:6px}.cms-testimonial{margin-bottom:15px}.cms-other{padding:70px 0}.site-footer a{color:inherit}.test-exam-button,.test-video-button{display:flex;justify-content:center;align-items:center;text-align:center;text-decoration:none}.top-slogan-window{overflow:hidden}.top-slogan{white-space:nowrap}.cms-custom-grid a{color:inherit}.contact-form-card form{margin:0}
@media(max-width:1100px){.primary-nav{gap:10px}.cms-nav-group{gap:0}.cms-auth-link,.cms-reg-link{font-size:12px;padding:9px}}
@media(max-width:800px){.primary-nav{display:none;align-items:stretch;flex-direction:column;gap:7px}.primary-nav.is-open{display:flex}.cms-nav-group{display:flex;flex-wrap:wrap;align-items:center}.cms-submenu{position:static;box-shadow:none;min-width:100%;width:100%;border-left:2px solid #2774de}.cms-sub-toggle{margin-left:auto}.cms-auth-link,.cms-reg-link{display:block;text-align:center}.cms-custom-section{padding:35px 0}}

/* v1.15.2: botones editables de portada; nunca comprimir 10+ enlaces en una sola fila. */
@media(min-width:1081px){
  .hero:has(.cms-hero-actions){height:auto;min-height:600px}
  .hero:has(.cms-hero-actions) .hero-grid{height:auto;min-height:600px}
  .hero:has(.cms-hero-actions) .hero-copy{padding-bottom:60px}
  .hero-actions.cms-hero-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:45px;max-width:100%;width:100%;align-items:stretch}
  .hero-actions.cms-hero-actions .action-button:nth-child(n){box-sizing:border-box;width:100%;min-width:0;min-height:72px;padding:12px 10px;justify-content:center;text-align:center;white-space:normal;overflow-wrap:break-word;word-break:normal;line-height:1.22;font-size:13px}
}
@media(min-width:801px) and (max-width:1080px){
  .hero-actions.cms-hero-actions .action-button:nth-child(n){overflow-wrap:break-word;white-space:normal}
}
@media(max-width:800px){
  .hero-actions.cms-hero-actions .action-button:nth-child(n){max-width:min(340px,100%);width:100%;box-sizing:border-box;min-height:48px;padding:12px 18px;text-align:center;justify-content:center;white-space:normal;overflow-wrap:break-word}
  .hero-actions.cms-hero-actions{align-items:center}
}

/* Menú de sesión pública, compatible con encabezado de escritorio y móvil. */
.cms-session-menu{position:relative;flex:0 0 auto;min-width:0}
.cms-user-dropdown{position:relative}
.cms-user-trigger{list-style:none;display:flex;align-items:center;gap:9px;padding:5px 9px 5px 5px;border:1px solid #d8e6fa;border-radius:999px;background:#f3f7ff;color:#10274d;cursor:pointer;font-size:13px;font-weight:800;white-space:nowrap;transition:background .2s,border-color .2s}
.cms-user-trigger::-webkit-details-marker{display:none}
.cms-user-trigger:hover,.cms-user-trigger:focus-visible{background:#e8f1ff;border-color:#9fbfee}
.cms-user-trigger:focus-visible{outline:2px solid #2b75d9;outline-offset:2px}
.cms-user-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;overflow:hidden;border-radius:50%;background:#3178da;color:#fff;border:2px solid #fff;box-shadow:0 0 0 1px #d2e3fa}
.cms-user-initial{font-weight:800;font-size:15px}
.cms-user-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cms-user-greeting{max-width:140px;overflow:hidden;text-overflow:ellipsis}
.cms-user-chevron{font-size:13px;color:#58739b;line-height:1}
.cms-user-links{display:none;position:absolute;right:0;top:calc(100% + 9px);z-index:1000;min-width:225px;padding:7px;background:#fff;border:1px solid #deebfb;border-radius:10px;box-shadow:0 12px 30px rgba(10,31,66,.16)}
.cms-user-dropdown[open]>.cms-user-links{display:flex;flex-direction:column}
.cms-user-links a{display:flex;align-items:center;gap:10px;padding:12px 11px;border-radius:7px;text-decoration:none!important;color:#172b4c!important;font-size:13px;font-weight:700;line-height:1.35;white-space:normal}
.cms-user-links a:hover,.cms-user-links a:focus-visible{background:#ebf3ff;color:#1b66c5!important}
.cms-user-links .cms-user-logout{border-top:1px solid #eef1f7;border-radius:0 0 7px 7px;color:#aa3345!important}
.cms-user-links .cms-user-logout:hover{background:#fff0f1;color:#9a2436!important}
.cms-user-links a span{font-size:17px;width:19px;text-align:center}
@media(max-width:1100px){.cms-user-greeting{max-width:100px}.cms-user-trigger{gap:6px}}
@media(max-width:800px){
 .cms-session-menu{width:100%;margin-top:6px}
 .cms-user-dropdown{width:100%;border:1px solid #e4edf9;border-radius:10px;overflow:hidden}
 .cms-user-trigger{width:100%;border:0;border-radius:0;padding:10px 11px;justify-content:flex-start;background:#f2f7ff}
 .cms-user-greeting{max-width:none;flex:1;text-align:left}
 .cms-user-chevron{display:none}
 .cms-user-links,.cms-user-dropdown[open]>.cms-user-links{position:static;display:flex;flex-direction:column!important;min-width:0;box-shadow:none;border:0;border-top:1px solid #e4edf9;border-radius:0;padding:5px 8px;background:#fff}
 .cms-user-links a{padding:12px 10px;min-height:42px}
}
