/* Public navigation only. Desktop begins at 1024px; tablets use the drawer. */
/* Homepage palette shared by every public page. */
body.tz-public{background:#F7F8FA;--tz-blue:#0F2747;--tz-blue-dark:#0F2747;--tz-orange:#F97316;--tz-orange-hover:#EA580C;--tz-border:#E5E7EB;--tz-muted:#667085;--tz-primary:#0F2747;--tz-primary-hover:#EA580C;--tz-primary-soft:#FFF4EB}
body.tz-public :is(.tz-public-header,.tz-public-nav-submenu,.tz-public-drawer,.tz-public-nav-icon){background:#FFFFFF;border-color:#E5E7EB;color:#111827}
body.tz-public :is(.tz-public-nav-link,.tz-public-nav-group>summary,.tz-public-nav-submenu a,.tz-public-nav-login,.tz-public-account-links a){color:#0F2747}
body.tz-public :is(.tz-public-nav-group.is-current>summary,.tz-public-nav-link[aria-current],.tz-public-nav-submenu a[aria-current]){background:#FFF4EB;color:#0F2747}
body.tz-public .tz-public-nav-cta{background:#0F2747;border-color:#0F2747;color:#FFFFFF}
body.tz-public .tz-public-nav-cta:hover{background:#EA580C;border-color:#EA580C;color:#FFFFFF}
body.tz-public a:hover{text-decoration:none}
body.tz-public :is(.tz-public-nav-group>summary,.tz-public-nav-link,.tz-public-nav-submenu a,.tz-public-nav-login,.tz-public-account-links a,.tz-public-nav-icon):hover{background:transparent;color:var(--tz-orange-hover);font-weight:700;text-decoration:none}
body.tz-public .tz-public-nav-language button:hover{background:transparent;border-color:var(--tz-orange-hover);color:var(--tz-orange-hover);font-weight:700}
body.tz-public{font-family:var(--font-sans);line-height:1.6;color:#1f2937}
.tz-public-header{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid #e6e9ed;color:#27364a}
.tz-public-header-inner{display:flex;align-items:center;gap:24px;min-height:76px}
.tz-public-brand{display:flex;align-items:center;flex-shrink:0;text-decoration:none}
.tz-public-brand :is(img,svg){display:block;width:140px;height:40px;object-fit:contain}
.tz-public-desktop-nav{display:flex;align-items:center;justify-content:center;gap:4px;flex:1;min-width:0}
.tz-public-desktop-actions{display:flex;align-items:center;gap:12px;margin-left:auto}
.tz-public-nav-group{position:relative;border:0;margin:0;padding:0}
.tz-public-nav-group summary,.tz-public-nav-link{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:44px;padding:10px;font-size:14px;font-weight:500;line-height:1.4;color:#27364a;cursor:pointer;list-style:none;text-decoration:none;border-radius:8px}
.tz-public-nav-group summary::-webkit-details-marker{display:none}
.tz-public-nav-group summary .tz-icon{width:16px;height:16px;transition:transform 160ms ease}
.tz-public-nav-group[open]>summary .tz-icon{transform:rotate(180deg)}
.tz-public-nav-group.is-current>summary,.tz-public-nav-link[aria-current],.tz-public-nav-submenu a[aria-current]{color:#103566;background:#edf3fa;font-weight:600}
.tz-public-nav-submenu{position:absolute;top:calc(100% + 8px);left:0;min-width:220px;display:flex;flex-direction:column;gap:2px;padding:8px;background:#fff;border:1px solid #e6e9ed;border-radius:10px;box-shadow:0 6px 18px rgb(16 53 102 / 8%)}
.tz-public-nav-group:not([open])>.tz-public-nav-submenu{display:none}
.tz-public-nav-submenu a{display:block;padding:10px 12px;font-size:14px;line-height:1.4;color:#27364a;border-radius:6px;text-decoration:none}
.tz-public-nav-login,.tz-public-nav-cta{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:600;line-height:1.4;text-decoration:none;white-space:nowrap;cursor:pointer}
.tz-public-nav-login{background:transparent;color:#27364a;border:1px solid transparent}
.tz-public-nav-cta{background:#103566;border:1px solid #103566;color:#fff}
.tz-public-nav-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:#fff;color:#27364a;border:1px solid #e6e9ed;border-radius:8px;cursor:pointer;flex-shrink:0}
.tz-public-menu-open{display:none;margin-left:auto}
.tz-public-header :is(a,button,summary):focus-visible,.tz-public-drawer :is(a,button,summary):focus-visible{outline:2px solid #2f6ab3;outline-offset:3px}
.tz-public-drawer:not([open]){display:none}
.tz-public-drawer{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;box-sizing:border-box;background:#fff;color:#27364a;box-shadow:none;overscroll-behavior:contain}
.tz-public-drawer[open]{display:flex;flex-direction:column;animation:tz-public-drawer-in 160ms ease-out}
.tz-public-drawer::backdrop{background:rgb(15 23 42 / 40%)}
.tz-public-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;min-height:68px;box-sizing:border-box;border-bottom:1px solid #e6e9ed;flex-shrink:0}
.tz-public-drawer-body{display:flex;flex-direction:column;overflow-y:auto;flex:1;min-height:0;padding:16px 20px max(20px,env(safe-area-inset-bottom));gap:20px}
.tz-public-mobile-nav{display:flex;flex-direction:column;gap:4px}
.tz-public-mobile-nav :is(summary,.tz-public-nav-link){min-height:50px;box-sizing:border-box;padding:12px;font-size:15px}
.tz-public-mobile-nav .tz-public-nav-submenu{position:static;min-width:0;border:0;box-shadow:none;border-radius:0;background:transparent;padding:0 0 8px 12px}
.tz-public-mobile-nav .tz-public-nav-submenu a{min-height:44px;box-sizing:border-box;display:flex;align-items:center}
.tz-public-drawer-account{display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:1px solid #e6e9ed}
.tz-public-drawer-account:has(> a.tz-public-nav-login){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tz-public-drawer-account :is(.tz-public-nav-cta,.tz-public-nav-login){width:100%;box-sizing:border-box;min-height:48px}
.tz-public-drawer-account .tz-public-nav-login{border:1px solid #0F2747;color:#0F2747;background:#FFFFFF}
.tz-public-drawer-account form{margin:0}
.tz-public-account-links{display:flex;flex-direction:column;gap:4px}
.tz-public-account-links a{color:#27364a;text-decoration:none;min-height:48px;display:flex;align-items:center;padding:0 12px;border-radius:8px;font-size:14px}
.tz-public-nav-language{display:flex;gap:8px;margin-top:auto;padding-top:16px;border-top:1px solid #e6e9ed}
.tz-public-nav-language button{flex:1;min-height:44px;padding:10px 8px;font-size:13px;background:#fff;color:#526176;border:1px solid #e6e9ed;border-radius:8px;cursor:pointer}
.tz-public-nav-language button[aria-pressed=true]{background:#edf3fa;color:#103566;border-color:#a4bbd7;font-weight:600}
html.tz-public-nav-locked,html.tz-public-nav-locked body{overflow:hidden;overscroll-behavior:none}
@media(hover:hover){
    .tz-public-nav-group summary:hover,.tz-public-nav-link:hover,.tz-public-nav-submenu a:hover,.tz-public-nav-login:hover,.tz-public-account-links a:hover,.tz-public-nav-icon:hover{background:#f0f4f8;color:#103566}
    .tz-public-nav-cta:hover{background:#245e9b;border-color:#245e9b;color:#fff}
    .tz-public-nav-language button:hover{border-color:#103566;color:#103566}
}
@media(max-width:1023px){.tz-public-desktop-nav,.tz-public-desktop-actions{display:none}.tz-public-menu-open{display:inline-flex}.tz-public-header-inner{min-height:68px;gap:16px}.tz-public-header-inner.wrap{padding-inline:20px}}
@keyframes tz-public-drawer-in{from{transform:translateX(24px);opacity:0}to{transform:translateX(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.tz-public-drawer[open]{animation:none}.tz-public-nav-group summary .tz-icon{transition:none}}
.tz-public-nav-group-link{flex:1;color:inherit;text-decoration:none}
.tz-public-nav-group-link:hover{color:inherit;text-decoration:none}
.tz-public-help-links{display:flex;flex-wrap:wrap;gap:8px;padding-top:16px;padding-bottom:0}
@media(max-width:1023px){.tz-public-help-links{padding-inline:20px}}

/* Animated underline is reserved for the primary public page links. */
body.tz-public :is(.tz-public-nav-group>summary,.tz-public-nav-link,.tz-public-nav-submenu a,.tz-public-nav-login,.tz-public-account-links a,.tz-public-nav-icon):hover{text-decoration:none}
body.tz-public .tz-public-nav-link{position:relative;text-decoration:none}
body.tz-public .tz-public-nav-link::after{content:"";position:absolute;right:10px;bottom:5px;left:10px;height:2px;border-radius:999px;background:var(--tz-orange-hover);transform:scaleX(0);transform-origin:left center;transition:transform 180ms ease}
body.tz-public .tz-public-nav-link:hover::after,body.tz-public .tz-public-nav-link:focus-visible::after{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){body.tz-public .tz-public-nav-link::after{transition:none}}
