/* Shared navigation: preserve the existing PHP routes and CMS categories. */
.yc-template .site-navigation { --nav-height:88px; background:#fff; border-bottom:1px solid #dce7ee; box-shadow:0 3px 18px #103b5306; }
.site-navigation .header-inner { height:var(--nav-height); gap:30px; }
.site-navigation .brand { gap:12px; }
.site-navigation .brand-logo { width:42px; height:54px; }
.site-navigation .brand strong { font-size:21px; letter-spacing:1px; color:#124d72; }
.site-navigation .brand small { font-size:10px; letter-spacing:2px; color:#647e8e; margin-top:7px; }
#primary-nav { gap:5px; margin-left:auto; font-size:14px; }
#primary-nav .nav-link { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:46px; padding:11px 15px; color:#344e60; border-radius:5px; line-height:1.5; transition:background .18s,color .18s; }
#primary-nav .nav-link:after { display:none; }
#primary-nav .nav-link:hover { color:#075a93; background:#f0f6fa; }
#primary-nav .nav-link[aria-current] { color:#075a93; background:#eaf4fa; font-weight:600; }
#primary-nav .nav-enquiry { margin-left:12px; padding-inline:20px; background:#075a93; color:#fff; }
#primary-nav .nav-enquiry:hover,#primary-nav .nav-enquiry[aria-current] { background:#064b7b; color:#fff; }
#primary-nav .yc-language { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:8px 10px; margin-left:9px; border:0; border-radius:5px; font-size:12px; line-height:1.5; color:#4f6878; }
#primary-nav .yc-language:hover { background:#f0f6fa; color:#075a93; }
#primary-nav .yc-language svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.5; }
#primary-nav .yc-nav-product { position:relative; gap:0; padding:0; border-radius:5px; flex-wrap:nowrap; }
#primary-nav .yc-nav-product:has(.nav-link[aria-current]),#primary-nav .yc-nav-product:has([data-category-toggle][aria-expanded=true]) { background:#eaf4fa; }
#primary-nav .yc-nav-product>.nav-link { padding-right:2px; }
#primary-nav [data-category-toggle] { display:grid; place-items:center; width:32px; min-height:46px; padding:0; border:0; border-radius:5px; color:#075a93; background:transparent; }
#primary-nav [data-category-toggle]:hover { background:#daeaf4; }
#primary-nav [data-category-toggle] svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.6; transition:transform .2s; }
#primary-nav [data-category-toggle][aria-expanded=true] svg { transform:rotate(180deg); }
#primary-nav .yc-nav-product:after { content:""; position:absolute; top:100%; left:0; right:0; height:16px; }
#yc-category-menu { top:calc(100% + 15px); left:-38px; width:350px; max-height:calc(100dvh - 125px); overflow-y:auto; padding:0; border:1px solid #dce7ee; border-top:3px solid #1685ad; border-radius:0 0 9px 9px; background:#fff; box-shadow:0 18px 48px #12394e26; }
.nav-dropdown-heading { padding:22px 24px 15px; }
.nav-dropdown-heading>span { display:block; font-size:17px; color:#173f59; font-weight:600; }
.nav-dropdown-heading small { display:block; font-size:9px; letter-spacing:2px; color:#647f90; margin-top:4px; }
#yc-category-menu a { align-items:center; min-height:50px; padding:13px 24px; margin:0; border:0; font-size:14px; line-height:1.5; gap:14px; }
#yc-category-menu a:hover,#yc-category-menu a[aria-current] { color:#075a93; background:#edf6fb; }
#yc-category-menu .nav-all-products { min-height:44px; padding-top:8px; padding-bottom:15px; color:#075a93; font-size:13px; border-bottom:1px solid #e9eff3; }
.nav-category-number { display:grid; place-items:center; width:29px; height:29px; flex-shrink:0; font:11px "Segoe UI",sans-serif; color:#648294; background:#f0f5f8; border-radius:4px; }
#yc-category-menu .nav-category { justify-content:flex-start; }
.nav-category-arrow { margin-left:auto; }
#yc-category-menu .nav-help { padding:19px 24px; margin-top:9px; border-top:1px solid #e0eaf0; background:#f5f9fc; color:#164e70; }
.nav-help strong { display:block; font-size:14px; font-weight:500; }
.nav-help small { display:block; font-size:12px; color:#5f7b8c; margin-top:5px; }
.nav-mobile-heading,.nav-backdrop { display:none; }
.site-navigation .menu-toggle { border-radius:5px; color:#164e70; }
.site-navigation .menu-toggle [data-menu-label] { font-size:12px; }
.site-navigation .menu-icon { display:flex; flex-direction:column; gap:5px; width:20px; }
.site-navigation .menu-icon>span { display:block; width:20px; height:2px; background:currentColor; border-radius:2px; transition:transform .2s,opacity .2s; }
.site-navigation .menu-toggle[aria-expanded=true] .menu-icon>span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.site-navigation .menu-toggle[aria-expanded=true] .menu-icon>span:nth-child(2) { opacity:0; }
.site-navigation .menu-toggle[aria-expanded=true] .menu-icon>span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
html[lang=en] .site-navigation .brand strong { font-size:21px; letter-spacing:1.5px; }
@media(min-width:961px) and (max-width:1200px) {
 .site-navigation .header-inner { gap:16px; }
 .site-navigation .brand strong { font-size:18px; letter-spacing:.5px; }
 .site-navigation .brand small { font-size:9px; letter-spacing:1px; }
 .site-navigation .brand-logo { width:36px; height:46px; }
 #primary-nav { gap:2px; font-size:13px; }
 #primary-nav .nav-link { padding-inline:10px; }
 #primary-nav .nav-enquiry { margin-left:5px; padding-inline:13px; gap:10px; }
 #primary-nav .yc-language { margin-left:2px; padding-inline:8px; }
 #primary-nav [data-category-toggle] { width:28px; }
 html[lang=en] .site-navigation .brand strong { font-size:18px; }
}
@media(max-width:960px) {
 .yc-template .site-navigation { --nav-height:76px; }
 .site-navigation .header-inner { height:var(--nav-height); gap:14px; }
 .site-navigation .brand strong { font-size:19px; letter-spacing:.5px; }
 .site-navigation .brand-logo { width:35px; height:45px; }
 .site-navigation .brand small { font-size:9px; letter-spacing:1.2px; }
 .site-navigation .menu-toggle { display:flex; justify-content:center; gap:12px; padding:10px 12px; min-height:44px; border:1px solid #dce7ee; background:#f7fafc; flex-shrink:0; }
 #primary-nav { top:var(--nav-height); left:0; right:0; margin:0; padding:18px 24px 24px; gap:5px; max-height:calc(100dvh - var(--nav-height)); overflow-y:auto; overscroll-behavior:contain; background:#fff; border-top:1px solid #edf2f5; border-bottom:1px solid #dce7ee; box-shadow:0 15px 25px #11344d15; }
 #primary-nav.is-open { display:flex; }
 #primary-nav .nav-mobile-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:13px; color:#587889; margin:0 0 8px; padding:0 13px 15px; border-bottom:1px solid #e8eff3; }
 .nav-mobile-heading span { font-size:8px; letter-spacing:1px; }
 #primary-nav .nav-link { justify-content:flex-start; min-height:48px; padding:12px 14px; font-size:15px; }
 #primary-nav .nav-enquiry { justify-content:space-between; margin:9px 0 0; padding-inline:16px; }
 #primary-nav .yc-language { justify-content:flex-start; margin:4px 0 0; padding:10px 14px; min-height:44px; }
 #primary-nav .yc-nav-product { flex-wrap:wrap; }
 #primary-nav .yc-nav-product>.nav-link { flex:1; }
 #primary-nav .yc-nav-product:after { display:none; }
 #primary-nav [data-category-toggle] { width:48px; min-height:48px; }
 #yc-category-menu { position:static; width:100%; max-height:none; margin:2px 0 6px; border:0; border-top:1px solid #deebf3; padding:5px 0 0; border-radius:0 0 5px 5px; background:#f5f9fc; box-shadow:none; overflow:visible; }
 .nav-dropdown-heading { padding:12px 16px 8px; }
 .nav-dropdown-heading>span { font-size:12px; color:#647f90; font-weight:400; }
 .nav-dropdown-heading small { display:none; }
 #yc-category-menu a { padding:10px 16px; min-height:48px; font-size:14px; }
 #yc-category-menu .nav-all-products { padding:9px 16px; min-height:44px; }
 #yc-category-menu .nav-help { padding:14px 16px; margin-top:4px; background:#eaf3f9; }
 .nav-backdrop:not([hidden]) { display:block; position:fixed; inset:76px 0 0; background:#12344955; z-index:40; }
}
@media(max-width:640px) {
 .site-navigation .brand { gap:9px; }
 .site-navigation .brand strong { font-size:16px; letter-spacing:0; }
 .site-navigation .brand small { font-size:8px; letter-spacing:1px; }
 .site-navigation .brand-logo { width:32px; height:41px; }
 .site-navigation .menu-toggle { padding:10px; gap:10px; }
 .site-navigation .menu-toggle [data-menu-label] { display:none; }
 #primary-nav { padding:16px 20px 20px; }
 html[lang=en] .site-navigation .brand strong { font-size:18px; }
 html[lang=en] .site-navigation .brand small { font-size:8px; letter-spacing:.6px; }
}
@media(max-width:360px) {
 .site-navigation .brand strong { font-size:14px; }
 .site-navigation .brand-logo { width:29px; height:37px; }
 .site-navigation .header-inner { gap:10px; }
 html[lang=en] .site-navigation .brand strong { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
 .site-navigation * { transition:none!important; }
}
