/* ================================================================
   BaltiCo v0.16 – iPad/iPhone hardening layer
   Loaded after all previous responsive styles.
   ================================================================ */

html,
body {
  max-width: 100%;
  overflow-x: clip;
}

:root {
  --safe-left: env(safe-area-inset-left, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
}

/* ---------- iPad / compact navigation ---------- */
@media (max-width: 1100px) {
  :root { --header-height: 80px; }

  .site-header__inner {
    padding-left: var(--safe-left);
    padding-right: var(--safe-right);
  }

  .site-nav {
    -webkit-overflow-scrolling: touch;
  }

  .site-nav__list {
    width: min(100%, 760px);
    margin-inline: auto;
  }

  .site-nav__item > a:not(.button),
  .submenu-toggle {
    min-height: 58px;
  }

  .site-nav__item > a:not(.button) {
    line-height: 1.35;
  }

  .site-nav__item.is-submenu-open > .sub-menu {
    animation: baltico-submenu-reveal 180ms ease-out both;
  }

  .career-page__layout,
  .career-single-layout,
  .news-overview {
    grid-template-columns: 1fr;
  }

  .career-single-aside {
    position: static;
  }

  .news-overview__features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-gallery__slide {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .service-gallery__media {
    min-height: 420px;
  }

  .service-gallery__copy {
    padding-block: 0;
  }

  .service-gallery__viewport {
    min-height: 0;
  }

  .content-drawer-layer {
    top: 0;
  }
}

@keyframes baltico-submenu-reveal {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ---------- iPad portrait and large phones ---------- */
@media (max-width: 820px) {
  .container {
    width: min(calc(100% - 44px), var(--container));
  }

  .news-overview__features,
  .news-more {
    grid-template-columns: 1fr;
  }

  .career-sidebar {
    grid-template-columns: 1fr;
  }

  .career-sidebar__intro,
  .career-apply-card,
  .career-single-aside {
    max-width: none;
  }

  .site-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-sibling-nav,
  .news-tabs {
    scroll-snap-type: x proximity;
  }

  .service-sibling-nav > ul > li,
  .news-tabs__button {
    scroll-snap-align: start;
  }
}

/* ---------- iPhone / mobile Safari ---------- */
@media (max-width: 600px) {
  :root { --header-height: 72px; }

  .container {
    width: min(calc(100% - 32px), var(--container));
  }

  .site-header__inner {
    min-height: var(--header-height);
  }

  .site-logo img {
    width: 104px;
  }

  .nav-toggle {
    min-width: 46px;
    min-height: 46px;
  }

  .site-nav {
    top: calc(var(--header-height) + var(--admin-bar-offset));
    padding-top: 14px;
    padding-inline: max(16px, var(--safe-left)) max(16px, var(--safe-right));
    padding-bottom: max(28px, calc(18px + var(--safe-bottom)));
  }

  .site-nav__item > a:not(.button),
  .submenu-toggle {
    min-height: 54px;
  }

  .site-nav__item > a:not(.button) {
    font-size: 17px;
  }

  .sub-menu {
    padding-left: 10px;
  }

  .sub-menu a {
    padding-block: 9px;
    font-size: 15px;
  }

  .site-header.is-mobile-compact .nav-toggle {
    top: calc(var(--admin-bar-offset) + max(10px, env(safe-area-inset-top, 0px)));
    right: max(12px, calc(10px + var(--safe-right)));
  }

  .hero,
  .hero__inner {
    min-height: auto;
  }

  .hero__inner {
    padding-block: 52px 58px;
  }

  .hero h1,
  .service-detail-hero h1,
  .career-page__header h1,
  .article-hero h1,
  .about-deck__title,
  .about-deck__title--contacts {
    hyphens: auto;
    overflow-wrap: break-word;
    word-break: normal;
    text-wrap: balance;
  }

  .service-sibling-nav-wrap {
    overflow: hidden;
  }

  .service-sibling-nav {
    margin-inline: -16px;
    padding-inline: 16px;
  }

  .service-sibling-nav > ul > li:first-child {
    margin-left: 0;
  }

  .service-gallery__viewport {
    width: 100%;
  }

  .service-gallery__media {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .service-gallery__controls {
    gap: 10px;
  }

  .service-gallery__dots {
    min-width: 0;
    gap: 7px;
  }

  .service-gallery__dots button {
    width: 9px;
    height: 9px;
  }

  .contact-card,
  .career-apply-card,
  .career-apply-card--single {
    overflow: hidden;
  }

  .baltico-form-slot,
  .baltico-form-slot .forminator-ui,
  .baltico-form-slot .forminator-custom-form,
  .baltico-form-slot .forminator-row,
  .baltico-form-slot .forminator-col,
  .baltico-form-slot [class*="forminator-col-"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .baltico-form-slot input,
  .baltico-form-slot textarea,
  .baltico-form-slot select {
    font-size: 16px !important;
  }

  .baltico-form-slot .forminator-consent,
  .baltico-form-slot label.forminator-checkbox,
  .baltico-form-slot .forminator-checkbox {
    grid-template-columns: 20px minmax(0, 1fr) !important;
    column-gap: 10px !important;
  }

  .career-card,
  .news-list-card {
    grid-template-columns: 1fr;
  }

  .career-card__media,
  .news-list-card__image {
    min-height: 0;
    aspect-ratio: 16 / 8.5;
  }

  .career-card__body,
  .news-list-card__content {
    padding: 18px;
  }

  .news-list-card__content > p:not(.news-card__meta) {
    display: block;
  }

  .about-deck-keyfacts > div {
    grid-template-columns: 92px minmax(0, 1fr);
  }

  .map-embed {
    min-height: 290px;
  }

  .site-footer__grid {
    grid-template-columns: 1fr;
  }

  .site-footer__bottom {
    padding-bottom: max(18px, var(--safe-bottom));
  }

  .content-drawer-panel__topbar {
    padding-top: env(safe-area-inset-top, 0px);
    height: calc(62px + env(safe-area-inset-top, 0px));
  }

  .content-drawer-panel__content {
    padding-top: calc(92px + env(safe-area-inset-top, 0px));
    padding-right: max(18px, var(--safe-right));
    padding-left: max(18px, var(--safe-left));
    padding-bottom: max(48px, calc(28px + var(--safe-bottom)));
  }

  .content-drawer-article__title {
    font-size: clamp(2rem, 10vw, 2.9rem);
  }

  .vbk-wrap,
  .vbk-panel,
  .vbk-form,
  .vbk-tw {
    max-width: 100%;
  }

  .vbk-tw {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 390px) {
  .container { width: min(calc(100% - 26px), var(--container)); }
  .contact-card,
  .career-apply-card,
  .career-apply-card--single { padding-inline: 15px; }
  .service-gallery__media { aspect-ratio: 1 / 1; }
  .accordion__item summary { padding-right: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  .site-nav__item.is-submenu-open > .sub-menu { animation: none; }
}

/* Calculator form lives on a light card; override the white-on-blue Forminator
   consent defaults from the contact/application forms. */
.vbk-form .baltico-form-slot,
.vbk-form .baltico-form-slot .forminator-label,
.vbk-form .baltico-form-slot .forminator-consent__label,
.vbk-form .baltico-form-slot .forminator-checkbox__label,
.vbk-form .baltico-form-slot .forminator-checkbox-label,
.vbk-form .baltico-form-slot .forminator-description {
  color: var(--color-text-secondary) !important;
}

.vbk-form .baltico-form-slot .forminator-checkbox-box {
  border-color: rgba(6,24,38,.36) !important;
  background: #fff !important;
}

.vbk-form .baltico-form-slot a {
  color: var(--color-primary) !important;
}
