/* LW Essentials — defaults mirror Elementor Pro's look so converted widgets render the same. */

/* Slides */
.lw-slides { position: relative; overflow: hidden; }
.lw-slides-track { display: flex; transition: transform var(--lw-speed, 500ms) ease; }
.lw-slide { position: relative; flex: 0 0 100%; height: 400px; overflow: hidden; }
.lw-slides.is-fade .lw-slides-track { display: grid; }
.lw-slides.is-fade .lw-slide { grid-area: 1 / 1; opacity: 0; transition: opacity var(--lw-speed, 500ms) ease; }
.lw-slides.is-fade .lw-slide.is-active { opacity: 1; z-index: 1; }
.lw-slide-bg { position: absolute; inset: 0; background-position: center; background-repeat: no-repeat; background-size: cover; }
.lw-ken-burns { transition: transform 10s linear; transform: scale(1); }
.lw-ken-burns-out { transform: scale(1.3); }
.lw-slide.is-active .lw-ken-burns-in { transform: scale(1.3); }
.lw-slide.is-active .lw-ken-burns-out { transform: scale(1); }
.lw-slide-overlay { position: absolute; inset: 0; }
.lw-slide-inner { position: absolute; inset: 0; display: flex; padding: 50px; color: #fff; text-align: center; text-decoration: none; }
a.lw-slide-inner, a.lw-slide-inner:hover { color: #fff; }
.lw-h-left .lw-slide-inner { justify-content: flex-start; }
.lw-h-center .lw-slide-inner { justify-content: center; }
.lw-h-right .lw-slide-inner { justify-content: flex-end; }
.lw-v-top .lw-slide-inner { align-items: flex-start; }
.lw-v-middle .lw-slide-inner { align-items: center; }
.lw-v-bottom .lw-slide-inner { align-items: flex-end; }
.lw-slide-content { max-width: 66%; }
.lw-slide-heading { font-size: 35px; font-weight: 700; line-height: 1; margin-bottom: 30px; color: #fff; }
.lw-slide-description { font-size: 17px; line-height: 1.4; margin-bottom: 30px; color: #fff; }
.lw-slide-heading:last-child, .lw-slide-description:last-child { margin-bottom: 0; }
.lw-slide-button { display: inline-block; padding: 12px 24px; border: 2px solid #fff; border-radius: 3px; color: #fff; background: transparent; font-size: 15px; line-height: 1; text-decoration: none; cursor: pointer; transition: background .3s, color .3s; }
.lw-slide-button:hover { background: #fff; color: #000; }

.lw-slide .lw-slide-content[class*="lw-anim-"] { opacity: 0; }
.lw-slide.is-active .lw-slide-content[class*="lw-anim-"] { animation: lw-fade-in .9s ease .2s forwards; }
.lw-anim-fadeInUp { --lw-from: translate3d(0, 50px, 0); }
.lw-anim-fadeInDown { --lw-from: translate3d(0, -50px, 0); }
.lw-anim-fadeInLeft { --lw-from: translate3d(-50px, 0, 0); }
.lw-anim-fadeInRight { --lw-from: translate3d(50px, 0, 0); }
.lw-anim-zoomIn { --lw-from: scale(.6); }
@keyframes lw-fade-in { from { opacity: 0; transform: var(--lw-from); } to { opacity: 1; transform: none; } }

.lw-slides-arrow { position: absolute; top: 50%; z-index: 2; width: 40px; height: 40px; margin-top: -20px; padding: 6px; border: 0; background: transparent; color: #fff; cursor: pointer; }
.lw-slides-arrow:hover, .lw-slides-arrow:focus { background: transparent; color: #fff; opacity: .8; }
.lw-slides-arrow svg { width: 100%; height: 100%; }
.lw-prev { left: 10px; }
.lw-next { right: 10px; }
.lw-slides-dots { position: absolute; bottom: 15px; left: 0; right: 0; z-index: 2; display: flex; justify-content: center; gap: 8px; }
.lw-dot { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; background: #fff; opacity: .5; cursor: pointer; }
.lw-dot:hover, .lw-dot:focus { background: #fff; }
.lw-dot.is-active { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
	.lw-slides-track, .lw-slide, .lw-ken-burns { transition: none !important; }
	.lw-slide.is-active .lw-slide-content[class*="lw-anim-"] { animation: none; opacity: 1; }
}

/* Form */
.lw-form-fields { display: flex; flex-wrap: wrap; margin: 0 -5px; }
.lw-form-group { box-sizing: border-box; padding: 0 5px; margin-bottom: 10px; }
.lw-col-100 { width: 100%; } .lw-col-75 { width: 75%; } .lw-col-66 { width: 66.666%; } .lw-col-50 { width: 50%; } .lw-col-33 { width: 33.333%; } .lw-col-25 { width: 25%; }
@media (max-width: 1024px) { .lw-col-tablet-100 { width: 100%; } .lw-col-tablet-50 { width: 50%; } .lw-col-tablet-33 { width: 33.333%; } }
@media (max-width: 767px) { .lw-form-group { width: 100%; } .lw-col-mobile-50 { width: 50%; } }
.lw-form-label { display: block; margin-bottom: 3px; }
.lw-form-label.mark-required::after { content: "*"; color: red; padding-left: .2em; }
.lw-form-input { box-sizing: border-box; width: 100%; min-height: 40px; padding: 5px 14px; border: 1px solid #69727d; border-radius: 3px; background: #fff; color: #1f2124; font: inherit; }
textarea.lw-form-input { padding: 10px 14px; }
.lw-form-group.has-error .lw-form-input { border-color: #d63638; }
.lw-form-error { display: block; margin-top: 3px; font-size: 13px; color: #d63638; }
.lw-form-submit { width: 100%; cursor: pointer; }
.lw-form-submit[disabled] { opacity: .6; cursor: wait; }
.lw-form-message { margin-top: 10px; }
.lw-form-message.is-success { color: #46b450; }
.lw-form-message.is-error { color: #d63638; }
.lw-form-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Gallery */
.lw-gallery { display: grid; grid-template-columns: repeat(var(--lw-columns, 4), minmax(0, 1fr)); gap: var(--lw-gap, 10px); }
.lw-gallery-item { display: block; aspect-ratio: var(--lw-ratio, 3 / 2); overflow: hidden; }
.lw-gallery-item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
a.lw-gallery-item:hover img { transform: scale(1.05); }
@media (max-width: 1024px) { .lw-gallery { --lw-columns: 2; } }
@media (max-width: 767px) { .lw-gallery { --lw-columns: 1; } }
