/* Navegación unificada Oliverio Cromwell — escritorio y móvil */
.oc-nav {position:relative!important;top:auto!important;left:auto!important;right:auto!important;transform:none!important;width:min(1120px,calc(100% - 32px))!important;max-width:1120px!important;margin:12px auto 24px!important;padding:0 18px!important;min-height:64px!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:space-between!important;z-index:900!important;background:rgba(255,255,255,.96)!important;border-radius:18px!important;box-shadow:0 8px 28px rgba(0,0,0,.13)!important;font-family:Inter,Arial,sans-serif!important;}
.oc-nav *{box-sizing:border-box}
.oc-nav a,.oc-nav .oc-menu-label{font-size:15px!important;text-decoration:none!important;color:#39233b!important;font-weight:600!important;line-height:1.4!important}
.oc-nav a:hover{color:#9b243e!important}
.oc-nav-home{display:inline-flex!important;align-items:center!important;padding:12px!important}
.oc-menu-panel{display:block!important;position:static!important;width:auto!important;height:auto!important;background:transparent!important;overflow:visible!important;box-shadow:none!important;transform:none!important;visibility:visible!important;opacity:1!important;padding:0!important}
.oc-menu-list,.oc-sub-list{list-style:none!important;margin:0!important;padding:0!important}
.oc-menu-list{display:flex!important;align-items:center!important;gap:7px!important}
.oc-menu-list>li{position:relative!important;margin:0!important;padding:0!important}
.oc-menu-list>li>a,.oc-menu-line>a,.oc-menu-line>.oc-menu-label{display:block!important;padding:12px!important;white-space:nowrap!important}
.oc-menu-line{display:flex!important;align-items:center!important;justify-content:space-between!important}
.oc-sub-toggle{cursor:pointer;border:0;background:transparent;color:#782b54;font-size:22px;line-height:1;padding:7px 10px;min-width:36px;min-height:36px}
.oc-sub-list{display:none!important;position:absolute!important;top:100%!important;left:0!important;min-width:220px!important;padding:7px!important;background:white!important;border-radius:12px!important;box-shadow:0 10px 26px rgba(0,0,0,.17)!important;z-index:950!important}
.oc-has-sub.oc-expanded>.oc-sub-list{display:block!important}
.oc-sub-list .oc-sub-list{top:0!important;left:100%!important}
.oc-sub-list li{position:relative!important;list-style:none!important}
.oc-sub-list a,.oc-sub-list .oc-menu-label{display:block!important;padding:10px!important;white-space:normal!important}
.oc-menu-toggle,.oc-menu-heading,.oc-menu-overlay{display:none!important}
@media(max-width:900px){
 body.oc-menu-open{overflow:hidden!important}
 .oc-nav{min-height:60px!important;margin:8px auto 16px!important;padding:0 10px!important}
 .oc-menu-toggle{display:flex!important;flex-direction:column;justify-content:center;gap:5px;align-items:center;width:46px;height:46px;border:0;border-radius:10px;background:#9b243e;cursor:pointer;z-index:1002}
 .oc-menu-toggle span{width:23px;height:2px;background:#fff;border-radius:2px}
 .oc-menu-overlay{display:block!important;position:fixed!important;inset:0!important;background:rgba(16,12,26,.55)!important;z-index:1998!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .22s ease,visibility .22s ease}
 .oc-menu-panel{display:block!important;position:fixed!important;top:0!important;right:0!important;left:auto!important;bottom:0!important;width:min(360px,88vw)!important;max-width:100vw!important;height:100dvh!important;overflow-y:auto!important;overscroll-behavior:contain!important;background:#fff!important;border-radius:0!important;padding:20px 18px 36px!important;box-shadow:-12px 0 32px rgba(0,0,0,.18)!important;transform:translateX(105%)!important;visibility:hidden!important;transition:transform .25s ease,visibility .25s ease!important;z-index:1999!important}
 .oc-nav.oc-open .oc-menu-overlay{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
 .oc-nav.oc-open .oc-menu-panel{transform:translateX(0)!important;visibility:visible!important}
 .oc-menu-heading{display:flex!important;justify-content:space-between;align-items:center;margin-bottom:14px;padding:5px 8px 15px;border-bottom:1px solid #eee;font-weight:800;color:#9b243e;font-size:20px}
 .oc-menu-close{border:0;background:#f6edf1;color:#8d2843;font-size:30px;line-height:1;width:40px;height:40px;border-radius:10px;cursor:pointer}
 .oc-menu-list{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:2px!important}
 .oc-menu-list>li{width:100%!important;border-bottom:1px solid #f1edf0!important}
 .oc-menu-list>li>a,.oc-menu-line>a,.oc-menu-line>.oc-menu-label{padding:14px 10px!important;white-space:normal!important}
 .oc-sub-toggle{min-width:44px;min-height:44px}
 .oc-sub-list,.oc-sub-list .oc-sub-list{position:static!important;top:auto!important;left:auto!important;min-width:0!important;width:100%!important;box-shadow:none!important;background:#faf5f7!important;padding:2px 0 6px 12px!important;border-radius:9px!important}
 .oc-sub-list .oc-sub-list{background:#f3e8ee!important}
 .oc-sub-list a,.oc-sub-list .oc-menu-label{padding:12px 10px!important}
}
@media(prefers-reduced-motion:reduce){.oc-menu-panel,.oc-menu-overlay{transition:none!important}}

/* Ajustes de estructura 2026-10: logotipo integrado, hero sin solapamientos */
.oc-nav{gap:12px!important;margin:16px auto 24px!important;min-height:82px!important;}
.oc-brand{display:flex!important;flex:0 0 auto!important;align-items:center!important;justify-content:flex-start!important;padding:6px 4px!important;min-width:0!important;}
.oc-brand img{display:block!important;width:clamp(120px,14vw,170px)!important;height:64px!important;max-width:100%!important;object-fit:contain!important;}
.oc-menu-panel{margin-left:auto!important;}
.oc-menu-list{gap:1px!important;}
.oc-menu-list>li>a,.oc-menu-line>a,.oc-menu-line>.oc-menu-label{padding:10px 8px!important;}
body:has(.oc-nav) .header{margin-top:0!important;margin-bottom:0!important;padding:24px 20px 42px!important;pointer-events:auto!important;position:relative!important;z-index:1!important;}
body:has(.oc-nav) .header .hero-image{max-width:none!important;width:clamp(115px,17vw,225px)!important;height:auto!important;object-fit:contain!important;}
body:has(.oc-nav) .header h1{margin-top:12px!important;}
body:has(.oc-nav) .header p{max-width:720px!important;}
body:has(.oc-nav) .main-container{margin-top:20px!important;flex-wrap:wrap!important;gap:18px!important;}
body:has(.oc-nav) .form-button{pointer-events:auto!important;}
@media(max-width:900px){
 .oc-nav{min-height:68px!important;padding:4px 12px!important;margin:10px auto 16px!important;}
 .oc-brand img{width:138px!important;height:58px!important;}
 .oc-menu-toggle{margin-left:auto!important;flex-shrink:0!important;}
 .oc-menu-panel{margin-left:0!important;}
 body:has(.oc-nav) .header{padding:20px 16px 32px!important;}
 body:has(.oc-nav) .header .hero-image{width:clamp(115px,38vw,180px)!important;}
 body:has(.oc-nav) .main-container{margin-top:12px!important;}
}
@media(max-width:380px){.oc-brand img{width:115px!important;height:52px!important;}}
/* Tarjeta de invitación y formulario: conserva el widget CRM existente */
.oc-appointment{width:min(1040px,calc(100% - 32px));margin:48px auto 64px;padding:clamp(20px,4vw,42px);box-sizing:border-box;background:#fff;border-radius:24px;box-shadow:0 14px 44px rgba(23,15,37,.20);position:relative;z-index:2;}
.oc-appointment-intro{text-align:center;max-width:680px;margin:0 auto 24px;}
.oc-appointment-eyebrow{display:block;color:#9b243e;font:700 12px/1.4 Inter,Arial,sans-serif;letter-spacing:.12em;margin-bottom:10px;}
.oc-appointment h2{color:#73233e!important;font:700 clamp(23px,3vw,34px)/1.2 Inter,Arial,sans-serif;margin:0 0 12px;}
.oc-appointment-intro p{color:#514652!important;font:400 16px/1.65 Inter,Arial,sans-serif;margin:0;}
.oc-appointment #formulario-oliverio{position:relative;z-index:1;max-width:100%;min-width:0;}
.oc-appointment #formulario-oliverio label,.oc-appointment #formulario-oliverio .form-check-label,.oc-appointment #formulario-oliverio .form-check-label a{color:#3f3342!important;}
.oc-appointment #formulario-oliverio h1,.oc-appointment #formulario-oliverio h2,.oc-appointment #formulario-oliverio h3{color:#73233e!important;}
.oc-appointment #formulario-oliverio input,.oc-appointment #formulario-oliverio select,.oc-appointment #formulario-oliverio textarea{max-width:100%;}
@media(max-width:600px){.oc-appointment{width:calc(100% - 24px);margin:30px auto 42px;border-radius:18px;padding:22px 16px;}}

/* V3: barra institucional fija, contenido despejado y logo integrado */
html {scroll-padding-top: 100px;}
body:has(.oc-nav) {padding-top: 90px !important;}
.oc-nav {
  position:fixed!important; top:0!important; left:0!important; right:0!important;
  width:100%!important;max-width:none!important;margin:0!important;
  padding:0 max(18px,calc((100vw - 1200px)/2))!important;
  min-height:76px!important;border-radius:0 0 20px 20px!important;
  background:#9b243e!important;box-shadow:0 7px 24px rgba(45,5,23,.24)!important;
  z-index:1900!important;
}
.oc-nav .oc-nav-home {gap:10px!important;min-width:0!important;padding:8px 12px!important;}
.oc-nav .oc-nav-logo {display:block!important;height:52px!important;width:auto!important;max-width:200px!important;object-fit:contain!important;}
.oc-nav a,.oc-nav .oc-menu-label {color:#fff!important;}
.oc-nav a:hover,.oc-nav a:focus-visible {color:#ffe0ea!important;}
.oc-nav .oc-sub-toggle {color:#fff!important;}
.oc-nav .oc-sub-list a,.oc-nav .oc-sub-list .oc-menu-label {color:#64213b!important;}
.oc-nav .oc-sub-list a:hover {color:#9b243e!important;}
.oc-nav .oc-sub-list .oc-sub-toggle {color:#64213b!important;}
.oc-nav .oc-menu-toggle {background:rgba(255,255,255,.15)!important;}
.oc-nav .oc-menu-toggle:hover {background:rgba(255,255,255,.25)!important;}
@media(max-width:900px) {
 body:has(.oc-nav) {padding-top:76px!important;}
 .oc-nav {min-height:68px!important;padding:0 14px!important;}
 .oc-nav .oc-nav-logo {height:46px!important;max-width:170px!important;}
 .oc-nav .oc-menu-panel {background:#fff!important;}
 .oc-nav .oc-menu-panel a,.oc-nav .oc-menu-panel .oc-menu-label {color:#64213b!important;}
 .oc-nav .oc-menu-heading {color:#9b243e!important;}
 .oc-nav .oc-menu-panel .oc-sub-toggle {color:#64213b!important;}
}

/* V4: navegación de escritorio sin superposición */
.oc-nav{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:clamp(14px,3vw,45px)!important}
.oc-nav .oc-brand{flex:0 0 auto!important;display:flex!important;align-items:center!important;min-width:145px!important}
.oc-nav .oc-brand img{width:clamp(140px,15vw,190px)!important;height:62px!important;object-fit:contain!important}
.oc-nav .oc-menu-panel{flex:0 1 auto!important;min-width:0!important}
.oc-nav .oc-menu-list{justify-content:flex-end!important;gap:clamp(1px,.8vw,14px)!important}
.oc-nav .oc-menu-list>li>a,.oc-nav .oc-menu-line>a,.oc-nav .oc-menu-line>.oc-menu-label{padding:10px 7px!important}
@media(max-width:900px){
 .oc-nav .oc-brand{min-width:0!important}
 .oc-nav .oc-brand img{width:145px!important;height:55px!important}
 .oc-nav .oc-menu-panel{flex:none!important}
 .oc-nav .oc-menu-list{align-items:stretch!important}
}

/* CTA de admisiones: a la izquierda del menú en escritorio */
.oc-nav .oc-visit-cta{display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;background:#fff!important;color:#92213c!important;border:2px solid rgba(255,255,255,.9)!important;border-radius:999px!important;padding:10px 15px!important;font-size:13px!important;font-weight:800!important;line-height:1.25!important;box-shadow:0 3px 12px rgba(0,0,0,.12)!important;text-decoration:none!important;flex:0 0 auto!important}
.oc-nav .oc-visit-cta:hover,.oc-nav .oc-visit-cta:focus-visible{background:#ffe5ed!important;color:#79203a!important}
.oc-nav .oc-visit-mobile{display:none!important}
@media(max-width:1100px) and (min-width:901px){.oc-nav{gap:8px!important;padding-left:14px!important;padding-right:14px!important}.oc-nav .oc-brand img{width:135px!important}.oc-nav .oc-visit-cta{padding:9px 10px!important;font-size:12px!important}.oc-nav .oc-menu-list>li>a,.oc-nav .oc-menu-line>a,.oc-nav .oc-menu-line>.oc-menu-label{font-size:13px!important;padding:8px 5px!important}}
@media(max-width:900px){.oc-nav .oc-visit-cta{margin-left:auto!important;margin-right:8px!important;padding:9px 12px!important;font-size:12px!important}.oc-nav .oc-visit-mobile{display:block!important;border-bottom:1px solid #eee!important}.oc-nav .oc-visit-mobile a{display:block!important;background:#9b243e!important;color:#fff!important;border-radius:10px!important;margin:12px 0!important;text-align:center!important;padding:13px!important}.oc-nav .oc-menu-toggle{margin-left:0!important}}
@media(max-width:420px){.oc-nav .oc-brand img{width:100px!important;min-width:0!important}.oc-nav .oc-visit-cta{padding:8px!important;font-size:11px!important;margin-right:5px!important}.oc-nav .oc-menu-toggle{width:42px!important;height:42px!important}}

/* V8: CTA al extremo derecho, después de Bolsa de trabajo */
@media(min-width:901px){
 .oc-nav{gap:clamp(8px,1.3vw,22px)!important;}
 .oc-nav .oc-menu-panel{margin-left:auto!important;}
 .oc-nav .oc-visit-cta{order:10!important;flex:0 0 auto!important;margin-left:clamp(6px,1vw,14px)!important;
   background:linear-gradient(105deg,#7148bb,#b32b4a)!important;color:#fff!important;
   border:0!important;border-radius:999px!important;padding:12px clamp(11px,1.4vw,22px)!important;
   font-weight:800!important;box-shadow:0 5px 14px rgba(35,5,30,.2)!important;}
 .oc-nav .oc-visit-cta:hover,.oc-nav .oc-visit-cta:focus-visible{background:linear-gradient(105deg,#6037a8,#93213d)!important;color:#fff!important;}
}
@media(max-width:900px){
 .oc-nav .oc-visit-cta{display:none!important;}
 .oc-nav .oc-visit-mobile{display:block!important;}
 .oc-nav .oc-menu-toggle{margin-left:auto!important;}
}

/* V9: botón de visita idéntico al CTA original, con animación de elevación */
.oc-nav .oc-visit-cta{
 background:linear-gradient(135deg,#3015aa,#a81a1c)!important;
 color:#fff!important;border:0!important;border-radius:40px!important;
 font-weight:900!important;text-transform:uppercase!important;
 box-shadow:0 8px 20px rgba(0,0,0,.25)!important;
 transition:transform .4s ease,box-shadow .4s ease!important;
}
.oc-nav .oc-visit-cta:hover,.oc-nav .oc-visit-cta:focus-visible{
 background:linear-gradient(135deg,#3015aa,#a81a1c)!important;
 color:#fff!important;transform:translateY(-3px)!important;
 box-shadow:0 12px 26px rgba(0,0,0,.3)!important;
}
@media(max-width:900px){
 .oc-nav .oc-menu-panel .oc-visit-mobile{display:block!important;padding:10px 0 4px!important;border:0!important;}
 .oc-nav .oc-menu-panel .oc-visit-mobile a.oc-visit-mobile-button{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;max-width:100%!important;min-height:48px!important;
  margin:12px 0!important;padding:13px 14px!important;
  background:linear-gradient(135deg,#3015aa,#a81a1c)!important;
  color:#fff!important;border:0!important;border-radius:40px!important;
  font-size:14px!important;font-weight:900!important;text-transform:uppercase!important;
  line-height:1.4!important;text-align:center!important;white-space:normal!important;
  box-sizing:border-box!important;overflow-wrap:break-word!important;
  box-shadow:0 8px 20px rgba(0,0,0,.22)!important;
  transition:transform .4s ease,box-shadow .4s ease!important;
 }
 .oc-nav .oc-menu-panel .oc-visit-mobile a.oc-visit-mobile-button:hover,
 .oc-nav .oc-menu-panel .oc-visit-mobile a.oc-visit-mobile-button:focus-visible{
  transform:translateY(-3px)!important;box-shadow:0 12px 26px rgba(0,0,0,.3)!important;
 }
}
@media(prefers-reduced-motion:reduce){.oc-nav .oc-visit-cta,.oc-nav .oc-menu-panel .oc-visit-mobile a{transition:none!important}}
