/* Shared responsive shell. Loaded last by static pages and the PHP renderer. */
body.duilink-theme { --dui-header-height:72px; }
body.duilink-theme .topbar {position:sticky;top:0;z-index:45;}
body.duilink-theme .topbar .topbarInner {display:flex;justify-content:space-between;gap:12px;min-height:72px;padding:10px clamp(12px,3vw,32px);box-sizing:border-box;}
body.duilink-theme .topbar .topbarActions {display:flex!important;align-items:center;flex-wrap:nowrap;width:auto;max-width:none;gap:8px;}
body.duilink-theme .topbar .brandLogo {width:132px;max-width:100%;}
body.duilink-theme .topbar .loginBtn {min-width:0;max-width:180px;min-height:44px;padding:8px 10px;box-sizing:border-box;}
body.duilink-theme .topbar .loginBtn span {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body.duilink-theme .topbar svg {width:20px;height:20px;flex-shrink:0;}
body.duilink-theme .topbar .langSwitch {display:flex;gap:4px;}
body.duilink-theme .languageMenu {position:relative;flex-shrink:0;}
body.duilink-theme .languageMenu summary {display:flex;align-items:center;gap:5px;min-height:44px;padding:6px 9px;box-sizing:border-box;cursor:pointer;font-size:13px;font-weight:750;list-style:none;border:1px solid var(--dui-border);border-radius:12px;}
.languageMenu summary::-webkit-details-marker {display:none;}
.languageMenu summary::after {content:'\2304';}
body.duilink-theme .languageOptions {position:absolute;right:0;top:calc(100% + 8px);width:152px;padding:6px;background:var(--dui-surface);border:1px solid var(--dui-border);border-radius:14px;box-shadow:0 12px 32px #0002;}
body.duilink-theme .languageOptions a {display:flex;align-items:center;gap:8px;padding:10px;min-height:44px;box-sizing:border-box;border-radius:8px;color:var(--dui-text);text-decoration:none;}
.languageOptions a[aria-current] {font-weight:800;background:var(--dui-surface-2);}
body.duilink-theme .duiTopNav {position:sticky;top:var(--dui-header-height);box-sizing:border-box;display:flex;flex-wrap:wrap;overflow:visible;z-index:39;}
body.duilink-theme .navToggle {display:none;}
body.duilink-theme .cartHeaderLink,body.duilink-theme .globalCartBtn {display:flex;align-items:center;gap:4px;min-height:44px;padding:7px 9px;box-sizing:border-box;flex-shrink:0;}
body.duilink-theme .globalCartLabel {display:none;}
body.duilink-theme main [id] {scroll-margin-top:calc(var(--dui-header-height) + 70px);}
body.duilink-theme .configPreviewColumn {top:calc(var(--dui-header-height) + 76px);}
body.duilink-theme .configLayout > *,body.duilink-theme .configControls {min-width:0;}
body.duilink-theme .configControls input:not([type=checkbox]):not([type=radio]) {max-width:100%;box-sizing:border-box;}
body.duilink-theme .configHero h1 {overflow-wrap:anywhere;}
body.duilink-theme .configHero > div {min-width:0;}
body.duilink-theme .configHero .productEyebrow {max-width:100%;width:auto;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;}
body.duilink-theme .configHero p {overflow-wrap:anywhere;}
body.duilink-theme .configGuarantee summary {cursor:pointer;min-height:44px;}
body.duilink-theme .configPreviewLabel span,body.duilink-theme .configControlIntro>span {color:var(--dui-text);}
body.duilink-theme .customConfigurator > .shopNotice {padding:16px;margin-bottom:24px;}
@media(max-width:719px){
 body.duilink-theme .topbar .topbarInner {min-height:64px;gap:8px;flex-wrap:wrap;}
 body.duilink-theme .topbar .brandLogo {width:100px;}
 body.duilink-theme .topbar .topbarActions {gap:4px;flex:0 1 auto;}
 body.duilink-theme .topbar .loginBtn {max-width:82px;font-size:13px;padding:8px;gap:4px;}
 body.duilink-theme .topbar .loginBtn svg {display:none;}
 body.duilink-theme .topbar [data-header-logout] .loginBtn svg {display:block;}
 body.duilink-theme .topbarActions:has([data-header-logout]) {flex-wrap:wrap;justify-content:flex-end;}
 body.duilink-theme .topbarActions [data-header-logout] {flex-shrink:0;}
 body.duilink-theme .topbar .langSwitch .langBtn {min-width:36px;padding:6px;}
 body.duilink-theme .duiTopNav {position:relative;top:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;}
 body.duilink-theme .duiTopNav .duiNav {white-space:normal;min-width:0;font-size:13px;min-height:44px!important;}
 body.duilink-theme .navToggle {display:flex;align-items:center;justify-content:space-between;grid-column:1/-1;width:100%;min-height:44px;border:0;background:transparent;color:var(--dui-text);font:inherit;font-size:14px;font-weight:750;padding:8px 12px;cursor:pointer;}
 body.duilink-theme .duiTopNav.isCollapsible:not(.isOpen) .duiNav {display:none;}
 body.duilink-theme .configPreviewColumn {position:static;}
 body.duilink-theme .productHero h1 {font-size:clamp(32px,9vw,48px);line-height:1.08;}
 body.duilink-theme .productActions .btn {min-width:0;white-space:normal;}
 body.duilink-theme .comparison {min-width:0;table-layout:fixed;font-size:12px;}
 body.duilink-theme .comparison th,body.duilink-theme .comparison td {padding:10px 4px;overflow-wrap:anywhere;}
 body.duilink-theme .comparison th:first-child {width:31%;}
}

/* Unified header navigation used across the homepage, tutorial, login and shop. */
body.duilink-theme .topbar .topbarInner{align-items:center;}
body.duilink-theme .topbar .duiTopNav{position:static;top:auto;display:flex;flex:1 1 auto;align-items:center;justify-content:center;gap:clamp(2px,1vw,12px);width:auto;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;backdrop-filter:none;}
body.duilink-theme .topbar .duiTopNav .duiNav{min-height:42px;padding:8px 10px;border-color:transparent;border-radius:10px;background:transparent;box-shadow:none;color:var(--dui-text);font-size:14px;font-weight:750;white-space:nowrap;}
body.duilink-theme .topbar .duiTopNav .duiNav:hover{background:var(--dui-surface-2);border-color:var(--dui-border);color:var(--dui-text);transform:none;}
@media(max-width:719px){
 body.duilink-theme .topbar .duiTopNav{order:3;flex:1 0 100%;width:100%;margin:0;padding:0;}
 body.duilink-theme .topbar .duiTopNav .duiNav{min-height:44px;padding:8px 10px;white-space:normal;}
}

/* Compact menu beside the brand and persistent mobile card preview. */
body.duilink-theme .navToggle{display:none}
@media(max-width:900px){
 body.duilink-theme .topbar .topbarInner{position:relative;display:flex!important;flex-wrap:nowrap!important;align-items:center;justify-content:flex-start;gap:10px;min-height:60px;padding-left:clamp(10px,3vw,18px);padding-right:clamp(10px,3vw,18px);box-sizing:border-box}
 body.duilink-theme .topbar .brand{flex:0 0 auto}
 body.duilink-theme .topbar .brandLogo{width:clamp(80px,24vw,96px)}
 body.duilink-theme .navToggle{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;min-height:38px;margin:0;padding:0;border:1px solid var(--dui-border);border-radius:11px;background:var(--dui-surface);color:var(--dui-text);cursor:pointer}
 body.duilink-theme .navToggle svg{display:block;width:20px;height:20px}
 body.duilink-theme .topbar .topbarActions{flex:0 1 auto!important;flex-wrap:nowrap!important;align-items:center;min-width:0;margin-left:auto;gap:5px}
 body.duilink-theme .topbar .topbarActions>.loginBtn{display:flex;align-items:center;justify-content:center;min-width:36px;width:auto;height:38px;min-height:38px;padding:0 7px;border-radius:11px;font-size:12px;line-height:1}
 body.duilink-theme .topbar .topbarActions>.loginBtn svg{display:none}
 body.duilink-theme .topbar .topbarActions>[data-header-logout] button{display:grid;place-items:center;width:36px;height:38px;min-height:38px;padding:0;border-radius:11px}
 body.duilink-theme .topbar .topbarActions>[data-header-logout] button svg{width:18px;height:18px}
 body.duilink-theme .topbar .globalCartBtn,body.duilink-theme .topbar .cartHeaderLink{display:flex;align-items:center;justify-content:center;gap:3px;min-width:50px;width:auto;height:38px;min-height:38px;padding:0 6px;border-radius:999px}
 body.duilink-theme .topbar .globalCartBtn svg,body.duilink-theme .topbar .cartHeaderLink svg{width:17px;height:17px}
 body.duilink-theme .topbar .globalCartCount{min-width:18px;height:18px;padding:0 4px;font-size:10px}
 body.duilink-theme .topbar .languageMenu{flex:0 0 auto}
 body.duilink-theme .topbar .languageMenu summary{justify-content:center;gap:2px;width:38px;height:38px;min-height:38px;padding:0;border-radius:11px;font-size:11px}
 body.duilink-theme .topbar .languageMenu summary::after{font-size:10px}
 body.duilink-theme .topbar .duiTopNav{position:absolute!important;top:100%;left:0;right:0;z-index:46;display:none!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:auto;max-width:none;margin:0;padding:10px;border:1px solid var(--dui-border);border-radius:0 0 16px 16px;background:var(--dui-surface);box-shadow:0 12px 24px rgba(16,24,32,.14)}
 body.duilink-theme .topbar .duiTopNav.isOpen{display:grid!important}
 body.duilink-theme .topbar .duiTopNav .duiNav{display:flex;min-height:42px;padding:8px 10px;white-space:normal}
 body.duilink-theme .customConfigurator .configLayout{display:contents}
 body.duilink-theme .customConfigurator .configPreviewColumn{display:block;position:static;padding-top:clamp(220px,calc((100vw - 28px)*.64 + 40px),340px)}
 body.duilink-theme .customConfigurator .configPreviewFrame{position:fixed!important;top:var(--dui-header-height,64px)!important;left:50%;z-index:38;width:min(calc(100vw - 28px),460px);margin:0;padding:8px;transform:translateX(-50%);border-radius:16px;background:var(--dui-surface);box-shadow:0 8px 22px rgba(15,23,42,.14)}
 body.duilink-theme .customConfigurator .configPreview{width:100%;margin:0 auto}
 body.duilink-theme .customConfigurator .configPreview .goldCardScene{width:100%;max-width:100%}
}
@media(max-width:359px){
 body.duilink-theme .topbar .topbarInner{gap:7px;padding-left:9px;padding-right:9px}
 body.duilink-theme .topbar .brandLogo{width:clamp(74px,22vw,80px)}
 body.duilink-theme .navToggle{flex-basis:36px;width:36px;height:36px;min-height:36px}
 body.duilink-theme .topbar .topbarActions{gap:4px}
 body.duilink-theme .topbar .topbarActions>.loginBtn{min-width:34px;height:36px;min-height:36px;padding:0 5px}
 body.duilink-theme .topbar .topbarActions>[data-header-logout] button,body.duilink-theme .topbar .languageMenu summary{width:34px;height:36px;min-height:36px}
 body.duilink-theme .topbar .globalCartBtn,body.duilink-theme .topbar .cartHeaderLink{min-width:46px;height:36px;min-height:36px;padding:0 5px}
}
