:root{
  /* Admin bar offset (set dynamically by WP admin-bar classes below) */
  --w2d-adminbar: 0px;
  --w2d-safe-top: env(safe-area-inset-top, 0px);

  /*
   * NOTE:
   * Global design tokens live in assets/w2d-tokens.css.
   * These are *fallbacks* + legacy aliases so older header rules keep working.
   */
  --w2d-ink: #0f172a;
  --w2d-ink-2: #111c33;
  --w2d-text: rgba(15,23,42,.92);
  --w2d-muted: rgba(15,23,42,.62);
  --w2d-border: rgba(15,23,42,.10);
  --w2d-border-2: rgba(15,23,42,.12);
  --w2d-surface: rgba(255,255,255,.96);
  --w2d-input-bg: rgba(248,250,252,.95);
  --w2d-focus: rgba(99,102,241,.55);
  --w2d-focus-ring: rgba(99,102,241,.15);
  --w2d-overlay: rgba(10,12,16,.72);
  --w2d-blur: 14px;
  --w2d-saturate: 120%;
  --w2d-danger: #dc2626;

  /* Legacy aliases used throughout this file */
  --bg: #ffffff;
  --text: var(--w2d-text);
  --muted: var(--w2d-muted);
  --border: var(--w2d-border);
  --hover: rgba(15,23,42,.04);
  --accent: var(--w2d-focus);
  --danger: var(--w2d-danger);
}

body.admin-bar{ --w2d-adminbar: 32px; }
@media (max-width:782px){ body.admin-bar{ --w2d-adminbar: 46px; } }

/* Reset & horizontal lock */
html,
body{
  margin:0 !important;
  padding:0 !important;
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  touch-action:pan-y;
  overscroll-behavior-x:none;
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

#page,
#content,
.site,
.w2d-container,
.site-main,
main,
.entry-content,
.elementor,
.elementor-section,
.elementor-container{
  max-width:100%;
  overflow-x:hidden;
}

img,
svg,
video,
canvas,
iframe,
embed{
  max-width:100%;
  height:auto;
  display:block;
}

.entry-content table{
  display:block;
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

a,
button{
  touch-action:manipulation;
}

@media(max-width:1023px){
  input,
  select,
  textarea{
    font-size:16px !important;
  }
}

/* iPhone notch / Dynamic Island safe area support */
@media (max-width: 1023px){
  html{
    margin-top: 0 !important;
  }

  #wpadminbar{
    top: var(--w2d-safe-top) !important;
  }
}

/* Scroll lock (drawer open) — prevents background scrolling on mobile */
body.w2d-scroll-lock{
  position:fixed;
  overflow:hidden;
  width:100%;
}

/* Header */
.w2d-header{
  position:sticky;
  top: calc(var(--w2d-adminbar) + var(--w2d-safe-top));
  z-index:1000;
  background:var(--bg);
  border-bottom:1px solid var(--border);
}

.w2d-header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 12px;
  gap:10px;
}

.w2d-header__left{
  display:flex;
  align-items:center;
  gap:16px;
  flex:1;
  min-width:0;
}

#site-main{
  padding-top: 0;
}

body.admin-bar #site-main{
  padding-top: 0;
}

/* On desktop there is no safe-area inset, so keep normal behaviour */
@media (min-width: 1024px){
  .w2d-header{
    top: var(--w2d-adminbar);
  }
}

/* Logo */
.custom-logo,
.custom-logo-link img{
  height:50px !important;
  max-height:50px !important;
  width:auto !important;
}

.w2d-logo-text{
  font-weight:700;
  color:var(--text);
  font-size:18px;
  text-decoration:none;
}

/* Nav next to logo */
.w2d-nav{display:none;min-width:0}
@media(min-width:1024px){ .w2d-nav{display:block} }

.w2d-menu{
  list-style:none;
  display:flex;
  gap:22px;
  margin:0;
  padding:0;
  flex-wrap:wrap;
}

.w2d-menu>li>a{
  color:var(--text);
  text-decoration:none;
  position:relative;
  padding:6px 2px;
  font-weight:600;
  white-space:nowrap;
}

.w2d-menu>li>a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-2px;
  width:0;
  height:2px;
  background:var(--accent);
  transform:translateX(-50%);
  transition:width .25s;
}

