.mobile-menu-toggle{
  display:none;
}

.nav-item:focus-within .dropdown{
  display:block;
}

/* Let the compact footer breathe on tablets and small laptops. */
@media(max-width:1300px){
  footer .footer-feature-grid,
  footer .footer-column{
    min-width:0;
  }

  footer .footer-contact-entry{
    flex-wrap:wrap !important;
  }
}

@media(max-width:1100px){
  html{
    scroll-padding-top:84px;
  }

  body{
    overflow-x:hidden;
  }

  .navbar{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    width:100%;
    min-height:76px;
    height:76px !important;
    padding:8px 14px !important;
    gap:0 !important;
    box-sizing:border-box;
    box-shadow:0 4px 18px rgba(31,60,77,.08);
    z-index:10000;
  }

  .navbar .logo{
    position:static !important;
    left:auto !important;
    transform:none !important;
    order:1 !important;
    display:flex !important;
    align-items:center;
    justify-content:center;
    margin:0;
  }

  .navbar .logo img{
    display:block;
    width:112px !important;
    max-width:112px !important;
    max-height:60px;
    object-fit:contain;
  }

  .mobile-menu-toggle{
    position:absolute;
    top:16px;
    left:14px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    padding:0;
    gap:5px;
    border:0;
    border-radius:12px;
    background:#1f3c4d;
    cursor:pointer;
    transform:none;
    z-index:10004;
  }

  .mobile-menu-toggle span{
    display:block;
    width:21px;
    height:2px;
    border-radius:2px;
    background:#fff;
    transition:transform .2s ease, opacity .2s ease;
  }

  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }

  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){
    opacity:0;
  }

  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }

  .navbar .site-language-switcher,
  .navbar .language-switcher{
    position:absolute !important;
    top:18px !important;
    right:12px !important;
    left:auto !important;
    order:initial !important;
    padding:3px !important;
    transform:none !important;
    z-index:10004;
  }

  .navbar .site-language-switcher button,
  .navbar .language-switcher button{
    min-width:34px;
    min-height:34px;
    padding:6px 9px !important;
    font-size:12px !important;
  }

  .navbar .menu-left,
  .navbar .menu-right,
  .navbar > .menu{
    position:static !important;
    left:auto !important;
    right:auto !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    width:100%;
    gap:0 !important;
    box-sizing:border-box;
  }

  .navbar.mobile-nav-ready .menu-left,
  .navbar.mobile-nav-ready .menu-right,
  .navbar.mobile-nav-ready > .menu{
    display:none !important;
  }

  .navbar.mobile-menu-open{
    height:auto !important;
    min-height:76px;
    padding-bottom:16px !important;
    justify-content:flex-start !important;
  }

  .navbar.mobile-menu-open .logo{
    margin-bottom:8px;
  }

  .navbar.mobile-nav-ready.mobile-menu-open .menu-left,
  .navbar.mobile-nav-ready.mobile-menu-open .menu-right,
  .navbar.mobile-nav-ready.mobile-menu-open > .menu{
    display:flex !important;
  }

  .navbar .menu-left{
    order:2 !important;
  }

  .navbar .menu-right{
    order:3 !important;
  }

  .navbar > .menu{
    order:2 !important;
  }

  .navbar .menu-left > a,
  .navbar .menu-right > a,
  .navbar .nav-item > a,
  .navbar > .menu > a{
    display:block !important;
    width:100% !important;
    min-height:44px;
    padding:12px 12px !important;
    border-top:1px solid #dceaf1;
    box-sizing:border-box;
    color:#1f3c4d !important;
    font-size:16px !important;
    line-height:20px;
    text-align:left !important;
    white-space:normal !important;
  }

  .navbar .nav-item{
    display:block;
    width:100%;
  }

  .navbar.mobile-menu-open .dropdown{
    position:static !important;
    display:block !important;
    width:100%;
    min-width:0 !important;
    margin:0 0 4px !important;
    border-radius:10px;
    background:#f2f8fb;
    box-shadow:none !important;
    transform:none !important;
  }

  .navbar.mobile-menu-open .dropdown a{
    min-height:42px;
    padding:11px 22px !important;
    color:#37586f !important;
    font-size:14px !important;
    text-align:left !important;
  }
}

