/* Edufinet Restyle — capa visual suave. Borrar ../edufinet-restyle.php para revertir. */
:root{
	--ef-green:#497525;
	--ef-green-dark:#2F550F;
	--ef-green-deep:#183501;
	--ef-green-soft:#88B266;
	--ef-orange:#E59D51;
	--ef-ink:#1f2d33;
	--ef-ease:cubic-bezier(.22,.61,.36,1);
	--ef-shadow:0 10px 30px rgba(24,53,1,.10);
	--ef-shadow-lg:0 18px 45px rgba(24,53,1,.16);
	--ef-top:var(--wp-admin--admin-bar--height,0px);
}
html{scroll-behavior:smooth;scroll-padding-top:100px}
::selection{background:var(--ef-green-soft);color:#fff}

/* ---------- Header sticky ---------- */
#masthead{
	position:sticky;top:var(--ef-top);z-index:999;
	transition:box-shadow .35s var(--ef-ease);
	margin-bottom:2.5rem;
}
#masthead .elementor-73 .elementor-element-0a085d4{--margin-top:0px!important;--margin-bottom:0px!important;margin:0!important;transition:padding .35s var(--ef-ease)}
#masthead{background:#fff}
#masthead.is-scrolled{box-shadow:0 6px 24px rgba(24,53,1,.09)}

#masthead .jet-logo__img{transition:width .35s var(--ef-ease),max-width .35s var(--ef-ease)}
@media (min-width:1025px){
	#masthead.is-scrolled .elementor-73 .elementor-element-0a085d4{padding-top:6px!important;padding-bottom:6px!important}
	#masthead.is-scrolled .jet-logo__img{width:170px!important;max-width:170px!important}
}

/* Nav escritorio: subrayado animado */
#masthead .elementor-element-3b3339a .menu-item-link-top{position:relative}
#masthead .elementor-element-3b3339a .menu-item-link-top::after{
	content:"";position:absolute;left:50%;right:50%;bottom:2px;height:2px;border-radius:2px;
	background:var(--ef-green);transition:left .3s var(--ef-ease),right .3s var(--ef-ease);
}
#masthead .elementor-element-3b3339a .menu-item:hover>.menu-item-link-top::after,
#masthead .elementor-element-3b3339a .current-menu-item>.menu-item-link-top::after{left:11px;right:11px}
#masthead .menu-item-link-top{transition:color .2s}

/* ---------- Botones ---------- */
.elementor-button,.jet-form-builder__submit,.wpforms-submit{
	transition:transform .18s var(--ef-ease),background-color .18s!important;
}
.elementor-button:hover,.jet-form-builder__submit:hover,.wpforms-submit:hover{
	transform:translateY(-1px);
}
.elementor-button:active{transform:translateY(0)}
#masthead .elementor-element-f6ccdb6 a,#masthead .elementor-button{border-radius:999px!important}

/* ---------- Tarjetas e imágenes ---------- */
.elementor-widget-image-box .elementor-image-box-wrapper,
.elementor-widget-jet-listing-grid .jet-listing-grid__item>*,
.jet-team-member,.elementor-widget-call-to-action .elementor-cta{
	transition:transform .35s var(--ef-ease),box-shadow .35s var(--ef-ease);
}
.elementor-widget-jet-listing-grid .jet-listing-grid__item>*:hover,
.jet-team-member:hover,.elementor-widget-call-to-action .elementor-cta:hover{
	transform:translateY(-4px);box-shadow:var(--ef-shadow-lg);
}
.jet-listing-grid__item img,.jet-team-member img,.elementor-widget-image-box img{transition:transform .6s var(--ef-ease)}
.jet-listing-grid__item:hover img,.jet-team-member:hover img,.elementor-widget-image-box:hover img{transform:scale(1.04)}
.jet-listing-grid__item figure,.jet-listing-grid__item .jet-listing-dynamic-image{overflow:hidden}

a{transition:color .2s}
.elementor-widget-text-editor a{text-underline-offset:3px}

/* ---------- Revelado al hacer scroll ---------- */
.ef-js .ef-reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ef-ease),transform .8s var(--ef-ease);transition-delay:var(--ef-delay,0s)}
.ef-js .ef-reveal.is-in{opacity:1;transform:none}

