/* V58 — Larger TripWithEra wordmark + one common navigation scale. */
:root{
  --twe-menu-font:.80rem;
  --twe-menu-weight:800;
  --twe-menu-letter:.045em;
  --twe-menu-icon:32px;
}

/* 30% larger wordmark without changing any header height. */
.trip-logo-box,
.trip-logo-rest{
  font-size:1.58rem!important;
  line-height:.78!important;
}
.trip-logo-box{
  padding:2px 4px!important;
  letter-spacing:.025em!important;
}
.trip-logo-row{
  gap:8px!important;
  line-height:.78!important;
}
.trip-logo-rest{
  gap:4px!important;
  align-items:center!important;
}
.trip-logo-rest span{
  display:inline-block!important;
  font-family:'Playfair Display',Georgia,serif!important;
  font-size:1.13em!important;
  font-style:italic!important;
  font-weight:700!important;
  line-height:.72!important;
  letter-spacing:.015em!important;
  transform:translateY(-1px)!important;
}
.trip-logo-rest em{
  font-size:1em!important;
  line-height:.78!important;
  font-weight:900!important;
}

/* Dashboard and admin logo uses the exact same visual scale. */
.dash-logo-row.trip-dash-logo b,
.dash-logo-row.trip-dash-logo strong{
  font-size:1.58rem!important;
  line-height:.78!important;
}
.dash-logo-row.trip-dash-logo b{
  padding:2px 4px!important;
  letter-spacing:.025em!important;
}
.dash-logo-row.trip-dash-logo{
  gap:8px!important;
  line-height:.78!important;
}
.dash-logo-row.trip-dash-logo strong{
  gap:4px!important;
  align-items:center!important;
}
.dash-logo-row.trip-dash-logo strong span{
  display:inline-block!important;
  font-family:'Playfair Display',Georgia,serif!important;
  font-size:1.13em!important;
  font-style:italic!important;
  font-weight:700!important;
  line-height:.72!important;
  letter-spacing:.015em!important;
  transform:translateY(-1px)!important;
}
.dash-logo-row.trip-dash-logo strong em{
  font-size:1em!important;
  line-height:.78!important;
  font-weight:900!important;
}

/* Footer/auth keep the same brand language at a context-appropriate size. */
.footer-luxury-brand .trip-logo-box,
.footer-luxury-brand .trip-logo-rest{font-size:1.36rem!important}
.trip-auth-brand .trip-logo-box,
.trip-auth-brand .trip-logo-rest{font-size:1.75rem!important}
.install-card>.brand .trip-logo-box,
.install-card>.brand .trip-logo-rest{font-size:1.55rem!important}

/* One common desktop navigation scale: public, customer and admin. */
@media (min-width:992px){
  .luxury-main-nav>a:not(.btn):not(.luxury-login-link):not(.luxury-account-link),
  .dash-public-nav a,
  .admin-public-nav a,
  .luxury-login-link,
  .luxury-account-link,
  .dash-header-account b,
  .luxury-plan-btn{
    font-family:'Montserrat',sans-serif!important;
    font-size:var(--twe-menu-font)!important;
    font-weight:var(--twe-menu-weight)!important;
    line-height:1!important;
    letter-spacing:var(--twe-menu-letter)!important;
    text-transform:uppercase!important;
  }
  .luxury-main-nav>a:not(.btn):not(.luxury-login-link):not(.luxury-account-link),
  .dash-public-nav a,
  .admin-public-nav a{
    padding:9px 11px!important;
  }
  .luxury-main-nav>a .mobile-nav-icon{
    width:var(--twe-menu-icon)!important;
    height:var(--twe-menu-icon)!important;
    min-width:var(--twe-menu-icon)!important;
  }
  .luxury-main-nav>a .mobile-nav-icon svg{width:14px!important;height:14px!important}
  .dash-header-account{min-height:44px!important;padding:6px 11px 6px 7px!important}
  .dash-header-account>span{width:31px!important;height:31px!important;font-size:.76rem!important}

  /* Matching compact side-navigation type for customer/admin workspaces. */
  .premium-user-dashboard .dash-account-nav>a,
  .premium-admin-dashboard .dash-account-nav>a{
    min-height:58px!important;
    padding:9px 12px!important;
    gap:11px!important;
  }
  .premium-user-dashboard .dash-account-nav>a .dash-nav-icon,
  .premium-admin-dashboard .dash-account-nav>a .dash-nav-icon{
    width:39px!important;
    height:39px!important;
    min-width:39px!important;
  }
  .premium-user-dashboard .dash-account-nav>a .dash-nav-icon svg,
  .premium-admin-dashboard .dash-account-nav>a .dash-nav-icon svg{
    width:19px!important;
    height:19px!important;
  }
  .premium-user-dashboard .dash-account-nav>a strong,
  .premium-admin-dashboard .dash-account-nav>a strong{
    font-size:.86rem!important;
    line-height:1.05!important;
    letter-spacing:.025em!important;
    white-space:nowrap!important;
  }
  .premium-user-dashboard .dash-account-nav>a small,
  .premium-admin-dashboard .dash-account-nav>a small{
    font-size:.63rem!important;
    line-height:1.15!important;
    letter-spacing:.015em!important;
    white-space:nowrap!important;
  }
}

