/* IESOL × Elementor compatibility.
 * Elementor resets every image inside its layouts (.elementor img { height:auto; border-radius:0; box-shadow:none }).
 * The rules below restore the IESOL image styles inside Elementor pages. Generated from main.css. */
.elementor .banner__products img {max-width: min(100%, 1440px); max-height: 100%; width: auto; height: auto; object-fit: contain; filter: drop-shadow(0 18px 24px rgba(0,0,0,.28));}
.elementor .banner__slide.is-active .banner__products img {animation: productsIn 1s .15s both;}
.elementor .intro__img-a { position: absolute; top: 0; right: 0; width: 76%; height: auto; max-width: none; aspect-ratio: 4/3.2; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.elementor .intro__img-b { position: absolute; bottom: 0; left: 0; width: 56%; height: auto; max-width: none; aspect-ratio: 1/1; object-fit: cover; border-radius: var(--radius-lg); border: 8px solid #fff; box-shadow: var(--shadow-lg); }
.elementor .cat-tile__img {position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .7s ease;}
.elementor .cat-tile:hover .cat-tile__img {transform: scale(1.07);}
.elementor .p-card__img img {width: 100%; height: 100%; object-fit: cover; transition: transform .5s;}
.elementor .p-card:hover .p-card__img img {transform: scale(1.05);}
.elementor .dept img {width: 100%; aspect-ratio: 4/3; object-fit: cover;}
.elementor .founder-strip__photo img {position: relative; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; border-radius: 50%; box-shadow: var(--shadow-lg);}
.elementor .entry-content img, .elementor .entry-content .wp-block-image img {border-radius: var(--radius-lg);}
.elementor .entry-content .img-tall img {width: 100%; aspect-ratio: 5 / 4; object-fit: cover; box-shadow: var(--shadow-lg);}
.elementor .entry-content .img-portrait img {width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 15%; box-shadow: var(--shadow-lg);}
.elementor .entry-content .img-poster img {width: auto; max-width: 100%; max-height: 640px; margin-inline: auto; border-radius: var(--radius); box-shadow: var(--shadow-lg);}
.elementor .entry-sections .cards--image .wp-block-image img {width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0; box-shadow: none;}
.elementor .memorial__ring img {position: relative; width: 100%; height: 100%; object-fit: cover; object-position: center; border-radius: 50%; display: block;}
.elementor .product-hero__media img {width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg);}
.elementor .brochure img {width: 100%;}
.elementor .v-card__img img {width: 100%; height: 100%; object-fit: cover; transition: transform .5s;}
.elementor .v-card:hover .v-card__img img {transform: scale(1.04);}
.elementor .lightbox img {max-height: 92vh; width: auto; border-radius: 8px;}
@media (max-width: 782px) { .elementor .banner__products img {max-width: none; max-height: none; height: 100%; width: auto;} }
@media (max-width: 781px) { .elementor .entry-sections .split .img-poster img {max-height: 460px;} }

/* Section wrappers added by Elementor stay invisible around IESOL blocks. */
.elementor-widget[class*="elementor-widget-iesol-"] { margin-block-end: 0 !important; width: 100%; }

.elementor .banner__slide--wide .banner__products img { width: 100%; max-width: none; height: auto; max-height: none; flex: none; }
