/* ISOS site-wide polish for Elementor layouts */
:root { --isos-navy: #23246b; --isos-blue: #1b75bc; --isos-gold: #f7c600; }

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* Header */
.isos-header-main .elementor-nav-menu--main .elementor-item { white-space: nowrap; }
.isos-header-main .elementor-nav-menu--dropdown .sub-menu { min-width: 250px !important; }
.isos-header-main .isos-menu-acsos > .sub-menu { max-height: 70vh; overflow-y: auto; }
.isos-menu-new > a::after {
  content: "NEW"; display: inline-block; margin-left: 8px; padding: 2px 6px; border-radius: 4px;
  background: var(--isos-gold); color: var(--isos-navy); font-size: 10px; font-weight: 800; letter-spacing: .05em; vertical-align: middle;
}
.elementor-sticky--effects.isos-header-main { box-shadow: 0 10px 30px rgba(20, 24, 60, .12) !important; }

/* Slides */
.isos-slide-eyebrow {
  display: inline-block; margin-bottom: 14px; padding: 6px 12px; border-radius: 999px; background: rgba(247, 198, 0, .16);
  color: var(--isos-gold); font: 700 12px/1.2 Inter, sans-serif; letter-spacing: .14em; text-transform: uppercase;
}
.elementor-slides .elementor-slide-description p { margin: 0; }
.elementor-slides .swiper-slide-inner { text-shadow: 0 2px 18px rgba(0, 0, 0, .25); }
.elementor-slides .elementor-slide-button { box-shadow: 0 10px 24px rgba(0, 0, 0, .2); }

/* Page heroes */
.isos-page-hero .elementor-widget-text-editor p { margin: 0; }
.isos-page-hero em { color: #ffe27a; font-style: italic; }

/* Countdown */
.elementor-countdown-item { backdrop-filter: blur(4px); }

/* Media carousel on dark band */
.isos-years .elementor-swiper-button { background: rgba(255, 255, 255, .14); border-radius: 50%; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; }

/* Footer */
.isos-footer-logo img { filter: brightness(0) invert(1); opacity: .95; }
.isos-footer a { transition: color .15s; }

/* Image boxes as cards */
.elementor-widget-image-box .elementor-image-box-img img { border-radius: 12px; aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.elementor-widget-image-box .elementor-image-box-img { width: 100% !important; }

/* Contact map */
.isos-map iframe { border-radius: 16px; }

/* Posts cards */
.elementor-posts--skin-cards .elementor-post__card { border-radius: 14px; box-shadow: 0 10px 30px rgba(20, 24, 60, .08); }

@media (max-width: 767px) {
  .isos-counters .elementor-counter-number-wrapper { font-size: 34px !important; }
  .isos-home-hero .elementor-slide-heading { font-size: 30px !important; }
}