/* ---------- Menú móvil ---------- */
@media (max-width:767px){
	html,body{overflow-x:clip}
	#masthead .elementor-73 .elementor-element-0a085d4{padding-top:10px!important;padding-bottom:10px!important}
	#masthead .elementor-73 .elementor-element-0a085d4>.e-con-inner{flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important}
	#masthead .jet-logo__img{width:150px!important;max-width:150px!important;height:auto}
	#masthead .elementor-element-0657c74{margin-left:auto}

	/* Botón hamburguesa animado */
	.elementor-element-0657c74 .jet-nav__mobile-trigger{
		position:relative;z-index:1002;width:46px;height:46px;border-radius:50%;
		display:flex!important;align-items:center;justify-content:center;cursor:pointer;
		background:var(--ef-green);box-shadow:0 6px 16px rgba(73,117,37,.32);
		transition:background .3s,transform .2s;-webkit-tap-highlight-color:transparent;
	}
	.elementor-element-0657c74 .jet-nav__mobile-trigger:active{transform:scale(.92)}
	.elementor-element-0657c74 .jet-nav__mobile-trigger .jet-blocks-icon{display:none!important}
	.elementor-element-0657c74 .jet-nav__mobile-trigger::before,
	.elementor-element-0657c74 .jet-nav__mobile-trigger::after{
		content:"";position:absolute;left:14px;right:14px;height:2px;border-radius:2px;background:#fff;transform-origin:50% 50%;margin:0;
		transition:transform .4s var(--ef-ease),box-shadow .3s,top .4s var(--ef-ease);
	}
	.elementor-element-0657c74 .jet-nav__mobile-trigger::before{top:16px;box-shadow:0 6px 0 #fff}
	.elementor-element-0657c74 .jet-nav__mobile-trigger::after{top:28px}
	.elementor-element-0657c74 .jet-mobile-menu-active .jet-nav__mobile-trigger{background:var(--ef-green-deep)}
	.elementor-element-0657c74 .jet-mobile-menu-active .jet-nav__mobile-trigger::before{top:22px;transform:rotate(45deg);box-shadow:none}
	.elementor-element-0657c74 .jet-mobile-menu-active .jet-nav__mobile-trigger::after{top:22px;transform:rotate(-45deg)}

	/* Panel a pantalla completa */
	.elementor-element-0657c74 .menu-mobile-container{
		position:fixed;inset:0;z-index:1001;display:flex!important;flex-direction:column;justify-content:center;
		padding:calc(var(--ef-top) + 90px) 28px 40px;overflow-y:auto;
		background:radial-gradient(120% 80% at 100% 0%,#5f8f3f 0%,var(--ef-green-dark) 45%,var(--ef-green-deep) 100%);
		clip-path:circle(0 at calc(100% - 39px) 37px);visibility:hidden;
		transition:clip-path .6s var(--ef-ease),visibility 0s linear .6s;
	}
	.elementor-element-0657c74 .jet-mobile-menu-active .menu-mobile-container{
		clip-path:circle(150% at calc(100% - 39px) 37px);visibility:visible;
		transition:clip-path .6s var(--ef-ease),visibility 0s;
	}
	.elementor-element-0657c74 .jet-nav{
		display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:2px;
		position:static!important;width:auto!important;max-width:none!important;height:auto!important;
		background:none!important;box-shadow:none!important;padding:0!important;transform:none!important;
	}
	.elementor-element-0657c74 .jet-nav__item{
		opacity:0;transform:translateY(18px);
		transition:opacity .45s var(--ef-ease),transform .45s var(--ef-ease);
	}
	.elementor-element-0657c74 .jet-mobile-menu-active .jet-nav__item{opacity:1;transform:none}
	.elementor-element-0657c74 .jet-mobile-menu-active .jet-nav__item:nth-child(1){transition-delay:.15s}
	.elementor-element-0657c74 .jet-mobile-menu-active .jet-nav__item:nth-child(2){transition-delay:.19s}
	.elementor-element-0657c74 .jet-mobile-menu-active .jet-nav__item:nth-child(3){transition-delay:.23s}
	.elementor-element-0657c74 .jet-mobile-menu-active .jet-nav__item:nth-child(4){transition-delay:.27s}
	.elementor-element-0657c74 .jet-mobile-menu-active .jet-nav__item:nth-child(5){transition-delay:.31s}
	.elementor-element-0657c74 .jet-mobile-menu-active .jet-nav__item:nth-child(6){transition-delay:.35s}
	.elementor-element-0657c74 .jet-mobile-menu-active .jet-nav__item:nth-child(7){transition-delay:.39s}
	.elementor-element-0657c74 .jet-mobile-menu-active .jet-nav__item:nth-child(8){transition-delay:.43s}
	.elementor-element-0657c74 .jet-mobile-menu-active .jet-nav__item:nth-child(n+9){transition-delay:.47s}
	.elementor-element-0657c74 .jet-nav .menu-item-link-top{
		display:flex!important;align-items:center;justify-content:space-between!important;
		padding:13px 4px!important;border-bottom:1px solid rgba(255,255,255,.14);color:#fff!important;
		background:none!important;
	}
	.elementor-element-0657c74 .jet-nav .menu-item-link-top::after{content:"→";opacity:.45;font-size:18px;transition:transform .25s,opacity .25s}
	.elementor-element-0657c74 .jet-nav .menu-item-link-top:active::after{transform:translateX(5px);opacity:1}
	.elementor-element-0657c74 .jet-nav .menu-item-link-top .jet-nav-link-text{
		font-size:22px!important;font-weight:600!important;text-transform:none!important;letter-spacing:-.01em!important;line-height:1.25!important;color:#fff!important;
	}
	.elementor-element-0657c74 .jet-nav .current-menu-item>.menu-item-link-top .jet-nav-link-text{color:#cfe6b8!important}
	.elementor-element-0657c74 .jet-nav .current-menu-item>.menu-item-link-top::after{content:"●";font-size:10px;opacity:1;color:var(--ef-orange)}

	.ef-mobile-cta{
		display:block;margin-top:28px;padding:16px 20px;border-radius:999px;text-align:center;
		background:#fff;color:var(--ef-green-dark)!important;font-weight:700;font-size:16px;text-decoration:none;
		box-shadow:0 10px 26px rgba(0,0,0,.2);opacity:0;transform:translateY(18px);
		transition:opacity .45s var(--ef-ease) .5s,transform .45s var(--ef-ease) .5s;
	}
	.jet-mobile-menu-active .ef-mobile-cta{opacity:1;transform:none}
	html.ef-menu-open,html.ef-menu-open body{overflow:hidden!important}
}

/* ---------- Accesibilidad ---------- */
@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;transition-delay:0s!important}
	.ef-js .ef-reveal{opacity:1;transform:none}
}
@media (max-width:600px){:root{--ef-top:0px}}

/* ---------- Banner de cookies (Complianz): una sola columna ---------- */
#cmplz-cookiebanner-container .cmplz-cookiebanner:not(.cmplz-dismissed):not(.cmplz-hidden){display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;overflow-x:hidden!important}
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-hidden,#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-dismissed{display:none!important}
#cmplz-cookiebanner-container .cmplz-cookiebanner>*{width:100%!important;max-width:100%!important;grid-column:auto!important;box-sizing:border-box!important}
#cmplz-cookiebanner-container .cmplz-header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
#cmplz-cookiebanner-container .cmplz-title{flex:1!important;margin:0!important;text-align:left!important}
#cmplz-cookiebanner-container .cmplz-body{display:block!important;width:100%!important;max-height:none!important;overflow:visible!important}
#cmplz-cookiebanner-container .cmplz-message,#cmplz-cookiebanner-container .cmplz-message *{text-align:left!important}
#cmplz-cookiebanner-container .cmplz-buttons{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:10px!important}
#cmplz-cookiebanner-container .cmplz-btn{width:100%!important;margin:0!important;border-radius:8px!important}
#cmplz-cookiebanner-container .cmplz-documents{justify-content:flex-start!important}
#cmplz-cookiebanner-container .cmplz-documents ul{margin:12px 0 0!important}
@media (max-width:600px){
	#cmplz-cookiebanner-container .cmplz-buttons{grid-template-columns:1fr 1fr!important}
	#cmplz-cookiebanner-container .cmplz-accept{grid-column:1/-1!important}
}
#cmplz-cookiebanner-container .cmplz-header>.cmplz-logo,#cmplz-cookiebanner-container .cmplz-header>:empty:not(.cmplz-close){display:none!important}
#cmplz-cookiebanner-container .cmplz-title{display:block!important;order:0!important}
#cmplz-cookiebanner-container .cmplz-close{order:1!important;flex:0 0 auto!important}
#cmplz-cookiebanner-container .cmplz-header>*:not(.cmplz-title):not(.cmplz-close){display:none!important}
#cmplz-cookiebanner-container .cmplz-header{justify-content:flex-start!important}
#cmplz-cookiebanner-container .cmplz-title{margin-right:auto!important;text-align:left!important;width:auto!important}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header .cmplz-title{margin:0 auto 0 0!important;justify-self:start!important;grid-column:auto!important}
