/* US LUXRIDE navigation — "Night Drive" header.
   Desktop (>=1200px): glass header, staggered entrance, gold underline links,
   animated dropdown panels, gold CTA pill. Mobile: slide-in drawer (#ul-navigation). */

:root{
  --ul-gold-1:#FFE2A8;
  --ul-gold-2:#FFB53D;
  --ul-gold-3:#E0901F;
  --ul-gold-grad:linear-gradient(120deg,var(--ul-gold-1) 0%,var(--ul-gold-2) 45%,var(--ul-gold-3) 100%);
  --ul-ink:#0B0B0D;
  --ul-text:#ECECEF;
  --ul-muted:#A9ABB2;
  --ul-ease:cubic-bezier(.22,.8,.24,1);
}

/* ---------- Header shell (all sizes) ---------- */
#header_contents{position:relative;z-index:999}
/* once you scroll past it, the header detaches and glides back in as a fixed glass bar */
#header_contents.ul-fixed{
  position:fixed;left:0;right:0;
  top:var(--wp-admin--admin-bar--height,0px);
  animation:ul-slide-in .6s var(--ul-ease) both;
}
.ul-header-spacer{display:none}
.ul-header-spacer.is-active{display:block}
#header_contents .elementor-513>.elementor-element:first-child{
  transition:background-color .5s var(--ul-ease),box-shadow .5s var(--ul-ease),padding .5s var(--ul-ease);
}
#header_contents.ul-fixed .elementor-513>.elementor-element:first-child{
  background-color:rgba(6,6,8,.94)!important;
  -webkit-backdrop-filter:blur(18px) saturate(150%);
  backdrop-filter:blur(18px) saturate(150%);
  box-shadow:0 18px 40px -24px rgba(0,0,0,.9);
}
/* gold hairline along the bottom edge, with a light sweep on page load */
#header_contents::after{
  content:"";
  position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(226,180,92,.15) 20%,rgba(247,226,176,.9) 50%,rgba(226,180,92,.15) 80%,transparent 100%);
  background-size:220% 100%;
  background-position:100% 0;
  opacity:.55;
  pointer-events:none;
  animation:ul-hairline 2.2s var(--ul-ease) .35s both;
}
#header_contents.ul-fixed::after{opacity:.35}

/* logo: soft focus-in on load, gentle shrink on scroll */
#header_contents .logo_box{animation:ul-logo-in 1s var(--ul-ease) .05s both}
#header_contents .logo_box img{
  /* the logo is a JPEG on a near-black background: crush those near-blacks to true black,
     then "lighten" drops them so the glass header shows through around the eagle */
  mix-blend-mode:lighten;
  filter:brightness(.96) contrast(1.18);
  transform-origin:left center;
  transition:transform .5s var(--ul-ease),filter .3s;
}
#header_contents.ul-fixed .logo_box img{transform:scale(.86)}
#header_contents .logo_box a:hover img{filter:brightness(1.04) contrast(1.18)}

