/* Aiero owns the visual system; local refinements fit Polish navigation and forms. */
.logo-link img { width: 200px; height: auto; max-width: 100%; padding: 6px; border-radius: 8px; background: #fff; box-sizing: border-box; }
.elementor-widget-aiero_team_members .team-item-media img { width: 100%; aspect-ratio: .81; object-fit: cover; }
.artsystem-footer-logo { width: 210px; max-width: 100%; height: auto; padding: 8px; background: #fff; border-radius: 8px; }
@media (max-width: 575px) { .logo-link img { width: 170px; } }
@media (min-width: 1365px) {
  /* Keep Aiero's original 105px header rhythm with the wider ARTSYSTEM logo. */
  .header .header-icons-container { margin-left: 16px; margin-right: 16px; }
  .header .logo-container { margin: 0 8px 0 16px; }
  .header .logo-link img { width: 180px; }
  .header .header-button-container { margin-left: 8px; margin-right: 8px; }
  .header #mega-menu-wrap-main { min-width: 0; }
  .header #mega-menu-wrap-main #mega-menu-main { white-space: nowrap; }
  .header #mega-menu-wrap-main #mega-menu-main ul.mega-sub-menu { white-space: normal; }
  /* MMM anchors the panel to the header; cap and centre it without altering
     its native fade/slide transform or keyboard interactions. */
  .header #mega-menu-wrap-main #mega-menu-main > li.mega-menu-megamenu > ul.mega-sub-menu {
    max-width: 1180px;
    margin-left: max(0px, calc((100vw - 1220px) / 2));
  }
  .header #mega-menu-wrap-main #mega-menu-main > li.mega-menu-flyout:last-child > ul.mega-sub-menu { left: auto; right: 0; }
  .header #mega-menu-wrap-main #mega-menu-main .mega-artsystem-menu-column-heading > a.mega-menu-link { font-weight: 600; }
}
@media (min-width: 1600px) {
  .header #mega-menu-wrap-main #mega-menu-main > li.mega-menu-item > a.mega-menu-link { padding-left: 18px; padding-right: 18px; }
}
@media (max-width: 1364px) {
  .mobile-header-menu-container #mega-menu-wrap-main #mega-menu-main ul.mega-sub-menu a.mega-menu-link {
    font-size: 16px;
    line-height: 24px;
    min-height: 44px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}
.artsystem-native-cta { display: block; color: inherit; text-decoration: none; }
.artsystem-native-cta:hover { color: inherit; text-decoration: none; }
.artsystem-native-cta:focus-visible { outline: 2px solid #45d0bd; outline-offset: 5px; }
.artsystem-calculator { --as-calc-accent: #45d0bd; }
.artsystem-calculator__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 64px); align-items: start; }
.artsystem-calculator__fields { display: grid; gap: 26px; }
.artsystem-calculator__field > label { display: block; font-weight: 600; }
.artsystem-calculator__field > span { display: block; margin: 4px 0 12px; font-size: .875em; }
.artsystem-calculator__controls { display: grid; grid-template-columns: minmax(0, 1fr) 90px; align-items: center; gap: 18px; }
.artsystem-calculator input[type="range"] { width: 100%; min-height: 44px; margin: 0; accent-color: var(--as-calc-accent); cursor: pointer; }
.artsystem-calculator input[type="number"] { width: 100%; min-height: 48px; padding: 10px; text-align: center; color: inherit; border: 1px solid #666; border-radius: 8px; background: transparent; }
.artsystem-calculator input:focus-visible { outline: 2px solid var(--as-calc-accent); outline-offset: 4px; }
.artsystem-calculator__summary { padding: clamp(20px, 3vw, 36px); border: 1px solid #666; border-radius: 20px; }
.artsystem-calculator__total { display: block; margin: 4px 0 24px; font-size: clamp(32px, 4vw, 54px); line-height: 1.15; font-weight: 600; overflow-wrap: anywhere; }
.artsystem-calculator__summary dl { margin: 0 0 24px; }
.artsystem-calculator__summary dl > div { display: flex; gap: 16px; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid #555; }
.artsystem-calculator__summary dt { font-weight: 400; }
.artsystem-calculator__summary dd { margin: 0; text-align: right; white-space: nowrap; }
.artsystem-calculator__summary .aiero-button { max-width: 100%; }
@media (max-width: 767px) {
  .artsystem-calculator__grid { grid-template-columns: minmax(0, 1fr); }
  .artsystem-calculator__controls { grid-template-columns: minmax(0, 1fr) 76px; gap: 12px; }
}

.elementor-widget-aiero_wpforms .wpforms-field-description a,
.elementor-widget-aiero_wpforms .wpforms-form-description a { color: #186d63; text-decoration: underline; }

/* Keyboard focus follows the selected Aiero palette. */
.header-icon.menu-trigger:focus-visible, .mobile-header-menu-container .menu-close:focus-visible { outline:2px solid #45d0bd; outline-offset:6px; }
#formularz, #jak-zaczynamy { scroll-margin-top:160px; }
@media(max-width:1279px){ #formularz, #jak-zaczynamy { scroll-margin-top:130px; } }
/* ARTSYSTEM accessibility fallback. Aiero 2.1.5 / Aiero Plugin 2.1.5 / Elementor 4.3.6.
 * Load after the parent theme. No changes outside reduced-motion preference.
 */
@media (prefers-reduced-motion: reduce) {
  /* Aiero otherwise leaves letters at opacity:0/translateY(120%),
     subheadings at width:0, and carousel heading wrappers hidden. */
  body:not(.elementor-editor-active) .elementor [data-settings*="aiero_heading_animation"],
  body:not(.elementor-editor-active) .elementor [data-settings*="aiero_heading_animation"] .aiero-heading-inner {
    visibility: visible !important;
  }
  body:not(.elementor-editor-active) .elementor [data-settings*="aiero_heading_animation"] .aiero-heading-content .letter {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  body:not(.elementor-editor-active) .elementor [data-settings*="aiero_heading_animation"] .aiero-subheading-inner > span {
    animation: none !important;
    width: auto !important;
  }
  /* Decorative moving text remains in its original box. */
  body:not(.elementor-editor-active) .elementor-widget-aiero_special_text .special-text-wrapper.animated .special-text {
    animation: none !important;
    transform: none !important;
  }
  /* The existing wrapper already owns the same static background image. */
  body:not(.elementor-editor-active) .elementor-section .flowmap-deformation-wrapper canvas {
    display: none !important;
  }
  /* Source-backed image tilt; dimensions and object-fit remain native. */
  body:not(.elementor-editor-active) .elementor-widget-image.elementor-image-scroll-animation-on img {
    transform: none !important;
    will-change: auto !important;
  }
  /* The six industry cards use Team Members, not the sticky project widget. */
  body:not(.elementor-editor-active) .elementor-widget-aiero_team_members .team-item-media img {
    transition: none !important;
    object-position: top right !important;
  }
  body:not(.elementor-editor-active) .elementor-widget-aiero_team_members .team-item-media::before,
  body:not(.elementor-editor-active) .elementor-widget-accordion .elementor-accordion-icon {
    transition: none !important;
  }
}

.artsystem-native-cta .artsystem-process-arrow { display:block; width:18px; height:18px; flex-shrink:0; }