@media(max-width:780px){

  .page-title,
  .page-header h1{
    font-size:32px !important;
    line-height:1.15;
  }

  main{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .section-card{
    margin:20px 14px !important;
    padding:22px 18px !important;
    border-radius:14px !important;
  }

  .updates-section,
  .archive-section,
  .gallery{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .updates-grid,
  .archive-grid,
  .gallery,
  .certificate-grid,
  .team-grid,
  .details-grid,
  .facility-links,
  .equipment-gallery{
    grid-template-columns:1fr !important;
  }

  .update-card,
  .archive-card,
  .product-card,
  .team-card,
  .certificate-card{
    width:100%;
    max-width:none;
    box-sizing:border-box;
  }

  .update-card:hover,
  .archive-card:hover,
  .product-card:hover{
    transform:none !important;
  }

  footer{
    margin-top:48px;
  }

  footer .footer-wrapper{
    padding-left:0 !important;
    padding-right:0 !important;
  }

  footer .footer-logo{
    flex:0 0 auto !important;
  }

  footer .footer-contact-entry{
    flex-direction:column;
    align-items:center;
    gap:4px !important;
  }

  footer .footer-contact-entry strong,
  footer .footer-contact-entry a,
  footer .footer-contact-entry span{
    width:100%;
    white-space:normal !important;
    overflow-wrap:anywhere;
  }

  footer .footer-contact-entry > * + *::before{
    display:none !important;
    content:none !important;
  }

  footer .footer-address-grid{
    display:none !important;
  }

  .team-card .team-info{
    width:100%;
    min-width:0;
  }

  .team-card a{
    overflow-wrap:anywhere;
    word-break:break-word;
  }

  .map-block{
    width:100% !important;
    min-width:0 !important;
  }

  .modal,
  .news-modal,
  .archive-modal{
    align-items:center !important;
    padding:8px !important;
  }

  .modal-box,
  .modal-box.product-detail-modal,
  .news-modal-box,
  .archive-modal-box{
    width:100% !important;
    max-width:none !important;
    max-height:calc(100dvh - 16px) !important;
    border-radius:18px !important;
    overscroll-behavior:contain;
  }

  .product-detail-modal .modal-inner,
  .news-modal-inner,
  .archive-modal-inner{
    padding:18px 16px 26px !important;
  }

  .product-detail-modal #modalImage{
    width:auto !important;
    max-width:100% !important;
    max-height:150px !important;
    margin:0 auto 10px !important;
  }

  .product-detail-modal #modalTitle{
    font-size:28px !important;
    line-height:1.1;
  }

  .product-detail-modal #modalSubtitle{
    margin-bottom:14px !important;
    font-size:16px !important;
  }

  .cod-sections{
    gap:12px !important;
  }

  .cod-section{
    padding:14px 12px !important;
  }

  .cod-packaging{
    padding:11px 12px !important;
  }

  .close-btn,
  .news-close-btn,
  .archive-close-btn{
    position:sticky !important;
    top:8px !important;
    float:none !important;
    display:flex;
    width:42px !important;
    height:42px !important;
    margin:8px 8px 0 auto !important;
    font-size:29px !important;
  }
}

@media(max-width:420px){
  .navbar .logo img{
    width:102px !important;
  }

  .page-title,
  .page-header h1{
    font-size:29px !important;
  }

  .product-card{
    height:auto !important;
    min-height:370px;
  }

  .product-detail-modal .modal-inner,
  .news-modal-inner,
  .archive-modal-inner{
    padding:14px 12px 22px !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .mobile-menu-toggle span,
  .product-card,
  .product-card img,
  .see-products,
  .product-filters button,
  .modal-box{
    animation:none !important;
    transition:none !important;
  }
}
