/*
 * Shared Weblatis public header.
 * This file owns the complete header/navigation presentation for every public
 * route. Page-level styles must not be required for the shared chrome to work.
 */
.weblatis-public-ui .site-header{
  font-family:var(--wl-chrome-font);
  line-height:1.6;
}
.weblatis-public-ui .site-header>.container{
  width:min(calc(100% - var(--wl-chrome-gutter,32px)),var(--wl-chrome-container,1240px));
  margin-inline:auto;
}
.weblatis-public-ui .site-header{
  position:sticky;
  inset-block-start:0;
  z-index:100;
  background:color-mix(in srgb,var(--wl-surface) 88%,transparent);
  border-block-end:1px solid color-mix(in srgb,var(--wl-border) 78%,transparent);
  backdrop-filter:blur(18px);
  transition:box-shadow .2s ease,background .2s ease;
}
.weblatis-public-ui .site-header.is-scrolled{box-shadow:var(--wl-shadow-sm,var(--wl-shadow))}
.weblatis-public-ui .site-header .header-shell{
  min-height:var(--header-height,76px);
  display:flex;
  align-items:center;
  gap:var(--space-8,32px);
}

/* Prevent third-party/theme SVG defaults from expanding header icons. */
.weblatis-public-ui .site-header .icon{
  width:20px;
  height:20px;
  min-width:20px;
  max-width:20px;
  flex:none;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.weblatis-public-ui .site-header .icon-xs{
  width:14px;
  height:14px;
  min-width:14px;
  max-width:14px;
}

.weblatis-public-ui .site-header .brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  flex:none;
  color:var(--wl-text);
  text-decoration:none;
}
.weblatis-public-ui .site-header .brand img{width:42px;height:42px;object-fit:contain;flex:none}
.weblatis-public-ui .site-header .brand span{display:grid;line-height:1.05}
.weblatis-public-ui .site-header .brand strong{font-size:20px;letter-spacing:-.04em}
.weblatis-public-ui .site-header .brand small{
  margin-block-start:5px;
  color:var(--wl-muted);
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.weblatis-public-ui .site-header .desktop-nav{
  display:flex;
  align-items:center;
  gap:4px;
  margin-inline:auto;
}
.weblatis-public-ui .site-header .desktop-nav>a,
.weblatis-public-ui .site-header .nav-dropdown>summary{
  display:flex;
  align-items:center;
  gap:6px;
  min-height:44px;
  padding-inline:12px;
  border-radius:var(--wl-radius-sm,10px);
  color:var(--wl-muted);
  font-size:14px;
  font-weight:650;
  line-height:1.25;
  list-style:none;
  cursor:pointer;
  text-decoration:none;
  white-space:nowrap;
}
.weblatis-public-ui .site-header .nav-dropdown>summary::-webkit-details-marker,
.weblatis-public-ui .site-header .header-popover>summary::-webkit-details-marker{display:none}
.weblatis-public-ui .site-header .desktop-nav>a:hover,
.weblatis-public-ui .site-header .nav-dropdown>summary:hover,
.weblatis-public-ui .site-header .nav-dropdown[open]>summary{
  background:color-mix(in srgb,var(--wl-primary) 8%,var(--wl-surface));
  color:var(--wl-primary);
}
.weblatis-public-ui .site-header .nav-dropdown>summary .icon{transition:transform .2s ease}
.weblatis-public-ui .site-header .nav-dropdown[open]>summary .icon{transform:rotate(90deg)}
html[dir="rtl"] .weblatis-public-ui .site-header .nav-dropdown[open]>summary .icon{transform:rotate(-90deg)}

.weblatis-public-ui .site-header .nav-dropdown{position:relative}
.weblatis-public-ui .site-header .mega-menu{
  position:absolute;
  inset-block-start:calc(100% + 12px);
  inset-inline-start:0;
  z-index:150;
  width:280px;
  padding:18px;
  display:grid;
  gap:18px;
  border:1px solid var(--wl-border);
  border-radius:var(--wl-radius-md,18px);
  background:var(--wl-surface);
  color:var(--wl-text);
  box-shadow:var(--wl-shadow);
}
.weblatis-public-ui .site-header .mega-menu--two{width:520px;grid-template-columns:repeat(2,minmax(0,1fr))}
.weblatis-public-ui .site-header .mega-menu--wide{width:760px;grid-template-columns:repeat(3,minmax(0,1fr))}
.weblatis-public-ui .site-header .nav-dropdown:last-of-type .mega-menu{inset-inline-start:auto;inset-inline-end:0}
.weblatis-public-ui .site-header .mega-menu>div{display:grid;align-content:start;gap:3px;min-width:0}
.weblatis-public-ui .site-header .mega-menu__label{
  padding:6px 10px;
  color:var(--wl-muted);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.weblatis-public-ui .site-header .mega-menu a{
  padding:8px 10px;
  border-radius:8px;
  color:var(--wl-muted);
  font-size:14px;
  text-decoration:none;
}
.weblatis-public-ui .site-header .mega-menu a:hover{
  background:color-mix(in srgb,var(--wl-primary) 8%,var(--wl-surface));
  color:var(--wl-primary);
}

.weblatis-public-ui .site-header .header-actions{
  position:relative;
  display:flex;
  align-items:center;
  gap:8px;
  flex:none;
}
.weblatis-public-ui .site-header .icon-button{
  min-width:42px;
  width:42px;
  height:42px;
  padding:0;
  border:1px solid var(--wl-border);
  border-radius:var(--wl-radius-sm,10px);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--wl-surface);
  color:var(--wl-muted);
  transition:border-color .2s ease,color .2s ease,background .2s ease;
}
.weblatis-public-ui .site-header .icon-button:hover,
.weblatis-public-ui .site-header .icon-button:focus-visible{
  border-color:color-mix(in srgb,var(--wl-primary) 42%,var(--wl-border));
  background:color-mix(in srgb,var(--wl-primary) 8%,var(--wl-surface));
  color:var(--wl-primary);
}

.weblatis-public-ui .site-header .header-popover,
.weblatis-public-ui .site-header .theme-picker{position:relative}
.weblatis-public-ui .site-header .header-popover>summary{list-style:none}
.weblatis-public-ui .site-header .header-popover__panel,
.weblatis-public-ui .site-header .theme-menu{
  position:absolute;
  z-index:200;
  inset-block-start:calc(100% + 10px);
  inset-inline-end:0;
  border:1px solid var(--wl-border);
  border-radius:var(--wl-radius-md,18px);
  background:var(--wl-surface);
  color:var(--wl-text);
  box-shadow:var(--wl-shadow);
}
.weblatis-public-ui .site-header .header-popover__panel{width:340px;overflow:hidden}
.weblatis-public-ui .site-header .account-panel{width:250px;padding:10px}
.weblatis-public-ui .site-header .account-identity{
  display:flex;
  align-items:center;
  gap:11px;
  padding:10px;
  border-block-end:1px solid var(--wl-border);
}
.weblatis-public-ui .site-header .account-avatar{
  width:38px;
  height:38px;
  border-radius:var(--wl-radius-sm,10px);
  display:grid;
  place-items:center;
  flex:none;
  background:color-mix(in srgb,var(--wl-primary) 10%,var(--wl-surface));
  color:var(--wl-primary);
}
.weblatis-public-ui .site-header .account-avatar .icon{width:18px;height:18px;min-width:18px;max-width:18px}
.weblatis-public-ui .site-header .account-identity>span:last-child{display:grid;min-width:0}
.weblatis-public-ui .site-header .account-identity strong{font-size:13px;overflow-wrap:anywhere}
.weblatis-public-ui .site-header .account-identity small{color:var(--wl-muted);font-size:11px;overflow-wrap:anywhere}
.weblatis-public-ui .site-header .account-panel nav{display:grid;padding-block-start:7px}
.weblatis-public-ui .site-header .account-panel nav a{
  padding:9px 10px;
  border-radius:8px;
  color:var(--wl-muted);
  font-size:13px;
  text-decoration:none;
}
.weblatis-public-ui .site-header .account-panel nav a:hover{
  background:color-mix(in srgb,var(--wl-primary) 8%,var(--wl-surface));
  color:var(--wl-primary);
}

.weblatis-public-ui .site-header .theme-menu{
  width:160px;
  padding:8px;
  border-radius:14px;
}
.weblatis-public-ui .site-header .theme-menu[hidden]{display:none!important}
.weblatis-public-ui .site-header .theme-menu button{
  width:100%;
  padding:9px 10px;
  border:0;
  border-radius:8px;
  display:flex;
  align-items:center;
  gap:9px;
  background:transparent;
  color:var(--wl-text);
  text-align:start;
}
.weblatis-public-ui .site-header .theme-menu button:hover,
.weblatis-public-ui .site-header .theme-menu button[aria-pressed="true"]{
  background:color-mix(in srgb,var(--wl-primary) 8%,var(--wl-surface));
  color:var(--wl-primary);
}

.weblatis-public-ui .site-header .header-cta.button-primary{
  min-height:44px;
  padding:10px 16px;
  border:1px solid #330066!important;
  border-radius:var(--wl-radius-sm,10px);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#330066!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(51,0,102,.2)!important;
  font-size:14px;
  font-weight:750;
  line-height:1;
  text-decoration:none!important;
  white-space:nowrap;
}
.weblatis-public-ui .site-header .header-cta.button-primary:hover,
.weblatis-public-ui .site-header .header-cta.button-primary:focus-visible{
  border-color:#000070!important;
  background:#000070!important;
  color:#fff!important;
  box-shadow:0 12px 26px rgba(51,0,102,.24)!important;
}
html[data-resolved-theme="dark"] .weblatis-public-ui .site-header .header-cta.button-primary{
  border-color:#4d4dff!important;
  background:#4d4dff!important;
  color:#fff!important;
}
html[data-resolved-theme="dark"] .weblatis-public-ui .site-header .header-cta.button-primary:hover{
  border-color:#6868ff!important;
  background:#6868ff!important;
}

.weblatis-public-ui .site-header .mobile-menu-button{display:none}

@media(max-width:1120px){
  .weblatis-public-ui .site-header .desktop-nav{display:none}
  .weblatis-public-ui .site-header .mobile-menu-button{display:inline-flex}
  .weblatis-public-ui .site-header .header-actions{margin-inline-start:auto}
}

@media(max-width:860px){
  .weblatis-public-ui .site-header .header-shell{min-height:68px;gap:10px}
  .weblatis-public-ui .site-header .header-cta{display:none!important}
}

@media(max-width:620px){
  .weblatis-public-ui .site-header>.container{width:min(calc(100% - 24px),var(--wl-chrome-container,1240px))}
  .weblatis-public-ui .site-header .header-shell{min-height:64px;gap:8px}
  .weblatis-public-ui .site-header .brand img{width:36px;height:36px}
  .weblatis-public-ui .site-header .brand strong{font-size:18px}
  .weblatis-public-ui .site-header .brand small{display:none}
  .weblatis-public-ui .site-header .header-actions{gap:6px}
  .weblatis-public-ui .site-header .account-picker{display:block}
  .weblatis-public-ui .site-header .account-picker>summary{display:inline-flex}
  .weblatis-public-ui .site-header .header-cta{display:none!important}
  .weblatis-public-ui .site-header .icon-button{min-width:40px;width:40px;height:40px}
}

/* v0.11.31 — canonical mobile drawer fallback.
 * Kept with the shared header so navigation remains usable even when a page-level
 * stylesheet or optimizer changes the public asset order.
 */
body.weblatis-public-ui.is-public-drawer-open{overflow:hidden!important;touch-action:none}
body.weblatis-public-ui dialog.drawer--navigation{
  position:fixed!important;
  inset-block:0!important;
  inset-inline-start:auto!important;
  inset-inline-end:0!important;
  z-index:1000!important;
  display:none;
  width:min(380px,100vw)!important;
  max-width:100vw!important;
  height:100dvh!important;
  max-height:100dvh!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-inline-start:1px solid var(--wl-border,var(--border,#e4e7ef))!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:var(--wl-surface,var(--surface,#fff))!important;
  color:var(--wl-text,var(--text,#11172a))!important;
  box-shadow:-24px 0 68px rgba(8,12,35,.24)!important;
  transform:translateX(104%);
  transition:transform .24s ease;
}
html[dir="rtl"] body.weblatis-public-ui dialog.drawer--navigation{
  inset-inline-start:0!important;
  inset-inline-end:auto!important;
  border-inline-start:0!important;
  border-inline-end:1px solid var(--wl-border,var(--border,#e4e7ef))!important;
  box-shadow:24px 0 68px rgba(8,12,35,.24)!important;
  transform:translateX(-104%);
}
body.weblatis-public-ui dialog.drawer--navigation[open]{display:grid!important;grid-template-rows:auto minmax(0,1fr)}
body.weblatis-public-ui dialog.drawer--navigation.is-open,
html[dir="rtl"] body.weblatis-public-ui dialog.drawer--navigation.is-open{transform:none!important}
body.weblatis-public-ui dialog.drawer--navigation::backdrop{background:rgba(8,12,35,.62);backdrop-filter:blur(4px)}
body.weblatis-public-ui dialog.drawer--navigation .drawer__header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-width:0!important;
  min-height:76px!important;
  padding:14px 16px!important;
  border-block-end:1px solid var(--wl-border,var(--border,#e4e7ef))!important;
  background:var(--wl-surface,var(--surface,#fff))!important;
}
body.weblatis-public-ui dialog.drawer--navigation .drawer__brand{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  min-width:0!important;
  max-width:calc(100% - 52px)!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--wl-text,var(--text,#11172a))!important;
  text-decoration:none!important;
}
body.weblatis-public-ui dialog.drawer--navigation .drawer__brand-mark{
  display:grid!important;
  place-items:center!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  flex:0 0 44px!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:11px!important;
  background:transparent!important;
}
body.weblatis-public-ui dialog.drawer--navigation .drawer__brand-mark img{
  display:block!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  max-height:44px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  object-fit:contain!important;
}
body.weblatis-public-ui dialog.drawer--navigation .drawer__brand-copy{
  display:grid!important;
  min-width:0!important;
  max-width:100%!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  line-height:1.1!important;
}
body.weblatis-public-ui dialog.drawer--navigation .drawer__brand-copy strong,
body.weblatis-public-ui dialog.drawer--navigation .drawer__brand-copy small{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.weblatis-public-ui dialog.drawer--navigation .drawer__brand-copy strong{
  color:var(--wl-text,var(--text,#11172a))!important;
  font-size:18px!important;
  font-weight:800!important;
  letter-spacing:-.025em!important;
}
body.weblatis-public-ui dialog.drawer--navigation .drawer__brand-copy small{
  margin-block-start:4px!important;
  color:var(--wl-muted,var(--text-3,#6d7588))!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}
body.weblatis-public-ui dialog.drawer--navigation .drawer__header>.icon-button{
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  flex:0 0 42px!important;
  padding:0!important;
  border:1px solid var(--wl-border,var(--border,#e4e7ef))!important;
  border-radius:12px!important;
  background:var(--wl-surface,var(--surface,#fff))!important;
  color:var(--wl-text,var(--text,#11172a))!important;
}
body.weblatis-public-ui dialog.drawer--navigation .drawer__header>.icon-button .icon{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  max-width:20px!important;
}
body.weblatis-public-ui dialog.drawer--navigation .drawer__body{
  display:grid!important;
  grid-auto-rows:min-content!important;
  align-content:start!important;
  gap:6px!important;
  min-width:0!important;
  min-height:0!important;
  padding:16px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  background:var(--wl-surface,var(--surface,#fff))!important;
}
body.weblatis-public-ui dialog.drawer--navigation .drawer__body>a:not(.button){
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-height:48px!important;
  padding:11px 12px!important;
  border:0!important;
  border-radius:12px!important;
  background:transparent!important;
  color:var(--wl-text,var(--text,#11172a))!important;
  font-size:14px!important;
  font-weight:720!important;
  line-height:1.35!important;
  text-decoration:none!important;
}
body.weblatis-public-ui dialog.drawer--navigation .drawer__body>a:not(.button):hover,
body.weblatis-public-ui dialog.drawer--navigation .drawer__body>a:not(.button):focus-visible{
  background:rgba(51,0,102,.07)!important;
  color:var(--wl-primary,var(--brand-primary,#330066))!important;
}
body.weblatis-public-ui dialog.drawer--navigation .drawer__body>.button.button-primary,
body.weblatis-public-ui dialog.drawer--navigation .drawer__body>.button.button-primary:link,
body.weblatis-public-ui dialog.drawer--navigation .drawer__body>.button.button-primary:visited,
body.weblatis-public-ui dialog.drawer--navigation .drawer__body>.button.button-primary:hover,
body.weblatis-public-ui dialog.drawer--navigation .drawer__body>.button.button-primary:focus-visible,
body.weblatis-public-ui dialog.drawer--navigation .drawer__body>.button.button-primary:active{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:48px!important;
  margin-block-start:10px!important;
  padding:11px 16px!important;
  border:1px solid var(--wl-primary,var(--brand-primary,#330066))!important;
  border-radius:12px!important;
  background:var(--wl-primary,var(--brand-primary,#330066))!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.2!important;
  text-align:center!important;
  text-decoration:none!important;
  box-shadow:0 12px 28px rgba(51,0,102,.2)!important;
}
@media(max-width:480px){
  body.weblatis-public-ui dialog.drawer--navigation{width:100vw!important}
  body.weblatis-public-ui dialog.drawer--navigation .drawer__header{min-height:70px!important;padding:12px 14px!important}
  body.weblatis-public-ui dialog.drawer--navigation .drawer__body{padding:14px!important}
}
@media(prefers-reduced-motion:reduce){body.weblatis-public-ui dialog.drawer--navigation{transition:none!important}}

/* v0.11.34 — shared mobile-navigation close control and explicit homepage link.
 * Keep this in the shared header layer so page-specific styles cannot recolor
 * the close icon on Discover, About, Contact, or any future public route.
 */
body.weblatis-public-ui dialog.drawer--navigation .drawer__close,
body.weblatis-public-ui dialog.drawer--navigation .drawer__close:hover,
body.weblatis-public-ui dialog.drawer--navigation .drawer__close:focus-visible,
body.weblatis-public-ui dialog.drawer--navigation .drawer__close:active{
  background:var(--wl-surface,var(--surface,#fff))!important;
  border-color:var(--wl-border,var(--border,#e4e7ef))!important;
  color:var(--wl-text,var(--text,#11172a))!important;
  -webkit-text-fill-color:var(--wl-text,var(--text,#11172a))!important;
}
body.weblatis-public-ui dialog.drawer--navigation .drawer__close .icon,
body.weblatis-public-ui dialog.drawer--navigation .drawer__close .icon use{
  color:inherit!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body.weblatis-public-ui .site-header .desktop-nav>.desktop-nav__home{
  flex:none;
  white-space:nowrap;
}

/* Clubium 0.11.177 — canonical Clubium brand text colour on public chrome. */
html:not([data-resolved-theme="dark"]) .weblatis-public-ui .site-header .brand strong,
html:not([data-resolved-theme="dark"]) .weblatis-public-ui .site-header .brand small,
html:not([data-resolved-theme="dark"]) body.weblatis-public-ui dialog.drawer--navigation .drawer__brand-copy strong,
html:not([data-resolved-theme="dark"]) body.weblatis-public-ui dialog.drawer--navigation .drawer__brand-copy small{
  color:#330066!important;
}
html:not([data-resolved-theme="dark"]) .weblatis-public-ui .site-header .brand small,
html:not([data-resolved-theme="dark"]) body.weblatis-public-ui dialog.drawer--navigation .drawer__brand-copy small{opacity:.72}
html[data-resolved-theme="dark"] .weblatis-public-ui .site-header .brand strong,
html[data-resolved-theme="dark"] .weblatis-public-ui .site-header .brand small,
html[data-resolved-theme="dark"] body.weblatis-public-ui dialog.drawer--navigation .drawer__brand-copy strong,
html[data-resolved-theme="dark"] body.weblatis-public-ui dialog.drawer--navigation .drawer__brand-copy small{color:#f3eafb!important}