.w2d-menu>li:hover>a::after{
  width:100%;
}

@media(min-width:1024px){
  .w2d-menu>li{position:relative}
  .w2d-menu>li>.sub-menu{
    list-style:none;
    margin:0;
    display:none;
    position:absolute;
    top:100%;
    margin-top:10px;
    left:0;
    min-width:240px;
    background:var(--w2d-surface);
    border:1px solid var(--border);
    border-radius:12px;
    box-shadow:var(--w2d-shadow-card, 0 10px 24px rgba(0,0,0,.06));
    padding:12px 10px;
    z-index:9999;
  }

  .w2d-menu>li:hover>.sub-menu,
  .w2d-menu>li:focus-within>.sub-menu{
    display:block;
  }

  .w2d-menu>li>.sub-menu>li>a{
    display:block;
    padding:10px 12px;
    color:var(--text);
    text-decoration:none;
    border-radius:10px;
  }

  .w2d-menu>li>.sub-menu>li>a:hover{
    background:var(--hover);
  }
}

/* Actions (header right side) */
.w2d-header__right{display:none}

@media(min-width:1024px){
  .w2d-header__right{
    display:flex;
    align-items:center;
    gap:10px;
  }
}

/* Show actions on mobile, with reduced gap */
@media(max-width:1023px){
  .w2d-header__right{
    display:flex;
    align-items:center;
    gap:6px;
  }
}

/* --- Updated Actions (header right side) with Hover Effect --- */
.w2d-action{
  position:relative;
  display:grid;
  place-items:center;
  line-height:0;
  font-size:0;
  width:36px;
  height:36px;
  border:1px solid var(--w2d-border-2);
  border-radius:999px;
  background:var(--w2d-surface);
  text-decoration:none;
  color:var(--text);
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  transition:all 0.2s ease-out;
}

.w2d-action:hover{
  border-color:rgba(15,23,42,.18);
  box-shadow:0 4px 10px rgba(0,0,0,.10);
  transform:translateY(-1px);
}

.w2d-action .ico{
  width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.w2d-action .ico svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:var(--text);
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.95;
}

.w2d-action .w2d-badge{
  position:absolute;
  top:-4px;
  right:-4px;
  min-width:16px;
  height:16px;
  padding:0 4px;
  border-radius:999px;
  background:var(--danger);
  color:#fff;
  font-size:10px;
  line-height:16px;
  text-align:center;
  box-shadow:0 0 0 2px #fff;
  display:none;
}

.w2d-action .txt{
  position:absolute;
  top:calc(100% + 8px);
  left:50%;
  transform:translateX(-50%);
  background:var(--w2d-surface);
  border:1px solid var(--border);
  border-radius:10px;
  padding:6px 10px;
  white-space:nowrap;
  box-shadow:0 6px 20px rgba(0,0,0,.08);
  font-weight:600;
  font-size:13px;
  color:var(--text);
  opacity:0;
  pointer-events:none;
  transition:opacity .15s ease;
  z-index:1001;
}

@media (max-width: 1023px){
  .w2d-action .txt{ display:none !important; }
}

/* --- Profile Avatar (Header) --- */
.w2d-header__right .w2d-profile{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  padding:0;
  color:var(--text);
  background:transparent;
  border:none;
  box-shadow:none;
  border-radius:999px;
  transition:opacity .12s ease;
}

.w2d-header__right .w2d-profile:hover{
  opacity:.92;
}

/* Fallback for unauthenticated user (SVG icon) */
.w2d-header__right .w2d-profile .ico.avatar-fallback{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  line-height:0;
  font-size:0;
  border-radius:999px;
  background:transparent;
  border:1px solid var(--w2d-border-2);
}

.w2d-header__right .w2d-profile .ico.avatar-fallback svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:var(--text);
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.95;
}

/* Avatar styling (match logo scale) */
.w2d-header__right .w2d-profile .avatar{
  width:50px;
  height:50px;
  border-radius:999px;
  object-fit:cover;
  display:block;
  border:1px solid var(--w2d-border-2);
  box-shadow:0 1px 2px rgba(0,0,0,.06);
}

/* Name styling (desktop only) */
.w2d-header__right .w2d-profile .name{
  font-size:0.95rem;
  font-weight:600;
  white-space:nowrap;
  display:block;
}