/* ---------- Desktop menu ---------- */
@media(min-width:1200px){
  #header_contents .menu_area>.navbar_nav{display:flex;align-items:center;gap:2px}
  #header_contents .navbar_nav>li{margin-right:0!important}
  #header_contents .navbar_nav .dropdown-btn{display:none!important}

  /* entrance: items glide in one after another */
  #header_contents .navbar_nav>li{
    position:relative;
    animation:ul-drop .8s var(--ul-ease) both;
  }
  #header_contents .navbar_nav>li:nth-child(1){animation-delay:.15s}
  #header_contents .navbar_nav>li:nth-child(2){animation-delay:.22s}
  #header_contents .navbar_nav>li:nth-child(3){animation-delay:.29s}
  #header_contents .navbar_nav>li:nth-child(4){animation-delay:.36s}
  #header_contents .navbar_nav>li:nth-child(5){animation-delay:.43s}
  #header_contents .navbar_nav>li:nth-child(6){animation-delay:.50s}
  #header_contents .navbar_nav>li:nth-child(7){animation-delay:.57s}
  #header_contents .navbar_nav>li:nth-child(8){animation-delay:.70s}

  /* top-level links */
  #header_contents .navbar_nav>li>a.nav_link{
    position:relative;
    display:inline-flex;align-items:center;
    padding:12px 15px!important;
    background:transparent!important;
    border-radius:10px;
    color:var(--ul-text)!important;
    font-family:"DM Sans",sans-serif;
    font-size:14px!important;font-weight:500;letter-spacing:.015em;
    white-space:nowrap;
    transition:color .35s var(--ul-ease),text-shadow .35s var(--ul-ease);
  }
  #header_contents .navbar_nav>li>a.nav_link .box_menu{color:inherit!important}
  #header_contents .navbar_nav>li>a.nav_link::after{
    content:"";
    position:absolute;left:15px;right:15px;bottom:6px;height:1.5px;
    border-radius:2px;
    background:var(--ul-gold-grad);
    transform:scaleX(0);transform-origin:center;
    transition:transform .5s var(--ul-ease);
  }
  #header_contents .navbar_nav>li:hover>a.nav_link,
  #header_contents .navbar_nav>li:focus-within>a.nav_link,
  #header_contents .navbar_nav>li.current-menu-item>a.nav_link{
    color:var(--ul-gold-1)!important;
    text-shadow:0 0 18px rgba(226,180,92,.35);
  }
  #header_contents .navbar_nav>li:hover>a.nav_link::after,
  #header_contents .navbar_nav>li:focus-within>a.nav_link::after,
  #header_contents .navbar_nav>li.current-menu-item>a.nav_link::after{transform:scaleX(1)}

  /* dropdown caret */
  #header_contents .navbar_nav>li.menu-item-has-children>a.nav_link{padding-right:28px!important}
  #header_contents .navbar_nav>li.menu-item-has-children>a.nav_link::before{
    content:"";
    position:absolute;right:13px;top:50%;
    width:6px;height:6px;margin-top:-5px;
    border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
    transform:rotate(45deg);
    opacity:.7;
    transition:transform .4s var(--ul-ease),margin .4s var(--ul-ease),opacity .3s;
  }
  #header_contents .navbar_nav>li.menu-item-has-children:hover>a.nav_link::before,
  #header_contents .navbar_nav>li.menu-item-has-children:focus-within>a.nav_link::before{
    transform:rotate(225deg);margin-top:-1px;opacity:1;
  }

  /* dropdown panels: glass card that rises in */
  #header_contents .navbar_nav .sub-menu{
    display:block!important;
    position:absolute!important;
    top:calc(100% + 10px)!important;left:0!important;
    min-width:264px;
    margin:0!important;
    padding:10px!important;
    list-style:none;
    border:1px solid rgba(226,180,92,.26)!important;
    border-radius:18px!important;
    background:rgba(14,14,17,.92)!important;
    -webkit-backdrop-filter:blur(20px) saturate(140%);
    backdrop-filter:blur(20px) saturate(140%);
    box-shadow:0 34px 70px -28px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.05)!important;
    opacity:0;visibility:hidden;pointer-events:none;
    transform:translateY(12px) scale(.98);transform-origin:top left;
    transition:opacity .35s var(--ul-ease),transform .45s var(--ul-ease),visibility 0s linear .45s;
    z-index:1000;
  }
  /* invisible bridge so the panel doesn't close while the pointer travels to it */
  #header_contents .navbar_nav .sub-menu::after{
    content:"";position:absolute;left:0;right:0;top:-14px;height:14px;
  }
  /* gold glint along the panel's top edge */
  #header_contents .navbar_nav .sub-menu::before{
    content:"";position:absolute;left:22px;right:22px;top:-1px;height:1px;
    background:linear-gradient(90deg,transparent,var(--ul-gold-1),transparent);
    opacity:.8;
  }
  #header_contents .navbar_nav>li:hover>.sub-menu,
  #header_contents .navbar_nav>li:focus-within>.sub-menu{
    opacity:1;visibility:visible;pointer-events:auto;
    transform:none;
    transition:opacity .35s var(--ul-ease),transform .45s var(--ul-ease),visibility 0s;
  }

  /* Our Services + About Us: matching two-column glass panels */
  #header_contents .navbar_nav>li:is(.menu-item-24894,.menu-item-256)>.sub-menu{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:2px 6px;
    width:540px;
  }
  /* About Us sits further right: open its panel from the right edge so it stays on screen */
  #header_contents .navbar_nav>li.menu-item-256>.sub-menu{left:auto!important;right:0!important;transform-origin:top right}
  /* the theme's "flex menu" style gives About Us items uppercase text, padding and borders — match Our Services */
  #header_contents .navbar_nav .sub-menu>li{padding:0!important;margin:0!important;border:0!important;background:none!important;box-shadow:none!important}
  #header_contents .navbar_nav .sub-menu>li>a,
  #header_contents .navbar_nav .sub-menu>li>a *{text-transform:none!important;letter-spacing:normal!important;border:0!important;box-shadow:none!important}
  #header_contents .navbar_nav .sub-menu>li::before,
  #header_contents .navbar_nav .sub-menu>li::after,
  #header_contents .navbar_nav .sub-menu>li>a::after{display:none!important}

  /* dropdown items: staggered rise + gold edge on hover */
  #header_contents .navbar_nav .sub-menu>li{
    opacity:0;transform:translateY(6px);
    transition:opacity .4s var(--ul-ease),transform .4s var(--ul-ease);
  }
  #header_contents .navbar_nav>li:hover>.sub-menu>li,
  #header_contents .navbar_nav>li:focus-within>.sub-menu>li{opacity:1;transform:none}
  #header_contents .navbar_nav>li:hover>.sub-menu>li:nth-child(1){transition-delay:.04s}
  #header_contents .navbar_nav>li:hover>.sub-menu>li:nth-child(2){transition-delay:.07s}
  #header_contents .navbar_nav>li:hover>.sub-menu>li:nth-child(3){transition-delay:.10s}
  #header_contents .navbar_nav>li:hover>.sub-menu>li:nth-child(4){transition-delay:.13s}
  #header_contents .navbar_nav>li:hover>.sub-menu>li:nth-child(5){transition-delay:.16s}
  #header_contents .navbar_nav>li:hover>.sub-menu>li:nth-child(6){transition-delay:.19s}
  #header_contents .navbar_nav>li:hover>.sub-menu>li:nth-child(7){transition-delay:.22s}
  #header_contents .navbar_nav>li:hover>.sub-menu>li:nth-child(8){transition-delay:.25s}
  #header_contents .navbar_nav>li:hover>.sub-menu>li:nth-child(9){transition-delay:.28s}
  #header_contents .navbar_nav>li:hover>.sub-menu>li:nth-child(10){transition-delay:.31s}

  #header_contents .navbar_nav .sub-menu a{
    position:relative;
    display:block;
    padding:11px 16px!important;
    border-radius:11px!important;
    background:transparent!important;
    color:#D7D8DC!important;
    font-size:14.5px;font-weight:450;line-height:1.35;
    white-space:nowrap;
    transition:background .35s var(--ul-ease),color .3s,padding .35s var(--ul-ease)!important;
  }
  #header_contents .navbar_nav .sub-menu a .box_menu{color:inherit!important}
  #header_contents .navbar_nav .sub-menu a::before{
    content:"";
    position:absolute;left:6px;top:11px;bottom:11px;width:2px;
    border-radius:2px;
    background:var(--ul-gold-grad);
    transform:scaleY(0);
    transition:transform .35s var(--ul-ease);
  }
  #header_contents .navbar_nav .sub-menu a:hover,
  #header_contents .navbar_nav .sub-menu a:focus-visible{
    background:linear-gradient(90deg,rgba(226,180,92,.16),rgba(226,180,92,0) 85%)!important;
    color:var(--ul-gold-1)!important;
    padding-left:22px!important;
  }
  #header_contents .navbar_nav .sub-menu a:hover::before,
  #header_contents .navbar_nav .sub-menu a:focus-visible::before{transform:scaleY(1)}

  /* Quick Booking + Business Booking: matching gold pills, side by side after Home */
  #header_contents .navbar_nav>li:is(.menu-item-25580,.ul-menu-business){margin:0 3px!important}
  #header_contents .navbar_nav>li.menu-item-25580{margin-left:8px!important}
  #header_contents .navbar_nav>li.ul-menu-business{margin-right:8px!important}
  #header_contents .navbar_nav>li:is(.menu-item-25580,.ul-menu-business)>a.nav_link{
    overflow:hidden;
    padding:11px 22px!important;
    border-radius:999px;
    background:var(--ul-gold-grad)!important;
    color:#17120A!important;
    font-weight:700;letter-spacing:.02em;
    text-shadow:none!important;
    box-shadow:0 10px 26px -12px rgba(226,180,92,.75),inset 0 1px 0 rgba(255,255,255,.45);
    transition:transform .35s var(--ul-ease),box-shadow .35s var(--ul-ease),filter .3s!important;
  }
  #header_contents .navbar_nav>li:is(.menu-item-25580,.ul-menu-business)>a.nav_link::after{
    left:-60%;right:auto;top:0;bottom:0;height:auto;width:45%;
    border-radius:0;
    background:linear-gradient(100deg,transparent,rgba(255,255,255,.65),transparent);
    transform:skewX(-20deg);
    animation:ul-sheen 5.5s ease-in-out 1.6s infinite;
  }
  /* stagger the shimmer so the two pills don't flash at the same moment */
  #header_contents .navbar_nav>li.ul-menu-business>a.nav_link::after{animation-delay:2.4s}
  #header_contents .navbar_nav>li:is(.menu-item-25580,.ul-menu-business)>a.nav_link:hover{
    transform:translateY(-2px);
    filter:brightness(1.05);
    box-shadow:0 16px 32px -12px rgba(226,180,92,.9),inset 0 1px 0 rgba(255,255,255,.5);
  }
}

