/* Compatibility fixes: preserve the existing blue/white visual identity. */
html { scroll-padding-top: 120px; }
body { overflow-wrap: break-word; }
body img, body video { max-width: 100%; }
body a:focus-visible, body button:focus-visible, body input:focus-visible, body select:focus-visible, body textarea:focus-visible { outline: 3px solid #ec9700 !important; outline-offset: 4px; }
.gvn-skip-link { position: fixed; top: -100px; left: 16px; z-index: 100000; padding: 12px 18px; background: #fff; color: #0050b5; }
.gvn-skip-link:focus { top: 12px; }
.gvn-sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
body .gvn-hero-title { font-size: 42px; color: white; font-weight: 600; margin: 0; line-height: 1.2; }
.gvn-category-nav ul { list-style: none; padding: 0; margin: 0; }
.gvn-category-nav ul ul { padding: 2px 0 8px 14px; }
.gvn-category-nav li { float: none; }
.gvn-category-nav a { display: block; padding: 10px 9px; border-bottom: 1px solid #eef0f2; color: #3c4a5c; line-height: 1.5; }
.gvn-category-nav a[aria-current="page"] { background: #eef4fc; color: #0050b5; font-weight: 600; border-radius: 5px; }
.gvn-category-filter { border: 1px solid #e4e9ef; border-radius: 8px; overflow: visible; }
.gvn-category-filter > summary { padding: 13px 14px; color: #233d5c; font-size: 15px; font-weight: 600; line-height: 1.5; cursor: pointer; }
.gvn-category-filter > summary::marker { color: #0050b5; }
.gvn-category-filter > summary:focus-visible { outline: 3px solid #ec9700; outline-offset: 3px; }
.gvn-category-filter[open] > summary { border-bottom: 1px solid #e8edf3; }
.gvn-category-filter .gvn-category-nav { padding: 6px; }
.gvn-category-filter .gvn-category-nav a { padding: 10px; font-size: 13px; overflow-wrap: anywhere; border-bottom: 0; border-radius: 5px; }
.gvn-category-filter .gvn-category-nav a:hover { background: #f3f6fa; color: #0050b5; }
.gvn-category-filter .gvn-category-nav ul ul { padding: 2px 0 6px 10px; margin-left: 10px; border-left: 1px solid #e0e7f0; }
.gvn-results-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 20px; }
.gvn-results-toolbar .gvn-result-count { margin: 0; }
.gvn-results-toolbar > a { font-size: 13px; color: #0050b5; text-decoration: underline; }
.gvn-result-count { font-size: 13px; color: #637083; }
.gvn-products .gvn-product-cards { display: flex; flex-wrap: wrap; }
.gvn-products .itemunits-wrapper { display: flex; }
.itemunits-card { background: #fff; border: 1px solid #eef0f2; border-radius: 12px; padding: 20px; position: relative; display: flex; flex-direction: column; width: 100%; height: 100%; transition: box-shadow .2s; }
.itemunits-card:hover { box-shadow: 0 10px 20px rgba(0,0,0,.05); border-color: #dce0e5; }
.itemunits-brand-badge { position: absolute; top: 15px; right: 15px; background: #0050b5; color: #fff; font-size: 11px; padding: 4px 10px; border-radius: 6px; z-index: 1; }
.itemunits-thumb { display: flex; align-items: center; justify-content: center; min-height: 200px; margin-bottom: 20px; padding: 10px; }
.itemunits-thumb img { display: block; width: 100%; height: 200px; object-fit: contain; }
.itemunits-details { margin-top: auto; }
.itemunits-sku-badge { background: #eef2ff; color: #0050b5; font-size: 12px; font-weight: 600; padding: 4px 12px; border-radius: 20px; display: inline-block; }
body .itemunits-title { font-size: 16px; line-height: 1.5; font-weight: 500; color: #0a0a30; margin: 12px 0 8px; }
.itemunits-title a { color: inherit; }
.itemunits-title a:hover { color: #0050b5; }
.itemunits-category, .itemunits-subtitle { font-size: 13px; line-height: 1.5; color: #566477; margin: 0 0 6px; }
.gvn-image-placeholder { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 180px; background: #f5f7fa; border-radius: 8px; padding: 15px; color: #66758b; font-size: 13px; text-align: center; }
.gvn-image-large { min-height: 350px; }
.gvn-products .pagination { display: block; }
.gvn-products .pagination ul, .gvn-news .pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; list-style: none; padding: 0; }
.gvn-products .pagination li, .gvn-news .pagination li { float: none; }
.gvn-products .pagination a, .gvn-news .pagination a { display: block; padding: 10px 14px; }
.gvn-product-detail .gvn-detail-grid { display: flex; flex-wrap: wrap; margin-bottom: 40px; }
.gvn-product-detail .product-head { font-size: clamp(24px,3vw,36px) !important; line-height: 1.3 !important; margin-top: 12px; }
.gvn-product-detail .product-image img { width: 100%; height: 420px; object-fit: contain; display: block; }
.gvn-image-list { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 16px 0; }
.gvn-image-list li { float: none; }
.gvn-gallery-thumb { padding: 5px; background: #fff; border: 1px solid #dce2ea; border-radius: 6px; }
.gvn-gallery-thumb img { width: 96px; height: 80px; object-fit: contain; }
body .gvn-detail-tabs > input[type="radio"] { display: block; position: absolute; width: 1px; height: 1px; opacity: 0; }
.gvn-detail-tabs > input:focus-visible + label { outline: 3px solid #ec9700; outline-offset: 2px; }
.gvn-detail-tabs .tab-panel { overflow-x: auto; }
.gvn-richtext { line-height: 1.7; }
.gvn-richtext table { border-collapse: collapse; width: 100%; }
.gvn-richtext th, .gvn-richtext td { border: 1px solid #dce2ea; padding: 10px; }
.gvn-table-scroll { max-width: 100%; overflow-x: auto; }
.gvn-document-table { width: 100%; border-collapse: collapse; }
.gvn-document-table th, .gvn-document-table td { text-align: left; border-bottom: 1px solid #dce2ea; padding: 14px 12px; color: #233650; }
.gvn-download { display: inline-block; padding: 9px 15px; background: #edf4fc; color: #0050b5; border-radius: 6px; white-space: nowrap; }
.gvnfooter .footer-links h2 { margin-bottom: 10px; font-weight: 600; font-size: 15px; font-family: Urbane,sans-serif; color: #fff; }
body .footer-links { gap: clamp(25px,7vw,120px); }
body .gvnfooter { padding: 70px max(24px,6vw); }
body .footer-conference img { width: 220px; height: auto; }
body .hamburger-icon { border: 0; background: transparent; }
body .mobile-menu-overlay .close-btn { border: 0; background: transparent; color: inherit; }
.mobile-menu-overlay[aria-hidden="true"] { visibility: hidden; }
.mobile-menu-overlay.active[aria-hidden="false"] { visibility: visible; }
body .mobile-menu-overlay { overflow-y: auto; overscroll-behavior: contain; max-width: 100vw; }
body.gvn-menu-open { overflow: hidden !important; }
body .primary > li:focus-within > ul { display: block; }
body .primary ul.sub { max-height: calc(100vh - 140px); overflow-y: auto; }
body .gvn-current-language { display: inline-block; padding: 15px; color: #1e344d; }
body .gvn-news-image { width: 100%; height: auto; aspect-ratio: 16/10; object-fit: cover; }
.gvn-news .gvn-news-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.gvn-news .gvn-news-card { display: flex; float: none; min-width: 0; margin: 0; padding: 0; }
.gvn-news .gvn-news-card .post-wrap { display: flex; flex-direction: column; width: 100%; min-width: 0; height: auto; margin: 0 !important; padding: 0; border: 1px solid #e4e9ef; border-radius: 8px; overflow: hidden; }
.gvn-news .gvn-news-card .post-wrap > a { display: block; }
.gvn-news .gvn-news-card .post-text { display: flex; flex: 1; flex-direction: column; gap: 14px; width: auto; height: auto !important; min-height: 0; max-height: none; padding: 24px; border: 0; }
.gvn-news .gvn-news-card h2 { font-size: 21px; line-height: 1.4; margin: 0; overflow-wrap: anywhere; }
.gvn-news .gvn-news-card h2 a { color: #0050b5; font-size: inherit; line-height: inherit; }
.gvn-news .gvn-news-card p { color: #526276; font-size: 14px; line-height: 1.7; margin: 0; overflow-wrap: anywhere; }
.gvn-news .gvn-news-card .gvn-news-readmore { align-self: flex-start; margin-top: auto; padding: 8px 0 0; color: #0050b5; font-size: 14px; font-weight: 500; line-height: 1.5; }
.gvn-news .gvn-news-readmore:hover { text-decoration: underline; }
.gvn-news .gvn-news-grid > .gvn-news-empty { grid-column: 1 / -1; }
.gvn-news .gvn-news-sidebar { min-width: 0; }
body .gvn-news-detail { max-width: 960px; margin: 0 auto; }
body .gvn-news-detail h1 { font-size: clamp(25px,4vw,42px); line-height: 1.25; }
body #loader-overlay { pointer-events: none; animation: gvn-loader-dismiss .1s 2s forwards; }
@keyframes gvn-loader-dismiss { to { opacity: 0; visibility: hidden; } }
@media (max-width: 1024px) {
  body .mobile-menu-toggle { display: flex !important; }
  body .mobile-menu-overlay { display: flex !important; justify-content: flex-start; padding-top: 75px; }
  body #navbar-collapse, body #attr-nav { display: none !important; }
  body .mobile-menu-toggle { justify-content: space-between; align-items: center; padding: 12px 20px; }
}
@media (min-width: 1025px) {
  body .mobile-menu-toggle { display: none !important; }
  body #navbar-collapse { display: block !important; }
}
@media (max-width: 991px) {
  .gvn-category-filter .gvn-category-nav { max-height: 280px; overflow-y: auto; overscroll-behavior: contain; }
  .gvn-news .gvn-news-grid { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 767px) {
  html { scroll-padding-top: 85px; }
  body .title-hero-bg { min-height: 250px; }
  body .title-hero-bg h1, body .gvn-hero-title { font-size: 29px; line-height: 1.25; }
  body .font-main { font-size: 32px; line-height: 1.2; }
  body .gvnfooter { padding: 44px 22px; }
  body .footer-top { gap: 28px; }
  body .footer-conference { padding: 0; }
  body .footer-links { gap: 28px; }
  body .issue { width: 100%; padding-left: 0; }
  body .maincontactslider-container { max-width: calc(100vw - 32px); right: 16px; bottom: 16px; }
  .gvn-product-detail .product-image img { height: 300px; }
  .gvn-detail-tabs > label { padding: 14px 9px; font-size: 13px; }
  .gvn-detail-tabs .tab-panel { padding: 20px 15px; }
  .gvn-document-table th, .gvn-document-table td { padding: 12px 6px; font-size: 13px; }
  .gvn-products .mt-40 { margin-top: 25px; }
  .gvn-news .gvn-news-grid { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .gvn-news .gvn-news-card .post-text { padding: 20px; }
  .gvn-news .gvn-news-sidebar { margin-top: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
