/* KM Group v7.4.2: precise header / desktop mega-menu / footer layout.
   Loaded last to avoid collisions with older Woodmart and theme breakpoints. */

/* v7.4.3: Do NOT paint a rail, scrim or shadow underneath the rounded
   navigation card, even when sticky or scrolled. The page is visible around
   the card's rounded corners as intended. */
body.km-service-theme .km-header,
body.km-service-theme .km-header.is-scrolled {
    background: transparent !important;
    padding: 8px 0 0 !important;
    margin: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    isolation: auto;
    transition: none;
}
body.km-service-theme .km-header__frame { position: relative; z-index: 1; }
body.km-service-theme .km-header__card { box-shadow: none; }
body.km-service-theme .km-main { padding-top: 0; }

/* Desktop mega-menu: reserve the top-right corner for the close button, give
   the active heading and section CTA their own flexible row. */
@media (min-width: 768px) {
  .km-mega-menu__canvas { grid-template-columns: minmax(300px, 29%) minmax(0,1fr); }
  .km-mega-menu__content { min-width:0; }
  .km-mega-menu__scroll { padding: 32px 30px 22px; }
  .km-mega-menu__side { padding: 34px 28px 28px; }
  .km-mega-menu__main-nav { gap: clamp(12px,1.8vh,19px); }
  .km-mega-menu__main-nav .km-v72-tab {
      font-size: clamp(23px,2vw,35px);
      line-height:1.12;
      min-height:35px;
      width:100%;
  }
  .km-mega-menu__main-nav .km-v72-tab .km-mega-menu__arrow { width:23px;flex:none; }
  .km-mega-menu__side-links { margin-top:30px; }
  .km-v72-panels { padding-right:0 !important;min-width:0; }
  .km-v72-menu-panel__header {
      padding: 0 150px 18px 0;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      flex-wrap:wrap;
      gap: 12px 22px;
      min-height:58px;
  }
  .km-v72-menu-panel__header>span {
      min-width:0;
      font-size:clamp(24px,2.6vw,37px);
      line-height:1.1;
      overflow-wrap:anywhere;
  }
  .km-v72-menu-panel__header>a {
      position:relative;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      white-space:nowrap;
      flex:none;
      min-height:44px;
      padding:10px 17px;
      margin:0;
      font-size:12px;
      transition:background .18s ease,transform .18s ease;
  }
  .km-v72-menu-panel__header>a:hover { background:#fff;transform:translateY(-1px); }
  .km-v72-menu-panel__grid { padding:22px 0 18px; }
  .km-v72-menu-panel__group { min-width:0; }
  .km-v72-menu-panel__group a { overflow-wrap:anywhere; }
  .km-mega-menu__close--desktop { top:18px !important;right:18px !important; }
  .km-mega-menu__contact-strip { gap:8px; }
  .km-mega-menu__contact-strip>div { min-width:0;padding:17px;min-height:108px; }
  .km-mega-menu__contact-strip a { overflow-wrap:normal;white-space:nowrap;font-size:clamp(17px,1.62vw,26px); }
  .km-mega-menu__contact-strip span { font-size:11px; }
}
@media (min-width:768px) and (max-width:1199px) {
  .km-v72-menu-panel__header { padding-right:0; }
  .km-mega-menu__scroll { padding:95px 22px 18px; }
  .km-mega-menu__main-nav .km-v72-tab { font-size:clamp(20px,2.4vw,28px); }
  .km-mega-menu__contact-strip>div { padding:12px;min-height:90px; }
  .km-mega-menu__contact-strip a { font-size:clamp(13px,1.7vw,20px); }
}
@media (min-width:1200px) and (max-height:700px) {
  .km-mega-menu__scroll { padding-top:84px; }
  .km-mega-menu__side { padding-top:24px; }
  .km-mega-menu__main-nav { gap:9px; }
  .km-mega-menu__side-links { margin-top:18px; }
}
/* Change panels without moving the surrounding layout; no animations on mobile. */
@media (min-width:768px) and (prefers-reduced-motion:no-preference) {
  .km-mega-menu.is-open .km-v72-menu-panel:not([hidden]) {
     animation:km742-panel-appear .22s ease-out both;
  }
  @keyframes km742-panel-appear { from {opacity:.5;transform:translateY(5px)}to {opacity:1;transform:none} }
}

/* Footer desktop: company identity shares a baseline / vertical centre with
   legal links. The address no longer sits below the logo and company name. */
@media (min-width:1024px) {
  .km-footer .km-footer__nav-grid,
  .km-footer .km-footer__phones,
  .km-footer .km-footer__bottom { padding-left: clamp(20px,2vw,32px);padding-right:clamp(20px,2vw,32px); }
  .km-footer .km-footer__nav-grid { grid-template-columns:1.12fr 1fr 1fr .88fr;gap:clamp(18px,3vw,54px); }
  .km-footer .km-footer__bottom {
      display:grid;
      grid-template-columns:minmax(0,1fr) auto;
      align-items:center;
      justify-content:stretch;
      gap:22px;
      min-height:106px;
      padding-top:22px;
      padding-bottom:22px;
  }
  .km-footer .km-footer__identity {
      display:flex;
      align-items:center;
      justify-content:flex-start;
      gap:clamp(14px,2vw,30px);
      min-width:0;
      flex-wrap:wrap;
  }
  .km-footer .km-footer__identity>a { flex:none;display:inline-flex;align-items:center;gap:12px; }
  .km-footer .km-footer__identity>span {
      min-width:0;
      display:inline-flex;
      align-items:center;
      padding-left:clamp(14px,2vw,24px);
      border-left:1px solid rgba(255,255,255,.16);
      font-size:13px;
      line-height:1.45;
      color:rgba(255,255,255,.75);
  }
  .km-footer .km-footer__legal {
      display:flex;
      flex-wrap:wrap;
      justify-content:flex-end;
      align-content:center;
      align-items:center;
      gap:11px 18px;
      max-width:min(100%,720px);
      margin:0;
      line-height:1.35;
  }
  .km-footer .km-footer__legal a { white-space:nowrap; }
}
@media (min-width:1024px) and (max-width:1399px) {
  .km-footer .km-footer__bottom { grid-template-columns:1fr;row-gap:14px; }
  .km-footer .km-footer__legal { justify-content:flex-start;max-width:none; }
}
@media (max-width:1023px) {
  .km-footer .km-footer__identity { display:flex;align-items:flex-start;flex-direction:column;gap:12px; }
  .km-footer .km-footer__bottom { align-items:flex-start;gap:18px; }
  .km-footer .km-footer__legal { justify-content:flex-start; }
}
@media (max-width:767px) {
  body.km-service-theme .km-header,
  body.km-service-theme .km-header.is-scrolled { padding:4px 0 0 !important; }
  .km-footer .km-footer__bottom { padding-left:16px;padding-right:16px; }
}
@media (prefers-reduced-motion:reduce) {
  .km-header,.km-v72-menu-panel__header>a { transition:none!important; }
}

/* Low-key footer entrance, only for elements explicitly registered by JS. */
@media (prefers-reduced-motion:no-preference) {
  .km-footer .km742-reveal { opacity:0; transform:translateY(12px);transition:opacity .42s ease var(--km742-delay,0ms),transform .42s ease var(--km742-delay,0ms); }
  .km-footer .km742-reveal.is-visible { opacity:1;transform:none; }
}