/* Common mobile drawer scale across public, customer and admin. */
@media (max-width:991px){
  .trip-logo-box,.trip-logo-rest,
  .dash-logo-row.trip-dash-logo b,
  .dash-logo-row.trip-dash-logo strong{
    font-size:1.28rem!important;
  }
  .trip-logo-row,.dash-logo-row.trip-dash-logo{gap:6px!important}
  .trip-logo-rest,.dash-logo-row.trip-dash-logo strong{gap:3px!important}

  .luxury-main-nav>a .nav-link-copy strong,
  .dash-account-nav>a strong{
    font-family:'Montserrat',sans-serif!important;
    font-size:.86rem!important;
    font-weight:800!important;
    line-height:1.08!important;
    letter-spacing:.025em!important;
    text-transform:uppercase!important;
  }
  .luxury-main-nav>a .nav-link-copy small,
  .dash-account-nav>a small{
    font-size:.63rem!important;
    line-height:1.2!important;
    letter-spacing:.01em!important;
  }
  .luxury-main-nav>a .mobile-nav-icon,
  .dash-account-nav>a .dash-nav-icon{
    width:39px!important;
    height:39px!important;
    min-width:39px!important;
  }
  .luxury-main-nav>a .mobile-nav-icon svg,
  .dash-account-nav>a .dash-nav-icon svg{
    width:19px!important;
    height:19px!important;
  }
  .dash-account-nav>a{min-height:58px!important;padding:9px 11px!important;gap:11px!important}
}

@media (max-width:560px){
  .trip-logo-box,.trip-logo-rest,
  .dash-logo-row.trip-dash-logo b,
  .dash-logo-row.trip-dash-logo strong{
    font-size:1.12rem!important;
  }
  .footer-luxury-brand .trip-logo-box,
  .footer-luxury-brand .trip-logo-rest{font-size:1.16rem!important}
}