/* Overlay & Drawer (NO transforms) */
.w2d-overlay{
  position:fixed;
  inset:0;
  background:var(--w2d-overlay);
  backdrop-filter:blur(var(--w2d-blur)) saturate(var(--w2d-saturate));
  -webkit-backdrop-filter:blur(var(--w2d-blur)) saturate(var(--w2d-saturate));
  opacity:0;
  pointer-events:none;
  transition:opacity .3s;
  z-index:1200;
}

.w2d-overlay.open{
  opacity:1;
  pointer-events:auto;
}

/* Drawer panel (clean soft white sheet) */
.w2d-panel{
  position:fixed;
  top: calc(var(--w2d-adminbar) + var(--w2d-safe-top) + 10px);
  bottom:10px;
  width:min(86vw, 380px);
  background:#ffffff;
  z-index:1201;
  border:1px solid rgba(15,23,42,.08);
  border-left:none;
  border-radius:0 20px 20px 0;
  display:flex;
  flex-direction:column;
  box-sizing:border-box;
  box-shadow:
    0 24px 60px rgba(15,23,42,.16),
    0 4px 14px rgba(15,23,42,.06);
  overflow:hidden;
}

/* Slide-in (left based, no transform) */
.w2d-panel--left{
  left:-100%;
  transition:left .3s ease;
}

.w2d-panel--left.open{
  left:0;
}

/* Close button */
.w2d-panel__close{
  position:absolute;
  top:16px;
  right:16px;
  width:44px;
  height:44px;
  margin:0;
  padding:0;
  border:1px solid rgba(15,23,42,.10);
  border-radius:999px !important;
  background-color:#ffffff;
  background-repeat:no-repeat;
  background-position:center;
  background-size:18px 18px;
  background-image:
    linear-gradient(45deg,
      transparent 46%,
      var(--w2d-text) 46%,
      var(--w2d-text) 54%,
      transparent 54%),
    linear-gradient(-45deg,
      transparent 46%,
      var(--w2d-text) 46%,
      var(--w2d-text) 54%,
      transparent 54%);
  display:block;
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  line-height:0;
  font-size:0;
  z-index:5;
  overflow:hidden;
  box-shadow:
    0 10px 24px rgba(15,23,42,.10),
    0 2px 6px rgba(15,23,42,.04);
  transition:
    transform .12s ease,
    background-color .12s ease,
    border-color .12s ease,
    box-shadow .12s ease,
    opacity .12s ease;
}

/* Hide inner span drawing so it cannot shift the X */
.w2d-panel__close .w2d-x,
.w2d-panel__close .w2d-x::before,
.w2d-panel__close .w2d-x::after{
  display:none !important;
  content:none !important;
}

.w2d-panel__close:hover{
  background-color:#ffffff;
  border-color:rgba(15,23,42,.18);
  transform:translateY(-1px);
  box-shadow:
    0 18px 40px rgba(15,23,42,.12),
    0 4px 12px rgba(15,23,42,.05);
}

.w2d-panel__close:active{
  transform:scale(.98);
}

@media (max-width: 480px){
  .w2d-panel__close{
    top:14px;
    right:14px;
    width:42px;
    height:42px;
    background-size:16px 16px;
  }
}

  .w2d-panel__close .w2d-x{
    width:16px;
    height:16px;
    flex-basis:16px;
  }

  .w2d-panel__close .w2d-x::before,
  .w2d-panel__close .w2d-x::after{
    width:16px;
    margin-left:-8px;
  }
}

/* Profile row */
.w2d-panel__profile{
  display:flex;
  align-items:center;
  gap:12px;
  padding:18px 16px 14px;
  padding-right:68px;
  border-bottom:1px solid rgba(15,23,42,.08);
  background:#ffffff;
  box-sizing:border-box;
  min-height:96px;
}

.w2d-panel__profile .w2d-avatar--lg{
  width:64px;
  height:64px;
  border-radius:50%;
  overflow:hidden;
  background:var(--w2d-input-bg);
  display:grid;
  place-items:center;
  line-height:0;
  font-size:0;
  flex:0 0 64px;
  border:3px solid #fff;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}

.w2d-panel__profile .w2d-avatar--lg img{
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:cover;
  object-position:center;
  display:block;
  border-radius:50%;
}

/* Logged-out drawer avatar placeholder */
.w2d-panel__profile .w2d-avatar__placeholder{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.96));
}

