/* Editor Fácil – web pública */
.ef-zona { position: relative; }
.ef-zona.ef-flash { outline: 4px solid #f5a623; outline-offset: 6px; border-radius: 4px; transition: outline-color .6s; }

.ef-pencil {
	position: absolute; top: 8px; right: 8px; z-index: 50;
	background: #f5a623; color: #1d1d1d !important; font: 600 14px/1 system-ui, sans-serif;
	padding: 8px 12px; border-radius: 999px; text-decoration: none !important;
	box-shadow: 0 2px 8px rgba(0,0,0,.25); opacity: .92;
}
.ef-pencil:hover { opacity: 1; background: #ffb940; }
.ef-empty { padding: 40px 20px; text-align: center; background: #f4f4f4; border: 2px dashed #bbb; }

/* Slider */
.ef-slider { position: relative; width: 100%; overflow: hidden; border-radius: 4px; background: #e9ecf2; aspect-ratio: var(--ef-r, 16 / 9); }
.ef-track { position: absolute; inset: 0; }
.ef-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .7s ease, visibility 0s linear .7s; }
.ef-slide.is-active { opacity: 1; visibility: visible; transition: opacity .7s ease; z-index: 1; }
.ef-slide picture, .ef-slide-link { display: block; width: 100%; height: 100%; }
.ef-slide .ef-img { display: block; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; }

.ef-cap { position: absolute; inset: 0; display: flex; align-items: flex-end; pointer-events: none;
	background: linear-gradient(to top, rgba(0,0,0,.65) 0%, rgba(0,0,0,.25) 45%, rgba(0,0,0,0) 70%); }
.ef-cap-in { padding: 6% 84px 9%; max-width: 760px; pointer-events: auto; color: #fff; }
.ef-cap-title { color: #fff !important; margin: 0 0 .35em; font-size: clamp(22px, 3.4vw, 44px); line-height: 1.15; text-shadow: 0 2px 6px rgba(0,0,0,.35); }
.ef-cap-text { color: #fff; margin: 0 0 1em; font-size: clamp(14px, 1.5vw, 19px); line-height: 1.45; }
.ef-cap-btn { display: inline-block; background: #f5a623; color: #1d2d79 !important; font-weight: 700; padding: .75em 1.6em; border-radius: 4px; text-decoration: none !important; }
.ef-cap-btn:hover { background: #fff; }

.ef-nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; width: 46px; height: 46px; border: 0; border-radius: 50%;
	background: rgba(255,255,255,.85); color: #1e2d79; font-size: 32px; line-height: 44px; padding: 0; cursor: pointer; box-shadow: 0 2px 8px rgba(0,0,0,.2); }
.ef-nav:hover, .ef-nav:focus-visible { background: #fff; }
.ef-prev { left: 14px; } .ef-next { right: 14px; }
.ef-dots { position: absolute; left: 0; right: 0; bottom: 12px; z-index: 3; display: flex; justify-content: center; gap: 8px; }
.ef-dot { width: 12px; height: 12px; padding: 0; border: 2px solid #fff; border-radius: 50%; background: rgba(255,255,255,.35); cursor: pointer; }
.ef-dot.is-active { background: #fff; }

@media (max-width: 767px) {
	.ef-slider { aspect-ratio: var(--ef-rm, var(--ef-r, 4 / 5)); }
	.ef-nav { width: 36px; height: 36px; font-size: 26px; line-height: 34px; }
	.ef-prev { left: 8px; } .ef-next { right: 8px; }
	.ef-cap-in { padding: 0 52px 38px; }
	.ef-pencil { font-size: 12px; padding: 6px 10px; }
}
@media (prefers-reduced-motion: reduce) { .ef-slide, .ef-slide.is-active { transition: none; } }