/* ---------- Header utilities: phone, search, burger ---------- */
#header_contents .header_contact .icons{
  position:relative;
  display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(226,180,92,.45);
  color:var(--ul-gold-1);
}
#header_contents .header_contact .icons::after{
  content:"";position:absolute;inset:-1px;border-radius:50%;
  border:1px solid rgba(226,180,92,.6);
  animation:ul-ring 2.6s var(--ul-ease) 1.2s 3;
  opacity:0;pointer-events:none;
}
#header_contents .header_contact a{color:var(--ul-text)!important;font-weight:500;letter-spacing:.02em;white-space:nowrap;transition:color .3s}
#header_contents .header_contact a:hover{color:var(--ul-gold-1)!important}
#header_contents .luxsearch .enableluxsearch{transition:color .3s,transform .45s var(--ul-ease)}
#header_contents .luxsearch .enableluxsearch:hover{color:var(--ul-gold-1);transform:rotate(-12deg) scale(1.08)}
#header_contents .navbar-burger{
  width:46px;height:46px;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(226,180,92,.35);border-radius:14px;
  background:linear-gradient(135deg,rgba(226,180,92,.22),rgba(255,255,255,.03));
  color:var(--ul-gold-1);
  box-shadow:inset 0 1px rgba(255,255,255,.08);
  transition:transform .35s var(--ul-ease),box-shadow .35s var(--ul-ease);
}
#header_contents .navbar-burger:hover{transform:translateY(-1px);box-shadow:0 10px 24px -12px rgba(226,180,92,.7),inset 0 1px rgba(255,255,255,.1)}
#header_contents .navbar-burger i{font-size:22px}