.w2d-panel__profile .w2d-avatar__placeholder svg{
  width:26px;
  height:26px;
  fill:none;
  stroke:rgba(15,23,42,.72);
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.92;
}

.w2d-panel__who{
  min-width:0;
}

.w2d-panel__who .w2d-name{
  font-weight:900;
  letter-spacing:-.01em;
  color:var(--w2d-text);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Drawer nav */
.w2d-panel__nav{
  padding:12px 12px 76px;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  flex:1;
}

.w2d-mobile-menu,
.w2d-mobile-menu ul{
  list-style:none;
  margin:0;
  padding:0;
}

.w2d-mobile-menu>li{
  margin-bottom:10px;
}

/* Menu tiles */
.w2d-mobile-menu>li>a.w2d-acc-btn,
.w2d-mobile-menu>li>a.w2d-btn{
  display:flex;
  align-items:center;
  gap:12px;
  justify-content:flex-start;
  background:#ffffff;
  color:var(--text);
  text-decoration:none;
  border:1px solid rgba(15,23,42,.08);
  border-radius:16px;
  padding:12px 12px;
  box-shadow:
    0 1px 2px rgba(15,23,42,.03),
    0 6px 18px rgba(15,23,42,.04);
  transition:transform .12s ease, background-color .12s ease, border-color .12s ease, box-shadow .12s ease;
}

.w2d-mobile-menu>li>a.w2d-acc-btn:hover,
.w2d-mobile-menu>li>a.w2d-btn:hover{
  background:#ffffff;
  border-color:rgba(15,23,42,.14);
  transform:translateY(-1px);
  box-shadow:
    0 12px 28px rgba(15,23,42,.08),
    0 4px 10px rgba(15,23,42,.04);
}

.w2d-mobile-menu>li>a:focus-visible{
  outline:none;
  border-color:var(--w2d-focus);
  box-shadow:0 0 0 4px var(--w2d-focus-ring);
}

/* Current page highlight */
.w2d-mobile-menu a.is-active,
.w2d-mobile-menu li.current-menu-item > a,
.w2d-mobile-menu li.current_page_item > a,
.w2d-mobile-menu li.current-menu-ancestor > a{
  background:#ffffff;
  border-color:rgba(15,23,42,.16);
  box-shadow:
    0 10px 24px rgba(15,23,42,.07),
    0 3px 8px rgba(15,23,42,.04);
}

/* Icon chip */
.w2d-ico{
  flex:0 0 34px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  line-height:0;
  font-size:0;
  border-radius:12px;
  border:1px solid rgba(15,23,42,.10);
  background:#ffffff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}

.w2d-ico svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:var(--w2d-ink);
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.92;
}

/* Chevron */
.w2d-mobile-menu>li>a.w2d-acc-btn .w2d-chevron{
  margin-left:auto;
  width:10px;
  height:10px;
  border-right:2px solid rgba(15,23,42,.55);
  border-bottom:2px solid rgba(15,23,42,.55);
  opacity:.55;
  transform:rotate(45deg);
  transition:transform .2s ease, opacity .2s ease;
}

.w2d-mobile-menu>li.open>a.w2d-acc-btn .w2d-chevron{
  transform:rotate(-135deg);
  opacity:.8;
}

/* Submenu card */
.w2d-mobile-menu .w2d-sub{
  overflow:hidden;
  max-height:0;
  transition:max-height .25s ease;
  margin-top:0;
  padding:0;
  border-radius:14px;
  border:0;
  background:transparent;
}

.w2d-mobile-menu>li.open>.w2d-sub{
  margin-top:8px;
  padding:8px;
  border:1px solid rgba(15,23,42,.08);
  background:#ffffff;
  box-shadow:0 8px 20px rgba(15,23,42,.04);
}

.w2d-mobile-menu .w2d-sub a{
  display:block;
  padding:10px 10px;
  border-radius:12px;
  text-decoration:none;
  color:var(--text);
}

.w2d-mobile-menu .w2d-sub a:hover{
  background:rgba(15,23,42,.04);
}

/* Footer */
.w2d-panel__footer{
  position:sticky;
  bottom:0;
  z-index:2;
  background:#ffffff;
  padding:12px 12px calc(12px + env(safe-area-inset-bottom)) 12px;
  border-top:1px solid rgba(15,23,42,.08);
  box-shadow:0 -10px 24px rgba(15,23,42,.06);
}

.w2d-authbtn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:48px;
  box-sizing:border-box;
  text-align:center;
  text-decoration:none;
  font-weight:700;
  font-size:15px;
  letter-spacing:-.01em;
  padding:12px 16px;
  border-radius:14px;
  transition:
    transform .12s ease,
    background-color .12s ease,
    border-color .12s ease,
    box-shadow .12s ease,
    color .12s ease;
}

