/* ============================================================================
   Arquigestión Campus — arquigestion.css
   Orden: (1) port de src/css/estilos.css · (2) utilidades · (3) puente Elementor
   · (4) bloques nuevos (compra, 404, curso LD, Mi cuenta, Woo blocks, Focus Mode)
   · (5) editor · (6) prefers-reduced-motion.
   Se encola con dependencias elementor-frontend / learndash-front / wc-blocks-style
   a prioridad 999: gana los empates de especificidad por orden de carga.
   ============================================================================ */

/* ---------------------------------------------------------------------------
   (1) PORT DE estilos.css — casi verbatim. Cambios: sin @font-face (Montserrat
   la sirve el Kit de Elementor), sin img{max-width:none…} (→ .deco y
   .elementor-widget img), 800→900, 500→400, -webkit-backdrop-filter, .btn.btn--borde,
   body.home .footer, admin-bar.
   --------------------------------------------------------------------------- */
:root{--azul:#00346A;--naranja:#E64F13;--gris:#798A9C;--blanco:#F0F2F5;--negro:#1D1D1B}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--blanco);font-family:'Montserrat',sans-serif;color:var(--negro);-webkit-font-smoothing:antialiased}
a{color:var(--azul);text-decoration:none}
a:hover{color:var(--naranja)}
::selection{background:var(--naranja);color:var(--blanco)}
/* En el estatico una regla img{max-width:none;width:auto;height:auto} neutralizaba el
   presentational hint de width/height. En WordPress esa regla rompe el img{max-width:100%}
   del tema, asi que se reemplaza por dos reglas acotadas: las decoraciones no se limitan
   al ancho del contenedor y las imagenes de los widgets ignoran el alto del atributo. */
.deco{max-width:none}
.elementor-widget img{height:auto}
/* El estatico traia img{max-width:none;width:auto;height:auto}, que no se puede portar tal
   cual porque rompe el max-width:100% que WordPress da por sentado. Las imagenes del diseno
   fijan su altura con style inline: para esas, y solo para esas, se restaura el ancho
   proporcional; si no conservan el ancho natural del archivo (519px del monograma) y salen
   aplastadas. */
body.arq img[style*="height:"]{width:auto;max-width:none}
.footer__marca img,.menu-movil__logo img,.arq-focus-logo img,img.footer__monograma,img.menu-movil__monograma{width:auto}
input,textarea,button{font-family:'Montserrat',sans-serif}
input::placeholder,textarea::placeholder{color:var(--gris)}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(42px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeLeft{from{opacity:0;transform:translateX(-46px)}to{opacity:1;transform:translateX(0)}}
@keyframes scaleIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@keyframes drift{from{transform:translateY(60px)}to{transform:translateY(-60px)}}
@keyframes slideMark{from{transform:translateX(3%)}to{transform:translateX(-40%)}}
/* Reveals al scroll (fallback: se muestran de una) */
.rev{animation:fadeUp 1ms linear both;animation-timeline:view();animation-range:entry 0% entry 28%}
.rev-izq{animation:fadeLeft 1ms linear both;animation-timeline:view();animation-range:entry 0% entry 28%}
.rev-esc{animation:scaleIn 1ms linear both;animation-timeline:view();animation-range:entry 0% entry 25%}
.rev-2{animation-range:entry 6% entry 36%}
.rev-3{animation-range:entry 12% entry 42%}
/* Safari (WebKit) todavia no soporta animation-timeline. Sin soporte, `animation: X linear both`
   sin duracion corre como animacion de tiempo de 0s y `fill:both` la deja en su estado FINAL.
   Para casi todos los efectos ese estado final es "visible" y la degradacion es correcta, pero
   `drift` termina en translateY(-60px) y `slideMark` en translateX(-40%): las decoraciones
   quedan corridas y el wordmark gigante se lee desplazado. Por eso esas dos SOLO se declaran
   donde el scroll-timeline existe; sin el, el elemento queda en su posicion natural. */
@supports (animation-timeline: view()){
  .deriva{animation:drift linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
}
.anima-1{animation:fadeUp .8s ease both}
.anima-2{animation:fadeUp .8s .08s ease both}
.anima-3{animation:fadeUp .8s .16s ease both}
.anima-4{animation:fadeUp .8s .24s ease both}
.aparece-1{animation:fadeIn 1.4s .5s ease both}
.aparece-2{animation:fadeIn 1.4s .7s ease both}
/* Header */
.header{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;height:64px;background:rgba(240,242,245,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,52,106,.1)}
body.admin-bar .header{top:32px}
@media (max-width:782px){body.admin-bar .header{top:46px}}
.header__logo{display:flex;align-items:center}
.logo-desktop{height:24px;display:block}
.logo-movil{height:36px;display:none}
.nav{display:flex;align-items:center;gap:clamp(18px,2.6vw,34px)}
.nav__link{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:4px 0}
.nav__link.activo{font-weight:700;color:var(--naranja);border-bottom:2px solid var(--naranja)}
.btn-campus{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blanco);background:var(--azul);padding:12px 22px;display:inline-block}
.btn-campus:hover{background:var(--naranja);color:var(--blanco)}
.burger{display:none;background:none;border:none;cursor:pointer;padding:10px 0 10px 12px;flex-direction:column;gap:5px;align-items:flex-end}
.burger span{display:block;width:26px;height:3px;background:var(--azul)}
/* El Theme Style de botones del Kit (.elementor-kit-6 button, especificidad 0,1,1) pinta de
   naranja TODO <button>, incluidos los del diseno que no son botones de accion. Hay que
   empatarle y ganarle: por eso el prefijo body.arq. Y las tres lineas van iguales. */
body.arq .burger{background:none;border:none;box-shadow:none;border-radius:0;padding:10px 0 10px 12px;min-height:0}
body.arq .burger:hover,body.arq .burger:focus{background:none;box-shadow:none}
body.arq .burger span{display:block;width:26px;height:3px;background:var(--azul);border-radius:0;transition:none}
body.arq .menu-movil__cerrar{background:none;border:none;box-shadow:none;border-radius:0;color:var(--blanco);padding:12px;font-size:24px;line-height:1;min-height:0}
body.arq .menu-movil__cerrar:hover{background:none;color:var(--naranja)}
body.arq .form-ok button{background:none;border:none;box-shadow:none;border-radius:0;padding:0;color:var(--naranja);min-height:0}
body.arq .form-ok button:hover{background:none;color:var(--azul)}
#progreso{position:fixed;top:0;left:0;height:4px;width:0;background:var(--naranja);z-index:82}
body.admin-bar #progreso{top:32px}
/* Menú mobile */
.menu-movil{position:fixed;inset:0;z-index:90;background:var(--azul);display:none;flex-direction:column;justify-content:space-between;padding:14px 7vw 44px;overflow:hidden}
.menu-movil.abierto{display:flex;animation:fadeIn .25s ease both}
.menu-movil__top{display:flex;align-items:center;justify-content:space-between;position:relative}
.menu-movil__cerrar{background:none;border:none;cursor:pointer;padding:12px;font-size:24px;color:var(--blanco);line-height:1}
.menu-movil__nav{display:flex;flex-direction:column;gap:30px;position:relative}
.menu-movil__link{color:var(--blanco);font-size:36px;font-weight:900;text-transform:uppercase;letter-spacing:.02em;display:flex;align-items:center;gap:16px}
.menu-movil.abierto .menu-movil__link{animation:fadeUp .5s ease both}
.menu-movil.abierto .menu-movil__link:nth-child(2){animation-delay:.07s}
.menu-movil.abierto .menu-movil__link:nth-child(3){animation-delay:.14s}
.menu-movil.abierto .menu-movil__campus{animation:fadeUp .5s .21s ease both}
.menu-movil__link img{width:16px;height:16px}
.menu-movil__campus{align-self:flex-start;background:var(--naranja);color:var(--blanco);font-size:15px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:16px 28px}
.menu-movil__campus:hover{color:var(--blanco);background:#c8420e}
.menu-movil__pie{display:flex;flex-direction:column;gap:10px;position:relative}
.menu-movil__pie a,.menu-movil__pie span{color:var(--gris);font-size:14px;font-weight:600;letter-spacing:.08em}
/* Cortina de transición */
.wipe{position:fixed;inset:0;z-index:100;background:var(--azul);display:flex;align-items:center;justify-content:center;pointer-events:none;transform:translateY(0)}
body.cargada .wipe{transform:translateY(-101%);transition:transform .55s cubic-bezier(.77,0,.18,1)}
body.saliendo .wipe{transform:translateY(0);transition:transform .55s cubic-bezier(.77,0,.18,1)}
/* Secciones y tipografía */
/* overflow:hidden convierte a la seccion en contenedor de scroll y anula el position:sticky
   de .pila__tarjeta y .col-sticky. overflow:clip recorta igual las decoraciones que sangran
   pero NO crea contenedor de scroll, asi que el sticky vuelve a funcionar. La doble
   declaracion deja hidden como respaldo en navegadores sin soporte de clip. */
.seccion{position:relative;padding:clamp(84px,11vw,150px) 6vw;overflow:hidden;overflow:clip}
.seccion--compacta{padding:clamp(76px,10vw,130px) 6vw}
.seccion--azul{background:var(--azul)}
.seccion--blanca{background:#fff}
.seccion--naranja{background:var(--naranja)}
.ojal{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.ojal img{width:14px;height:14px}
.ojal span{font-size:12.5px;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--gris)}
.titulo{margin:0;font-size:clamp(32px,2.9vw,50px);line-height:1.1;font-weight:900;text-transform:uppercase;color:var(--azul)}
.titulo--claro{color:var(--blanco)}
.titulo--md{font-size:clamp(30px,2.6vw,44px)}
.bajada{margin:28px 0 0;font-size:16.5px;line-height:1.8;color:var(--negro)}
.bajada--clara{color:var(--blanco);font-weight:300}
.naranja{color:var(--naranja)}
/* Botones */
.btn{display:inline-block;background:var(--naranja);color:var(--blanco);font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:19px 34px;border:none;cursor:pointer}
.btn:hover{background:var(--azul);color:var(--blanco)}
.btn--invertir:hover{background:var(--blanco);color:var(--azul)}
.btn--azul{background:var(--azul)}
.btn--azul:hover{background:var(--naranja);color:var(--blanco)}
.btn--borde{background:none;border:2px solid var(--azul);color:var(--azul);padding:17px 30px}
.btn--borde:hover{background:none;border-color:var(--naranja);color:var(--naranja)}
/* En el estatico el boton secundario llevaba style="background:none;color:var(--azul)"
   porque .btn gana por orden; aca se resuelve con la clase compuesta. */
.btn.btn--borde{background:none;color:var(--azul)}
.btn.btn--borde:hover{background:none;border-color:var(--naranja);color:var(--naranja)}
/* Grillas */
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:clamp(44px,7vw,110px);align-items:start}
.grid-2--centro{align-items:center}
.grid-2--380{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr))}
.grid-2--360{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}
.grid-2--340{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.col-sticky{position:sticky;top:140px}
.col-sticky--130{top:130px}.col-sticky--136{top:136px}
/* Hero inicio */
.hero-i{position:relative;min-height:100vh;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));background:var(--blanco);overflow:hidden}
.hero-i__txt{display:flex;flex-direction:column;justify-content:center;padding:clamp(96px,12vh,140px) 4vw clamp(72px,9vh,110px) 6vw;position:relative;z-index:2}
.hero-i__media{position:relative;overflow:hidden;min-height:clamp(340px,58vw,100vh)}
.hero-i__media img.foto{position:absolute;inset:0;width:100%;height:112%;object-fit:cover;object-position:50% 30%;will-change:transform}
.hero-i__velo{position:absolute;inset:0;background:linear-gradient(90deg,var(--blanco) 0%,rgba(240,242,245,0) 26%),linear-gradient(0deg,rgba(0,52,106,.42) 0%,rgba(0,52,106,.05) 45%)}
.titulo-hero{margin:0;font-size:clamp(38px,4.6vw,84px);line-height:1.02;font-weight:900;text-transform:uppercase;color:var(--azul);letter-spacing:-.01em}
/* hijo directo: permite anidar un <span class="naranja"> dentro de una linea
   sin que se convierta en bloque y rompa el corte */
.titulo-hero>span{display:block}
.cinta{position:absolute;left:0;right:0;bottom:0;background:var(--azul);overflow:hidden;z-index:3}
.cinta__pista{display:flex;width:max-content;animation:marquee 26s linear infinite}
.cinta__grupo{display:flex;align-items:center;gap:44px;padding:20px 22px}
.cinta__grupo span{color:var(--blanco);font-size:15px;font-weight:700;letter-spacing:.34em;text-transform:uppercase}
.cinta__grupo img{width:13px;height:13px}
/* Listas numeradas */
.fila-num{display:flex;gap:22px;align-items:flex-start;padding:24px 0;border-bottom:1px solid rgba(0,52,106,.16)}
.fila-num:first-child{border-top:1px solid rgba(0,52,106,.16)}
.fila-num .num{font-size:14px;font-weight:900;color:var(--naranja);letter-spacing:.1em;padding-top:3px}
.fila-num h3{margin:0;font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--azul)}
.fila-num p{margin:6px 0 0;font-size:15px;line-height:1.7}
/* Bullets con cruz (fondo azul) */
.bullet{display:flex;align-items:center;gap:18px;padding:19px 0;border-bottom:1px solid rgba(240,242,245,.22)}
.bullet:first-child{border-top:1px solid rgba(240,242,245,.22)}
.bullet img{width:13px;height:13px;flex-shrink:0}
.bullet span{color:var(--blanco);font-size:15.5px;font-weight:600;line-height:1.5}
/* Card curso (inicio) */
/* Proporcion 1/1 y sin scale: la foto se ve completa, sin recorte.
   El scale(2.4) venia calibrado para la imagen anterior, que traia texto incrustado
   y habia que encuadrar una zona limpia. */
.card-curso__foto{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden}
.card-curso__foto img{width:100%;height:100%;object-fit:cover;filter:saturate(.92)}
.card-curso__velo{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,52,106,.42) 0%,rgba(0,52,106,.1) 45%)}
.etiqueta{position:absolute;left:0;top:26px;background:var(--naranja);color:var(--blanco);font-size:12.5px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;padding:12px 22px}
.card-curso__banda{background:var(--naranja);padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.card-curso__banda span{color:var(--blanco);font-size:13px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;line-height:1.6}
.card-curso__specs{background:var(--blanco);padding:26px 34px;display:flex;flex-direction:column;gap:10px}
.spec{display:flex;justify-content:space-between;align-items:center;gap:14px}
.spec+.spec{border-top:1px solid rgba(0,52,106,.14);padding-top:10px}
.spec b{font-size:11.5px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--gris)}
.spec span{font-size:13.5px;font-weight:700;color:var(--azul);text-align:right}
.arancel{display:flex;flex-direction:column;gap:2px}
.arancel b{color:var(--gris);font-size:11.5px;font-weight:700;letter-spacing:.26em;text-transform:uppercase}
.arancel span{color:var(--blanco);font-size:17px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
/* Pila metodología */
.pila{display:flex;flex-direction:column;gap:22px}
.pila__tarjeta{position:sticky;background:var(--blanco);border:1px solid rgba(0,52,106,.18);padding:clamp(26px,4vw,40px) clamp(22px,4.5vw,44px);display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:start;box-shadow:0 -18px 40px rgba(0,52,106,.05)}
.pila__tarjeta:nth-child(1){top:136px}.pila__tarjeta:nth-child(2){top:158px}.pila__tarjeta:nth-child(3){top:180px}.pila__tarjeta:nth-child(4){top:202px}
.pila__num{font-size:52px;font-weight:900;color:rgba(0,52,106,.16);line-height:1}
.pila__tarjeta h3{margin:0;font-size:19px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--azul)}
.pila__tarjeta p{margin:12px 0 0;font-size:15.5px;line-height:1.75}
.pila__tarjeta--azul{background:var(--azul);border:none;box-shadow:0 -18px 40px rgba(0,52,106,.12)}
.pila__tarjeta--azul .pila__num{color:var(--naranja)}
.pila__tarjeta--azul h3{color:var(--blanco)}
.pila__tarjeta--azul p{color:var(--blanco);font-weight:300}
/* Testimonios */
.testimonios{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:26px}
.testimonio{margin:0;background:#fff;border-top:4px solid var(--naranja);padding:38px 34px;display:flex;flex-direction:column;gap:22px}
.testimonio .comilla{font-size:54px;line-height:.6;font-weight:900;color:var(--naranja)}
.testimonio blockquote{margin:0;font-size:15.5px;line-height:1.75;font-style:italic}
.testimonio figcaption{display:flex;flex-direction:column;gap:3px}
.testimonio .quien{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--azul)}
.testimonio .rol{font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
/* Marca gigante */
.marca-gigante{background:var(--blanco);padding:10px 0 clamp(70px,9vw,120px);overflow:hidden}
.marca-gigante div{white-space:nowrap;font-size:clamp(78px,12vw,180px);font-weight:900;text-transform:uppercase;line-height:1;letter-spacing:.02em;color:transparent;-webkit-text-stroke:2px rgba(0,52,106,.28);animation:none}
.marca-gigante--naranja div{-webkit-text-stroke:2px rgba(230,79,19,.4)}

@supports (animation-timeline: view()){
  .marca-gigante div{animation:slideMark linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
}
/* Instagram */
.ig-cinta{overflow:hidden;margin:0 -6vw}
.ig-pista{display:flex;gap:14px;width:max-content;animation:marquee 44s linear infinite}
.ig-pista:hover{animation-play-state:paused}
.ig-item{position:relative;display:block;overflow:hidden;aspect-ratio:1/1;width:clamp(190px,22vw,270px);flex-shrink:0}
.ig-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.ig-item:hover img{transform:scale(1.07)}
.ig-item::after{content:'';position:absolute;inset:0;background:rgba(0,52,106,0);transition:background .3s ease}
.ig-item:hover::after{background:rgba(0,52,106,.45)}
.link-sub{font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--naranja);border-bottom:2px solid var(--naranja);padding-bottom:6px}
.link-sub:hover{color:var(--azul);border-color:var(--azul)}
/* Formularios */
.form-caja{background:var(--blanco);padding:clamp(30px,5vw,52px) clamp(24px,4.5vw,48px);position:relative}
.form-caja--azul{background:var(--azul)}
.form-caja h3{margin:0 0 8px;font-size:22px;font-weight:900;text-transform:uppercase;color:var(--azul)}
.form-caja--azul h3{color:var(--blanco)}
.form-caja .nota{margin:0 0 30px;font-size:14.5px;line-height:1.65;color:var(--gris)}
.form-campos{display:flex;flex-direction:column;gap:16px}
.form-campos input,.form-campos textarea{border:1px solid rgba(0,52,106,.25);background:#fff;padding:16px 18px;font-size:15px;color:var(--negro);outline:none;width:100%;resize:vertical}
.form-caja--azul .form-campos input,.form-caja--azul .form-campos textarea{border:1px solid rgba(240,242,245,.3);background:var(--blanco)}
.form-campos input:focus,.form-campos textarea:focus{border:1px solid var(--naranja)}
.form-campos .btn{padding:18px 30px}
.form-ok{display:none;flex-direction:column;align-items:flex-start;gap:18px;padding:30px 0}
.form-ok img{width:34px;height:34px}
.form-ok h4{margin:0;font-size:24px;font-weight:900;text-transform:uppercase;color:var(--azul)}
.form-caja--azul .form-ok h4{color:var(--blanco)}
.form-ok p{margin:0;font-size:15.5px;line-height:1.7}
.form-caja--azul .form-ok p{color:var(--blanco);font-weight:300}
.form-ok button{background:none;border:none;cursor:pointer;padding:0;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--naranja)}
.form-wrap.enviado .form-campos{display:none}
.form-wrap.enviado .form-ok{display:flex}
/* Temario / FAQ */
.temario-fila{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:baseline;padding:26px 0;border-top:1px solid rgba(0,52,106,.2)}
.temario-fila:last-child{border-bottom:1px solid rgba(0,52,106,.2)}
.temario-fila:hover{background:rgba(255,255,255,.7)}
.temario-fila .num{font-size:15px;font-weight:900;color:var(--naranja);letter-spacing:.08em}
.temario-fila .tema{font-size:18px;font-weight:600;color:var(--azul);line-height:1.5}
.temario-fila .extra{display:block;font-size:15px;font-weight:400;color:var(--negro);line-height:1.7;margin-top:8px}
.faq{display:flex;flex-direction:column;gap:14px}
.faq details{background:#fff;border:1px solid rgba(0,52,106,.14)}
.faq summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px;font-size:16.5px;font-weight:700;color:var(--azul);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary img{width:14px;height:14px;flex-shrink:0}
.faq details p{margin:0;padding:0 28px 26px;font-size:15px;line-height:1.75}
/* Cards a quién */
.publico{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:26px}
.publico__card{border:1px solid rgba(0,52,106,.18);padding:34px 28px;display:flex;flex-direction:column;gap:14px}
.publico__card:hover{border-color:var(--naranja)}
.publico__card img{width:20px;height:20px}
.publico__card h3{margin:0;font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--azul)}
.publico__card p{margin:0;font-size:14px;line-height:1.7}
/* Hero curso */
.hero-c{position:relative;min-height:88vh;display:flex;flex-direction:column;justify-content:flex-end;background:var(--azul);overflow:hidden}
/* la segunda forma del selector gana a .elementor-widget img{height:auto} */
.hero-c__foto,.elementor-widget img.hero-c__foto{position:absolute;inset:0;width:100%;height:115%;max-width:none;object-fit:cover;object-position:50% 32%;transform:scale(1.6);transform-origin:50% 38%;will-change:transform}
.hero-c__velo{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,52,106,.95) 12%,rgba(0,52,106,.72) 55%,rgba(0,52,106,.55) 100%)}
.hero-c__cont{position:relative;padding:clamp(140px,20vh,180px) 6vw 60px;width:100%}
.hero-c__datos{position:relative;margin-top:50px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));background:rgba(0,30,62,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid rgba(240,242,245,.18)}
.dato{display:flex;flex-direction:column;gap:4px;padding:22px 30px;border-right:1px solid rgba(240,242,245,.14)}
.dato b{color:var(--gris);font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase}
.dato span{color:var(--blanco);font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.chip{background:var(--naranja);color:var(--blanco);font-size:12px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;padding:10px 18px}
/* Footer */
.footer{background:var(--azul);padding:64px 6vw 44px}
.footer--borde{border-top:1px solid rgba(240,242,245,.16)}
/* footer--borde solo en la portada: en WordPress se resuelve por body.home */
body.home .footer{border-top:1px solid rgba(240,242,245,.16)}
.footer__cols{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap}
.footer__marca{display:flex;flex-direction:column;gap:18px}
.footer__marca img{height:24px;width:auto;align-self:flex-start}
.footer__marca p{margin:0;max-width:340px;font-size:13.5px;line-height:1.7;font-weight:300;color:var(--blanco);opacity:.75}
.footer__grupos{display:flex;gap:70px;flex-wrap:wrap}
.footer__grupo{display:flex;flex-direction:column;gap:12px}
.footer__grupo b{font-size:11.5px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--gris)}
.footer__grupo a{color:var(--blanco);font-size:14px;font-weight:400}
.footer__grupo a:hover{color:var(--naranja)}
.footer__base{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:54px;padding-top:24px;border-top:1px solid rgba(240,242,245,.14);flex-wrap:wrap}
.footer__legal{display:flex;align-items:center;gap:8px 26px;flex-wrap:wrap}
.footer__legal span{font-size:12px;font-weight:400;letter-spacing:.12em;color:var(--gris)}
.footer__legal a{color:var(--blanco);font-weight:700}
.footer__base>img,.footer__base img.footer__monograma{width:auto;height:26px;max-width:none;opacity:.5}
/* Decoraciones */
.deco{position:absolute;pointer-events:none}
/* Mobile */
@media (max-width:880px){
  .nav{display:none}
  .burger{display:flex}
  .logo-desktop{display:none}
  .logo-movil{display:block}
  .col-sticky{position:static}
  .hero-i__txt .fila-botones{flex-wrap:wrap}
}