/* ---------- Mobile drawer ---------- */
html.ul-navigation-open{overflow:hidden}
#ul-navigation{box-sizing:border-box;position:fixed;inset:12px 12px 12px auto;margin:0;width:420px;max-width:calc(100% - 24px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);padding:28px 22px 20px;border:1px solid rgba(226,180,92,.3);border-radius:26px;background:radial-gradient(ellipse at 100% 0,rgba(185,132,47,.32),transparent 50%),linear-gradient(160deg,#1A1B1F,#0B0B0D 70%);color:#f6f3ed;box-shadow:0 30px 90px rgba(0,0,0,.65);overflow:auto;overscroll-behavior:contain;font-family:"DM Sans",sans-serif}
#ul-navigation::backdrop{background:rgba(5,6,9,.62);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
#ul-navigation[open]{animation:ul-nav-arrive .5s var(--ul-ease)}
#ul-navigation *{box-sizing:border-box}
.ul-nav-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0 0 24px;border-bottom:1px solid #ffffff18}
.ul-nav-head>div>span{background:var(--ul-gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:12px;font-weight:700;letter-spacing:3px}
#ul-navigation .ul-nav-head h2{font-family:inherit;color:#f8f4ec;font-size:26px;font-weight:500;line-height:1.25;letter-spacing:-.6px;margin:12px 0 0;max-width:260px}
#ul-navigation .ul-nav-close{flex:0 0 44px;width:44px;height:44px;border:1px solid #ffffff30;background:#ffffff08;color:#fff;border-radius:50%;font-size:28px;line-height:1;cursor:pointer;transition:transform .45s var(--ul-ease),border-color .3s,color .3s}
#ul-navigation .ul-nav-close:hover{transform:rotate(90deg);border-color:var(--ul-gold-2);color:var(--ul-gold-1)}
.ul-nav-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:22px 0}
#ul-navigation .ul-nav-actions a{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:54px;padding:12px 8px;background:var(--ul-gold-grad);border:1px solid var(--ul-gold-2);border-radius:14px;color:#17120A;font-size:14px;font-weight:700;text-decoration:none;text-align:center;line-height:1.3;transition:transform .3s var(--ul-ease)}
#ul-navigation .ul-nav-actions a:active{transform:scale(.97)}
#ul-navigation .ul-nav-actions a+a{background:#ffffff05;color:var(--ul-gold-1);border-color:rgba(226,180,92,.45)}
.ul-nav-links{display:flex;flex-direction:column;gap:5px}
#ul-navigation .ul-nav-links>a,#ul-navigation summary{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:14px 16px;border-radius:14px;border:1px solid transparent;background:transparent;color:#f5f2ec;font-size:18px;font-weight:500;line-height:1.4;text-decoration:none;cursor:pointer;list-style:none;transition:background .3s,color .3s,padding .35s var(--ul-ease)}
#ul-navigation summary::-webkit-details-marker{display:none}
#ul-navigation summary::after{content:"+";display:flex;align-items:center;justify-content:center;border:1px solid #ffffff25;border-radius:50%;width:28px;height:28px;font-size:20px;font-weight:400;color:var(--ul-gold-1);flex:0 0 28px;margin-left:12px;transition:transform .4s var(--ul-ease),background .3s}
#ul-navigation details[open]>summary{background:#ffffff08;color:var(--ul-gold-1)}
#ul-navigation details[open]>summary::after{content:"−";transform:rotate(180deg);background:rgba(226,180,92,.12);border-color:rgba(226,180,92,.5)}
#ul-navigation details[open] .ul-nav-children{animation:ul-rise .45s var(--ul-ease) both}
#ul-navigation .ul-nav-links>a[aria-current="page"]{background:linear-gradient(90deg,rgba(226,180,92,.16),rgba(226,180,92,.03));border-color:rgba(226,180,92,.3);color:var(--ul-gold-1)}
#ul-navigation .ul-nav-links>a[aria-current="page"]::after{content:"•";color:var(--ul-gold-2)}
.ul-nav-children{margin:4px 0 12px 16px;padding:4px 0 4px 14px;border-left:1px solid rgba(226,180,92,.3)}
#ul-navigation .ul-nav-children a{display:block;min-height:46px;padding:12px 10px;color:#c9cbd0;font-size:15px;line-height:1.5;text-decoration:none;border-radius:10px;transition:background .3s,color .3s,padding .35s var(--ul-ease)}
#ul-navigation a:hover,#ul-navigation summary:hover{background-color:#ffffff0c;color:var(--ul-gold-1)}
#ul-navigation .ul-nav-children a:hover{padding-left:16px}
#ul-navigation :is(a,button,summary):focus-visible{outline:2px solid var(--ul-gold-1);outline-offset:3px}
/* drawer contents cascade in when it opens */
#ul-navigation[open] .ul-nav-head,
#ul-navigation[open] .ul-nav-actions,
#ul-navigation[open] .ul-nav-links>*,
#ul-navigation[open] .ul-nav-foot{animation:ul-rise .55s var(--ul-ease) both}
#ul-navigation[open] .ul-nav-head{animation-delay:.08s}
#ul-navigation[open] .ul-nav-actions{animation-delay:.14s}
#ul-navigation[open] .ul-nav-links>*:nth-child(1){animation-delay:.20s}
#ul-navigation[open] .ul-nav-links>*:nth-child(2){animation-delay:.25s}
#ul-navigation[open] .ul-nav-links>*:nth-child(3){animation-delay:.30s}
#ul-navigation[open] .ul-nav-links>*:nth-child(4){animation-delay:.35s}
#ul-navigation[open] .ul-nav-links>*:nth-child(5){animation-delay:.40s}
#ul-navigation[open] .ul-nav-links>*:nth-child(6){animation-delay:.45s}
#ul-navigation[open] .ul-nav-foot{animation-delay:.5s}
.ul-nav-foot{border-top:1px solid #ffffff18;margin-top:24px;padding-top:22px}
.ul-nav-foot>span{display:block;color:#93979f;font-size:10px;letter-spacing:1.6px;margin-bottom:8px}
#ul-navigation .ul-nav-foot>a{display:inline-flex;align-items:center;min-height:44px;color:var(--ul-gold-1);font-size:16px;text-decoration:none;padding:8px 0}
@media(max-width:380px){#ul-navigation{padding:22px 16px}.ul-nav-actions{grid-template-columns:1fr}.ul-nav-head h2{font-size:23px}}

/* ---------- Keyframes ---------- */
@keyframes ul-drop{from{opacity:0;transform:translateY(-12px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
@keyframes ul-logo-in{from{opacity:0;transform:translateX(-10px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@keyframes ul-hairline{from{background-position:100% 0;opacity:0}40%{opacity:.9}to{background-position:0 0;opacity:.55}}
@keyframes ul-sheen{0%,72%{left:-60%}100%{left:130%}}
@keyframes ul-ring{0%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(1.7)}}
@keyframes ul-slide-in{from{transform:translateY(-100%)}to{transform:none}}
@keyframes ul-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes ul-nav-arrive{from{opacity:0;transform:translateX(32px) scale(.98)}to{opacity:1;transform:none}}

/* ---------- Respect reduced-motion preferences ---------- */
@media(prefers-reduced-motion:reduce){
  #header_contents *,#header_contents::after,#ul-navigation,#ul-navigation *{animation:none!important;transition:none!important}
  #header_contents .navbar_nav .sub-menu>li{opacity:1;transform:none}
}