.w2d-authbtn:hover{
  transform:translateY(-1px);
}

.w2d-authbtn:active{
  transform:scale(.985);
}

.w2d-authbtn--login{
  background:var(--w2d-ink);
  color:#fff;
  border:1px solid rgba(15,23,42,.18);
  box-shadow:0 10px 24px rgba(15,23,42,.14);
}

.w2d-authbtn--logout{
  background:rgba(239,68,68,.08);
  color:#b42318;
  border:1px solid rgba(239,68,68,.18);
  box-shadow:none;
}

/* Bottom Tab Bar */
.w2d-tabbar{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:1100;
  display:flex;
  justify-content:space-around;
  gap:2px;
  background:var(--w2d-surface);
  border-top:1px solid var(--border);
  padding:6px env(safe-area-inset-right) calc(6px + env(safe-area-inset-bottom)) env(safe-area-inset-left);
  box-shadow:0 -4px 12px rgba(0,0,0,.06);
}

.w2d-tabbar .tab{
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  text-decoration:none;
  color:var(--muted);
  font-weight:600;
  font-size:12px;
  padding:6px 0;
  position:relative;
}

.w2d-tabbar .tab .w2d-tab-avatar{
  width:22px;
  height:22px;
  border-radius:50%;
  object-fit:cover;
  display:block;
}

.w2d-tabbar .tab .w2d-badge{
  position:absolute;
  top:-2px;
  right:-10px;
  min-width:16px;
  height:16px;
  padding:0 4px;
  border-radius:999px;
  background:var(--danger);
  color:#fff;
  font-size:10px;
  line-height:16px;
  text-align:center;
  box-shadow:0 0 0 2px #fff;
  display:none;
}

@media(min-width:1024px){
  .w2d-tabbar{display:none}
}

/* Robust: hide bottom tab bar while drawer is visible (covers all states) */
#mobile-panel[aria-hidden="false"] ~ .w2d-tabbar,
.w2d-panel--left.open ~ .w2d-tabbar,
#w2d-overlay:not([hidden]) ~ .w2d-tabbar{
  display:none !important;
}

/* Extra belt: hide only the avatar image if anything leaks */
#mobile-panel[aria-hidden="false"] ~ .w2d-tabbar .w2d-tab-avatar,
.w2d-panel--left.open ~ .w2d-tabbar .w2d-tab-avatar,
#w2d-overlay:not([hidden]) ~ .w2d-tabbar .w2d-tab-avatar{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
}

/* Elementor editor safety */
.elementor-editor-active .w2d-header,
.elementor-editor-preview .w2d-header,
body.elementor-edit-mode .w2d-header{
  position:static !important;
  top:0 !important;
  z-index:auto !important;
}

.elementor-editor-active #site-main,
.elementor-editor-preview .w2d-header,
body.elementor-edit-mode .w2d-header{
  padding-top:0 !important;
}

.elementor-editor-active .w2d-overlay,
.elementor-editor-active .w2d-panel,
.elementor-editor-preview .w2d-overlay,
.elementor-editor-preview .w2d-panel,
body.elementor-edit-mode .w2d-overlay,
body.elementor-edit-mode .w2d-panel{
  display:none !important;
}