/* ============================================================================
   EFECTOS DE SCROLL — lenguaje de plano tecnico
   Se apoyan en animation-timeline:view(), la misma API que ya usan .rev y
   .deriva. Si el navegador no la soporta, cada animacion corre como animacion
   de tiempo con fill:both y queda en su estado FINAL (completo): el contenido
   nunca queda oculto ni a medio dibujar.
   ============================================================================ */

/* --- Cotas y flechas que se trazan --------------------------------------- */
@keyframes trazarY{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes trazarX{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
/* above-the-fold: se traza al cargar, no hay scroll que lo dispare */
.cota-carga{animation:trazarY .85s .55s cubic-bezier(.22,.7,.2,1) both}
/* resto: se traza al entrar en pantalla */
.cota-scroll{animation:trazarY 1ms linear both;animation-timeline:view();animation-range:cover 30% cover 52%}
.flecha-scroll{animation:trazarX 1ms linear both;animation-timeline:view();animation-range:cover 32% cover 55%}

/* --- Temario como avance de obra ----------------------------------------- */
.temario{position:relative;padding-left:34px}
.temario::before,.temario::after{content:"";position:absolute;left:0;top:0;bottom:0;width:2px}
.temario::before{background:rgba(0,52,106,.14)}
.temario::after{background:var(--naranja);transform-origin:top;
  animation:rielAvance 1ms linear both;animation-timeline:view();animation-range:cover 28% cover 72%}
@keyframes rielAvance{from{transform:scaleY(0)}to{transform:scaleY(1)}}

.temario .temario-fila{position:relative;
  animation:fadeLeft 1ms linear both,filaBorde 1ms linear both;
  animation-timeline:view(),view();
  animation-range:entry 0% entry 28%,cover 42% cover 56%}
@keyframes filaBorde{from{border-top-color:rgba(0,52,106,.2)}to{border-top-color:rgba(230,79,19,.5)}}

/* marca de cota sobre el riel, una por tema */
.temario .temario-fila::before{content:"";position:absolute;left:-34px;top:-1px;width:15px;height:2px;
  background:var(--naranja);transform-origin:left;
  animation:cotaTick 1ms linear both;animation-timeline:view();animation-range:cover 42% cover 56%}
@keyframes cotaTick{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* el numero arranca apagado y se enciende al pasar */
.temario .temario-fila .num{color:rgba(0,52,106,.3);
  animation:numAvance 1ms linear both;animation-timeline:view();animation-range:cover 42% cover 56%}
@keyframes numAvance{from{color:rgba(0,52,106,.3)}to{color:var(--naranja)}}

/* --- Barra de inscripcion pegajosa (curso) -------------------------------- */
.barra-insc{position:fixed;left:0;right:0;top:64px;z-index:55;
  display:flex;align-items:center;justify-content:space-between;gap:clamp(14px,3vw,34px);
  padding:11px clamp(16px,4vw,44px);background:var(--azul);
  border-bottom:2px solid var(--naranja);box-shadow:0 12px 30px rgba(0,52,106,.16);
  visibility:hidden;transform:translateY(-115%);
  transition:transform .4s cubic-bezier(.2,.75,.25,1),visibility .4s}
body.admin-bar .barra-insc{top:96px}
.barra-insc.visible{visibility:visible;transform:translateY(0)}
.barra-insc__info{display:flex;flex-direction:column;gap:3px;min-width:0}
.barra-insc__info b{color:var(--blanco);font-size:15px;font-weight:700;line-height:1.25;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.barra-insc__info span{color:rgba(240,242,245,.66);font-size:11px;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase}
.barra-insc__cta{display:flex;align-items:center;gap:clamp(14px,2.4vw,26px);flex:none}
.barra-insc .btn{padding:13px 26px;font-size:12.5px}

@media (max-width:880px){
  .barra-insc{top:auto;bottom:0;transform:translateY(115%);
    border-bottom:none;border-top:2px solid var(--naranja);
    box-shadow:0 -12px 30px rgba(0,52,106,.2);padding:10px 16px}
  body.admin-bar .barra-insc{top:auto}
  .barra-insc__info span{display:none}
  /* nombre completo en dos renglones, en vez de cortarlo con puntos suspensivos */
  .barra-insc__info b{font-size:13px;line-height:1.3;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .barra-insc .arancel{display:none}
  .barra-insc .btn{padding:12px 20px;font-size:11.5px;letter-spacing:.1em}
}

/* Los anclas internas (#metodologia, #inscripcion, #temario…) caian debajo del
   header fijo de 64px. Esto las deja a la vista al saltar. */
section[id],div[id]{scroll-margin-top:84px}

/* Claim de cierre del hero. align-self porque .hero-i__txt es flex column:
   sin eso el borde superior naranja se estiraria a todo el ancho de la columna. */
.claim{align-self:flex-start;margin:18px 0 0;padding-top:12px;border-top:2px solid var(--naranja);
  font-size:12.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--azul);line-height:1.6;max-width:520px}
/* Filas de botones (en el estatico eran style="" inline) */
.fila-botones{display:flex;align-items:center;gap:18px;margin-top:28px;flex-wrap:wrap}
.fila-cta{display:flex;align-items:center;gap:26px;margin-top:44px;flex-wrap:wrap}
/* Variantes de titulo que en el estatico iban como style="" inline */
.titulo--curso{font-size:clamp(34px,3.2vw,56px);line-height:1.06;font-weight:900;text-wrap:balance}
.titulo--contacto,.titulo--inscripcion{font-size:clamp(36px,3.4vw,60px);line-height:1.04;font-weight:900}
.titulo--dequesetrata{font-size:clamp(30px,2.8vw,48px)}
.titulo--dictado{font-size:clamp(32px,3vw,52px);font-weight:900;line-height:1.06}
.titulo--testimonios{margin-bottom:54px;max-width:700px}
.titulo-hero--curso{font-size:clamp(38px,4.4vw,80px);color:var(--blanco);max-width:1000px;text-wrap:balance}
.titulo-hero--404,.titulo-hero--contacto{font-size:clamp(38px,4.4vw,80px)}

/* ---------------------------------------------------------------------------
   (2) UTILIDADES — reemplazan los style="" inline del estatico en widgets nativos.
   Cada clase se declara dos veces: a secas (markup crudo) y con
   body.arq .elementor-element.elementor-element (0,4,1) para ganarle al puente
   de widgets (0,3,1) y a las reglas por elemento de Elementor, sin depender del orden.
   --------------------------------------------------------------------------- */
.u-max-400,body.arq .elementor-element.elementor-element.u-max-400{max-width:400px}
.u-max-420,body.arq .elementor-element.elementor-element.u-max-420{max-width:420px}
.u-max-440,body.arq .elementor-element.elementor-element.u-max-440{max-width:440px}
.u-max-460,body.arq .elementor-element.elementor-element.u-max-460{max-width:460px}
.u-max-480,body.arq .elementor-element.elementor-element.u-max-480{max-width:480px}
.u-max-520,body.arq .elementor-element.elementor-element.u-max-520{max-width:520px}
.u-max-540,body.arq .elementor-element.elementor-element.u-max-540{max-width:540px}
.u-max-600,body.arq .elementor-element.elementor-element.u-max-600{max-width:600px}
.u-max-620,body.arq .elementor-element.elementor-element.u-max-620{max-width:620px}
.u-max-640,body.arq .elementor-element.elementor-element.u-max-640{max-width:640px}
.u-max-700,body.arq .elementor-element.elementor-element.u-max-700{max-width:700px}
.u-max-760,body.arq .elementor-element.elementor-element.u-max-760{max-width:760px}
.u-max-1000,body.arq .elementor-element.elementor-element.u-max-1000{max-width:1000px}
.u-mt-0,body.arq .elementor-element.elementor-element.u-mt-0{margin-top:0}
.u-mt-12,body.arq .elementor-element.elementor-element.u-mt-12{margin-top:12px}
.u-mt-14,body.arq .elementor-element.elementor-element.u-mt-14{margin-top:14px}
.u-mt-16,body.arq .elementor-element.elementor-element.u-mt-16{margin-top:16px}
.u-mt-18,body.arq .elementor-element.elementor-element.u-mt-18{margin-top:18px}
.u-mt-20,body.arq .elementor-element.elementor-element.u-mt-20{margin-top:20px}
.u-mt-24,body.arq .elementor-element.elementor-element.u-mt-24{margin-top:24px}
.u-mt-26,body.arq .elementor-element.elementor-element.u-mt-26{margin-top:26px}
.u-mt-28,body.arq .elementor-element.elementor-element.u-mt-28{margin-top:28px}
.u-mt-30,body.arq .elementor-element.elementor-element.u-mt-30{margin-top:30px}
.u-mt-36,body.arq .elementor-element.elementor-element.u-mt-36{margin-top:36px}
.u-mt-40,body.arq .elementor-element.elementor-element.u-mt-40{margin-top:40px}
.u-mt-44,body.arq .elementor-element.elementor-element.u-mt-44{margin-top:44px}
.u-mt-48,body.arq .elementor-element.elementor-element.u-mt-48{margin-top:48px}
.u-mb-22,body.arq .elementor-element.elementor-element.u-mb-22{margin-bottom:22px}
.u-mb-26,body.arq .elementor-element.elementor-element.u-mb-26{margin-bottom:26px}
.u-mb-54,body.arq .elementor-element.elementor-element.u-mb-54{margin-bottom:54px}
.u-pt-0,body.arq .elementor-element.elementor-element.u-pt-0{padding-top:0}
.u-pt-30,body.arq .elementor-element.elementor-element.u-pt-30{padding-top:30px}
.u-pb-30,body.arq .elementor-element.elementor-element.u-pb-30{padding-bottom:30px}
.u-pb-120,body.arq .elementor-element.elementor-element.u-pb-120{padding-bottom:120px}
.u-fs-13,body.arq .elementor-element.elementor-element.u-fs-13{font-size:13px}
.u-fs-15,body.arq .elementor-element.elementor-element.u-fs-15{font-size:15px}
.u-fs-15-5,body.arq .elementor-element.elementor-element.u-fs-15-5{font-size:15.5px}
.u-fs-16,body.arq .elementor-element.elementor-element.u-fs-16{font-size:16px}
.u-fs-17,body.arq .elementor-element.elementor-element.u-fs-17{font-size:17px}
.u-fs-17-5,body.arq .elementor-element.elementor-element.u-fs-17-5{font-size:17.5px}
.u-fs-18,body.arq .elementor-element.elementor-element.u-fs-18{font-size:18px}
.u-lh-15,body.arq .elementor-element.elementor-element.u-lh-15{line-height:1.5}
.u-lh-162,body.arq .elementor-element.elementor-element.u-lh-162{line-height:1.62}
.u-lh-165,body.arq .elementor-element.elementor-element.u-lh-165{line-height:1.65}
.u-lh-17,body.arq .elementor-element.elementor-element.u-lh-17{line-height:1.7}
.u-lh-175,body.arq .elementor-element.elementor-element.u-lh-175{line-height:1.75}
.u-lh-185,body.arq .elementor-element.elementor-element.u-lh-185{line-height:1.85}
.u-italic,body.arq .elementor-element.elementor-element.u-italic{font-style:italic}
.u-bold,body.arq .elementor-element.elementor-element.u-bold{font-weight:700}
.u-fw-300,body.arq .elementor-element.elementor-element.u-fw-300{font-weight:300}
.u-fw-600,body.arq .elementor-element.elementor-element.u-fw-600{font-weight:600}
.u-azul,body.arq .elementor-element.elementor-element.u-azul{color:var(--azul)}
.u-blanco,body.arq .elementor-element.elementor-element.u-blanco{color:var(--blanco)}
.u-gris,body.arq .elementor-element.elementor-element.u-gris{color:var(--gris)}
.u-balance,body.arq .elementor-element.elementor-element.u-balance{text-wrap:balance}
.u-relative,body.arq .elementor-element.elementor-element.u-relative{position:relative}
.u-block,body.arq .elementor-element.elementor-element.u-block{display:block}
.u-inline-block,body.arq .elementor-element.elementor-element.u-inline-block{display:inline-block}

/* ---------------------------------------------------------------------------
   (3) PUENTE ELEMENTOR
   Contenedores: .e-con es flex y toma display/flex-direction/gap/padding/position
   de variables con especificidad (0,1,0)-(0,2,0); las clases de diseno se duplican
   con prefijo .e-con. para ganar sin depender del orden. Widgets: la clase de diseno
   va en el wrapper .elementor-widget; se apunta al elemento interno
   (.elementor-heading-title, .elementor-button, img, a.elementor-item, .elementor-field),
   nunca a .elementor-widget-container (e_optimized_markup lo elimina). Prefijo body.arq
   (lo agrega el plugin en body_class) para superar las reglas por elemento de
   Elementor (color/tipografia globales) que llegan con (0,2,0)-(0,3,0).
   --------------------------------------------------------------------------- */

/* --- Generales --------------------------------------------------------------- */
/* Elementor transiciona transform en .e-con y .elementor-widget (.4s): rompe el
   parallax por scroll de #hero-img/#hero-txt. Se anula en todo el sitio. */
body.arq .e-con,body.arq .elementor-widget{--e-transform-transition-duration:0s;--e-con-transform-transition-duration:0s}
body.arq #hero-img,body.arq #hero-txt,body.arq .e-con.hero-i__txt,body.arq .e-con.hero-c__cont{transition:none}
/* Los HTML widgets no deben ser bloque contenedor: las decoraciones .deco, los velos
   y la cinta se posicionan respecto de la seccion (.e-con es position:relative),
   igual que en el estatico. En el editor se conserva relative para los handles. */
body.arq:not(.elementor-editor-active) .elementor-widget-html{position:static}
/* Los widgets de imagen no centran; las imagenes se comportan como bloque */
body.arq .elementor-widget-image{text-align:start}
/* Titulos: sin margenes por defecto de Elementor/Hello */
body.arq .elementor-widget-heading .elementor-heading-title,body.arq .elementor-widget-theme-post-title .elementor-heading-title{margin:0;padding:0}
/* Text editor: los <p> no aportan margen extra (el espaciado lo dan las clases) */
body.arq .elementor-widget-text-editor>p:first-child,body.arq .elementor-widget-text-editor p:last-child{margin-bottom:0}
/* Shortcode / post-content: sin margenes propios */
body.arq .elementor-widget-shortcode .elementor-shortcode{margin:0}

/* --- Secciones --------------------------------------------------------------- */
.e-con.seccion{position:relative;padding:clamp(84px,11vw,150px) 6vw;overflow:hidden;overflow:clip;--overflow:clip}
.e-con.seccion--compacta{padding:clamp(76px,10vw,130px) 6vw}
.e-con.seccion--azul{background:var(--azul)}
.e-con.seccion--blanca{background:#fff}
.e-con.seccion--naranja{background:var(--naranja)}
.e-con.seccion#inscripcion{padding:clamp(80px,10vw,140px) 6vw}
.e-con.marca-gigante{padding:10px 0 clamp(70px,9vw,120px);overflow:hidden;--overflow:hidden}

/* --- Grillas y columnas ------------------------------------------------------ */
.e-con.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:clamp(44px,7vw,110px);align-items:start;position:relative}
.e-con.grid-2--centro{align-items:center}
.e-con.grid-2--380{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr))}
.e-con.grid-2--360{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}
.e-con.grid-2--340{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.e-con.grid-2>.e-con,.e-con.grid-2>.elementor-widget{width:100%;min-width:0;max-width:100%}
.e-con.col-sticky{position:sticky;--position:sticky;top:140px}
.e-con.col-sticky--130{top:130px}.e-con.col-sticky--136{top:136px}
.e-con.publico{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:26px}
.e-con.testimonios{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:26px}
.e-con.hero-c__datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:50px;position:relative}
/* En el estatico las tarjetas ERAN los grid items y align-items:stretch las igualaba; aca el grid item
   es el .elementor-widget que envuelve cada HTML widget (con .elementor-widget-container si algun dia
   se apaga e_optimized_markup), asi que hay que propagar la altura hasta .publico__card / .dato o sus
   bordes dejan de coincidir cuando una tarjeta ocupa mas lineas. */
.e-con.publico>.elementor-widget,.e-con.hero-c__datos>.elementor-widget,.e-con.publico>.elementor-widget>.elementor-widget-container,.e-con.hero-c__datos>.elementor-widget>.elementor-widget-container{display:flex;flex-direction:column}
.e-con.publico>.elementor-widget>.elementor-widget-container,.e-con.hero-c__datos>.elementor-widget>.elementor-widget-container{flex:1 1 auto}
.e-con.publico .publico__card,.e-con.hero-c__datos .dato{flex:1 1 auto;width:100%}
/* Filas horizontales (botones, cabecera de IG, dictado, precio) */
/* margin-top: lo fija el ajuste "margin" del contenedor en el JSON (Elementor escribe --margin-top
   por elemento; .e-con lo declara en 0px por defecto). Antes estaba clavado aqui y pisaba al JSON:
   el 404 pedia 44px y quedaba en 28, y el CTA del hero de /curso/ pedia 40px y quedaba en 44.
   El valor de reserva solo entra si no cargo el frontend.css de Elementor. */
.e-con.fila-botones{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:18px;margin-top:var(--margin-top,28px)}
.e-con.fila-cta{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:26px;margin-top:var(--margin-top,44px)}
.e-con.ig-cabecera{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:44px}
.e-con.dictado{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:clamp(36px,6vw,90px);position:relative}
.e-con.dictado>.e-con{flex:1 1 auto;min-width:min(100%,340px);width:auto}
.e-con.fila-botones>.e-con,.e-con.fila-botones>.elementor-widget,.e-con.fila-cta>.e-con,.e-con.fila-cta>.elementor-widget,.e-con.ig-cabecera>.e-con,.e-con.ig-cabecera>.elementor-widget,.e-con.dictado>.elementor-widget{width:auto;flex:0 0 auto}

/* --- Header ------------------------------------------------------------------ */
.e-con.header{position:fixed;--position:fixed;top:0;left:0;right:0;z-index:60;--z-index:60;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;padding:0 4vw;height:64px;--height:64px;min-height:0;background:rgba(240,242,245,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,52,106,.1);overflow:visible;--overflow:visible}
body.admin-bar .e-con.header{top:32px}
/* La barra de admin mide 46px (y no 32) por debajo de 782px. Sin esto el header fijo
   y la barra de progreso se le montan encima a cualquier usuario logueado. */
@media (max-width:782px){body.admin-bar .e-con.header{top:46px}body.admin-bar #progreso{top:46px}}
.e-con.header>.e-con,.e-con.header>.elementor-widget{width:auto;flex:0 0 auto}
.e-con.header__logo{display:flex;flex-direction:row;align-items:center;gap:0;width:auto}
.e-con.header__logo>.elementor-widget{width:auto;line-height:0}
body.arq .elementor-widget.logo-desktop,body.arq .elementor-widget.logo-movil,body.arq .elementor-widget.footer__logo{height:auto;line-height:0;text-align:start}
body.arq .elementor-widget.logo-desktop{display:block}
body.arq .elementor-widget.logo-movil{display:none}
body.arq .elementor-widget.logo-desktop img{height:24px;width:auto;max-width:none;display:block}
body.arq .elementor-widget.logo-movil img{height:36px;width:auto;max-width:none;display:block}
body.arq .elementor-widget.logo-desktop a,body.arq .elementor-widget.logo-movil a,body.arq .elementor-widget.footer__logo a{display:block;line-height:0}
/* Nav (widget nav-menu horizontal, pointer none, sin dropdown) */
.e-con.nav{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:clamp(18px,2.6vw,34px);width:auto}
.e-con.nav>.elementor-widget{width:auto;flex:0 0 auto}
.e-con.nav .elementor-nav-menu__container,.e-con.nav .elementor-nav-menu--main{display:block;width:auto}
.e-con.nav .elementor-nav-menu{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:clamp(18px,2.6vw,34px);margin:0;padding:0;list-style:none}
.e-con.nav .elementor-nav-menu li{margin:0;padding:0;list-style:none;display:block}
.e-con.nav .elementor-nav-menu a.elementor-item{display:block;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:4px 0;margin:0;color:var(--azul);line-height:1.4;border:0;border-bottom:2px solid transparent;background:none;white-space:nowrap;transition:none}
.e-con.nav .elementor-nav-menu a.elementor-item:hover,.e-con.nav .elementor-nav-menu a.elementor-item:focus{color:var(--naranja)}
.e-con.nav .elementor-nav-menu .current-menu-item>a,.e-con.nav .elementor-nav-menu .current-menu-item>a.elementor-item,.e-con.nav .elementor-nav-menu .current-menu-ancestor>a.elementor-item,.e-con.nav .elementor-nav-menu a.elementor-item-active,.e-con.nav .elementor-nav-menu a.elementor-item.elementor-item-active{font-weight:700;color:var(--naranja);border-bottom:2px solid var(--naranja)}
.e-con.nav .elementor-nav-menu a.elementor-item:before,.e-con.nav .elementor-nav-menu a.elementor-item:after{display:none}
/* El CSS del widget nav-menu de Pro se encola por widget y puede imprimirse DESPUES de esta
   hoja: sin !important el desplegable movil reaparece en escritorio y duplica los enlaces. */
.e-con.nav .elementor-menu-toggle,.e-con.nav .elementor-nav-menu--dropdown,.e-con.menu-movil__nav .elementor-menu-toggle,.e-con.menu-movil__nav .elementor-nav-menu--dropdown,.e-con.footer__grupo .elementor-menu-toggle,.e-con.footer__grupo .elementor-nav-menu--dropdown,.elementor-location-header .elementor-menu-toggle,.elementor-location-header .elementor-nav-menu--dropdown,.elementor-location-footer .elementor-menu-toggle,.elementor-location-footer .elementor-nav-menu--dropdown{display:none!important}
.e-con.nav .elementor-nav-menu--main,.e-con.menu-movil__nav .elementor-nav-menu--main,.e-con.footer__grupo .elementor-nav-menu--main{display:block}
/* Boton Campus del header */
body.arq .elementor-widget.btn-campus .elementor-button{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blanco);background:var(--azul);padding:12px 22px;border:0;border-radius:0;line-height:1.2;transition:none}
body.arq .elementor-widget.btn-campus .elementor-button:hover,body.arq .elementor-widget.btn-campus .elementor-button:focus{background:var(--naranja);color:var(--blanco)}
body.arq .elementor-widget.btn-campus .elementor-button-content-wrapper,body.arq .elementor-widget.btn-campus .elementor-button-text{display:inline}

/* --- Menu movil -------------------------------------------------------------- */
.e-con.menu-movil{position:fixed;--position:fixed;inset:0;z-index:90;--z-index:90;background:var(--azul);display:none;flex-direction:column;flex-wrap:nowrap;justify-content:space-between;align-items:stretch;padding:14px 7vw 44px;overflow:hidden;--overflow:hidden;height:auto;--height:auto;max-height:none}
.e-con.menu-movil.abierto{display:flex;animation:fadeIn .25s ease both}
.e-con.menu-movil__top{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;position:relative}
.e-con.menu-movil__top>.elementor-widget,.e-con.menu-movil__top>.e-con{width:auto;flex:0 0 auto}
.e-con.menu-movil__top .elementor-widget-image img{height:34px;width:auto;display:block}
.e-con.menu-movil__nav{display:flex;flex-direction:column;gap:30px;position:relative;align-items:flex-start}
.e-con.menu-movil__nav>.elementor-widget{width:auto;max-width:100%}
.e-con.menu-movil__nav .elementor-nav-menu__container{display:block;width:auto}
.e-con.menu-movil__nav .elementor-nav-menu{display:flex;flex-direction:column;gap:30px;margin:0;padding:0;list-style:none}
.e-con.menu-movil__nav .elementor-nav-menu li{margin:0;padding:0;list-style:none;display:block}
.e-con.menu-movil__nav .elementor-nav-menu a.elementor-item{color:var(--blanco);font-size:36px;font-weight:900;text-transform:uppercase;letter-spacing:.02em;display:flex;align-items:center;gap:16px;padding:0;margin:0;line-height:1.15;background:none;border:0;transition:none}
/* El widget nav-menu de Pro usa ::before/::after en position:absolute para sus "pointers"
   de hover. Sin position:static la cruz se superpone al texto en vez de ocupar su hueco
   en el flex del enlace. */
.e-con.menu-movil__nav .elementor-nav-menu a.elementor-item::before,.e-con.menu-movil__nav .elementor-nav-menu li a.elementor-item::before,.e-con.menu-movil__nav .elementor-nav-menu li:not(.current-menu-item) a.elementor-item::before{content:''!important;display:block!important;position:static!important;width:16px!important;height:16px!important;flex:none;background:url(img/cruz-naranja.png) center/contain no-repeat!important;opacity:1!important;transform:none!important;border:0!important;margin:0!important}
.e-con.menu-movil__nav .elementor-nav-menu a.elementor-item::after{display:none}
.e-con.nav .elementor-nav-menu a.elementor-item::before,.e-con.nav .elementor-nav-menu a.elementor-item::after,.e-con.footer__grupo .elementor-nav-menu a.elementor-item::before,.e-con.footer__grupo .elementor-nav-menu a.elementor-item::after{display:none}
.e-con.menu-movil__nav .elementor-nav-menu a.elementor-item-active,.e-con.menu-movil__nav .elementor-nav-menu a.elementor-item.elementor-item-active,.e-con.menu-movil__nav .elementor-nav-menu .current-menu-item>a.elementor-item{color:var(--blanco)}
.e-con.menu-movil__nav .elementor-nav-menu a.elementor-item:hover,.e-con.menu-movil__nav .elementor-nav-menu a.elementor-item:focus{color:var(--naranja)}
/* stagger de entrada, como .menu-movil.abierto .menu-movil__link:nth-child(n) */
.e-con.menu-movil.abierto .menu-movil__nav .elementor-nav-menu li a.elementor-item{animation:fadeUp .5s ease both}
.e-con.menu-movil.abierto .menu-movil__nav .elementor-nav-menu li:nth-child(2) a.elementor-item{animation-delay:.07s}
.e-con.menu-movil.abierto .menu-movil__nav .elementor-nav-menu li:nth-child(3) a.elementor-item{animation-delay:.14s}
.e-con.menu-movil.abierto .menu-movil__nav .elementor-nav-menu li:nth-child(4) a.elementor-item{animation-delay:.21s}
.e-con.menu-movil.abierto .elementor-widget.menu-movil__campus{animation:fadeUp .5s .21s ease both}
body.arq .elementor-widget.menu-movil__campus{align-self:flex-start;width:auto}
body.arq .elementor-widget.menu-movil__campus .elementor-button{display:inline-block;background:var(--naranja);color:var(--blanco);font-size:15px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:16px 28px;border:0;border-radius:0;line-height:1.2;transition:none}
body.arq .elementor-widget.menu-movil__campus .elementor-button:hover,body.arq .elementor-widget.menu-movil__campus .elementor-button:focus{color:var(--blanco);background:#c8420e}
body.arq .elementor-widget.menu-movil__campus .elementor-button-content-wrapper,body.arq .elementor-widget.menu-movil__campus .elementor-button-text{display:inline}
/* El pie del menu movil va como HTML widget con clase .menu-movil__pie-wrap y el <div class="menu-movil__pie">
   adentro: lo resuelven las reglas base .menu-movil__pie / .menu-movil__pie a. No hay puente de widget. */

/* --- Titulos y bajadas ------------------------------------------------------- */
body.arq .elementor-widget.titulo .elementor-heading-title{margin:0;padding:0;font-family:'Montserrat',sans-serif;font-size:clamp(32px,2.9vw,50px);line-height:1.1;font-weight:900;text-transform:uppercase;letter-spacing:0;color:var(--azul)}
body.arq .elementor-widget.titulo--md .elementor-heading-title{font-size:clamp(30px,2.6vw,44px)}
body.arq .elementor-widget.titulo--claro .elementor-heading-title{color:var(--blanco)}
body.arq .elementor-widget.titulo--curso .elementor-heading-title{font-size:clamp(34px,3.2vw,56px);line-height:1.06;text-wrap:balance}
body.arq .elementor-widget.titulo--contacto .elementor-heading-title,body.arq .elementor-widget.titulo--inscripcion .elementor-heading-title{font-size:clamp(36px,3.4vw,60px);line-height:1.04}
body.arq .elementor-widget.titulo--dequesetrata .elementor-heading-title{font-size:clamp(30px,2.8vw,48px)}
body.arq .elementor-widget.titulo--dictado .elementor-heading-title{font-size:clamp(32px,3vw,52px);line-height:1.06}
body.arq .elementor-widget.titulo--testimonios .elementor-heading-title{margin-bottom:54px;max-width:700px}
body.arq .elementor-widget.titulo-hero .elementor-heading-title{margin:0;padding:0;font-family:'Montserrat',sans-serif;font-size:clamp(38px,4.6vw,84px);line-height:1.02;font-weight:900;text-transform:uppercase;color:var(--azul);letter-spacing:-.01em}
body.arq .elementor-widget.titulo-hero .elementor-heading-title>span{display:block}
/* Solo el h1 de la portada parte en lineas (en el estatico es el unico con .titulo-hero).
   En /curso/ el span fluye inline con text-wrap:balance; en /contacto/ y el 404 el corte ya
   lo hace el <br> y un span en bloque agregaba un renglon vacio de ~80px. */
body.arq .elementor-widget.titulo-hero .elementor-heading-title>br+span,body.arq .elementor-widget.titulo-hero--curso .elementor-heading-title>span,body.arq .elementor-widget.titulo-hero--contacto .elementor-heading-title>span,body.arq .elementor-widget.titulo-hero--404 .elementor-heading-title>span{display:inline}
body.arq .elementor-widget.titulo-hero .elementor-heading-title span.naranja,body.arq .elementor-widget.titulo .elementor-heading-title span.naranja{color:var(--naranja)}
body.arq .elementor-widget.titulo-hero--curso .elementor-heading-title{font-size:clamp(38px,4.4vw,80px);color:var(--blanco);max-width:1000px;text-wrap:balance}
body.arq .elementor-widget.titulo-hero--404 .elementor-heading-title,body.arq .elementor-widget.titulo-hero--contacto .elementor-heading-title{font-size:clamp(38px,4.4vw,80px)}
body.arq .elementor-widget.titulo .elementor-heading-title a,body.arq .elementor-widget.titulo-hero .elementor-heading-title a{color:inherit}
body.arq .elementor-widget.bajada{margin:28px 0 0;font-family:'Montserrat',sans-serif;font-size:16.5px;line-height:1.8;font-weight:400;color:var(--negro)}
body.arq .elementor-widget.bajada p{margin:0;font-size:inherit;line-height:inherit;color:inherit}
body.arq .elementor-widget.bajada--clara{color:var(--blanco);font-weight:300}
body.arq .elementor-widget.bajada a{color:inherit;border-bottom:1px solid currentColor}
body.arq .elementor-widget.bajada a:hover{color:var(--naranja)}
body.arq .elementor-widget.bajada--clara a:hover{color:var(--naranja)}
/* Claim (.hero-i__txt es flex column: el borde no se estira) */
body.arq .elementor-widget.claim{display:inline-block;align-self:flex-start;width:auto;margin:18px 0 0;padding-top:12px;border-top:2px solid var(--naranja);font-size:12.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--azul);line-height:1.6;max-width:520px}
body.arq .elementor-widget.claim p{margin:0;font-size:inherit;line-height:inherit;color:inherit}
/* Nota de los formularios / tarjeta de compra */
body.arq .elementor-widget.nota{margin:0 0 30px;font-size:14.5px;line-height:1.65;color:var(--gris)}
body.arq .elementor-widget.nota p{margin:0;font-size:inherit;line-height:inherit;color:inherit}

/* --- Botones (widget button) ------------------------------------------------ */
body.arq .elementor-widget.btn .elementor-button{display:inline-block;background:var(--naranja);color:var(--blanco);fill:var(--blanco);font-family:'Montserrat',sans-serif;font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:19px 34px;border:none;border-radius:0;line-height:1.2;cursor:pointer;box-shadow:none;text-align:center;transition:none}
body.arq .elementor-widget.btn .elementor-button:hover,body.arq .elementor-widget.btn .elementor-button:focus{background:var(--azul);color:var(--blanco)}
body.arq .elementor-widget.btn .elementor-button:visited{color:var(--blanco)}
body.arq .elementor-widget.btn .elementor-button-content-wrapper{display:inline;gap:0}
body.arq .elementor-widget.btn .elementor-button-text{display:inline}
body.arq .elementor-widget.btn .elementor-button-icon{display:none}
body.arq .elementor-widget.btn--invertir .elementor-button:hover,body.arq .elementor-widget.btn--invertir .elementor-button:focus{background:var(--blanco);color:var(--azul)}
body.arq .elementor-widget.btn--azul .elementor-button{background:var(--azul)}
body.arq .elementor-widget.btn--azul .elementor-button:hover,body.arq .elementor-widget.btn--azul .elementor-button:focus{background:var(--naranja);color:var(--blanco)}
body.arq .elementor-widget.btn--borde .elementor-button,body.arq .elementor-widget.btn--borde .elementor-button:visited{background:none;border:2px solid var(--azul);color:var(--azul);padding:17px 30px}
body.arq .elementor-widget.btn--temario .elementor-button{font-size:13.5px;padding:17px 30px}
body.arq .elementor-widget.btn--borde .elementor-button:hover,body.arq .elementor-widget.btn--borde .elementor-button:focus{background:none;border-color:var(--naranja);color:var(--naranja)}
body.arq .elementor-widget.link-sub .elementor-button,body.arq .elementor-widget.link-sub .elementor-button:visited{display:inline-block;background:none;border:0;border-bottom:2px solid var(--naranja);border-radius:0;padding:0 0 6px;font-family:'Montserrat',sans-serif;font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--naranja);line-height:1.2;box-shadow:none;transition:none}
body.arq .elementor-widget.link-sub .elementor-button:hover,body.arq .elementor-widget.link-sub .elementor-button:focus{color:var(--azul);border-color:var(--azul);background:none}
body.arq .elementor-widget.link-sub .elementor-button-content-wrapper,body.arq .elementor-widget.link-sub .elementor-button-text{display:inline}
/* Barra de inscripcion: boton compacto */
body.arq .e-con.barra-insc .elementor-widget.btn .elementor-button{padding:13px 26px;font-size:12.5px}
/* Tarjeta de compra: boton con el padding de .form-campos .btn */
body.arq .e-con.form-caja .elementor-widget.btn .elementor-button{padding:18px 30px}

/* --- Hero inicio ------------------------------------------------------------- */
.e-con.hero-i{position:relative;min-height:100vh;--min-height:100vh;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:0;background:var(--blanco);overflow:hidden;--overflow:hidden}
.e-con.hero-i>.e-con{width:100%;min-width:0}
/* la cinta (HTML widget hijo directo del hero) sale del flujo de la grilla */
/* La cinta es hijo directo del grid del hero: si queda en el flujo, auto-fit le da una TERCERA
   columna de 480px y empuja la foto al centro, dejando un hueco a la derecha (se ve en todos
   los navegadores). Tiene que salir del flujo como en el estatico. La especificidad sube a
   (0,5,1) para ganarle a la regla generica de mas abajo que pone los HTML widgets en static. */
body.arq:not(.elementor-editor-active) .e-con.hero-i>.elementor-widget-html{position:absolute;left:0;right:0;bottom:0;width:100%;max-width:none;margin:0;z-index:3}
.e-con.hero-i__txt{display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:center;align-items:stretch;padding:clamp(96px,12vh,140px) 4vw clamp(72px,9vh,110px) 6vw;position:relative;z-index:2;--z-index:2}
.e-con.hero-i__media{position:relative;overflow:hidden;--overflow:hidden;min-height:clamp(340px,58vw,100vh);--min-height:clamp(340px,58vw,100vh);padding:0}
/* foto del hero como widget de imagen: el wrapper (#hero-img) ocupa la caja y recibe
   el translateY del parallax; la <img> mantiene el 112% de alto del estatico */
.e-con.hero-i__media>.elementor-widget.foto{position:absolute;inset:0;width:100%;max-width:none;height:100%;margin:0;line-height:0;will-change:transform;transition:none}
.e-con.hero-i__media>.elementor-widget.foto img,.e-con.hero-i__media>.elementor-widget.foto a{display:block}
.e-con.hero-i__media>.elementor-widget.foto img{position:absolute;inset:0;width:100%;height:112%;max-width:none;object-fit:cover;object-position:50% 30%}

/* --- Hero curso -------------------------------------------------------------- */
.e-con.hero-c{position:relative;min-height:88vh;--min-height:88vh;display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:flex-end;background:var(--azul);overflow:hidden;--overflow:hidden;padding:0}
.e-con.hero-c__cont{position:relative;padding:clamp(140px,20vh,180px) 6vw 60px;width:100%;display:flex;flex-direction:column;align-items:flex-start}
.e-con.hero-c__cont>.elementor-widget{max-width:100%}

/* --- Barra de inscripcion ---------------------------------------------------- */
.e-con.barra-insc{position:fixed;--position:fixed;left:0;right:0;top:64px;z-index:55;--z-index:55;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:clamp(14px,3vw,34px);padding:11px clamp(16px,4vw,44px);background:var(--azul);border-bottom:2px solid var(--naranja);box-shadow:0 12px 30px rgba(0,52,106,.16);visibility:hidden;transform:translateY(-115%);transition:transform .4s cubic-bezier(.2,.75,.25,1),visibility .4s;overflow:visible;--overflow:visible}
body.admin-bar .e-con.barra-insc{top:96px}
.e-con.barra-insc.visible{visibility:visible;transform:translateY(0)}
.e-con.barra-insc>.e-con{width:auto}
.e-con.barra-insc__info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 auto}
.e-con.barra-insc__info p{margin:0;min-width:0;overflow:hidden}
.e-con.barra-insc__info .elementor-widget{max-width:100%;min-width:0}
.e-con.barra-insc__info b{display:block}
.e-con.barra-insc__cta{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:clamp(14px,2.4vw,26px);flex:none}
.e-con.barra-insc__cta>.elementor-widget{width:auto;flex:0 0 auto}