/* V59 — Public mobile menu matches customer dashboard + compass brand mark. */
.trip-logo-rest,
.dash-logo-row.trip-dash-logo strong{
  display:inline-flex!important;
  align-items:center!important;
}
.trip-logo-symbol{
  width:1.02em!important;
  height:1.02em!important;
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 1.02em!important;
  color:var(--twe-gold,#f6bd55)!important;
  line-height:1!important;
}
.trip-logo-symbol svg{
  display:block!important;
  width:100%!important;
  height:100%!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.65!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.trip-logo-symbol svg circle{fill:currentColor!important;stroke:none!important}
.trip-logo-rest span:not(.trip-logo-symbol),
.dash-logo-row.trip-dash-logo strong>span:not(.trip-logo-symbol){display:none!important}

@media (min-width:992px){
  /* Keep public, customer and admin headers on the same 68px system. */
  .luxury-header .luxury-nav-wrap,
  .user-dashboard-header-inner{height:68px!important;min-height:68px!important}
  .tripwithera-brand .trip-logo-box,
  .tripwithera-brand .trip-logo-rest,
  .dash-logo-row.trip-dash-logo b,
  .dash-logo-row.trip-dash-logo strong{font-size:1.46rem!important}
  .trip-logo-row,
  .dash-logo-row.trip-dash-logo{gap:7px!important}
  .trip-logo-rest,
  .dash-logo-row.trip-dash-logo strong{gap:5px!important}
}

@media (max-width:991px){
  /* Public header is now exactly the same mobile height as customer dashboard. */
  .luxury-header,
  .site-header{height:60px!important;min-height:60px!important}
  .luxury-nav-wrap{height:60px!important;min-height:60px!important;padding:0 15px!important}

  /* Same wordmark size in public header and dashboard header. */
  .tripwithera-brand .trip-logo-box,
  .tripwithera-brand .trip-logo-rest,
  .dash-logo-row.trip-dash-logo b,
  .dash-logo-row.trip-dash-logo strong{font-size:1.24rem!important;line-height:.9!important}
  .trip-logo-box,
  .dash-logo-row.trip-dash-logo b{padding:2px 4px!important}
  .trip-logo-row,
  .dash-logo-row.trip-dash-logo{gap:6px!important}
  .trip-logo-rest,
  .dash-logo-row.trip-dash-logo strong{gap:4px!important}

  /* Same drawer direction and width as the user dashboard. */
  .luxury-main-nav{
    left:0!important;
    right:auto!important;
    inset:0 auto 0 0!important;
    width:min(340px,calc(100vw - 22px))!important;
    padding:14px!important;
    border-left:0!important;
    border-right:3px solid var(--v9-gold,#f6bd55)!important;
    transform:translate3d(-105%,0,0)!important;
    box-shadow:20px 0 50px rgba(0,0,0,.25)!important;
  }
  .luxury-main-nav.open{transform:translate3d(0,0,0)!important}

  /* Same drawer header dimensions as the dashboard. */
  .mobile-menu-head{
    min-height:auto!important;
    margin:0!important;
    padding:4px 4px 16px!important;
    border-bottom:1px solid rgba(255,255,255,.12)!important;
    background:transparent!important;
  }
  .mobile-menu-close{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    border-radius:0!important;
    background:rgba(255,255,255,.08)!important;
    border:1px solid rgba(255,255,255,.18)!important;
    font-size:1.35rem!important;
    line-height:1!important;
  }

  /* Compact intro so public menu keeps the same visual rhythm. */
  .mobile-menu-intro{
    margin:12px 0 8px!important;
    padding:11px 12px!important;
    border-radius:0!important;
  }
  .mobile-menu-intro>span{font-size:.55rem!important}
  .mobile-menu-intro>strong{font-size:.76rem!important;line-height:1.35!important}
  .mobile-menu-intro>a{font-size:.6rem!important}

  /* Exact dashboard menu item scale. */
  .luxury-main-nav>a:not(.btn):not(.luxury-login-link):not(.luxury-account-link){
    min-height:58px!important;
    padding:9px 11px!important;
    gap:11px!important;
    border-radius:0!important;
  }
  .luxury-main-nav>a .mobile-nav-icon{
    width:39px!important;
    height:39px!important;
    min-width:39px!important;
    border-radius:0!important;
  }
  .luxury-main-nav>a .mobile-nav-icon svg{width:19px!important;height:19px!important}
  .luxury-main-nav>a .nav-link-copy strong{
    font-size:.84rem!important;
    line-height:1.15!important;
    letter-spacing:.02em!important;
  }
  .luxury-main-nav>a .nav-link-copy small{
    font-size:.58rem!important;
    line-height:1.3!important;
    margin-top:3px!important;
  }
  .luxury-nav-actions{margin-top:8px!important}
  .luxury-login-link,
  .luxury-account-link,
  .luxury-plan-btn{min-height:44px!important;font-size:.72rem!important}
  .mobile-menu-support{border-radius:0!important;padding:12px!important}
}

@media (max-width:560px){
  .tripwithera-brand .trip-logo-box,
  .tripwithera-brand .trip-logo-rest,
  .dash-logo-row.trip-dash-logo b,
  .dash-logo-row.trip-dash-logo strong{font-size:1.12rem!important}
  .luxury-main-nav{width:min(340px,calc(100vw - 18px))!important;padding:13px 12px!important}
}