/* Mobile: show the avatar in the header (icon-only) */
@media (max-width: 1023px){
  .w2d-header__right .w2d-profile{
    display:inline-flex !important;
    padding:0;
    background:transparent;
    border:none;
    box-shadow:none;
  }

  .w2d-header__right .w2d-profile .name{
    display:none !important;
  }

  .w2d-header__right .w2d-profile .avatar{
    width:50px;
    height:50px;
  }

  .w2d-header__right .w2d-profile .ico.avatar-fallback{
    width:50px;
    height:50px;
    background:transparent;
    border:1px solid var(--w2d-border-2);
  }

  .w2d-header__right .w2d-profile .ico.avatar-fallback svg{
    width:18px;
    height:18px;
  }
}

/* === Drawer profile row — hard fix === */
#mobile-panel .w2d-panel__profile{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  padding:16px;
  padding-right:68px !important;
  border-bottom:1px solid var(--border);
  box-sizing:border-box;
  min-height:96px;
}

/* Lock the avatar container */
#mobile-panel .w2d-panel__profile > .w2d-avatar,
#mobile-panel .w2d-panel__profile > .w2d-avatar--lg{
  position:static !important;
  flex:0 0 56px !important;
  width:56px !important;
  height:56px !important;
  border-radius:50% !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  transform:none !important;
  float:none !important;
  margin:0 !important;
}

/* Ensure the IMG actually renders and fills the circle */
#mobile-panel .w2d-panel__profile > .w2d-avatar--lg img,
#mobile-panel .w2d-panel__profile > .w2d-avatar img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
  border-radius:50% !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* Text column behaves */
#mobile-panel .w2d-panel__who{
  flex:1 1 auto !important;
  min-width:0 !important;
}

#mobile-panel .w2d-panel__who .w2d-name{
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

/* Hide the bottom tab bar while the drawer is open (prevents the “avatar at bottom” confusion) */
#mobile-panel[aria-hidden="false"] ~ .w2d-tabbar{
  display:none !important;
}

/* === Global avatar normalization (match profile page) === */
.w2d-avatar--lg{
  width:56px;
  height:56px;
  border-radius:50%;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#f1f3f5;
  border:4px solid #fff;
  box-shadow:0 4px 16px rgba(0,0,0,.15);
}

.w2d-avatar--lg img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}

/* --- Responsive Rules for Profile --- */
@media (max-width: 1180px){
  .w2d-header__right .w2d-profile .name{
    display:none;
  }

  .w2d-header__right .w2d-profile{
    padding:0 5px;
  }
}

/* --- Modern Hamburger Design (Subtle & Rounded) --- */

/* 1. Base Hamburger Container */
.w2d-hamburger{
  position:relative;
  width:32px;
  height:32px;
  padding:0;
  border:none;
  background:transparent;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  margin-right:4px;
}

/* 2. Bar Styling & Initial Position */
.w2d-hamburger__bar{
  display:block;
  width:24px;
  height:2px;
  background:var(--text);
  border-radius:99px;
  transition:transform 0.3s ease, opacity 0.3s ease;
}

/* 3. Spacing between bars */
.w2d-hamburger__bar:nth-child(2){
  margin:6px 0;
}

/* 4. 'X' Transformation (Menu Open State) */
.w2d-hamburger.open .w2d-hamburger__bar:nth-child(1){
  transform:translateY(8px) rotate(45deg);
}

.w2d-hamburger.open .w2d-hamburger__bar:nth-child(2){
  opacity:0;
}

.w2d-hamburger.open .w2d-hamburger__bar:nth-child(3){
  transform:translateY(-8px) rotate(-45deg);
}

.w2d-nav{display:none;min-width:0}
@media(min-width:1024px){ .w2d-nav{display:block} }

/* FIX: Hide the hamburger menu on desktop screen sizes (>= 1024px) */
@media(min-width: 1024px){
  .w2d-hamburger{
    display:none !important;
  }
}

/* Fix: Change cursor for non-functional notification button */
.w2d-action--inactive{
  cursor:default;
  pointer-events:none;
  opacity:0.7;
  transform:none !important;
  box-shadow:0 1px 2px rgba(0,0,0,.04) !important;
}

@media (prefers-reduced-motion: reduce){
  .w2d-panel--left{transition:none}
  .w2d-overlay{transition:none}
  .w2d-action{transition:none}
  .w2d-mobile-menu>li>a.w2d-acc-btn,
  .w2d-mobile-menu>li>a.w2d-btn{transition:none}
}