/* --- Formularios (Elementor Pro Form dentro de .e-con.form-caja) ------------- */
.e-con.form-caja{background:var(--blanco);padding:clamp(30px,5vw,52px) clamp(24px,4.5vw,48px);position:relative;display:flex;flex-direction:column;align-items:stretch}
.e-con.form-caja--azul{background:var(--azul)}
.e-con.form-caja>.elementor-widget{max-width:100%}
body.arq .e-con.form-caja .elementor-heading-title{margin:0 0 8px;padding:0;font-family:'Montserrat',sans-serif;font-size:22px;line-height:1.2;font-weight:900;text-transform:uppercase;letter-spacing:0;color:var(--azul)}
body.arq .e-con.form-caja--azul .elementor-heading-title{color:var(--blanco)}
.e-con.form-caja .elementor-form{display:block;width:100%}
.e-con.form-caja .elementor-form .elementor-form-fields-wrapper{display:flex;flex-direction:column;flex-wrap:nowrap;margin:0;gap:0}
.e-con.form-caja .elementor-form .elementor-field-group{margin:0 0 16px;padding:0;width:100%;flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center}
.e-con.form-caja .elementor-form .elementor-field-group.elementor-field-type-submit,.e-con.form-caja .elementor-form .elementor-field-group:last-child{margin-bottom:0}
.e-con.form-caja .elementor-form .elementor-field-group.elementor-field-type-honeypot{display:none}
.e-con.form-caja .elementor-form .elementor-field-group .elementor-field-label{display:block;width:100%;margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
.e-con.form-caja .elementor-form .elementor-field-group .elementor-field,.e-con.form-caja .elementor-form .elementor-field-group .elementor-field.elementor-size-sm,.e-con.form-caja .elementor-form .elementor-field-group .elementor-field-textual{border:1px solid rgba(0,52,106,.25);border-radius:0;background:#fff;padding:16px 18px;min-height:0;font-family:'Montserrat',sans-serif;font-size:15px;line-height:1.4;color:var(--negro);outline:none;width:100%;max-width:100%;box-shadow:none;resize:vertical;transition:none}
.e-con.form-caja .elementor-form .elementor-field-group textarea.elementor-field{min-height:120px}
.e-con.form-caja--azul .elementor-form .elementor-field-group .elementor-field{border:1px solid rgba(240,242,245,.3);background:var(--blanco)}
.e-con.form-caja .elementor-form .elementor-field-group .elementor-field:focus{border:1px solid var(--naranja);box-shadow:none;outline:none}
.e-con.form-caja .elementor-form .elementor-field::placeholder{color:var(--gris);opacity:1}
.e-con.form-caja .elementor-form .elementor-field-group.elementor-error .elementor-field{border-color:var(--naranja)}
.e-con.form-caja .elementor-form .elementor-field-group .elementor-help-inline,.e-con.form-caja .elementor-form .elementor-field-group .elementor-error-message{width:100%;margin:6px 0 0;font-size:12.5px;color:var(--naranja)}
.e-con.form-caja .elementor-form .elementor-field-type-submit,.e-con.form-caja .elementor-form .e-form__buttons{justify-content:flex-start;align-items:center}
.e-con.form-caja .elementor-form .elementor-button,.e-con.form-caja .elementor-form .elementor-field-type-submit .elementor-button{display:inline-block;flex:0 0 auto;flex-basis:auto;width:auto;background:var(--azul);color:var(--blanco);font-family:'Montserrat',sans-serif;font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:18px 30px;border:none;border-radius:0;line-height:1.2;cursor:pointer;box-shadow:none;transition:none}
.e-con.form-caja .elementor-form .elementor-button:hover,.e-con.form-caja .elementor-form .elementor-button:focus{background:var(--naranja);color:var(--blanco)}
.e-con.form-caja--azul .elementor-form .elementor-button{background:var(--naranja)}
.e-con.form-caja--azul .elementor-form .elementor-button:hover,.e-con.form-caja--azul .elementor-form .elementor-button:focus{background:var(--blanco);color:var(--azul)}
.e-con.form-caja .elementor-form .elementor-button-content-wrapper,.e-con.form-caja .elementor-form .elementor-button-text{display:inline}
.e-con.form-caja .elementor-form .elementor-button-icon{display:none}
/* Avisos del Form de Elementor Pro. Solo se oculta el de exito (lo reemplaza .form-ok, que
   muestra el JS al recibir submit_success). El de error TIENE que verse: cuando el envio
   falla no hay submit_success, el formulario sigue a la vista y sin este aviso el visitante
   no recibe ninguna senal. Elementor Pro agrega <div class="elementor-message elementor-message-danger">
   como hijo del <form> (error general) y <span class="... elementor-help-inline"> dentro de cada
   .elementor-field-group (error de campo, ya estilado mas arriba). */
.e-con.form-caja .elementor-message-success{display:none}
.e-con.form-caja .elementor-form .elementor-message-danger:not(.elementor-help-inline){display:block;margin:16px 0 0;padding:14px 16px;background:rgba(230,79,19,.08);border:1px solid var(--naranja);font-family:'Montserrat',sans-serif;font-size:14px;line-height:1.6;color:var(--negro)}
.e-con.form-caja--azul .elementor-form .elementor-message-danger:not(.elementor-help-inline){background:rgba(230,79,19,.22);color:var(--blanco)}
/* El icono es de la fuente eicons; en el diseno no hay iconos y si la fuente no carga sale un tofu. */
.e-con.form-caja .elementor-form .elementor-message:before{display:none}
/* estado enviado: el JS agrega .enviado al .form-caja en submit_success */
.e-con.form-caja.enviado .elementor-form,.e-con.form-caja.enviado .elementor-widget-form{display:none}
/* .form-ok vive en el <div> interior del HTML widget (el wrapper lleva .form-ok-wrap):
   lo cubren las reglas base .form-ok. */
.e-con.form-caja.enviado .form-ok{display:flex}
.e-con.form-caja .form-ok{position:relative}
.e-con.form-caja--azul .form-ok h4,.e-con.form-caja--azul .form-ok p{color:var(--blanco)}

/* --- Footer ------------------------------------------------------------------ */
.e-con.footer{background:var(--azul);padding:64px 6vw 44px;display:flex;flex-direction:column}
body.home .e-con.footer{border-top:1px solid rgba(240,242,245,.16)}
.e-con.footer__cols{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:40px}
.e-con.footer__cols>.e-con{width:auto;flex:0 1 auto}
.e-con.footer__marca{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.e-con.footer__marca>.elementor-widget{width:auto;max-width:100%}
.e-con.footer__marca .elementor-widget-image img,body.arq .elementor-widget.footer__logo img{height:24px;width:auto;max-width:none;display:block}
.e-con.footer__marca .elementor-widget-text-editor,.e-con.footer__marca p{margin:0;max-width:340px;font-size:13.5px;line-height:1.7;font-weight:300;color:var(--blanco);opacity:.75}
.e-con.footer__marca .elementor-widget-text-editor p{opacity:1}
.e-con.footer__grupos{display:flex;flex-direction:row;flex-wrap:wrap;gap:70px;align-items:flex-start}
.e-con.footer__grupos>.e-con{width:auto;flex:0 0 auto}
.e-con.footer__grupo{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.e-con.footer__grupo>.elementor-widget{width:auto}
body.arq .elementor-widget.footer__grupo-titulo .elementor-heading-title,.e-con.footer__grupo b{margin:0;font-family:'Montserrat',sans-serif;font-size:11.5px;line-height:1.2;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--gris)}
.e-con.footer__grupo .elementor-nav-menu__container{display:block;width:auto}
.e-con.footer__grupo .elementor-nav-menu{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}
.e-con.footer__grupo .elementor-nav-menu li{margin:0;padding:0;list-style:none;display:block}
.e-con.footer__grupo .elementor-nav-menu a.elementor-item,.e-con.footer__grupo .elementor-nav-menu a.elementor-item-active,.e-con.footer__grupo .elementor-nav-menu .current-menu-item>a.elementor-item{color:var(--blanco);font-size:14px;font-weight:400;letter-spacing:0;text-transform:none;padding:0;margin:0;line-height:1.4;background:none;border:0;transition:none}
.e-con.footer__grupo .elementor-nav-menu a.elementor-item:hover,.e-con.footer__grupo .elementor-nav-menu a.elementor-item:focus{color:var(--naranja)}
.e-con.footer__grupo .elementor-nav-menu a.elementor-item:before,.e-con.footer__grupo .elementor-nav-menu a.elementor-item:after{display:none}
.e-con.footer__base{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:54px;padding-top:24px;border-top:1px solid rgba(240,242,245,.14)}
.e-con.footer__base>.elementor-widget,.e-con.footer__base>.e-con{width:auto;flex:0 0 auto}
.e-con.footer__base .elementor-widget-image img{height:26px;width:auto;max-width:none;opacity:.5;display:block}
.e-con.footer__base .elementor-widget-image{line-height:0}
/* .footer__legal va en el <div> interior del HTML widget (wrapper .footer__legal-wrap):
   lo cubren las reglas base .footer__legal y el ancho lo arregla .e-con.footer__base>.elementor-widget. */

/* --- Responsive del puente (mismo breakpoint 880 del estatico) --------------- */
@media (max-width:880px){
  .e-con.nav{display:none}
  body.arq .elementor-widget.logo-desktop{display:none}
  body.arq .elementor-widget.logo-movil{display:block}
  .e-con.col-sticky{position:static;--position:relative}
  .e-con.hero-i__txt .e-con.fila-botones{flex-wrap:wrap}
  .e-con.barra-insc{top:auto;bottom:0;transform:translateY(115%);border-bottom:none;border-top:2px solid var(--naranja);box-shadow:0 -12px 30px rgba(0,52,106,.2);padding:10px 16px}
  body.admin-bar .e-con.barra-insc{top:auto}
  .e-con.barra-insc__info span{display:none}
  .e-con.barra-insc__info b{font-size:13px;line-height:1.3;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .e-con.barra-insc .arancel{display:none}
  body.arq .e-con.barra-insc .elementor-widget.btn .elementor-button{padding:12px 20px;font-size:11.5px;letter-spacing:.1em}
  .e-con.menu-movil__nav .elementor-nav-menu a.elementor-item{font-size:clamp(28px,8vw,36px)}
}

/* ---------------------------------------------------------------------------
   (4) BLOQUES NUEVOS
   --------------------------------------------------------------------------- */

/* --- Tarjeta de compra (#inscripcion, hereda .form-caja) --------------------- */
.compra{max-width:560px}
.compra__precio,.e-con.compra__precio{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-end;justify-content:space-between;gap:16px;padding:22px 0;margin:8px 0 18px;border-top:1px solid rgba(0,52,106,.18);border-bottom:1px solid rgba(0,52,106,.18)}
.e-con.compra__precio>.elementor-widget,.e-con.compra__precio>.e-con{width:auto;flex:0 0 auto}
.compra__precio p{margin:0}
.compra__precio b{display:block;color:var(--gris);font-size:11.5px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;line-height:1.4}
.compra__precio small{display:block;margin-top:4px;font-size:12px;font-weight:600;color:var(--gris);letter-spacing:.04em;text-transform:none}
.compra__monto,body.arq .elementor-widget.compra__monto .elementor-heading-title{margin:0;padding:0;font-family:'Montserrat',sans-serif;font-size:clamp(30px,3vw,42px);line-height:1;font-weight:900;letter-spacing:-.01em;color:var(--azul);text-transform:none;white-space:nowrap}
.compra__incluye{list-style:none;margin:0;padding:0}
.compra__incluye li,.compra__incluye .bullet{display:flex;align-items:flex-start;gap:14px;padding:13px 0;border-bottom:1px solid rgba(0,52,106,.12);border-top:0;font-size:14.5px;font-weight:400;line-height:1.55;color:var(--negro)}
.compra__incluye li:first-child,.compra__incluye .bullet:first-child{border-top:0}
.compra__incluye li:last-child,.compra__incluye .bullet:last-child{border-bottom:0}
.compra__incluye li:not(:has(img))::before{content:'';display:block;flex:none;width:12px;height:12px;margin-top:5px;background:url(img/cruz-naranja.png) center/contain no-repeat}
.compra__incluye li>img,.compra__incluye .bullet img{width:12px;height:12px;flex:none;margin-top:5px}
.compra__incluye .bullet span,.compra__incluye li span{color:var(--negro);font-size:14.5px;font-weight:400;line-height:1.55}
.compra .elementor-widget.btn,.compra .btn{margin-top:26px}
.compra__nota,body.arq .elementor-widget.compra__nota{margin:18px 0 0;font-size:13.5px;line-height:1.6;color:var(--gris)}
.compra__nota p,body.arq .elementor-widget.compra__nota p{margin:0;font-size:inherit;line-height:inherit;color:inherit}

/* --- 404 y Contacto (secciones unicas a pantalla casi completa) -------------- */
.seccion.arq-404,.e-con.seccion.arq-404{min-height:calc(100vh - 300px);--min-height:calc(100vh - 300px);display:flex;flex-direction:column;justify-content:center;align-items:stretch;padding:clamp(150px,24vh,190px) 6vw clamp(80px,11vw,130px)}
.arq-404__cont,.e-con.arq-404__cont{position:relative;max-width:760px;width:100%}
.seccion.arq-contacto,.e-con.seccion.arq-contacto{min-height:calc(100vh - 300px);--min-height:calc(100vh - 300px);padding:clamp(150px,24vh,190px) 6vw clamp(80px,11vw,130px)}
.arq-contacto__col,.e-con.arq-contacto__col{padding-left:clamp(26px,3.4vw,44px)}
.arq-contacto__fila{display:flex;flex-direction:column;gap:6px;padding:22px 0;border-top:1px solid rgba(0,52,106,.18)}
.arq-contacto__fila b{font-size:11.5px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--gris)}
.arq-contacto__fila a{font-size:19px;font-weight:700}

/* --- Curso LearnDash (plantilla single del Theme Builder) -------------------- */
.arq-curso-banda,.e-con.seccion.arq-curso-banda{background:var(--azul);padding-top:clamp(140px,18vh,180px);padding-bottom:clamp(56px,7vw,90px)}
.arq-curso-banda .elementor-widget-shortcode,.arq-curso-banda .elementor-shortcode{margin:0}
.arq-curso-banda .elementor-shortcode .btn,.arq-curso-banda .ld-visitor-only .btn{margin-top:30px;display:inline-block}
.arq-curso-banda .elementor-shortcode:empty{display:none}
.arq-curso-banda .bajada a,.arq-curso-banda .bajada--clara a{color:var(--blanco);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-bottom:2px solid rgba(240,242,245,.4);padding-bottom:4px}
.arq-curso-banda .bajada a:hover{color:var(--naranja);border-color:var(--naranja)}
.arq-curso-contenido,.e-con.seccion.arq-curso-contenido{padding-top:clamp(56px,7vw,90px)}
.arq-curso-contenido>.elementor-widget,.arq-curso-contenido .elementor-widget-theme-post-content{max-width:1140px;width:100%;margin:0 auto}
.arq-curso-contenido .learndash-wrapper{font-family:'Montserrat',sans-serif;color:var(--negro)}
/* infobar: estado / precio / accion */
body.arq .learndash-wrapper .ld-course-status,body.arq .learndash-wrapper .ld-course-status.ld-course-status-not-enrolled,body.arq .learndash-wrapper .ld-course-status.ld-course-status-enrolled{display:flex;flex-direction:row;flex-wrap:wrap;background:#fff;border:1px solid rgba(0,52,106,.18);border-radius:0;margin:0 0 40px;padding:0}
body.arq .learndash-wrapper .ld-course-status .ld-course-status-segment{flex:1 1 220px;padding:24px 28px;margin:0;border:0;border-right:1px solid rgba(0,52,106,.18)}
body.arq .learndash-wrapper .ld-course-status .ld-course-status-segment:last-child{border-right:0}
body.arq .learndash-wrapper .ld-course-status .ld-course-status-label,body.arq .learndash-wrapper .ld-course-status.ld-course-status-not-enrolled .ld-course-status-label{display:block;margin:0 0 12px;padding:0;font-family:'Montserrat',sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--gris);line-height:1.3}
body.arq .learndash-wrapper .ld-course-status .ld-course-status-price,body.arq .learndash-wrapper .ld-course-status.ld-course-status-not-enrolled .ld-course-status-price{display:block;margin:0;font-family:'Montserrat',sans-serif;font-size:26px;font-weight:900;color:var(--azul);text-align:left;line-height:1.1}
body.arq .learndash-wrapper .ld-course-status .ld-course-status-action .ld-text{font-size:14px;line-height:1.5;color:var(--negro)}
body.arq .learndash-wrapper .ld-status{display:inline-block;border-radius:0;padding:8px 14px;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.3}
body.arq .learndash-wrapper .ld-status.ld-status-waiting,body.arq .learndash-wrapper .ld-status-waiting{background:var(--blanco);color:var(--azul)}
body.arq .learndash-wrapper .ld-status.ld-status-progress,body.arq .learndash-wrapper .ld-status.ld-primary-background,body.arq .learndash-wrapper .ld-course-status .ld-status.ld-status-progress,body.arq .learndash-wrapper .ld-breadcrumbs .ld-status.ld-status-progress{background:var(--azul);color:#fff}
body.arq .learndash-wrapper .ld-status.ld-status-complete,body.arq .learndash-wrapper .ld-course-status .ld-status.ld-status-complete,body.arq .learndash-wrapper .ld-breadcrumbs .ld-status.ld-status-complete{background:var(--naranja);color:#fff}
body.arq .learndash-wrapper .ld-status.ld-tertiary-background{background:var(--blanco);color:var(--azul)}
/* pestañas */
body.arq .learndash-wrapper .ld-tabs .ld-tabs-navigation{border-bottom:1px solid rgba(0,52,106,.18);margin:0 0 24px;gap:6px}
body.arq .learndash-wrapper .ld-tabs .ld-tabs-navigation .ld-tab{font-family:'Montserrat',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gris);padding:12px 18px;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;margin-bottom:-1px}
body.arq .learndash-wrapper .ld-tabs .ld-tabs-navigation .ld-tab:hover{color:var(--naranja)}
body.arq .learndash-wrapper .ld-tabs .ld-tabs-navigation .ld-tab.ld-active{color:var(--naranja);border-bottom-color:var(--naranja)}
body.arq .learndash-wrapper .ld-tab-content{font-size:16px;line-height:1.8;color:var(--negro)}
body.arq .learndash-wrapper .ld-tab-content p{margin:0 0 1em}
body.arq .learndash-wrapper .ld-tab-content figure.wp-block-table{margin:0}
body.arq .learndash-wrapper .ld-tab-content table{width:100%;border-collapse:collapse;border:0}
body.arq .learndash-wrapper .ld-tab-content td{padding:0;border:0;font-size:16px;line-height:1.8}
/* listas de lecciones / cursos (curso, [ld_profile], contenido de Focus) */
body.arq .learndash-wrapper .ld-item-list .ld-section-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin:0 0 20px}
body.arq .learndash-wrapper .ld-item-list .ld-section-heading h2,body.arq .learndash-wrapper .ld-item-list .ld-section-heading h3,body.arq .learndash-wrapper .ld-item-list.ld-course-list .ld-section-heading h2,body.arq .learndash-wrapper .ld-item-list.ld-lesson-list .ld-section-heading h2,body.arq .learndash-wrapper .ld-section-heading h3{flex:1 1 auto;margin:0;padding:0;font-family:'Montserrat',sans-serif;font-size:clamp(24px,2.2vw,32px);line-height:1.1;font-weight:900;text-transform:uppercase;letter-spacing:0;color:var(--azul);text-align:left}
body.arq .learndash-wrapper .ld-item-list .ld-section-heading .ld-item-list-actions,body.arq .learndash-wrapper .ld-item-list.ld-course-list .ld-section-heading .ld-item-list-actions,body.arq .learndash-wrapper .ld-item-list.ld-lesson-list .ld-section-heading .ld-item-list-actions{flex:0 0 auto;width:auto;display:flex;align-items:center;gap:16px}
body.arq .learndash-wrapper .ld-item-list .ld-section-heading .ld-item-list-actions .ld-progress{flex:1 1 auto;min-width:160px}
body.arq .learndash-wrapper .ld-item-list .ld-section-heading .ld-item-list-actions:empty{display:none}
body.arq .learndash-wrapper .ld-item-list .ld-item-list-items{margin:0}
body.arq .learndash-wrapper .ld-item-list .ld-item-list-item{background:#fff;border:1px solid rgba(0,52,106,.18);border-radius:0;margin:0 0 -1px}
body.arq .learndash-wrapper .ld-item-list .ld-item-list-item.ld-is-next{border-color:var(--naranja);position:relative;z-index:1}
body.arq .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-list-item-preview{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding:20px 24px}
body.arq .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-list-item-preview>.ld-tooltip,body.arq .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-name{display:flex;align-items:flex-start;flex:1 1 260px;color:var(--azul);font-family:'Montserrat',sans-serif;font-size:16px;font-weight:600;line-height:1.45}
body.arq .learndash-wrapper .ld-item-list .ld-item-list-item a.ld-item-name:hover,body.arq .learndash-wrapper .ld-item-list .ld-item-list-item a.ld-item-name:hover .ld-item-title{color:var(--naranja)}
body.arq .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-title{color:inherit}
body.arq .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-title .ld-status{margin-top:8px}
body.arq .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-list-item-preview .ld-item-details{margin:0;flex:0 0 auto;display:flex;align-items:center;gap:12px}
body.arq .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-details .ld-status{margin:0}
body.arq .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-list-item-expanded{background:var(--blanco);border-top:1px solid rgba(0,52,106,.12)}
body.arq .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-list-item-expanded .ld-progress{background:var(--blanco);padding:22px 24px}
body.arq .learndash-wrapper .ld-item-list-section-heading .ld-lesson-section-heading,body.arq .learndash-wrapper .ld-item-list.ld-lesson-list .ld-lesson-section-heading,body.arq .learndash-wrapper .ld-item-list.ld-course-list .ld-lesson-section-heading{display:block;margin:28px 0 12px;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--gris)}
body.arq .learndash-wrapper .learndash-not-available .ld-item-list-item-preview a.ld-item-name{cursor:not-allowed}
/* iconos de estado: cuadrados */
body.arq .learndash-wrapper .ld-status-icon{border-radius:0}
body.arq .learndash-wrapper .ld-status-incomplete.ld-status-icon{background:#fff;border:3px solid rgba(0,52,106,.22)}
body.arq .learndash-wrapper .ld-status-icon.ld-status-in-progress{background:#fff;border-color:var(--azul) rgba(0,52,106,.22) rgba(0,52,106,.22) var(--azul);border-width:3px}
body.arq .learndash-wrapper .ld-status-icon.ld-status-complete{background:var(--naranja);border:3px solid var(--naranja);color:#fff}
/* tablas de temas dentro de una leccion / curso expandido */
body.arq .learndash-wrapper .ld-table-list{border-radius:0;border:0;margin:0}
body.arq .learndash-wrapper .ld-table-list .ld-table-list-header{background:var(--azul);color:#fff;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:14px 22px}
body.arq .learndash-wrapper .ld-table-list .ld-table-list-item{border-bottom:1px solid rgba(0,52,106,.12);font-size:14.5px}
body.arq .learndash-wrapper .ld-table-list .ld-table-list-item a{color:var(--negro)}
body.arq .learndash-wrapper .ld-table-list .ld-table-list-item a:hover{color:var(--naranja)}
body.arq .learndash-wrapper .ld-table-list .ld-table-list-footer{background:var(--blanco)}
body.arq .learndash-wrapper .ld-topic-list.ld-table-list{background:var(--blanco)}
/* progreso */
body.arq .learndash-wrapper .ld-progress .ld-progress-bar{border-radius:0;height:6px;background:rgba(0,52,106,.12)}
body.arq .learndash-wrapper .ld-progress .ld-progress-bar .ld-progress-bar-percentage,body.arq .learndash-wrapper .ld-progress-bar-percentage.ld-secondary-background{background:var(--naranja);height:6px}
body.arq .learndash-wrapper .ld-progress .ld-progress-heading{font-family:'Montserrat',sans-serif}
body.arq .learndash-wrapper .ld-progress .ld-progress-heading .ld-progress-stats .ld-progress-percentage,body.arq .learndash-wrapper .ld-progress-percentage.ld-secondary-color{color:var(--azul);font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
body.arq .learndash-wrapper .ld-progress .ld-progress-heading .ld-progress-stats .ld-progress-steps,body.arq .learndash-wrapper .ld-progress-steps{color:var(--gris);font-size:11.5px;font-weight:600;letter-spacing:.06em}
/* alertas */
body.arq .learndash-wrapper .ld-alert{font-family:'Montserrat',sans-serif;background:#fff;border:1px solid rgba(0,52,106,.18);border-radius:0;color:var(--negro);font-size:14.5px;line-height:1.6}
body.arq .learndash-wrapper .ld-alert .ld-alert-icon{border-radius:0}
body.arq .learndash-wrapper .ld-alert-warning{background:rgba(230,79,19,.07);border-color:var(--naranja);color:var(--negro)}
body.arq .learndash-wrapper .ld-alert-success{background:rgba(0,52,106,.06);border-color:var(--azul);color:var(--negro)}
body.arq .learndash-wrapper .ld-alert-messages,body.arq .learndash-wrapper .ld-alert-message{color:inherit}
/* tooltips */
body.arq #learndash-tooltips .ld-tooltip,body.arq .learndash-wrapper .ld-tooltip__text{background:var(--azul);border-radius:0;font-family:'Montserrat',sans-serif;font-weight:600}
/* breadcrumbs / estado de leccion */
body.arq .learndash-wrapper .ld-lesson-status,body.arq .learndash-wrapper .ld-topic-status{background:var(--blanco);border-radius:0}
body.arq .learndash-wrapper .ld-breadcrumbs{background:transparent;border-radius:0;padding:14px 20px}
body.arq .learndash-wrapper .ld-breadcrumbs a{color:var(--azul);font-size:13px;font-weight:600}
body.arq .learndash-wrapper .ld-breadcrumbs a:hover{color:var(--naranja)}
body.arq .learndash-wrapper .ld-breadcrumbs .ld-breadcrumbs-segments li{color:var(--gris)}
/* acciones al pie del contenido */
body.arq .learndash-wrapper .ld-content-actions{border-top:2px solid rgba(0,52,106,.14)}
body.arq .learndash-wrapper .ld-content-actions .ld-content-action .ld-course-step-back{color:var(--gris);font-family:'Montserrat',sans-serif;font-size:12px;font-weight:600;letter-spacing:.06em;text-decoration:none}
body.arq .learndash-wrapper .ld-content-actions .ld-content-action .ld-course-step-back:hover{color:var(--naranja)}
/* botones LearnDash: cuadrados, Montserrat, azul → naranja. LD los declara con
   (0,4,0) via :not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern),
   por eso se fuerza con !important (gap2 §4.5). */
body.arq .learndash-wrapper .ld-button,body.arq .learndash-wrapper a.ld-button,body.arq .learndash-wrapper button.ld-button,body.arq .learndash-wrapper #learndash_mark_complete_button,body.arq .learndash-wrapper .learndash_mark_complete_button,body.arq .learndash-wrapper input.learndash_mark_complete_button,body.arq .learndash-wrapper #btn-join,body.arq .learndash-wrapper .btn-join,body.arq .learndash-wrapper .ld-expand-button,body.arq .learndash-wrapper .wpProQuiz_button,body.arq .learndash-wrapper .wpProQuiz_button2,body.arq .learndash-wrapper #quiz_continue_link,body.arq .learndash-wrapper #wpProQuiz_overlay_close,body.arq .learndash-wrapper form[name=uploadEssay] input[type=submit],body.arq .learndash-wrapper .ld-focus-comments .form-submit #submit,body.arq .learndash-wrapper .ld-item-search-submit .ld-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.5em!important;width:auto!important;max-width:100%!important;height:auto!important;margin:0!important;padding:14px 22px!important;background:var(--azul)!important;background-color:var(--azul)!important;color:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important;outline:0!important;font-family:'Montserrat',sans-serif!important;font-size:12.5px!important;font-weight:700!important;letter-spacing:.14em!important;text-transform:uppercase!important;text-decoration:none!important;line-height:1.2!important;cursor:pointer!important;opacity:1!important;transition:background-color .15s ease,color .15s ease!important}
body.arq .learndash-wrapper .ld-button:hover,body.arq .learndash-wrapper .ld-button:focus,body.arq .learndash-wrapper #learndash_mark_complete_button:hover,body.arq .learndash-wrapper #learndash_mark_complete_button:focus,body.arq .learndash-wrapper .learndash_mark_complete_button:hover,body.arq .learndash-wrapper .learndash_mark_complete_button:focus,body.arq .learndash-wrapper #btn-join:hover,body.arq .learndash-wrapper .btn-join:hover,body.arq .learndash-wrapper .ld-expand-button:hover,body.arq .learndash-wrapper .ld-expand-button:focus,body.arq .learndash-wrapper .wpProQuiz_button:hover,body.arq .learndash-wrapper .wpProQuiz_button2:hover,body.arq .learndash-wrapper #quiz_continue_link:hover,body.arq .learndash-wrapper .ld-focus-comments .form-submit #submit:hover{background:var(--naranja)!important;background-color:var(--naranja)!important;color:#fff!important;outline:0!important}
body.arq .learndash-wrapper .ld-button.ld-button-transparent,body.arq .learndash-wrapper .ld-button.ld-button-transparent:visited{background:none!important;background-color:transparent!important;color:var(--azul)!important;padding:14px 8px!important}
body.arq .learndash-wrapper .ld-button.ld-button-transparent:hover,body.arq .learndash-wrapper .ld-button.ld-button-transparent:focus{background:none!important;background-color:transparent!important;color:var(--naranja)!important}
body.arq .learndash-wrapper .ld-button.ld-button-transparent.ld-status-complete{color:var(--naranja)!important}
body.arq .learndash-wrapper .ld-button.ld-button-alternate,body.arq .learndash-wrapper .ld-expand-button.ld-button-alternate,body.arq .learndash-wrapper .ld-expand-button{background:none!important;background-color:transparent!important;color:var(--azul)!important;border:1px solid rgba(0,52,106,.25)!important;padding:10px 14px!important;font-size:11.5px!important;min-width:0!important}
body.arq .learndash-wrapper .ld-button.ld-button-alternate:hover,body.arq .learndash-wrapper .ld-expand-button:hover,body.arq .learndash-wrapper .ld-expand-button:focus{background:none!important;background-color:transparent!important;color:var(--naranja)!important;border-color:var(--naranja)!important}
body.arq .learndash-wrapper .ld-button.ld-button-reverse{background:#fff!important;background-color:#fff!important;color:var(--azul)!important}
body.arq .learndash-wrapper .ld-button.ld-button-reverse:hover{background:var(--naranja)!important;background-color:var(--naranja)!important;color:#fff!important}
body.arq .learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) .ld-button[disabled],body.arq .learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) #learndash_mark_complete_button[disabled],body.arq .learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) .learndash_mark_complete_button[disabled],body.arq .learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) #btn-join:disabled{background:var(--blanco)!important;background-color:var(--blanco)!important;color:var(--gris)!important;outline:0!important;border:1px solid rgba(0,52,106,.18)!important;cursor:not-allowed!important}
body.arq .learndash-wrapper .ld-expand-button .ld-text{padding:0 .5em;text-align:center}
body.arq .learndash-wrapper .ld-expand-button .ld-icon,body.arq .learndash-wrapper .ld-button .ld-icon{font-size:.9em}
body.arq .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-details .ld-expand-button{min-width:0!important}
body.arq .learndash-wrapper a{color:var(--azul)}
body.arq .learndash-wrapper a:hover{color:var(--naranja)}
/* --- Perfil de LearnDash [ld_profile] (campus: "Mis cursos" y el resumen) -----
   El shortcode se imprime sin cabecera (show_header="false"): el bloque arranca
   directo en #ld-profile > .ld-item-list.ld-course-list. La tipografia y los
   colores generales de .learndash-wrapper ya vienen de la seccion del curso (mas
   arriba); aca va solo lo propio del listado del alumno. */
.arq-mis-cursos,.arq-campus-resumen{margin:0}
.arq-campus-resumen{margin-top:36px}
.arq-campus-resumen>h3,.arq-mis-cursos>h3{margin:0 0 18px;font-family:'Montserrat',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gris)}
body.arq .learndash-wrapper #ld-profile{margin:0}
body.arq .learndash-wrapper #ld-profile .ld-item-list.ld-course-list{margin:0}
/* tarjeta de perfil (solo si algun dia se activa show_header) */
body.arq .learndash-wrapper .ld-profile-summary{margin:0 0 30px}
body.arq .learndash-wrapper .ld-profile-summary .ld-profile-card{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:20px 30px;margin:0 0 24px;padding:24px 28px;background:#fff;border:1px solid rgba(0,52,106,.18)}
body.arq .learndash-wrapper .ld-profile-summary .ld-profile-card .ld-profile-avatar{width:72px;height:72px;border:3px solid var(--naranja);border-radius:0;overflow:hidden;flex:none}
body.arq .learndash-wrapper .ld-profile-summary .ld-profile-card .ld-profile-heading{margin:0;font-family:'Montserrat',sans-serif;font-size:22px;font-weight:900;text-transform:uppercase;color:var(--azul);line-height:1.1}
body.arq .learndash-wrapper .ld-profile-summary .ld-profile-card a.ld-profile-edit-link{color:var(--naranja);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}
body.arq .learndash-wrapper .ld-profile-summary .ld-profile-stats,body.arq .learndash-wrapper #ld-profile .ld-profile-stats{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:0;border:1px solid rgba(0,52,106,.18);background:#fff}
body.arq .learndash-wrapper .ld-profile-summary .ld-profile-stats .ld-profile-stat,body.arq .learndash-wrapper #ld-profile .ld-profile-stats .ld-profile-stat{flex:1 1 140px;width:auto;margin:0!important;padding:18px 20px!important;border:0;border-right:1px solid rgba(0,52,106,.18);text-align:left}
body.arq .learndash-wrapper .ld-profile-summary .ld-profile-stats .ld-profile-stat:last-child{border-right:0}
body.arq .learndash-wrapper .ld-profile-summary .ld-profile-stats .ld-profile-stat p{margin:0;font-family:'Montserrat',sans-serif;font-size:24px;font-weight:900;color:var(--azul);line-height:1.1}
body.arq .learndash-wrapper .ld-profile-summary .ld-profile-stats .ld-profile-stat span{display:block;margin-top:6px;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gris)}
/* "TUS CURSOS" + "EXPANDIR TODO": el h3 con el filete y el boton alineados a la base */
body.arq .learndash-wrapper #ld-profile .ld-item-list .ld-section-heading{align-items:flex-end;gap:16px 24px;margin:0 0 22px;padding:0 0 16px;border-bottom:2px solid rgba(0,52,106,.14)}
body.arq .learndash-wrapper #ld-profile .ld-item-list .ld-section-heading h3{font-size:clamp(24px,2.4vw,34px);letter-spacing:-.01em}
/* el titulo del curso en el listado del perfil se llama .ld-course-title (no .ld-item-title) */
body.arq .learndash-wrapper .ld-item-list .ld-item-list-item .ld-course-title{color:inherit;font-family:'Montserrat',sans-serif;font-size:16px;font-weight:600;line-height:1.45}
body.arq .learndash-wrapper .ld-item-list .ld-item-list-item a.ld-item-name:hover .ld-course-title{color:var(--naranja)}
body.arq .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-list-item-preview:hover{background:var(--blanco)}
/* El icono de estado del listado del perfil (una casilla redonda de LD) pasa a ser
   la cruz del sistema: azul sin empezar, naranja completado. Solo dentro de
   #ld-profile, para no tocar el temario de la pagina del curso. */
body.arq .learndash-wrapper #ld-profile .ld-item-list-item .ld-item-name .ld-status-icon,body.arq .learndash-wrapper #ld-profile .ld-item-list-item .ld-item-name .ld-status-icon.ld-status-incomplete,body.arq .learndash-wrapper #ld-profile .ld-item-list-item .ld-item-name .ld-status-icon.ld-status-in-progress{flex:none;width:13px;height:13px;margin:5px 16px 0 0;padding:0;border:0;border-radius:0;box-shadow:none;background:url(img/cruz-azul.png) center/contain no-repeat}
body.arq .learndash-wrapper #ld-profile .ld-item-list-item .ld-item-name .ld-status-icon.ld-status-complete{background:url(img/cruz-naranja.png) center/contain no-repeat;border:0;color:transparent}
body.arq .learndash-wrapper #ld-profile .ld-item-list-item .ld-item-name .ld-status-icon::before{display:none}
/* barra de progreso del curso desplegado */
/* LD dibuja un cuadrado rotado (::before) como puntero del panel desplegado: queda
   blanco sobre el gris del panel y rompe la geometria recta del diseno. */
body.arq .learndash-wrapper #ld-profile .ld-item-list-item-expanded::before{display:none}
body.arq .learndash-wrapper #ld-profile .ld-item-list-item-expanded .ld-progress-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 20px;margin:0 0 12px}
body.arq .learndash-wrapper .ld-progress .ld-progress-label{margin:0;font-family:'Montserrat',sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gris)}
body.arq .learndash-wrapper #ld-profile .ld-progress-stats{display:flex;align-items:baseline;gap:12px;margin:0}
/* el chevron del boton "expandir" va cuadrado, como el resto del sistema */
body.arq .learndash-wrapper .ld-expand-button .ld-icon,body.arq .learndash-wrapper .ld-expand-button.ld-primary-background .ld-icon{border-radius:0;background:none;color:inherit}
body.arq .learndash-wrapper .ld-item-list .ld-item-details .ld-expand-button.ld-compact{padding:10px 12px!important}
body.arq .learndash-wrapper .ld-item-search{margin:0 0 20px}
body.arq .learndash-wrapper .ld-item-search .ld-item-search-fields input{border:1px solid rgba(0,52,106,.25);border-radius:0;font-family:'Montserrat',sans-serif;padding:12px 14px}
body.arq .learndash-wrapper .ld-item-list .ld-pagination{font-family:'Montserrat',sans-serif}

/* --- Mi cuenta / campus (pagina 12, shortcode nativo [woocommerce_my_account]) --
   Se prefija con `body.arq.woocommerce-account` (la clase que Woo pone en el body
   de /mi-cuenta/ en TODAS sus vistas) en vez de con .arq-cuenta: si WooCommerce
   descarta el documento de Elementor y deja el markup pelado del shortcode, el
   campus se sigue viendo igual. Las reglas de seccion sí usan .arq-cuenta porque
   son del contenedor de Elementor. */
.arq-cuenta-banda,.e-con.seccion.arq-cuenta-banda{background:var(--azul);padding-top:clamp(140px,18vh,180px);padding-bottom:clamp(56px,7vw,90px)}
.arq-cuenta,.e-con.seccion.arq-cuenta{background:#fff;padding-top:clamp(48px,6vw,80px)}
.arq-cuenta .elementor-widget-shortcode,.arq-cuenta__widget{max-width:1140px;width:100%;margin:0 auto}
/* Red de seguridad: si el documento de Elementor no se imprime, el shortcode
   queda como unico hijo del wrapper .elementor y sin ningun padding. */
body.arq.woocommerce-account .elementor>.woocommerce{max-width:1140px;margin:0 auto;padding:clamp(130px,17vh,180px) 6vw clamp(60px,8vw,110px)}
body.arq.woocommerce-account .woocommerce{display:flow-root;font-family:'Montserrat',sans-serif;color:var(--negro)}
body.arq.woocommerce-account .woocommerce-notices-wrapper:empty{display:none}

/* Navegacion lateral como tarjeta (item activo azul con filete naranja) */
body.arq.woocommerce-account .woocommerce-MyAccount-navigation{float:left;width:250px;margin:0 clamp(30px,5vw,70px) 40px 0;padding:0}
body.arq.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border:1px solid rgba(0,52,106,.18);background:#fff}
body.arq.woocommerce-account .woocommerce-MyAccount-navigation ul li,body.arq.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link{margin:0;padding:0;list-style:none;border:0;border-bottom:1px solid rgba(0,52,106,.18)}
body.arq.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child{border-bottom:0}
body.arq.woocommerce-account .woocommerce-MyAccount-navigation ul li a{display:block;padding:16px 20px;margin:0;font-family:'Montserrat',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.3;color:var(--azul);background:none;border:0;border-left:3px solid transparent;border-radius:0;text-decoration:none;transition:none}
body.arq.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,body.arq.woocommerce-account .woocommerce-MyAccount-navigation ul li a:focus{color:var(--naranja);background:var(--blanco)}
body.arq.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,body.arq.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a:hover,body.arq.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a:focus{background:var(--azul);color:var(--blanco);border-left-color:var(--naranja)}
body.arq.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a{color:var(--gris)}
body.arq.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover{color:var(--naranja)}

/* Columna de contenido */
body.arq.woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto;overflow:hidden;min-width:0;font-size:15.5px;line-height:1.7}
body.arq.woocommerce-account .woocommerce-MyAccount-content p{margin:0 0 16px}
body.arq.woocommerce-account .woocommerce-MyAccount-content>p:last-child{margin-bottom:0}
body.arq.woocommerce-account .woocommerce-MyAccount-content p:empty{display:none}
/* :not([class*=button]) para no pisarle el color a los botones de Woo y de LearnDash,
   que van blancos sobre azul: este selector es mas especifico y los dejaria invisibles. */
body.arq.woocommerce-account .woocommerce-MyAccount-content a:not([class*=button]){color:var(--azul);font-weight:600}
body.arq.woocommerce-account .woocommerce-MyAccount-content a:not([class*=button]):hover{color:var(--naranja)}
body.arq.woocommerce-account .woocommerce-MyAccount-content strong{color:var(--azul);font-weight:700}
body.arq.woocommerce-account .woocommerce-MyAccount-content mark{background:none;color:var(--azul);font-weight:700}
/* Titulares del panel: el H2 de cada vista con el lenguaje de .titulo, los
   subtitulos internos como ojal gris. */
body.arq.woocommerce-account .woocommerce>h2,body.arq.woocommerce-account .woocommerce-MyAccount-content>h2,body.arq.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-details__title,body.arq.woocommerce-account .woocommerce-MyAccount-content .woocommerce-column__title{margin:0 0 22px;padding:0 0 16px;border-bottom:2px solid rgba(0,52,106,.14);font-family:'Montserrat',sans-serif;font-size:clamp(24px,2.4vw,34px);line-height:1.1;font-weight:900;letter-spacing:-.01em;text-transform:uppercase;color:var(--azul)}
body.arq.woocommerce-account .woocommerce-MyAccount-content h3,body.arq.woocommerce-account .woocommerce-MyAccount-content legend,body.arq.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h2,body.arq.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h3{display:block;float:none;margin:0 0 14px;padding:0;border:0;font-family:'Montserrat',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gris);line-height:1.3}
body.arq.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address{border:1px solid rgba(0,52,106,.18);padding:22px 24px}
body.arq.woocommerce-account .woocommerce-MyAccount-content address{font-style:normal;line-height:1.7}
body.arq.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview{list-style:none;display:flex;flex-wrap:wrap;gap:0;margin:0 0 30px;padding:0;border:1px solid rgba(0,52,106,.18);background:#fff}
body.arq.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li{flex:1 1 160px;margin:0;padding:18px 20px;border:0;border-right:1px solid rgba(0,52,106,.18);font-size:11.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gris);line-height:1.3}
body.arq.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li:last-child{border-right:0}
body.arq.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li strong{display:block;margin-top:8px;font-size:18px;font-weight:900;letter-spacing:0;text-transform:none;color:var(--azul)}

/* Tablas (pedidos, detalle de pedido, descargas) */
body.arq.woocommerce-account .woocommerce table.shop_table,body.arq.woocommerce-account table.woocommerce-orders-table,body.arq.woocommerce-account table.woocommerce-table--order-details{width:100%;border-collapse:collapse;border:1px solid rgba(0,52,106,.18);border-radius:0;margin:0 0 24px;font-family:'Montserrat',sans-serif;font-size:14px;background:#fff}
body.arq.woocommerce-account .woocommerce table.shop_table th,body.arq.woocommerce-account .woocommerce table.shop_table thead th{background:var(--azul);color:var(--blanco);font-size:11.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:14px 16px;text-align:left;border:0;line-height:1.3}
body.arq.woocommerce-account .woocommerce table.shop_table td,body.arq.woocommerce-account .woocommerce table.shop_table tbody th,body.arq.woocommerce-account .woocommerce table.shop_table tfoot th,body.arq.woocommerce-account .woocommerce table.shop_table tfoot td{padding:14px 16px;border:0;border-top:1px solid rgba(0,52,106,.12);vertical-align:middle;line-height:1.5;text-align:left}
body.arq.woocommerce-account .woocommerce table.shop_table tbody td{background:#fff}
body.arq.woocommerce-account .woocommerce table.shop_table tbody tr:first-child td{border-top:0}
body.arq.woocommerce-account .woocommerce table.shop_table tbody tr:hover td{background:var(--blanco)}
body.arq.woocommerce-account .woocommerce table.shop_table tfoot th{font-size:11.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gris);background:var(--blanco)}
body.arq.woocommerce-account .woocommerce table.shop_table tfoot td{background:var(--blanco);font-weight:700;color:var(--azul)}
body.arq.woocommerce-account .woocommerce table.shop_table a:not([class*=button]){color:var(--azul);font-weight:600}
body.arq.woocommerce-account .woocommerce table.shop_table a:not([class*=button]):hover{color:var(--naranja)}
body.arq.woocommerce-account .woocommerce table.shop_table .woocommerce-orders-table__cell-order-number a{font-weight:700}
body.arq.woocommerce-account .woocommerce table.shop_table .woocommerce-Price-amount{font-weight:700;color:var(--azul)}
body.arq.woocommerce-account .woocommerce table.shop_table .button{padding:10px 16px;font-size:11.5px;letter-spacing:.12em;color:var(--blanco)}
body.arq.woocommerce-account .woocommerce table.shop_table .button+.button{margin-left:6px}

/* Formularios de Woo (acceso, editar cuenta, restablecer contrasena) */
body.arq.woocommerce-account .woocommerce form .form-row,body.arq.woocommerce-account .woocommerce-form-row{margin:0 0 18px;padding:0}
body.arq.woocommerce-account .woocommerce form .form-row label,body.arq.woocommerce-account .woocommerce-form-row label{display:block;margin:0 0 8px;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gris);line-height:1.35}
body.arq.woocommerce-account .woocommerce form .form-row .required{color:var(--naranja);text-decoration:none;border:0}
body.arq.woocommerce-account .woocommerce form .form-row input.input-text,body.arq.woocommerce-account .woocommerce form .form-row textarea,body.arq.woocommerce-account .woocommerce form .form-row select,body.arq.woocommerce-account .woocommerce-Input--text,body.arq.woocommerce-account input.input-text{display:block;width:100%;box-sizing:border-box;border:1px solid rgba(0,52,106,.25);border-radius:0;background:#fff;padding:16px 18px;font-family:'Montserrat',sans-serif;font-size:15px;line-height:1.4;color:var(--negro);outline:none;box-shadow:none;resize:vertical}
body.arq.woocommerce-account .woocommerce form .form-row input.input-text:focus,body.arq.woocommerce-account .woocommerce form .form-row textarea:focus,body.arq.woocommerce-account .woocommerce-Input--text:focus{border-color:var(--naranja);box-shadow:none;outline:none}
body.arq.woocommerce-account .woocommerce form .form-row .password-input{display:block;width:100%}
body.arq.woocommerce-account .woocommerce form .form-row .show-password-input{top:auto;bottom:16px;right:16px;color:var(--gris)}
body.arq.woocommerce-account .woocommerce form .form-row span em,body.arq.woocommerce-account .woocommerce form .form-row .description{display:block;margin-top:8px;font-size:13px;line-height:1.55;color:var(--gris);font-style:normal}
/* El borde de un <fieldset> se dibuja detras de su <legend> y la parte al medio.
   El filete separador va sobre la leyenda, que ocupa el ancho completo. */
body.arq.woocommerce-account .woocommerce form fieldset{margin:34px 0 24px;padding:0;border:0}
body.arq.woocommerce-account .woocommerce form fieldset legend{float:none;width:100%;box-sizing:border-box;margin:0 0 18px;padding:26px 0 0;border-top:1px solid rgba(0,52,106,.14)}
body.arq.woocommerce-account .woocommerce form .form-row label.woocommerce-form__label-for-checkbox,body.arq.woocommerce-account .woocommerce-form-login__rememberme{display:flex;align-items:center;gap:10px;margin:0 0 20px;font-size:14px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--negro)}
body.arq.woocommerce-account .woocommerce form .form-row input[type=checkbox],body.arq.woocommerce-account .woocommerce-form__input-checkbox{width:16px;height:16px;margin:0;accent-color:var(--naranja)}
body.arq.woocommerce-account .woocommerce-privacy-policy-text{font-size:13px;color:var(--gris)}
/* En escritorio Woo pone nombre/apellido al 47% flotados: se respeta pero con la
   grilla propia, para que el gap sea el del diseno y no haya medio pixel suelto. */
body.arq.woocommerce-account .woocommerce form .form-row-first,body.arq.woocommerce-account .woocommerce form .form-row-last{float:none;width:100%;margin-right:0}
body.arq.woocommerce-account .woocommerce form .form-row-first{clear:none}
@media (min-width:641px){
  body.arq.woocommerce-account .woocommerce form .form-row-first,body.arq.woocommerce-account .woocommerce form .form-row-last{float:left;width:calc(50% - 12px)}
  body.arq.woocommerce-account .woocommerce form .form-row-last{float:right}
  body.arq.woocommerce-account .woocommerce form .form-row.form-row-wide,body.arq.woocommerce-account .woocommerce form fieldset,body.arq.woocommerce-account .woocommerce form .clear{clear:both}
}

/* Botones de Woo con el lenguaje de .btn (cuadrado, azul -> naranja) */
body.arq.woocommerce-account .woocommerce-button,body.arq.woocommerce-account .woocommerce .button,body.arq.woocommerce-account .woocommerce button.button,body.arq.woocommerce-account .woocommerce a.button,body.arq.woocommerce-account .woocommerce input.button,body.arq.woocommerce-account .woocommerce-Button,body.arq.woocommerce-account .woocommerce button.button.alt,body.arq.woocommerce-account .woocommerce a.button.alt{display:inline-block;width:auto;background:var(--azul);color:var(--blanco);font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.2;padding:16px 26px;border:0;border-radius:0;box-shadow:none;text-decoration:none;cursor:pointer;transition:background-color .15s ease}
body.arq.woocommerce-account .woocommerce-button:hover,body.arq.woocommerce-account .woocommerce .button:hover,body.arq.woocommerce-account .woocommerce button.button:hover,body.arq.woocommerce-account .woocommerce a.button:hover,body.arq.woocommerce-account .woocommerce input.button:hover,body.arq.woocommerce-account .woocommerce-Button:hover,body.arq.woocommerce-account .woocommerce button.button.alt:hover,body.arq.woocommerce-account .woocommerce a.button.alt:hover{background:var(--naranja);color:var(--blanco)}

/* Caja de acceso (deslogueado) con el aspecto de .form-caja del diseno */
body.arq.woocommerce-account .woocommerce form.login,body.arq.woocommerce-account .woocommerce-form-login,body.arq.woocommerce-account .woocommerce form.register,body.arq.woocommerce-account .woocommerce-form-register,body.arq.woocommerce-account .woocommerce-ResetPassword,body.arq.woocommerce-account .woocommerce form.lost_reset_password{max-width:560px;margin:0;background:var(--blanco);border:0;border-radius:0;padding:clamp(30px,5vw,52px) clamp(24px,4.5vw,48px);position:relative;text-align:left;overflow:visible}
body.arq.woocommerce-account .woocommerce>h2{max-width:560px}
body.arq.woocommerce-account .woocommerce-form-login .form-row:last-of-type{margin-bottom:0}
body.arq.woocommerce-account .woocommerce-form-login .woocommerce-form-login__submit,body.arq.woocommerce-account .woocommerce-form-login button[name=login]{display:inline-block;width:auto;padding:18px 30px;font-size:14px;margin:0}
body.arq.woocommerce-account .woocommerce-form-login .woocommerce-LostPassword,body.arq.woocommerce-account .woocommerce-form-login .lost_password{margin:22px 0 0;font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
body.arq.woocommerce-account .woocommerce-form-login .woocommerce-LostPassword a{color:var(--azul);font-weight:700}
body.arq.woocommerce-account .woocommerce-form-login .woocommerce-LostPassword a:hover{color:var(--naranja)}
/* Restablecer contrasena: un solo campo. La regla de dos columnas de arriba lleva un selector de
   tipo mas (form), asi que este selector tiene que igualarlo o pierde por especificidad. */
body.arq.woocommerce-account .woocommerce form.woocommerce-ResetPassword .form-row-first,body.arq.woocommerce-account .woocommerce form.woocommerce-ResetPassword .form-row-last{width:100%;float:none}
body.arq.woocommerce-account .u-columns.col2-set{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:30px}
body.arq.woocommerce-account .u-columns.col2-set .u-column1,body.arq.woocommerce-account .u-columns.col2-set .u-column2{width:auto;float:none}
/* CTA "Todavia no tenes cuenta" (woocommerce_login_form_end) */
.arq-login-cta,body.arq .woocommerce-form-login .arq-login-cta{margin:24px 0 0;padding:18px 0 0;border-top:1px solid rgba(0,52,106,.14);font-family:'Montserrat',sans-serif;font-size:14px;line-height:1.7;color:var(--gris)}
.arq-login-cta a,body.arq .woocommerce-form-login .arq-login-cta a{display:inline-block;margin-left:4px;color:var(--naranja);font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-bottom:2px solid var(--naranja);padding-bottom:3px;text-decoration:none}
.arq-login-cta a:hover,body.arq .woocommerce-form-login .arq-login-cta a:hover{color:var(--azul);border-color:var(--azul)}

/* Avisos de Woo (acceso incorrecto, sin pedidos, verificar correo...). El icono
   original es un glifo de la fuente "WooCommerce"; si no carga sale un tofu, asi
   que se reemplaza por la cruz naranja del sistema. */
body.arq .woocommerce-error,body.arq .woocommerce-info,body.arq .woocommerce-message,body.arq .woocommerce-notice,body.arq .wc-block-components-notice-banner{position:relative;margin:0 0 24px;padding:18px 22px 18px 48px;background:#fff;color:var(--negro);border:1px solid rgba(0,52,106,.18);border-top:3px solid var(--azul);border-radius:0;box-shadow:none;font-family:'Montserrat',sans-serif;font-size:14.5px;line-height:1.6;list-style:none;overflow:hidden}
body.arq .woocommerce-error::before,body.arq .woocommerce-info::before,body.arq .woocommerce-message::before{content:'';position:absolute;left:22px;top:24px;width:12px;height:12px;padding:0;margin:0;background:url(img/cruz-naranja.png) center/contain no-repeat;font-family:inherit;color:transparent;line-height:0}
body.arq .woocommerce-error{border-top-color:var(--naranja)}
body.arq .woocommerce-error li,body.arq .woocommerce-info li,body.arq .woocommerce-message li{list-style:none;margin:0}
body.arq .woocommerce-error a,body.arq .woocommerce-info a,body.arq .woocommerce-message a{color:var(--azul);font-weight:700}
body.arq .woocommerce-error .button,body.arq .woocommerce-info .button,body.arq .woocommerce-message .button{float:right;display:inline-block;margin:-2px 0 8px 22px;background:var(--azul);color:var(--blanco);border:0;border-radius:0;font-family:'Montserrat',sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.2;padding:12px 18px;text-decoration:none}
body.arq .woocommerce-error .button:hover,body.arq .woocommerce-info .button:hover,body.arq .woocommerce-message .button:hover{background:var(--naranja);color:var(--blanco)}

/* --- Campus en pantallas chicas ---------------------------------------------
   La navegacion deja de flotar y se apila arriba del contenido a ancho completo. */
@media (max-width:880px){
  body.arq.woocommerce-account .woocommerce-MyAccount-navigation{float:none;width:auto;max-width:none;margin:0 0 30px}
  body.arq.woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto;overflow:visible}
}
@media (max-width:640px){
  body.arq.woocommerce-account .elementor>.woocommerce{padding-left:6vw;padding-right:6vw}
  body.arq.woocommerce-account .woocommerce-MyAccount-navigation ul li a{padding:15px 18px;font-size:12px;letter-spacing:.12em}
  body.arq.woocommerce-account .woocommerce>h2,body.arq.woocommerce-account .woocommerce-MyAccount-content>h2{font-size:26px}
  body.arq.woocommerce-account .woocommerce form.login,body.arq.woocommerce-account .woocommerce-form-login,body.arq.woocommerce-account .woocommerce-ResetPassword,body.arq.woocommerce-account .woocommerce form.lost_reset_password{padding:28px 22px}
  /* Woo apila las tablas de pedidos (.shop_table_responsive) por debajo de 768px:
     se acompana el patron en vez de pelearlo. */
  body.arq.woocommerce-account .woocommerce table.shop_table_responsive thead{display:none}
  body.arq.woocommerce-account .woocommerce table.shop_table_responsive tbody tr{display:block;border-bottom:1px solid rgba(0,52,106,.18)}
  body.arq.woocommerce-account .woocommerce table.shop_table_responsive tbody tr:last-child{border-bottom:0}
  body.arq.woocommerce-account .woocommerce table.shop_table_responsive tbody td{display:block;padding:12px 16px;border-top:0;text-align:right}
  body.arq.woocommerce-account .woocommerce table.shop_table_responsive tbody td::before{content:attr(data-title) ": ";float:left;margin-right:14px;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gris);text-align:left}
  body.arq.woocommerce-account .woocommerce table.shop_table_responsive tbody td::after{content:'';display:block;clear:both}
  body.arq.woocommerce-account .woocommerce table.shop_table:not(.shop_table_responsive){display:block;overflow-x:auto}
  /* Avisos: flotado, el boton se come el ancho. Se apila en columna y se lo manda
     al final con order:1 — el texto suelto del aviso es un item anonimo (order:0),
     asi que el boton queda abajo vaya donde vaya en el markup de Woo (a veces va
     antes del texto y a veces despues). Solo info/message, que son <div>:
     .woocommerce-error es un <ul> y flexbox le desarmaria los <li>. */
  body.arq .woocommerce-info,body.arq .woocommerce-message{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
  body.arq .woocommerce-info .button,body.arq .woocommerce-message .button{float:none;margin:0;order:1}
  /* El listado del perfil: titulo y boton "expandir todo" en dos lineas. */
  body.arq .learndash-wrapper #ld-profile .ld-item-list .ld-section-heading{align-items:flex-start;flex-direction:column;gap:14px}
  body.arq .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-list-item-preview{padding:18px 18px;gap:14px}
}

/* --- Paginas no Elementor (carrito, checkout, order-received, busqueda) ----- */
body:not(.elementor-page) .site-main{max-width:1140px;margin:0 auto;padding:104px 6vw 80px;font-family:'Montserrat',sans-serif;color:var(--negro)}
body:not(.elementor-page) .site-main .page-header{margin:0 0 30px;padding:0}
body:not(.elementor-page) .site-main .page-header .entry-title,body:not(.elementor-page) .site-main h1.entry-title{margin:0;font-family:'Montserrat',sans-serif;font-size:clamp(28px,2.6vw,42px);line-height:1.1;font-weight:900;text-transform:uppercase;color:var(--azul)}
body.woocommerce-cart:not(.elementor-page) .site-main,body.woocommerce-checkout:not(.elementor-page) .site-main{max-width:1180px}
body:not(.elementor-page) .site-main .page-content>*:first-child{margin-top:0}

/* --- WooCommerce blocks: carrito, checkout, confirmacion ----------------------- */
body.arq .wp-block-woocommerce-cart,body.arq .wp-block-woocommerce-checkout,body.arq .wc-block-cart,body.arq .wc-block-checkout,body.arq .wc-block-components-sidebar-layout,body.arq .woocommerce-order-received .woocommerce-order,body.arq .wc-block-order-confirmation-status,body.arq .wc-block-order-confirmation-summary,body.arq .wc-block-order-confirmation-totals,body.arq .wc-block-order-confirmation-billing-address,body.arq .wc-block-order-confirmation-shipping-address,body.arq .wc-block-order-confirmation-additional-information,body.arq .wc-block-order-confirmation-downloads,body.arq .wc-block-order-confirmation-billing-wrapper{font-family:'Montserrat',sans-serif;color:var(--negro)}
body.arq .wp-block-woocommerce-cart a,body.arq .wp-block-woocommerce-checkout a,body.arq .wc-block-components-sidebar-layout a{color:var(--azul)}
body.arq .wp-block-woocommerce-cart a:hover,body.arq .wp-block-woocommerce-checkout a:hover{color:var(--naranja)}
/* titulos */
body.arq .wc-block-components-title,body.arq .wc-block-components-checkout-step__title,body.arq .wc-block-components-checkout-order-summary__title,body.arq .wc-block-components-checkout-order-summary__title-text,body.arq .wc-block-cart__totals-title,body.arq .wc-block-components-order-summary__button-text,body.arq .wp-block-woocommerce-cart .wp-block-heading,body.arq .wp-block-woocommerce-cart h2.wp-block-heading,body.arq .wc-block-components-panel__button{font-family:'Montserrat',sans-serif;font-size:14px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--azul);line-height:1.3}
body.arq .wp-block-woocommerce-cart h2.wp-block-heading,body.arq .wc-block-components-title.wc-block-components-title{font-size:clamp(22px,2vw,30px);letter-spacing:0;font-weight:900}
body.arq .wc-block-components-checkout-step__description{font-size:13.5px;line-height:1.6;color:var(--gris)}
body.arq .wc-block-components-checkout-step__heading{margin-bottom:8px}
body.arq .wc-block-components-checkout-step__heading-content a{color:var(--naranja);font-weight:700}
/* botones */
body.arq .wc-block-components-button,body.arq .wc-block-components-button:not(.is-link),body.arq .wc-block-cart__submit-button,body.arq .wc-block-components-checkout-place-order-button,body.arq .wc-block-components-totals-coupon__button,body.arq .wp-block-woocommerce-cart .wc-block-cart__submit-button,body.arq .wc-block-components-checkout-return-to-cart-button{display:inline-flex;align-items:center;justify-content:center;background:var(--naranja);background-color:var(--naranja);color:var(--blanco);font-family:'Montserrat',sans-serif;font-size:13.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.2;padding:18px 28px;border:0;border-radius:0;box-shadow:none;text-decoration:none;transition:none}
body.arq .wc-block-components-button:hover,body.arq .wc-block-components-button:not(.is-link):hover,body.arq .wc-block-components-button:focus,body.arq .wc-block-components-button:not(.is-link):focus,body.arq .wc-block-cart__submit-button:hover,body.arq .wc-block-components-checkout-place-order-button:hover{background:var(--azul);background-color:var(--azul);color:var(--blanco);box-shadow:none;outline:0}
body.arq .wc-block-components-button:disabled,body.arq .wc-block-components-button:not(.is-link):disabled{background:var(--gris);background-color:var(--gris);color:var(--blanco);opacity:.6}
body.arq .wc-block-components-button .wc-block-components-button__text{font:inherit;letter-spacing:inherit}
body.arq .wc-block-components-button.is-link,body.arq .wc-block-components-button.is-link:not(.contained){background:none;color:var(--azul);padding:0;letter-spacing:0;text-transform:none;font-size:13.5px;font-weight:600}
body.arq .wc-block-components-button.is-link:hover{color:var(--naranja);background:none}
body.arq .wc-block-components-checkout-return-to-cart-button{background:none;color:var(--azul);padding:0;letter-spacing:.1em;font-size:12.5px}
body.arq .wc-block-components-checkout-return-to-cart-button:hover{background:none;color:var(--naranja)}
body.arq .wc-block-components-totals-coupon__button{padding:14px 18px;font-size:12px}
/* inputs (se conservan alto y flotante de las etiquetas de Woo) */
body.arq .wc-block-components-text-input input,body.arq .wc-block-components-text-input input[type=text],body.arq .wc-block-components-text-input input[type=email],body.arq .wc-block-components-text-input input[type=tel],body.arq .wc-block-components-text-input input[type=url],body.arq .wc-block-components-text-input input[type=number],body.arq .wc-block-components-text-input input[type=password],body.arq .wc-block-components-form .wc-block-components-text-input input,body.arq .wc-block-components-textarea,body.arq .wc-block-components-form .wc-block-components-textarea,body.arq .wc-block-components-select .components-custom-select-control__button,body.arq .wc-block-components-combobox .components-combobox-control__input,body.arq .wc-block-components-form .wc-block-components-combobox .components-combobox-control__input,body.arq .wc-block-components-country-input .components-combobox-control__input,body.arq .wc-block-components-select select,body.arq .wc-block-components-select .wc-block-components-select__select,body.arq .wc-block-components-form .wc-block-components-select .wc-block-components-select__select,body.arq .wc-block-components-quantity-selector input{border:1px solid rgba(0,52,106,.25);border-radius:0;background:#fff;color:var(--negro);font-family:'Montserrat',sans-serif;box-shadow:none}
body.arq .wc-block-components-text-input input:focus,body.arq .wc-block-components-form .wc-block-components-text-input input:focus,body.arq .wc-block-components-textarea:focus,body.arq .wc-block-components-combobox .components-combobox-control__input:focus,body.arq .wc-block-components-select .wc-block-components-select__select:focus,body.arq .wc-block-components-form .wc-block-components-select .wc-block-components-select__select:focus{border-color:var(--naranja);box-shadow:none;outline:0}
body.arq .wc-block-components-text-input label,body.arq .wc-block-components-select label,body.arq .wc-block-components-combobox label,body.arq .wc-block-components-select .wc-block-components-select__label,body.arq .wc-block-components-textarea-label{font-family:'Montserrat',sans-serif;color:var(--gris)}
body.arq .wc-block-components-text-input.has-error input,body.arq .wc-block-components-validation-error{color:var(--naranja);border-color:var(--naranja)}
body.arq .wc-block-components-validation-error p{color:var(--naranja);font-size:12.5px}
body.arq .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]{border:1px solid rgba(0,52,106,.35);border-radius:0}
body.arq .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked{background:var(--naranja);border-color:var(--naranja)}
body.arq .wc-block-components-checkbox .wc-block-components-checkbox__mark{color:#fff}
body.arq .wc-block-components-checkbox__label,body.arq .wc-block-components-checkbox label{font-family:'Montserrat',sans-serif;font-size:14px}
body.arq .wc-block-components-radio-control__option,body.arq .wc-block-components-radio-control-accordion-option{font-family:'Montserrat',sans-serif}
body.arq .wc-block-components-radio-control .wc-block-components-radio-control__input,body.arq .wc-block-components-radio-control__input{border:1px solid rgba(0,52,106,.35);border-radius:50%}
body.arq .wc-block-components-radio-control .wc-block-components-radio-control__input:checked{border-color:var(--naranja);background:#fff}
body.arq .wc-block-components-radio-control .wc-block-components-radio-control__input:checked:before,body.arq .wc-block-components-radio-control__input:checked:before{background:var(--naranja)}
body.arq .wc-block-components-radio-control__label,body.arq .wc-block-components-radio-control__option-layout .wc-block-components-radio-control__label{font-weight:600;color:var(--azul)}
body.arq .wc-block-components-radio-control__description,body.arq .wc-block-components-radio-control__secondary-label{color:var(--gris)}
/* resumen del pedido / totales */
body.arq .wc-block-components-sidebar-layout .wc-block-components-sidebar{background:#fff;border:1px solid rgba(0,52,106,.18);padding:clamp(18px,2.5vw,30px)}
body.arq .wc-block-components-sidebar-layout .wc-block-components-sidebar .wc-block-components-panel__button{padding-left:0;padding-right:0}
body.arq .wc-block-components-order-summary-item__quantity{background:var(--azul);color:#fff;border:0;border-radius:0;font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;box-shadow:none}
body.arq .wc-block-components-order-summary-item__image{border:1px solid rgba(0,52,106,.14)}
body.arq .wc-block-components-order-summary-item__image img{border-radius:0}
body.arq .wc-block-components-product-name,body.arq .wc-block-components-order-summary-item__description .wc-block-components-product-name{font-weight:700;color:var(--azul);font-family:'Montserrat',sans-serif}
body.arq .wc-block-components-product-metadata__description,body.arq .wc-block-components-product-details{color:var(--gris);font-size:13px}
body.arq .wc-block-components-totals-item,body.arq .wc-block-components-totals-item__label,body.arq .wc-block-components-totals-item__value,body.arq .wc-block-components-totals-item__description{font-family:'Montserrat',sans-serif;font-size:14px}
body.arq .wc-block-components-totals-item__label{font-weight:600;color:var(--negro)}
body.arq .wc-block-components-totals-item__description{color:var(--gris);font-size:12.5px}
body.arq .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-size:12.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gris)}
body.arq .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,body.arq .wc-block-components-totals-footer-item .wc-block-formatted-money-amount{font-size:24px;font-weight:900;color:var(--azul)}
body.arq .wc-block-components-totals-wrapper,body.arq .wc-block-components-order-summary,body.arq .wc-block-components-totals-item{border-color:rgba(0,52,106,.14)}
body.arq .wc-block-components-totals-wrapper::after,body.arq .wc-block-components-order-summary::after,body.arq .wc-block-components-checkout-step::after,body.arq .wc-block-components-panel__button::after{border-color:rgba(0,52,106,.14)}
body.arq .wc-block-components-checkout-step.wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__container::after{border-color:rgba(0,52,106,.14)}
body.arq .wc-block-components-checkout-step__title::before{display:none}
body.arq .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__container::before{content:counter(checkout-step);counter-increment:checkout-step;background:var(--azul);color:#fff;border:0;border-radius:0;font-family:'Montserrat',sans-serif;font-size:11px;font-weight:900;width:1.7em;height:1.7em;line-height:1.7em;text-align:center;top:0}
body.arq .wc-block-checkout__form{counter-reset:checkout-step}
/* carrito: tabla de items */
body.arq .wc-block-cart-items,body.arq table.wc-block-cart-items{font-family:'Montserrat',sans-serif}
body.arq .wc-block-cart-items .wc-block-cart-items__header,body.arq .wc-block-cart-items th{font-size:11.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gris);border-bottom:1px solid rgba(0,52,106,.14)}
body.arq .wc-block-cart-items .wc-block-cart-items__row,body.arq .wc-block-cart-items td{border-color:rgba(0,52,106,.12)}
body.arq .wc-block-cart-item__product .wc-block-components-product-name{font-size:16px;font-weight:700;color:var(--azul)}
body.arq .wc-block-cart-item__image img{border:1px solid rgba(0,52,106,.14);border-radius:0}
body.arq .wc-block-cart-item__prices,body.arq .wc-block-cart-item__total,body.arq .wc-block-components-product-price{font-weight:700;color:var(--azul)}
body.arq .wc-block-cart-item__remove-link{color:var(--gris);font-size:12.5px;text-decoration:none;border-bottom:1px solid currentColor}
body.arq .wc-block-cart-item__remove-link:hover{color:var(--naranja)}
body.arq .wc-block-components-quantity-selector{border:1px solid rgba(0,52,106,.25);border-radius:0;box-shadow:none}
body.arq .wc-block-components-quantity-selector::after{display:none}
body.arq .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button{color:var(--azul)}
body.arq .wc-block-components-sale-badge{background:var(--naranja);color:#fff;border:0;border-radius:0}
body.arq .wc-block-cart__empty-cart__title,body.arq .wp-block-woocommerce-empty-cart-block h2{font-family:'Montserrat',sans-serif;font-weight:900;text-transform:uppercase;color:var(--azul)}
body.arq .wc-block-components-notice-banner{padding:16px 20px;gap:12px}
body.arq .wc-block-components-notice-banner.is-error{border-top-color:var(--naranja)}
body.arq .wc-block-components-notice-banner.is-success{border-top-color:var(--azul)}
body.arq .wc-block-components-notice-banner>svg{fill:var(--azul);background:none}
body.arq .wc-block-components-notice-banner.is-error>svg{fill:var(--naranja)}
body.arq .wc-block-components-express-payment,body.arq .wc-block-components-express-payment__title-container{font-family:'Montserrat',sans-serif}
body.arq .wc-block-components-payment-method-label,body.arq .wc-block-components-payment-method-label__title{font-weight:700;color:var(--azul)}
body.arq .wc-block-components-checkout-policies{font-size:12.5px;color:var(--gris)}
body.arq .wc-block-components-shipping-rates-control__package,body.arq .wc-block-components-radio-control-accordion-option{border-color:rgba(0,52,106,.14)}
/* confirmacion de pedido (order-received): bloques y plantilla clasica */
body.arq .wc-block-order-confirmation-status h1,body.arq .wc-block-order-confirmation-status .wp-block-heading,body.arq .woocommerce-order-received .woocommerce-thankyou-order-received,body.arq .woocommerce-order .woocommerce-thankyou-order-received{margin:0 0 20px;font-family:'Montserrat',sans-serif;font-size:clamp(24px,2.4vw,36px);line-height:1.1;font-weight:900;text-transform:uppercase;color:var(--azul)}
body.arq .wc-block-order-confirmation-status p{font-size:16px;line-height:1.7}
body.arq .wc-block-order-confirmation-summary-list,body.arq .woocommerce-order ul.order_details,body.arq .woocommerce-order-received ul.order_details,body.arq .woocommerce-order-overview{display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:0 0 36px;padding:0;border:1px solid rgba(0,52,106,.18);background:#fff}
body.arq .wc-block-order-confirmation-summary-list-item,body.arq .wc-block-order-confirmation-summary-list li,body.arq .woocommerce-order ul.order_details li,body.arq .woocommerce-order-received ul.order_details li,body.arq .woocommerce-order-overview li{flex:1 1 170px;float:none;margin:0;padding:16px 20px;border:0;border-right:1px solid rgba(0,52,106,.18);font-family:'Montserrat',sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gris);line-height:1.4}
body.arq .wc-block-order-confirmation-summary-list-item:last-child,body.arq .woocommerce-order ul.order_details li:last-child,body.arq .woocommerce-order-overview li:last-child{border-right:0}
body.arq .wc-block-order-confirmation-summary-list-item__key{display:block;color:var(--gris)}
body.arq .wc-block-order-confirmation-summary-list-item__value,body.arq .woocommerce-order ul.order_details li strong,body.arq .woocommerce-order-overview li strong{display:block;margin-top:6px;font-size:15px;letter-spacing:0;text-transform:none;font-weight:700;color:var(--azul)}
body.arq .wc-block-order-confirmation-totals h2,body.arq .wc-block-order-confirmation-totals .wp-block-heading,body.arq .wc-block-order-confirmation-billing-address h2,body.arq .wc-block-order-confirmation-shipping-address h2,body.arq .wc-block-order-confirmation-billing-wrapper h2,body.arq .wc-block-order-confirmation-downloads h2,body.arq .wc-block-order-confirmation-additional-information h2,body.arq .woocommerce-order .woocommerce-order-details__title,body.arq .woocommerce-order .woocommerce-column__title,body.arq .woocommerce-order-received h2{margin:30px 0 14px;font-family:'Montserrat',sans-serif;font-size:14px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gris)}
body.arq .wc-block-order-confirmation-totals table,body.arq .wc-block-order-confirmation-totals__table,body.arq .woocommerce-order table.shop_table,body.arq .woocommerce-order-received table.shop_table,body.arq .wc-block-order-confirmation-downloads table{width:100%;border-collapse:collapse;border:1px solid rgba(0,52,106,.18);border-radius:0;margin:0 0 24px;font-family:'Montserrat',sans-serif;font-size:14px}
body.arq .wc-block-order-confirmation-totals table th,body.arq .wc-block-order-confirmation-totals__table th,body.arq .woocommerce-order table.shop_table th,body.arq .woocommerce-order-received table.shop_table th{padding:14px 16px;text-align:left;border:0;border-top:1px solid rgba(0,52,106,.12);font-size:11.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}
body.arq .wc-block-order-confirmation-totals table thead th,body.arq .woocommerce-order table.shop_table thead th,body.arq .woocommerce-order-received table.shop_table thead th{background:var(--azul);color:var(--blanco);border-top:0}
body.arq .wc-block-order-confirmation-totals table td,body.arq .wc-block-order-confirmation-totals__table td,body.arq .woocommerce-order table.shop_table td,body.arq .woocommerce-order-received table.shop_table td{padding:14px 16px;border:0;border-top:1px solid rgba(0,52,106,.12);line-height:1.5}
body.arq .wc-block-order-confirmation-totals table tfoot tr:last-child td,body.arq .wc-block-order-confirmation-totals table tfoot tr:last-child th,body.arq .woocommerce-order table.shop_table tfoot tr:last-child td,body.arq .woocommerce-order table.shop_table tfoot tr:last-child th{background:var(--blanco);color:var(--azul);font-weight:900}
body.arq .wc-block-order-confirmation-totals .woocommerce-Price-amount,body.arq .woocommerce-order .woocommerce-Price-amount{font-weight:700;color:var(--azul)}
body.arq .wc-block-order-confirmation-billing-address address,body.arq .wc-block-order-confirmation-shipping-address address,body.arq .woocommerce-order address,body.arq .woocommerce-customer-details address{font-style:normal;line-height:1.7;padding:20px 24px;border:1px solid rgba(0,52,106,.18);background:#fff}
body.arq .woocommerce-order .woocommerce-bacs-bank-details,body.arq .wc-block-order-confirmation-additional-information .woocommerce-bacs-bank-details{border:1px solid rgba(0,52,106,.18);padding:20px 24px;background:#fff}
body.arq .woocommerce-order .wc-bacs-bank-details-heading,body.arq .woocommerce-order .wc-bacs-bank-details-account-name{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--azul)}
body.arq .woocommerce-order ul.wc-bacs-bank-details{list-style:none;margin:0;padding:0}
body.arq .wc-block-order-confirmation-downloads a,body.arq .woocommerce-order a{color:var(--azul);font-weight:600}
body.arq .wc-block-order-confirmation-downloads a:hover,body.arq .woocommerce-order a:hover{color:var(--naranja)}

/* --- LearnDash Focus Mode (lecciones/temas/cuestionarios) --------------------
   Prefijo body.ld-in-focus-mode (+1,1 de especificidad sobre las reglas de LD,
   gap2 §4.5) y variable --aq-sidebar: los 350px de LD estan repetidos en 5 reglas
   (sidebar, heading, main, colapsado x2) y en .ld-brand-logo; aca salen todas de
   una sola variable. Se respetan los breakpoints 1024/768/640 de LD: los anchos
   solo se tocan desde 769px; en movil LD posiciona el sidebar como capa y aqui
   solo se cambian colores y tipografia. */
body.ld-in-focus-mode{--aq-sidebar:320px;background:var(--blanco);font-family:'Montserrat',sans-serif;color:var(--negro)}
body.ld-in-focus-mode .learndash-wrapper,body.ld-in-focus-mode .learndash-wrapper .ld-focus,body.ld-in-focus-mode .learndash-wrapper .ld-focus-content{font-family:'Montserrat',sans-serif;color:var(--negro)}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main{background:var(--blanco)}
@media (min-width:769px){
  body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar{width:var(--aq-sidebar);padding-top:64px;background:#fff;border-right:1px solid rgba(0,52,106,.18)}
  body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading{width:var(--aq-sidebar)}
  body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main{margin-left:var(--aq-sidebar);width:calc(100% - var(--aq-sidebar))}
  body.ld-in-focus-mode .learndash-wrapper .ld-focus.ld-focus-sidebar-collapsed .ld-focus-sidebar{transform:translateX(calc(-100% + 50px))}
  body.ld-in-focus-mode .learndash-wrapper .ld-focus.ld-focus-sidebar-collapsed .ld-focus-main{margin-left:50px;width:calc(100% - 50px)}
  body.ld-in-focus-mode .learndash-wrapper .ld-focus.ld-focus-position-right .ld-focus-main,body.ld-in-focus-mode .learndash-wrapper .ld-focus.ld-focus-position-rtl-left .ld-focus-main{margin-left:0;margin-right:var(--aq-sidebar)}
  body.ld-in-focus-mode .learndash-wrapper .ld-focus.ld-focus-position-right.ld-focus-sidebar-collapsed .ld-focus-main,body.ld-in-focus-mode .learndash-wrapper .ld-focus.ld-focus-position-rtl-left.ld-focus-sidebar-collapsed .ld-focus-main{margin-right:50px}
  body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-brand-logo{flex:0 0 var(--aq-sidebar)}
  body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header{height:64px}
}
@media (min-width:769px) and (max-width:1024px){
  body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-brand-logo{flex:0 0 180px}
}
/* cabecera */
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header{background:#fff;border-bottom:1px solid rgba(0,52,106,.18);box-shadow:none}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-brand-logo{display:flex;align-items:center;justify-content:flex-start;height:100%;padding:0 22px;background:#fff;border-right:1px solid rgba(0,52,106,.18);overflow:hidden}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-brand-logo img{max-height:26px;width:auto;display:block}
.arq-focus-logo{display:flex;align-items:center;height:100%;line-height:0}
.arq-focus-logo img,body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-brand-logo .arq-focus-logo img{height:22px;max-height:22px;width:auto;display:block}
.arq-focus-volver{display:inline-block;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--naranja);text-decoration:none;white-space:nowrap}
.arq-focus-volver:hover{color:var(--azul)}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-user-menu .ld-user-menu-items a.arq-focus-volver{background:var(--naranja);color:#fff}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-user-menu .ld-user-menu-items a.arq-focus-volver:hover{background:var(--azul);color:#fff}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-user-menu{border-left:1px solid rgba(0,52,106,.18)}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-user-menu .ld-text{color:var(--gris);font-size:12.5px;font-weight:600}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-user-menu .ld-profile-avatar{border:2px solid var(--naranja)}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-user-menu .ld-user-menu-items{margin-right:0;box-shadow:0 12px 30px rgba(0,52,106,.16)}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-user-menu .ld-user-menu-items a{background-color:var(--azul);color:#fff;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:14px 24px;border-bottom:1px solid rgba(240,242,245,.14)}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-user-menu .ld-user-menu-items a:hover{background-color:var(--naranja);color:#fff}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-mobile-nav .ld-trigger-mobile-nav span{background:var(--azul)}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-mobile-nav .ld-trigger-mobile-nav .bar-2{background:var(--naranja)}
/* progreso en la cabecera */
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-progress{font-family:'Montserrat',sans-serif}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-progress .ld-progress-bar{background:rgba(0,52,106,.12);border-radius:0;height:6px}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-progress .ld-progress-bar .ld-progress-bar-percentage,body.ld-in-focus-mode .learndash-wrapper .ld-progress-bar-percentage.ld-secondary-background{background:var(--naranja);height:6px}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-progress .ld-progress-percentage,body.ld-in-focus-mode .learndash-wrapper .ld-progress-percentage.ld-secondary-color{color:var(--azul);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-progress .ld-progress-steps{color:var(--gris);font-size:11px;font-weight:600}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-content-actions{border:0}
/* sidebar: navegacion del curso */
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar{background:#fff;border-color:rgba(0,52,106,.18)}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading{background-color:var(--azul);color:#fff;min-height:72px}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading .ld-focus-mode-course-heading-wrapper,body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading .ld-focus-mode-course-heading-wrapper a,body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading h3,body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading a{color:#fff;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.45}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-focus-sidebar-trigger .ld-icon{background:var(--naranja);border-color:#fff;color:#fff;border-radius:0}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-focus-sidebar-trigger:hover .ld-icon,body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-focus-sidebar-trigger:focus .ld-icon{background:#fff;border-color:var(--naranja);color:var(--naranja)}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item-section-heading{padding:0 18px}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item-section-heading .ld-lesson-section-heading,body.ld-in-focus-mode .learndash-wrapper .ld-course-navigation .ld-lesson-item-section-heading .ld-lesson-section-heading{display:block;margin:0;padding:22px 0 10px;font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--gris);text-align:left}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item,body.ld-in-focus-mode .learndash-wrapper .ld-course-navigation .ld-lesson-item{font-family:'Montserrat',sans-serif;background-color:#fff;border-bottom:1px solid rgba(0,52,106,.12);padding:0}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item .ld-lesson-item-preview{padding:14px 18px}
body.ld-in-focus-mode .learndash-wrapper .ld-course-navigation .ld-lesson-item-preview a.ld-lesson-item-preview-heading,body.ld-in-focus-mode .learndash-wrapper .ld-course-navigation .ld-lesson-item-preview .ld-lesson-item-preview-heading{color:var(--negro);font-family:'Montserrat',sans-serif;line-height:1.4}
body.ld-in-focus-mode .learndash-wrapper .ld-course-navigation .ld-lesson-item-preview .ld-lesson-title{font-size:13.5px;font-weight:500;color:inherit}
body.ld-in-focus-mode .learndash-wrapper .ld-course-navigation .ld-lesson-item-preview a.ld-lesson-item-preview-heading:hover,body.ld-in-focus-mode .learndash-wrapper .ld-course-navigation .ld-lesson-item-preview a.ld-lesson-item-preview-heading:hover .ld-lesson-title,body.ld-in-focus-mode .learndash-wrapper .ld-primary-color-hover:hover{color:var(--naranja)}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item.ld-is-current-lesson,body.ld-in-focus-mode .learndash-wrapper .ld-course-navigation .ld-lesson-item.ld-is-current-lesson{background-color:var(--blanco);box-shadow:inset 3px 0 0 var(--naranja)}
body.ld-in-focus-mode .learndash-wrapper .ld-course-navigation .ld-lesson-item.ld-is-current-lesson .ld-lesson-item-preview-heading,body.ld-in-focus-mode .learndash-wrapper .ld-course-navigation .ld-lesson-item.ld-is-current-lesson .ld-lesson-title{color:var(--azul);font-weight:700}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-topic-list.ld-table-list{background-color:var(--blanco);border-radius:0}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-topic-list.ld-table-list .ld-table-list-item{font-family:'Montserrat',sans-serif;font-size:13px;border-color:rgba(0,52,106,.1)}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-topic-list.ld-table-list:before{background:#fff}
body.ld-in-focus-mode .learndash-wrapper .ld-course-navigation .ld-status-icon{border-radius:0}
body.ld-in-focus-mode .learndash-wrapper .ld-course-navigation .ld-status-icon.ld-status-incomplete{background:#fff;border:3px solid rgba(0,52,106,.22)}
body.ld-in-focus-mode .learndash-wrapper .ld-course-navigation .ld-status-icon.ld-status-in-progress{border-color:var(--azul) rgba(0,52,106,.22) rgba(0,52,106,.22) var(--azul)}
body.ld-in-focus-mode .learndash-wrapper .ld-course-navigation .ld-status-icon.ld-status-complete{background:var(--naranja);border-color:var(--naranja)}
body.ld-in-focus-mode .learndash-wrapper .ld-course-navigation .ld-course-navigation-actions .ld-home-link,body.ld-in-focus-mode .learndash-wrapper .ld-course-navigation .ld-course-navigation-actions .ld-expand-button{font-family:'Montserrat',sans-serif}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-pagination .ld-pages{background-color:var(--azul)}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-focus-sidebar-wrapper{scrollbar-width:thin}
/* contenido de la leccion */
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content{max-width:1180px;padding:clamp(28px,5vw,72px) clamp(18px,5vw,72px);font-size:16px;line-height:1.8}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content h1{margin:0 0 .6em;padding:0;font-family:'Montserrat',sans-serif;font-size:clamp(28px,2.6vw,42px);line-height:1.1;font-weight:900;text-transform:uppercase;letter-spacing:-.01em;color:var(--azul)}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content h2,body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content h3,body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content h4{font-family:'Montserrat',sans-serif;color:var(--azul);font-weight:700;line-height:1.2;margin:1.6em 0 .6em}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content h2{font-size:clamp(22px,2vw,30px);font-weight:900;text-transform:uppercase}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content h3{font-size:19px;text-transform:uppercase;letter-spacing:.06em}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content h4{font-size:16px}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content p{margin:0 0 1.2em}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content a{color:var(--azul);text-decoration:underline;text-decoration-color:rgba(0,52,106,.3);text-underline-offset:3px}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content a:hover{color:var(--naranja)}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content img,body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content iframe,body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content video{max-width:100%}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content .ld-lesson-status,body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content .ld-topic-status{background:#fff;border:1px solid rgba(0,52,106,.18);border-radius:0;margin-bottom:28px}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content .ld-lesson-status .ld-progress,body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content .ld-topic-status .ld-progress{padding:16px 20px;background:var(--blanco)}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content .ld-breadcrumbs{background:transparent;border-radius:0;padding:14px 20px;font-family:'Montserrat',sans-serif}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content .ld-breadcrumbs a{color:var(--azul);font-size:13px;font-weight:600;text-decoration:none}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content .ld-breadcrumbs a:hover{color:var(--naranja)}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content .ld-breadcrumbs .ld-status{border-radius:0;font-family:'Montserrat',sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content .ld-content-actions{border-top:2px solid rgba(0,52,106,.14);margin-top:36px}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content .ld-tabs .ld-tabs-navigation .ld-tab{font-family:'Montserrat',sans-serif}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content .ld-video-progression,body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content .ld-alert{margin:24px 0}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content .ld-item-list .ld-section-heading h2{font-size:clamp(20px,1.8vw,26px)}
/* comentarios */
body.ld-in-focus-mode .learndash-wrapper .ld-focus-comments{font-family:'Montserrat',sans-serif;margin:48px 0 0}
body.ld-in-focus-mode .learndash-wrapper .ld-focus-comments__heading{border-bottom:2px solid rgba(0,52,106,.18);padding-bottom:12px}
body.ld-in-focus-mode .learndash-wrapper .ld-focus-comments__header{font-family:'Montserrat',sans-serif;font-size:20px;font-weight:900;text-transform:uppercase;color:var(--azul);margin:0}
body.ld-in-focus-mode .learndash-wrapper .ld-focus-comments__heading a{color:var(--azul)}
body.ld-in-focus-mode .learndash-wrapper .ld-focus-comment{margin:24px 0;padding:0 0 24px;border-bottom:1px solid rgba(0,52,106,.12)}
body.ld-in-focus-mode .learndash-wrapper .ld-focus-comment .ld-comment-avatar img,body.ld-in-focus-mode .learndash-wrapper .ld-focus-comment .avatar{border-radius:0}
body.ld-in-focus-mode .learndash-wrapper .ld-focus-comment .ld-comment-author-name,body.ld-in-focus-mode .learndash-wrapper .ld-focus-comment .comment-author,body.ld-in-focus-mode .learndash-wrapper .ld-focus-comment .fn{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--azul);font-style:normal}
body.ld-in-focus-mode .learndash-wrapper .ld-focus-comment .comment-metadata,body.ld-in-focus-mode .learndash-wrapper .ld-focus-comment .comment-metadata a,body.ld-in-focus-mode .learndash-wrapper .ld-focus-comment .ld-comment-date{color:var(--gris);font-size:12px}
body.ld-in-focus-mode .learndash-wrapper .ld-focus-comment.bypostauthor .ld-comment-author-name{color:var(--naranja)}
body.ld-in-focus-mode .learndash-wrapper .ld-focus-comment .comment-content,body.ld-in-focus-mode .learndash-wrapper .ld-focus-comment .ld-comment-body{font-size:15px;line-height:1.7}
body.ld-in-focus-mode .learndash-wrapper .ld-focus-comment .comment-reply-link{color:var(--naranja);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}
body.ld-in-focus-mode .learndash-wrapper .ld-focus-comments .comment-respond{margin-top:28px}
body.ld-in-focus-mode .learndash-wrapper .ld-focus-comments .comment-reply-title{font-family:'Montserrat',sans-serif;font-size:14px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gris);margin:0 0 14px}
body.ld-in-focus-mode .learndash-wrapper .ld-focus-comments .comment-form label{display:block;margin:0 0 8px;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
body.ld-in-focus-mode .learndash-wrapper .ld-focus-comments .comment-form textarea,body.ld-in-focus-mode .learndash-wrapper .ld-focus-comments .comment-form input[type=text],body.ld-in-focus-mode .learndash-wrapper .ld-focus-comments .comment-form input[type=email],body.ld-in-focus-mode .learndash-wrapper .ld-focus-comments .comment-form input[type=url]{width:100%;box-sizing:border-box;border:1px solid rgba(0,52,106,.25);border-radius:0;background:#fff;padding:14px 16px;font-family:'Montserrat',sans-serif;font-size:15px;color:var(--negro);outline:none;box-shadow:none;resize:vertical}
body.ld-in-focus-mode .learndash-wrapper .ld-focus-comments .comment-form textarea:focus,body.ld-in-focus-mode .learndash-wrapper .ld-focus-comments .comment-form input:focus{border-color:var(--naranja);box-shadow:none;outline:none}
body.ld-in-focus-mode .learndash-wrapper .ld-focus-comments .comment-form .form-submit{margin:16px 0 0}
body.ld-in-focus-mode .learndash-wrapper .ld-focus-comments .comment-notes,body.ld-in-focus-mode .learndash-wrapper .ld-focus-comments .logged-in-as{font-size:13px;color:var(--gris)}
/* cuestionarios */
body.ld-in-focus-mode .learndash-wrapper .wpProQuiz_content,body.arq .learndash-wrapper .wpProQuiz_content{font-family:'Montserrat',sans-serif}
body.arq .learndash-wrapper .wpProQuiz_content .wpProQuiz_questionList,body.arq .learndash-wrapper .wpProQuiz_content .wpProQuiz_question_text{font-size:15.5px;line-height:1.7}
body.arq .learndash-wrapper .wpProQuiz_content .wpProQuiz_questionListItem{border:1px solid rgba(0,52,106,.14);border-radius:0;padding:12px 16px}
body.arq .learndash-wrapper .wpProQuiz_content .wpProQuiz_questionListItem label{font-weight:500}
body.arq .learndash-wrapper .wpProQuiz_content .wpProQuiz_header,body.arq .learndash-wrapper .wpProQuiz_content .wpProQuiz_question .wpProQuiz_question_page{font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}
body.arq .learndash-wrapper .wpProQuiz_content .wpProQuiz_results h4,body.arq .learndash-wrapper .wpProQuiz_content .wpProQuiz_response{color:var(--azul)}
/* movil (LD: cabecera relativa, sidebar como capa) */
@media (max-width:768px){
  body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar{width:min(var(--aq-sidebar),86vw);background:#fff;border-right:1px solid rgba(0,52,106,.18);box-shadow:0 12px 30px rgba(0,52,106,.16)}
  body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading{width:100%}
  body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header{background:#fff;border-bottom:1px solid rgba(0,52,106,.18)}
  body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content h1{font-size:clamp(24px,7vw,32px)}
}

/* --- Modal de login de LearnDash (minimo; el login vive en /mi-cuenta/) ------- */
body.arq .learndash-wrapper .ld-modal,body.arq .learndash-wrapper .ld-login-modal{font-family:'Montserrat',sans-serif}
body.arq .learndash-wrapper .ld-login-modal .ld-login-modal-wrapper{background:#fff;border:1px solid rgba(0,52,106,.18);border-radius:0;box-shadow:0 20px 50px rgba(0,52,106,.2);padding:30px 28px;max-width:420px}
body.arq .learndash-wrapper .ld-login-modal .ld-modal-heading,body.arq .learndash-wrapper .ld-login-modal .ld-login-modal-login .ld-modal-heading{font-family:'Montserrat',sans-serif;font-size:22px;font-weight:900;text-transform:uppercase;color:var(--azul);margin:0 0 8px}
body.arq .learndash-wrapper .ld-login-modal .ld-modal-text{font-size:14.5px;line-height:1.65;color:var(--gris)}
body.arq .learndash-wrapper .ld-login-modal .ld-login-modal-form label{display:block;margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
body.arq .learndash-wrapper .ld-login-modal .ld-login-modal-form input[type=text],body.arq .learndash-wrapper .ld-login-modal .ld-login-modal-form input[type=password],body.arq .learndash-wrapper .ld-login-modal .ld-login-modal-form input[type=email]{width:100%;box-sizing:border-box;border:1px solid rgba(0,52,106,.25);border-radius:0;background:#fff;padding:14px 16px;font-family:'Montserrat',sans-serif;font-size:15px;color:var(--negro);outline:none;box-shadow:none;margin:0 0 14px}
body.arq .learndash-wrapper .ld-login-modal .ld-login-modal-form input:focus{border-color:var(--naranja);box-shadow:none}
body.arq .learndash-wrapper .ld-login-modal .ld-forgot-password-link{color:var(--azul);font-size:13px;font-weight:600;text-decoration:none}
body.arq .learndash-wrapper .ld-login-modal .ld-forgot-password-link:hover{color:var(--naranja)}
body.arq .learndash-wrapper .ld-login-modal .ld-login-modal-branding{border-top:1px solid rgba(0,52,106,.14)}
body.arq .learndash-wrapper .ld-modal .ld-modal-closer{color:var(--azul)}
body.arq .learndash-wrapper .ld-modal .ld-modal-closer:hover{color:var(--naranja)}

/* ---------------------------------------------------------------------------
   (5) EDITOR DE ELEMENTOR — que se pueda editar lo que en el front es fijo/oculto
   --------------------------------------------------------------------------- */
.elementor-editor-active .menu-movil,.elementor-editor-active .e-con.menu-movil{position:static;--position:relative;display:flex;min-height:420px;--min-height:420px;inset:auto}
.elementor-editor-active .barra-insc,.elementor-editor-active .e-con.barra-insc{position:static;--position:relative;visibility:visible;transform:none}
.elementor-editor-active .header,.elementor-editor-active .e-con.header{position:static;--position:relative}
.elementor-editor-active .wipe,.elementor-editor-active #progreso{display:none}
.elementor-editor-active .e-con.hero-i>.elementor-widget-html{position:absolute}
.elementor-editor-active .form-ok{display:flex;opacity:.6}

/* ---------------------------------------------------------------------------
   (6) Respeto por prefers-reduced-motion
   El sitio tenia movimiento permanente (marquesinas infinitas, deriva) sin
   ninguna via de escape. Esto lo deja quieto para quien lo pidio en su sistema.
   Ampliado con los bloques nuevos (menu movil de Elementor, cortina, Focus Mode).
   --------------------------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  .cota-carga,.cota-scroll,.flecha-scroll,
  .temario .temario-fila,.temario .temario-fila::before,.temario .temario-fila .num,
  .cinta__pista,.ig-pista,.marca-gigante div,.deriva,
  .rev,.rev-izq,.rev-esc,.anima-1,.anima-2,.anima-3,.anima-4,.aparece-1,.aparece-2,
  .menu-movil.abierto,.e-con.menu-movil.abierto,
  .menu-movil.abierto .menu-movil__link,.menu-movil.abierto .menu-movil__campus,
  .e-con.menu-movil.abierto .menu-movil__nav .elementor-nav-menu li a.elementor-item,
  .e-con.menu-movil.abierto .elementor-widget.menu-movil__campus{
    animation:none!important;clip-path:none!important;opacity:1!important;transform:none!important}
  .temario .temario-fila::before{transform:scaleX(1)!important}
  .temario .temario-fila .num{color:var(--naranja)}
  .temario::after{animation:none!important;transform:scaleY(1)!important}
  .barra-insc,.e-con.barra-insc{transition:none}
  .wipe,body.cargada .wipe,body.saliendo .wipe{transition:none}
  .ig-item img,.ig-item::after{transition:none}
  html{scroll-behavior:auto}
  body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar,
  body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main,
  body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-brand-logo,
  body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-focus-sidebar-trigger .ld-icon{transition:none}
  body.arq .learndash-wrapper .ld-button,body.arq .learndash-wrapper .ld-expand-button,body.arq .learndash-wrapper #learndash_mark_complete_button{transition:none!important}
  body.arq .wc-block-components-button,body.arq .elementor-button{transition:none}
}

/* --- Hero del curso en movil: la grilla naranja se corre fuera del texto -------------
   El estatico la coloca en right:-80px;top:100px;width:320px;opacity:.5, pero .aparece-1
   (fadeIn ... both) termina en opacity:1 y pisa el inline. En escritorio no molesta porque
   cae al costado del titular; en movil se le monta encima y el H1 deja de leerse. Aca se
   la manda a la esquina superior derecha y se le baja la opacidad. */
@media (max-width:880px){
  .hero-c .deco,.e-con.hero-c .deco{top:-30px!important;right:-130px!important;width:240px!important;opacity:.16!important}
  .hero-c__cont,.e-con.hero-c__cont{position:relative;z-index:2}
}

/* Cabecera de Focus: el saludo de LearnDash (.ld-user-welcome-text) crece con el nombre del
   alumno y se monta sobre el enlace "Volver al campus", que va justo antes. Se le da ancho
   propio, se trunca con puntos suspensivos y se separan los bloques. */
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-user-menu{
  flex:0 0 auto!important;display:flex;align-items:center;gap:14px;padding-left:16px;padding-right:16px}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-user-menu .ld-text.ld-user-welcome-text{
  max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .arq-focus-volver{margin-right:18px}
@media (max-width:1280px){
  body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-user-menu .ld-text.ld-user-welcome-text{display:none}
}
@media (max-width:900px){
  body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .arq-focus-volver{font-size:0;margin-right:10px}
  body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .arq-focus-volver::before{content:'\2190';font-size:18px;line-height:1}
}
