/* RACSuite Header v1.1.0 */
.rsh-header,
.rsh-header *{box-sizing:border-box}
.rsh-header{--rsh-blue:#079bc9;--rsh-teal:#087b86;--rsh-red:#ff2d12;--rsh-orange:#f29a00;--rsh-green:#0a8b24;--rsh-company:#c95454;--rsh-purple:#7548df;--rsh-text:#666;--rsh-line:#d7d7d7;position:relative;width:100%;background:#ffffff00;color:#555;font-family:Roboto,Arial,sans-serif;z-index:40}
.rsh-header a{text-decoration:none}
.rsh-inner{width:calc(100% - 40px);max-width:1620px;min-height:106px;margin:0 auto;display:flex;align-items:center;gap:34px}
.rsh-logo{display:flex;align-items:center;justify-content:flex-start;flex:0 0 auto;line-height:0}
.rsh-logo-image{display:block;width:auto;height:auto;max-width:182px;max-height:82px;object-fit:contain}
.rsh-logo-fallback{font-size:28px;font-weight:700;line-height:1;color:var(--rsh-blue)}

/* Desktop logged-in navigation */
.rsh-desktop-nav{display:flex;align-items:center;justify-content:center;gap:23px;flex:1 1 auto;min-width:0}
.rsh-nav-button{appearance:none!important;-webkit-appearance:none!important;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:112px;height:32px;padding:0 12px!important;border:1px solid #d5d5d5!important;border-radius:11px!important;background:#fff!important;box-shadow:0 2px 7px rgba(0,0,0,.12)!important;font:400 13px/1 Roboto,Arial,sans-serif!important;white-space:nowrap;transform:translateY(0) scale(1);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,filter .18s ease!important;will-change:transform,box-shadow}
.rsh-nav-button:hover,.rsh-nav-button:focus-visible{background:#fff!important;outline:none!important;border-color:currentColor!important;transform:translateY(-3px) scale(1.035)!important;box-shadow:0 8px 18px rgba(0,0,0,.16),0 0 0 1px currentColor inset!important;filter:saturate(1.08)}
.rsh-nav-button:active{transform:translateY(-1px) scale(.99)!important;box-shadow:0 3px 9px rgba(0,0,0,.14)!important}
.rsh-nav-button:hover .rsh-nav-icon,.rsh-nav-button:focus-visible .rsh-nav-icon{transform:scale(1.13)}
.rsh-nav-icon{display:inline-flex;width:14px;height:14px;align-items:center;justify-content:center;flex:0 0 14px;transition:transform .18s ease}
.rsh-nav-icon svg{display:block;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rsh-nav--bookings{--rsh-nav-accent:#5b5b5b;color:#5b5b5b!important}.rsh-nav--timeline{--rsh-nav-accent:var(--rsh-orange);color:var(--rsh-orange)!important}.rsh-nav--customers{--rsh-nav-accent:var(--rsh-green);color:var(--rsh-green)!important}.rsh-nav--companies{--rsh-nav-accent:var(--rsh-company);color:var(--rsh-company)!important}.rsh-nav--fleet{--rsh-nav-accent:var(--rsh-blue);color:var(--rsh-blue)!important}.rsh-nav--info{--rsh-nav-accent:var(--rsh-purple);color:var(--rsh-purple)!important}
.rsh-nav-button.is-active,.rsh-nav-button[aria-current="page"]{background:var(--rsh-nav-accent,#555)!important;color:#fff!important;border-color:#fff!important;box-shadow:0 4px 12px rgba(0,0,0,.18),0 0 0 1px rgba(255,255,255,.9) inset!important}
.rsh-nav-button.is-active:hover,.rsh-nav-button.is-active:focus-visible,.rsh-nav-button[aria-current="page"]:hover,.rsh-nav-button[aria-current="page"]:focus-visible{background:var(--rsh-nav-accent,#555)!important;color:#fff!important;border-color:#fff!important;box-shadow:0 8px 18px rgba(0,0,0,.2),0 0 0 1px #fff inset!important;filter:saturate(1.08)}
.rsh-setup-button{appearance:none!important;-webkit-appearance:none!important;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:var(--rsh-teal)!important;width:48px!important;height:48px!important;padding:0!important;margin:0!important;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:0!important;flex:0 0 48px}
.rsh-setup-button:hover,.rsh-setup-button:focus-visible{background:transparent!important;color:var(--rsh-teal)!important;transform:scale(1.08)!important;outline:none!important}
.rsh-setup-button svg{transition:transform .22s ease}
.rsh-setup-button:hover svg,.rsh-setup-button:focus-visible svg{transform:rotate(28deg)}
.rsh-setup-button svg{display:block;width:35px;height:35px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rsh-user-block{flex:0 0 132px;align-self:stretch;border-left:1px solid #ececec;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:#666;text-align:center}
.rsh-user-name{font-size:16px;line-height:1;font-weight:700;color:#666}.rsh-logout{font-size:14px;line-height:1;color:#666!important}

/* Desktop guest mode */
.rsh-header--guest .rsh-inner{max-width:1645px;min-height:96px;gap:54px}
.rsh-header--guest .rsh-logo-image{max-width:180px;max-height:84px}
.rsh-guest-desktop-nav{display:flex;align-items:center;justify-content:center;gap:42px;flex:1 1 auto}
.rsh-guest-link{font-size:17px;line-height:1.2;font-weight:700;color:var(--rsh-blue)!important;white-space:nowrap}.rsh-guest-link:first-child{color:#555!important}
.rsh-contact-block{flex:0 0 300px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px}
.rsh-contact-row{display:flex;align-items:center;gap:5px;font-size:14px;line-height:1.2}.rsh-contact-row--phone{color:#e64c74!important}.rsh-contact-row--email{color:#4a91d5!important}
.rsh-contact-icon{display:inline-flex;width:29px;height:29px;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:var(--rsh-blue)}
.rsh-contact-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Tablet/mobile header. Hidden on desktop. */
.rsh-mobile-contact-strip,.rsh-mobile-toggle,.rsh-mobile-panel{display:none}

/* Centered mobile/tablet menu modal */
.rsh-mobile-panel[hidden],.rsh-modal[hidden]{display:none!important}
.rsh-mobile-panel{position:fixed!important;inset:0!important;z-index:100100!important;background:rgba(0,0,0,.58)!important;align-items:center!important;justify-content:center!important;padding:20px!important}
.rsh-mobile-menu-modal{position:relative!important;width:min(500px,calc(100vw - 40px))!important;max-height:calc(100dvh - 40px)!important;overflow:auto!important;background:#fff!important;border-radius:46px!important;box-shadow:none!important;padding:24px 34px 34px!important;text-align:center!important;color:#444!important;overscroll-behavior:contain}
.rsh-mobile-menu-close{appearance:none!important;-webkit-appearance:none!important;position:absolute!important;top:19px!important;right:22px!important;width:24px!important;height:24px!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--rsh-red)!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important}
.rsh-mobile-menu-close svg{width:22px!important;height:22px!important;fill:none!important;stroke:currentColor!important;stroke-width:2.8!important;stroke-linecap:round!important}
.rsh-mobile-menu-user{padding:3px 58px 0!important;font-size:29px!important;line-height:1.25!important;font-weight:300!important;color:#494949!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.rsh-mobile-setup-icon{appearance:none!important;-webkit-appearance:none!important;border:0!important;background:transparent!important;box-shadow:none!important;width:34px!important;height:29px!important;padding:0!important;margin:20px auto 5px!important;display:flex!important;align-items:center!important;justify-content:center!important;color:var(--rsh-teal)!important;cursor:pointer!important}
.rsh-mobile-setup-icon svg{width:27px!important;height:27px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.rsh-mobile-modal-nav{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:0!important;margin:0!important}
.rsh-mobile-modal-link{display:flex!important;align-items:center!important;justify-content:center!important;min-height:116px!important;padding:10px 8px!important;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--rsh-blue)!important;font:300 34px/1.1 Roboto,Arial,sans-serif!important;text-align:center!important;text-decoration:none!important}
.rsh-mobile-modal-link:hover,.rsh-mobile-modal-link:focus-visible{background:transparent!important;color:var(--rsh-blue)!important;outline:none!important}
.rsh-mobile-modal-link--bookings{color:var(--rsh-red)!important}.rsh-mobile-modal-link--timeline,.rsh-mobile-modal-link--dashboard{color:var(--rsh-blue)!important}
.rsh-mobile-modal-link--logout{min-height:94px!important;margin-top:0!important}
.rsh-mobile-menu-modal--guest{padding-top:68px!important;padding-bottom:42px!important}.rsh-mobile-modal-nav--guest .rsh-mobile-modal-link{min-height:96px!important}

/* Company selector modal */
.rsh-modal{position:fixed;inset:0;z-index:100200;display:flex;align-items:center;justify-content:center;padding:24px}.rsh-modal__backdrop{position:absolute;inset:0;background:rgba(10,26,39,.55);backdrop-filter:blur(2px)}.rsh-modal__dialog{position:relative;width:min(560px,100%);max-height:min(680px,90vh);overflow:auto;background:#fff;border-radius:20px;box-shadow:0 25px 70px rgba(0,0,0,.25);padding:28px}.rsh-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.rsh-modal__eyebrow{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#ef8d00;font-weight:700;margin-bottom:4px}.rsh-modal h3{margin:0;color:#18374c;font-size:24px}.rsh-modal__help{margin:8px 0 20px;color:#6f7a83}.rsh-icon-button{appearance:none!important;border:0!important;background:transparent!important;color:#59616a!important;width:24px!important;height:24px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important}.rsh-icon-button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.rsh-company-list{display:flex;flex-direction:column;gap:9px}.rsh-company-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #e3e7ea;border-radius:12px;text-decoration:none;color:#26465b;background:#fff}.rsh-company-item:hover{background:#f5fbfd;border-color:#94d8ea}.rsh-company-item:after{content:"→";color:#ef8d00;font-weight:700}.rsh-company-state{padding:18px;border-radius:12px;background:#f7f8f9;color:#66737c;text-align:center}
body.rsh-no-scroll{overflow:hidden!important}

@media (max-width:1500px) and (min-width:1101px){.rsh-inner{gap:20px}.rsh-desktop-nav{gap:16px}.rsh-nav-button{min-width:104px!important;padding:0 10px!important}.rsh-logo-image{max-width:165px}.rsh-user-block{flex-basis:118px}}
@media (max-width:1270px) and (min-width:1101px){.rsh-inner{gap:12px}.rsh-desktop-nav{gap:9px}.rsh-nav-button{min-width:92px!important;height:30px!important;padding:0 8px!important;font-size:12px!important}.rsh-setup-button{width:42px!important;flex-basis:42px}.rsh-user-block{flex-basis:110px}}

@media (max-width:1100px){
  .rsh-header{box-shadow:0 2px 5px rgba(0,0,0,.10)!important}
  .rsh-desktop-nav,.rsh-user-block,.rsh-guest-desktop-nav,.rsh-contact-block{display:none!important}

  /* Contact details sit closer to the top edge, as in the reference header. */
  .rsh-mobile-contact-strip{display:block!important;width:100%;height:48px;background:#fff}
  .rsh-mobile-contact-strip__inner{height:48px;width:calc(100% - 34px);max-width:980px;margin:0 auto;padding-top:8px;display:flex;align-items:flex-start;justify-content:center;gap:7px;overflow:hidden}
  .rsh-mobile-contact-strip__item{display:flex;align-items:center;gap:7px;color:#111!important;font-size:19px;line-height:1;white-space:nowrap}
  .rsh-mobile-contact-strip__icon{display:inline-flex;width:27px;height:27px;align-items:center;justify-content:center;color:var(--rsh-blue)}
  .rsh-mobile-contact-strip__icon svg{width:26px;height:26px;fill:currentColor;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .rsh-mobile-contact-strip__item--email .rsh-mobile-contact-strip__icon svg{fill:none;stroke-width:2.2}

  /* Logo + hamburger form one centered group instead of living at opposite edges. */
  .rsh-inner,.rsh-header--guest .rsh-inner{width:100%;max-width:980px;min-height:158px!important;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:center;gap:28px}
  .rsh-logo{flex:0 1 auto}
  .rsh-logo-image,.rsh-header--guest .rsh-logo-image{max-width:340px!important;max-height:142px!important}

  /* IMPORTANT: hamburger sizing intentionally remains the v1.0.2 sizing. */
  .rsh-mobile-toggle{appearance:none!important;-webkit-appearance:none!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 50px!important;width:50px!important;height:50px!important;padding:0!important;margin:0!important;border:0!important;border-radius:50%!important;background:var(--rsh-blue)!important;box-shadow:none!important;color:#fff!important;cursor:pointer!important}
  .rsh-mobile-toggle:hover,.rsh-mobile-toggle:focus-visible{background:var(--rsh-blue)!important;color:#fff!important;outline:none!important;transform:none!important}
  .rsh-mobile-toggle svg{display:block;width:26px!important;height:26px!important;fill:none!important;stroke:currentColor!important;stroke-width:2.6!important;stroke-linecap:round!important}

  .rsh-mobile-panel{display:flex!important;padding:14px!important}
  .rsh-mobile-panel[hidden]{display:none!important}

  /* v1.0.3: the centered menu itself is roughly half the previous visual scale. */
  .rsh-mobile-menu-modal{width:min(310px,calc(100vw - 28px))!important;max-height:calc(100dvh - 28px)!important;border-radius:26px!important;padding:14px 18px 18px!important}
  .rsh-mobile-menu-close{top:10px!important;right:12px!important;width:22px!important;height:22px!important}
  .rsh-mobile-menu-close svg{width:19px!important;height:19px!important}
  .rsh-mobile-menu-user{padding:1px 36px 0!important;font-size:17px!important;line-height:1.2!important}
  .rsh-mobile-setup-icon{width:24px!important;height:22px!important;margin:10px auto 2px!important}
  .rsh-mobile-setup-icon svg{width:21px!important;height:21px!important}
  .rsh-mobile-modal-link{min-height:56px!important;padding:5px 4px!important;font-size:18px!important;line-height:1.05!important}
  .rsh-mobile-modal-link--logout{min-height:50px!important}
  .rsh-mobile-menu-modal--guest{padding:36px 18px 18px!important}
  .rsh-mobile-modal-nav--guest .rsh-mobile-modal-link{min-height:52px!important}
}

@media (max-width:650px){
  .rsh-mobile-contact-strip{height:39px}
  .rsh-mobile-contact-strip__inner{height:39px;width:calc(100% - 18px);padding-top:5px;gap:4px}
  .rsh-mobile-contact-strip__item{gap:4px;font-size:14px}
  .rsh-mobile-contact-strip__icon{width:21px;height:21px}.rsh-mobile-contact-strip__icon svg{width:20px;height:20px}
  .rsh-inner,.rsh-header--guest .rsh-inner{width:100%;min-height:116px!important;padding:0 18px;gap:20px;justify-content:center}
  .rsh-logo-image,.rsh-header--guest .rsh-logo-image{max-width:min(66vw,290px)!important;max-height:104px!important}
  /* preserve v1.0.2 hamburger size at phone widths */
  .rsh-mobile-toggle{flex-basis:39px!important;width:39px!important;height:39px!important}.rsh-mobile-toggle svg{width:21px!important;height:21px!important}
  .rsh-mobile-menu-modal{width:min(290px,calc(100vw - 24px))!important;max-height:calc(100dvh - 24px)!important;border-radius:24px!important;padding:13px 16px 16px!important}
  .rsh-mobile-menu-close{top:9px!important;right:10px!important;width:20px!important;height:20px!important}.rsh-mobile-menu-close svg{width:18px!important;height:18px!important}
  .rsh-mobile-menu-user{padding:1px 32px 0!important;font-size:16px!important}
  .rsh-mobile-setup-icon{margin-top:8px!important;width:22px!important;height:20px!important}.rsh-mobile-setup-icon svg{width:19px!important;height:19px!important}
  .rsh-mobile-modal-link{min-height:50px!important;font-size:17px!important}.rsh-mobile-modal-link--logout{min-height:46px!important}
  .rsh-mobile-menu-modal--guest{padding-top:31px!important}.rsh-mobile-modal-nav--guest .rsh-mobile-modal-link{min-height:48px!important}
}

@media (max-width:420px){
  .rsh-mobile-contact-strip__item{font-size:11.5px}.rsh-mobile-contact-strip__inner{gap:2px;padding-top:5px}.rsh-mobile-contact-strip__icon{width:18px;height:18px}.rsh-mobile-contact-strip__icon svg{width:17px;height:17px}
  .rsh-inner,.rsh-header--guest .rsh-inner{min-height:102px!important;padding:0 14px;gap:16px;justify-content:center}
  .rsh-logo-image,.rsh-header--guest .rsh-logo-image{max-width:220px!important;max-height:88px!important}
  /* preserve v1.0.2 hamburger size at very small widths */
  .rsh-mobile-toggle{flex-basis:34px!important;width:34px!important;height:34px!important}.rsh-mobile-toggle svg{width:18px!important;height:18px!important}
  .rsh-mobile-menu-modal{width:min(270px,calc(100vw - 20px))!important;border-radius:22px!important}
  .rsh-mobile-menu-user{font-size:15px!important}.rsh-mobile-modal-link{min-height:46px!important;font-size:16px!important}
}

/* =========================================================
 * v1.0.4 — Guest exact-layout + viewport-safe mobile modal
 * ======================================================= */

/*
 * The original public/guest header uses a substantially narrower centered
 * content rail than the application header. Keeping this rail independent
 * prevents the logo, menu and contact details from drifting toward the
 * viewport edges on wide screens.
 */
@media (min-width:1101px){
  .rsh-header--guest .rsh-inner{
    width:calc(100% - 40px)!important;
    max-width:1440px!important;
    min-height:96px!important;
    margin:0 auto!important;
    padding:0!important;
    gap:48px!important;
  }
  .rsh-header--guest .rsh-logo{
    flex:0 0 180px!important;
  }
  .rsh-header--guest .rsh-logo-image{
    width:auto!important;
    height:auto!important;
    max-width:180px!important;
    max-height:80px!important;
  }
  .rsh-header--guest .rsh-guest-desktop-nav{
    flex:1 1 auto!important;
    justify-content:center!important;
    gap:42px!important;
    min-width:0!important;
  }
  .rsh-header--guest .rsh-contact-block{
    flex:0 0 260px!important;
    align-items:flex-start!important;
  }
}

/*
 * The menu panel is portalled to <body> by header.js when it opens. Therefore
 * it owns its design tokens/font instead of relying on inheritance from the
 * shortcode wrapper. This also guarantees position:fixed is relative to the
 * browser viewport even when an Elementor ancestor has transform/filter/etc.
 */
.rsh-mobile-panel{
  --rsh-blue:#079bc9;
  --rsh-teal:#087b86;
  --rsh-red:#ff2d12;
  --rsh-orange:#f29a00;
  --rsh-green:#0a8b24;
  --rsh-company:#c95454;
  --rsh-purple:#7548df;
  font-family:Roboto,Arial,sans-serif!important;
  box-sizing:border-box!important;
}
.rsh-mobile-panel *{box-sizing:border-box!important}

/* Guest modal must be an unmistakable compact floating card. */
@media (max-width:1100px){
  .rsh-mobile-menu-modal--guest{
    position:relative!important;
    width:min(300px,calc(100vw - 28px))!important;
    max-height:calc(100dvh - 28px)!important;
    margin:auto!important;
    padding:34px 18px 20px!important;
    border-radius:26px!important;
    background:#fff!important;
    box-shadow:0 18px 52px rgba(0,0,0,.22)!important;
  }
  .rsh-mobile-modal-nav--guest{
    width:100%!important;
  }
  .rsh-mobile-modal-nav--guest .rsh-mobile-modal-link{
    min-height:50px!important;
    padding:5px 4px!important;
    font-size:18px!important;
    line-height:1.08!important;
    color:var(--rsh-blue)!important;
  }
  .rsh-mobile-modal-nav--guest .rsh-mobile-modal-link:first-child{
    color:#555!important;
  }
}

@media (max-width:650px){
  .rsh-mobile-menu-modal--guest{
    width:min(280px,calc(100vw - 24px))!important;
    padding:31px 15px 17px!important;
    border-radius:24px!important;
  }
  .rsh-mobile-modal-nav--guest .rsh-mobile-modal-link{
    min-height:46px!important;
    font-size:17px!important;
  }
}


/* =========================================================
 * v1.0.5 — Mobile/tablet stacking-context / z-index fix
 * ======================================================= */
/*
 * Keep the actual header above page hero sections. Modal layers intentionally
 * remain above this range (100100+ / 100200+).
 */
@media (max-width:1100px){
  .rsh-header{
    position:relative!important;
    z-index:99990!important;
    overflow:visible!important;
    isolation:isolate!important;
    box-shadow:0 2px 5px rgb(0 0 0 / 0%)!important;
  }

  /*
   * Elementor can create a new stacking context around the shortcode widget.
   * These direct wrapper rules cover the normal widget/container structure;
   * header.js also elevates detected stacking-context ancestors at runtime.
   */
  .elementor-widget-shortcode:has(.rsh-header),
  .elementor-widget-container:has(> .rsh-header),
  .e-con-inner:has(> .elementor-element .rsh-header){
    position:relative!important;
    z-index:99980!important;
    overflow:visible!important;
  }
}


/* =========================================================
 * v1.0.6 — Requested desktop/mobile header surface rules
 * ======================================================= */
@media (min-width:1101px){
  .rsh-header{
    --rsh-blue:#079bc9;
    --rsh-teal:#087b86;
    --rsh-red:#ff2d12;
    --rsh-orange:#f29a00;
    --rsh-green:#0a8b24;
    --rsh-company:#c95454;
    --rsh-purple:#7548df;
    --rsh-text:#666;
    --rsh-line:#d7d7d7;
    position:relative!important;
    width:100%!important;
    background:#ffffff00!important;
    color:#555;
    font-family:Roboto,Arial,sans-serif;
    z-index:40!important;
    isolation:auto!important;
  }
}

@media (max-width:1100px){
  .rsh-header{
    box-shadow:0 2px 5px rgb(0 0 0 / 0%)!important;
  }
}


/* =========================================================
 * v1.0.7 — definitive surface rules + cache-safe load
 * ======================================================= */
@media (min-width:1101px){
  html body .rsh-header{
    --rsh-blue:#079bc9;
    --rsh-teal:#087b86;
    --rsh-red:#ff2d12;
    --rsh-orange:#f29a00;
    --rsh-green:#0a8b24;
    --rsh-company:#c95454;
    --rsh-purple:#7548df;
    --rsh-text:#666;
    --rsh-line:#d7d7d7;
    position:relative!important;
    width:100%!important;
    background:#ffffff00!important;
    color:#555!important;
    font-family:Roboto,Arial,sans-serif!important;
    z-index:40!important;
    isolation:auto!important;
  }
}

@media (max-width:1100px){
  html body .rsh-header{
    box-shadow:0 2px 5px rgb(0 0 0 / 0%)!important;
  }
}


/* =========================================================
 * v1.0.8 — Desktop stacking + hard mobile-trigger isolation
 * ======================================================= */
@media (min-width:1101px){
  html body .rsh-header{
    z-index:1040!important;
  }

  /*
   * The mobile trigger is present in the markup for responsive switching,
   * but it must never be visible on desktop. !important prevents generic
   * Elementor/theme button rules from overriding the base hidden state.
   */
  html body .rsh-header .rsh-mobile-toggle,
  html body .rsh-header .rsh-mobile-contact-strip,
  html body .rsh-header .rsh-mobile-panel{
    display:none!important;
  }
}


/* =========================================================
 * v1.0.9 — Logged-in notifications
 * ======================================================= */
.rsh-notification-button{
  appearance:none!important;-webkit-appearance:none!important;position:relative!important;
  flex:0 0 42px!important;width:42px!important;height:42px!important;padding:0!important;margin:0!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;
  color:var(--rsh-teal)!important;cursor:pointer!important;transition:transform .18s ease,background .18s ease!important;
}
.rsh-notification-button:hover,.rsh-notification-button:focus-visible{transform:translateY(-2px) scale(1.05)!important;background:rgba(8,123,134,.07)!important;outline:none!important}
.rsh-notification-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px}
.rsh-notification-icon svg{display:block;width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rsh-notification-badge{
  position:absolute!important;top:-3px!important;right:-5px!important;min-width:18px!important;height:18px!important;padding:0 5px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;border:2px solid #fff!important;border-radius:999px!important;
  background:#e5232f!important;color:#fff!important;font:700 10px/1 Roboto,Arial,sans-serif!important;box-shadow:0 2px 5px rgba(0,0,0,.18)!important;
}
.rsh-notification-badge[hidden]{display:none!important}

.rsh-notifications{position:fixed!important;inset:0!important;z-index:100300!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:20px!important;font-family:Roboto,Arial,sans-serif!important}
.rsh-notifications[hidden]{display:none!important}
.rsh-notifications__backdrop{position:absolute;inset:0;background:rgba(20,27,33,.58);backdrop-filter:blur(1px)}
.rsh-notifications__dialog{position:relative;z-index:1;width:min(780px,calc(100vw - 32px));max-height:min(82vh,780px);display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #e4e8ec;border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.rsh-notifications__head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px 13px;border-bottom:1px solid #edf0f2}
.rsh-notifications__title-wrap{display:flex;align-items:center;gap:12px;min-width:0}.rsh-notifications__heading{min-width:0}.rsh-notifications__title-line{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.rsh-notifications__bell{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:rgba(7,155,201,.10);color:var(--rsh-blue,#079bc9)}
.rsh-notifications__bell svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rsh-notifications__eyebrow{display:block;margin:0 0 2px;color:#ef8a00;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.rsh-notifications__head h3{margin:0!important;color:#24313d!important;font:700 22px/1.1 Roboto,Arial,sans-serif!important}
.rsh-notifications__close{appearance:none!important;width:36px!important;height:36px!important;padding:0!important;border:0!important;border-radius:50%!important;background:#fff!important;color:#e5232f!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important}
.rsh-notifications__close:hover{background:#fff1f2!important}
.rsh-notifications__close svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round}
.rsh-notifications__range{color:#667483;font-size:12px;font-weight:700;white-space:nowrap}
.rsh-notifications__filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;gap:8px;align-items:end;padding:10px 16px;border-bottom:1px solid #edf0f2;background:#fbfcfd}
.rsh-notifications__filters label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;align-items:center;min-width:0;color:#667483;font-size:11px;font-weight:800}
.rsh-notifications__filters input{width:100%;min-width:0;height:36px;padding:0 10px;border:1px solid #d9e0e6;border-radius:10px;background:#fff;color:#26333f;font:700 12px/1 Roboto,Arial,sans-serif!important}
.rsh-notifications__apply,.rsh-notifications__default{height:36px;padding:0 14px;border-radius:10px!important;font:800 11px/1 Roboto,Arial,sans-serif!important;cursor:pointer!important}
.rsh-notifications__apply{border:1px solid #f28b18!important;background:#f28b18!important;color:#fff!important}
.rsh-notifications__default{border:1px solid #e5c79e!important;background:#fff8ee!important;color:#c86700!important}
.rsh-notifications__body{padding:14px 16px 18px;overflow:auto;overscroll-behavior:contain}
.rsh-notifications__state{padding:30px 16px;text-align:center;color:#788594;font-size:14px;background:#f8fafc;border-radius:14px}
.rsh-notification-group{margin:0 0 14px}.rsh-notification-group:last-child{margin-bottom:0}
.rsh-notification-group__head{display:flex;align-items:center;justify-content:space-between;padding:0 4px 7px;color:#344250;font-size:13px}
.rsh-notification-group__count{min-width:22px;height:22px;padding:0 7px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#fff0dc;color:#d86d00;font-size:11px;font-weight:800}
.rsh-notification-item{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 7px;padding:11px 12px;border:1px solid #e5e9ed;border-left-width:4px;border-radius:12px;background:#fff}
.rsh-notification-item:last-child{margin-bottom:0}.rsh-notification-item--critical{border-left-color:#e5232f;background:#fff8f8}.rsh-notification-item--warning{border-left-color:#f2a100;background:#fffdf7}
.rsh-notification-item__copy{min-width:0;flex:1}.rsh-notification-item__title{color:#26333f;font-size:13px;font-weight:800;line-height:1.25}.rsh-notification-item__text{margin-top:3px;color:#6c7886;font-size:12px;line-height:1.3;word-break:break-word}
.rsh-notification-item__open{flex:0 0 auto;color:#d96c00!important;font-size:12px;font-weight:800;text-decoration:underline!important;text-underline-offset:2px}

@media (max-width:1100px){
  .rsh-header--logged-in .rsh-inner{gap:18px!important}
  .rsh-notification-button{flex-basis:42px!important;width:42px!important;height:42px!important;background:rgba(8,123,134,.06)!important}
  .rsh-notification-icon{width:27px;height:27px}.rsh-notification-icon svg{width:25px;height:25px}
  .rsh-notification-badge{top:-4px!important;right:-5px!important}
}
@media (max-width:650px){
  .rsh-header--logged-in .rsh-inner{gap:13px!important}
  .rsh-notification-button{flex-basis:34px!important;width:34px!important;height:34px!important}
  .rsh-notification-icon{width:23px;height:23px}.rsh-notification-icon svg{width:21px;height:21px}
  .rsh-notification-badge{min-width:16px!important;height:16px!important;font-size:9px!important;padding:0 4px!important}
  .rsh-notifications{padding:12px!important}
  .rsh-notifications__dialog{width:min(92vw,520px);max-height:82dvh;border-radius:20px}
  .rsh-notifications__head{padding:16px 16px 11px}.rsh-notifications__head h3{font-size:18px!important}.rsh-notifications__bell{width:34px;height:34px}.rsh-notifications__bell svg{width:20px;height:20px}
  .rsh-notifications__range{font-size:11px}.rsh-notifications__title-line{gap:8px}.rsh-notifications__filters{grid-template-columns:1fr 1fr;padding:10px 11px}.rsh-notifications__filters label{grid-template-columns:1fr;gap:4px}.rsh-notifications__apply,.rsh-notifications__default{width:100%}.rsh-notifications__body{padding:11px 11px 14px}
  .rsh-notification-item{padding:10px 10px;gap:8px}.rsh-notification-item__title{font-size:12px}.rsh-notification-item__text,.rsh-notification-item__open{font-size:11px}
}
@media (max-width:420px){
  .rsh-header--logged-in .rsh-inner{gap:10px!important}
  .rsh-notification-button{flex-basis:30px!important;width:30px!important;height:30px!important}.rsh-notification-icon svg{width:19px;height:19px}
}

/* =========================================================
 * v1.1.0 — EL / EN language switch
 * ======================================================= */
.rsh-language-switch{position:relative!important;flex:0 0 38px!important;width:38px!important;height:38px!important;margin:0!important;padding:0!important;z-index:100420!important}
.rsh-language-switch>summary{list-style:none!important}.rsh-language-switch>summary::-webkit-details-marker{display:none!important}
.rsh-language-current{appearance:none!important;-webkit-appearance:none!important;width:38px!important;height:38px!important;padding:0!important;margin:0!important;border:1px solid #e3e7ea!important;border-radius:50%!important;background:#fff!important;box-shadow:0 2px 7px rgba(0,0,0,.10)!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important}
.rsh-language-current:hover,.rsh-language-current:focus-visible{outline:none!important;transform:translateY(-2px) scale(1.05)!important;border-color:#b8c4ca!important;box-shadow:0 7px 15px rgba(0,0,0,.14)!important}
.rsh-language-flag{display:block!important;font-size:22px!important;line-height:1!important;transform:translateY(-.5px)}
.rsh-language-menu{position:absolute!important;top:46px!important;right:0!important;min-width:146px!important;padding:6px!important;border:1px solid #e1e6e9!important;border-radius:12px!important;background:#fff!important;box-shadow:0 14px 34px rgba(0,0,0,.18)!important;display:flex!important;flex-direction:column!important;gap:2px!important;z-index:100421!important}
.rsh-language-switch:not([open]) .rsh-language-menu{display:none!important}
.rsh-language-option{display:flex!important;align-items:center!important;gap:9px!important;min-height:36px!important;padding:7px 9px!important;border-radius:8px!important;color:#46545e!important;background:#fff!important;font:600 12px/1.1 Roboto,Arial,sans-serif!important;white-space:nowrap!important;text-decoration:none!important}
.rsh-language-option>span:first-child{font-size:18px!important;line-height:1!important}.rsh-language-option:hover,.rsh-language-option:focus-visible{outline:none!important;background:#f2f8fa!important;color:#087b86!important}.rsh-language-option.is-active{background:#eef8fa!important;color:#087b86!important}

@media (max-width:1100px){
  .rsh-language-switch{flex-basis:38px!important;width:38px!important;height:38px!important}
  .rsh-language-current{width:38px!important;height:38px!important}.rsh-language-flag{font-size:21px!important}
  .rsh-language-menu{top:44px!important}
}
@media (max-width:650px){
  .rsh-language-switch{flex-basis:32px!important;width:32px!important;height:32px!important}
  .rsh-language-current{width:32px!important;height:32px!important}.rsh-language-flag{font-size:18px!important}
  .rsh-language-menu{top:38px!important;right:-8px!important;min-width:132px!important}.rsh-language-option{font-size:11px!important;min-height:34px!important}
}
@media (max-width:420px){
  .rsh-language-switch{flex-basis:29px!important;width:29px!important;height:29px!important}
  .rsh-language-current{width:29px!important;height:29px!important}.rsh-language-flag{font-size:17px!important}
}

/* v1.2.0 — Avatar user menu + global Learning Mode launcher */
.rsh-user-menu{position:relative;flex:0 0 72px;align-self:stretch;border-left:1px solid #ececec;display:flex;align-items:center;justify-content:center}
.rsh-user-avatar{appearance:none!important;-webkit-appearance:none!important;border:0!important;background:transparent!important;padding:0!important;margin:0!important;width:44px!important;min-width:44px!important;max-width:44px!important;height:44px!important;min-height:44px!important;max-height:44px!important;border-radius:50%!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 0 0 1px #e1e6e9!important;overflow:hidden!important;line-height:0!important}
.rsh-user-avatar__img{width:44px!important;height:44px!important;border-radius:50%!important;object-fit:cover!important;display:block!important}
.rsh-user-dropdown{position:absolute;top:calc(50% + 30px);right:0;min-width:238px;background:#fff;border:1px solid #e1e6e9;border-radius:14px;box-shadow:0 16px 38px rgba(0,0,0,.18);padding:8px;z-index:100500;color:#4c5357}
.rsh-user-dropdown[hidden]{display:none!important}.rsh-user-dropdown__identity{padding:10px 12px 11px;border-bottom:1px solid #edf0f2;margin-bottom:5px;font-size:14px}.rsh-user-dropdown__item{appearance:none;width:100%;min-height:40px;border:0;background:transparent;border-radius:9px;padding:9px 11px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;color:#555!important;font:inherit;font-size:13px;text-decoration:none!important;cursor:pointer}.rsh-user-dropdown__item:hover{background:#f4f7f8}.rsh-user-dropdown__item--logout{color:#cf3b32!important;margin-top:3px}.rsh-learning-state{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:20px;padding:0 7px;border-radius:999px;background:#eceff1;color:#737b80;font-size:10px;font-weight:800;letter-spacing:.04em}.rsh-learning-state.is-on{background:#dff5e5;color:#16833a}.rsh-learning-state.is-unavailable{opacity:.55}.rsh-mobile-modal-link--button{width:100%!important;border-left:0!important;border-right:0!important;border-top:0!important;background:transparent!important;cursor:pointer!important;font-family:inherit!important}.rsh-mobile-modal-link--button .rsh-learning-state{margin-left:10px}
@media(max-width:1100px){.rsh-user-menu{display:none!important}}

/* v1.3.0 — Refined global user avatar menu */
.rsh-user-menu{position:relative!important;flex:0 0 78px!important;align-self:stretch!important;border-left:1px solid #edf1f3!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#fff!important;overflow:visible!important}
.rsh-user-avatar{all:unset!important;box-sizing:border-box!important;width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;border-radius:50%!important;display:grid!important;place-items:center!important;overflow:hidden!important;cursor:pointer!important;background:#f6f8f9!important;border:1px solid #dce4e8!important;box-shadow:0 2px 10px rgba(31,53,66,.08)!important;transition:box-shadow .16s ease,border-color .16s ease,transform .16s ease!important}
.rsh-user-avatar:hover,.rsh-user-avatar[aria-expanded="true"]{border-color:#86c7da!important;box-shadow:0 4px 16px rgba(0,111,145,.16)!important;transform:translateY(-1px)!important}
.rsh-user-avatar:focus-visible{outline:3px solid rgba(0,153,196,.2)!important;outline-offset:3px!important}
.rsh-user-avatar__img{width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;max-width:none!important;border-radius:50%!important;object-fit:cover!important;display:block!important;margin:0!important;padding:0!important;border:0!important}
.rsh-user-dropdown{all:unset!important;box-sizing:border-box!important;display:block!important;position:absolute!important;top:calc(50% + 34px)!important;right:10px!important;width:322px!important;max-width:calc(100vw - 24px)!important;background:#fff!important;border:1px solid #dfe7eb!important;border-radius:18px!important;box-shadow:0 18px 48px rgba(28,49,61,.18)!important;padding:0!important;z-index:100500!important;color:#39464d!important;font-family:inherit!important;overflow:hidden!important}
.rsh-user-dropdown[hidden]{display:none!important}
.rsh-user-dropdown__profile{display:flex!important;align-items:center!important;gap:12px!important;padding:18px 18px 16px!important;background:linear-gradient(180deg,#fbfdfe 0%,#fff 100%)!important;border-bottom:1px solid #edf2f4!important}
.rsh-user-dropdown__photo{width:50px!important;height:50px!important;flex:0 0 50px!important;border-radius:50%!important;overflow:hidden!important;background:#eef3f5!important;border:1px solid #dbe5e9!important;box-sizing:border-box!important}
.rsh-user-dropdown__photo-img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;border-radius:50%!important}
.rsh-user-dropdown__identity{all:unset!important;min-width:0!important;display:flex!important;flex-direction:column!important;gap:3px!important;font-family:inherit!important}
.rsh-user-dropdown__identity strong{font-size:15px!important;line-height:1.25!important;font-weight:700!important;color:#26363e!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.rsh-user-dropdown__identity span{font-size:12px!important;line-height:1.25!important;font-weight:400!important;color:#7a878d!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.rsh-user-dropdown__menu{padding:8px!important}
.rsh-user-dropdown__footer{padding:8px!important;border-top:1px solid #edf2f4!important;background:#fbfcfd!important}
.rsh-user-dropdown__item{all:unset!important;box-sizing:border-box!important;width:100%!important;min-height:46px!important;display:grid!important;grid-template-columns:28px minmax(0,1fr) auto!important;align-items:center!important;column-gap:10px!important;padding:8px 10px!important;border-radius:11px!important;color:#435158!important;background:transparent!important;font-family:inherit!important;font-size:14px!important;font-weight:500!important;line-height:1.2!important;text-decoration:none!important;cursor:pointer!important;transition:background .14s ease,color .14s ease!important}
.rsh-user-dropdown__item:hover,.rsh-user-dropdown__item:focus-visible{background:#f2f8fa!important;color:#163c4a!important;outline:none!important;box-shadow:none!important;border:0!important}
.rsh-user-dropdown__item:disabled{opacity:.45!important;cursor:not-allowed!important}
.rsh-user-dropdown__item-icon{width:28px!important;height:28px!important;border-radius:8px!important;display:grid!important;place-items:center!important;background:#eef7f9!important;color:#087d9e!important}
.rsh-user-dropdown__item-icon svg{width:17px!important;height:17px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;display:block!important}
.rsh-user-dropdown__item-label{min-width:0!important;white-space:normal!important}
.rsh-user-dropdown__chevron{font-size:22px!important;line-height:1!important;color:#a0aab0!important;padding-right:2px!important}
.rsh-user-dropdown__item--logout{color:#c23d39!important}
.rsh-user-dropdown__item--logout .rsh-user-dropdown__item-icon{background:#fff1f0!important;color:#c23d39!important}
.rsh-user-dropdown__item--logout:hover{background:#fff5f4!important;color:#a52d2a!important}
.rsh-learning-state{display:none!important}
.rsh-learning-switch{position:relative!important;width:42px!important;height:24px!important;border-radius:999px!important;background:#dce3e6!important;display:block!important;transition:background .16s ease!important;justify-self:end!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)!important}
.rsh-learning-switch span{position:absolute!important;top:3px!important;left:3px!important;width:18px!important;height:18px!important;border-radius:50%!important;background:#fff!important;box-shadow:0 1px 4px rgba(0,0,0,.18)!important;transition:transform .16s ease!important}
.rsh-learning-switch.is-on{background:#2fa765!important}
.rsh-learning-switch.is-on span{transform:translateX(18px)!important}
.rsh-mobile-menu-user{display:flex!important;align-items:center!important;gap:10px!important}
.rsh-mobile-menu-user__avatar{width:38px!important;height:38px!important;flex:0 0 38px!important;border-radius:50%!important;overflow:hidden!important;background:#eef3f5!important;border:1px solid #dbe5e9!important}
.rsh-mobile-menu-user__img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;border-radius:50%!important}
@media(max-width:1100px){.rsh-user-menu{display:none!important}}


/* v1.3.1 — Mobile/Tablet Learning Mode state + guide launch polish */
@media(max-width:1100px){
  .rsh-mobile-learning-control{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:12px!important;
    padding-left:74px!important;
    padding-right:74px!important;
  }
  .rsh-mobile-learning-label{display:inline-block!important;min-width:0!important}
  .rsh-mobile-learning-status{
    position:absolute!important;
    right:20px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
  }
  .rsh-mobile-learning-control .rsh-learning-switch{
    display:block!important;
    width:38px!important;
    height:22px!important;
    flex:0 0 38px!important;
  }
  .rsh-mobile-learning-control .rsh-learning-switch span{
    width:16px!important;
    height:16px!important;
    top:3px!important;
    left:3px!important;
  }
  .rsh-mobile-learning-control .rsh-learning-switch.is-on span{transform:translateX(16px)!important}
  .rsh-mobile-learning-control .rsh-learning-state{
    display:inline-flex!important;
    min-width:30px!important;
    height:20px!important;
    padding:0 5px!important;
    font-size:9px!important;
    line-height:1!important;
  }
}
@media(max-width:650px){
  .rsh-mobile-learning-control{padding-left:58px!important;padding-right:58px!important;gap:8px!important}
  .rsh-mobile-learning-status{right:9px!important;gap:5px!important}
  .rsh-mobile-learning-control .rsh-learning-switch{width:34px!important;height:20px!important;flex-basis:34px!important}
  .rsh-mobile-learning-control .rsh-learning-switch span{width:14px!important;height:14px!important;top:3px!important;left:3px!important}
  .rsh-mobile-learning-control .rsh-learning-switch.is-on span{transform:translateX(14px)!important}
  .rsh-mobile-learning-control .rsh-learning-state{min-width:27px!important;height:18px!important;font-size:8px!important;padding:0 4px!important}
}
@media(max-width:420px){
  .rsh-mobile-learning-control{padding-left:52px!important;padding-right:52px!important}
  .rsh-mobile-learning-status{right:6px!important}
  .rsh-mobile-learning-control .rsh-learning-state{display:inline-flex!important;min-width:24px!important;font-size:7px!important;padding:0 3px!important}
}


/* v1.3.3 — Header stacking contract.
   Keep the global Header above ordinary Timeline rows/masks, but BELOW Timeline
   and RACSuite modal backdrops (Timeline booking/vehicle popup starts at 99998).
   This prevents nav/avatar controls from floating undimmed above an open modal. */
.rsh-header[data-rsh-header],.rsh-header{z-index:90000!important;overflow:visible!important}
.rsh-header .rsh-user-menu{z-index:3!important;overflow:visible!important}
.rsh-header .rsh-user-dropdown{z-index:100500!important}

/* v1.3.15 — secure login entry */
.rsh-guest-link--login{display:inline-flex;align-items:center;justify-content:center;padding:9px 16px;border:1px solid var(--rsh-blue);border-radius:10px;color:#fff!important;background:var(--rsh-blue);text-decoration:none}.rsh-guest-link--login:hover{filter:brightness(.95)}
.rsh-mobile-modal-link--login{font-weight:800!important}

/* v1.3.16 — Pack 4A Core language selector */
.rsh-language-option{appearance:none!important;-webkit-appearance:none!important;width:100%!important;border:0!important;text-align:left!important;cursor:pointer!important}
.rsh-language-option:disabled{cursor:wait!important;opacity:.62!important}
.rsh-language-switch.is-loading,.rsh-mobile-language-switch.is-loading{opacity:.68!important;pointer-events:none!important}
.rsh-mobile-language-switch{display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;margin:8px 34px 10px!important;padding:10px 12px!important;border:1px solid #e5ecef!important;border-radius:12px!important;background:#f8fbfc!important}
.rsh-mobile-language-label{font:600 12px/1.1 Roboto,Arial,sans-serif!important;color:#687780!important;white-space:nowrap!important}
.rsh-mobile-language-options{display:flex!important;align-items:center!important;gap:6px!important}
.rsh-mobile-language-options .rsh-language-option{width:auto!important;min-width:96px!important;min-height:34px!important;padding:6px 9px!important;border:1px solid transparent!important;justify-content:center!important}
.rsh-mobile-language-options .rsh-language-option.is-active{border-color:#c9e2e5!important}
@media(max-width:700px){
  .rsh-mobile-language-switch{margin:6px 24px 8px!important;padding:8px 10px!important;gap:8px!important;flex-wrap:wrap!important}
  .rsh-mobile-language-options .rsh-language-option{min-width:88px!important;font-size:11px!important}
}

/* v1.3.26: internal desktop/mobile language selector displays flags only. */
.rsh-language-menu{min-width:58px!important;width:58px!important;box-sizing:border-box!important}
.rsh-language-menu .rsh-language-option{justify-content:center!important;min-height:40px!important;padding:6px!important;gap:0!important;text-align:center!important}
.rsh-language-option>span:first-child{font-size:24px!important;line-height:1.2!important}
.rsh-mobile-language-switch{justify-content:center!important}
.rsh-mobile-language-options{flex-wrap:wrap!important;justify-content:center!important}
.rsh-mobile-language-options .rsh-language-option{min-width:44px!important;width:44px!important;height:40px!important;padding:5px!important;gap:0!important}
.rsh-mobile-language-options .rsh-language-option>span:first-child{font-size:23px!important}
@media(max-width:767px){.rsh-language-menu{min-width:58px!important;width:58px!important}}


/* v1.3.30 — Logged-in phone header compact logo (50% of previous width/height caps).
 * Guest/public header, tablets and desktop retain their previous layout.
 * Avoid CSS transform: the layout itself must release the occupied space.
 */
@media (max-width:650px){
  html body .rsh-header--logged-in .rsh-inner{
    min-height:76px!important;
  }
  html body .rsh-header--logged-in .rsh-logo-image{
    max-width:min(33vw,145px)!important;
    max-height:52px!important;
    width:auto!important;
    height:auto!important;
  }
}
@media (max-width:420px){
  html body .rsh-header--logged-in .rsh-inner{
    min-height:66px!important;
  }
  html body .rsh-header--logged-in .rsh-logo-image{
    max-width:110px!important;
    max-height:44px!important;
  }
}


/* v1.3.31 — True single-row compact logged-in mobile header.
 * Unlike the public/guest website, staff never see phone or email here.
 * Shrink the intrinsic logo layout instead of transforming a full-height row.
 */
@media screen and (max-width:767px){
  html body .rsh-header--logged-in .rsh-mobile-contact-strip,
  html body .rsh-header--logged-in .rsh-contact-block{display:none!important}
  html body .rsh-header--logged-in .rsh-inner{
    display:flex!important;flex-wrap:nowrap!important;align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;max-width:none!important;
    height:68px!important;min-height:68px!important;
    margin:0 auto!important;padding:0 12px!important;gap:10px!important;
  }
  html body .rsh-header--logged-in .rsh-logo{
    flex:0 1 auto!important;min-width:0!important;margin-right:auto!important;
    justify-content:flex-start!important;align-self:center!important;
  }
  html body .rsh-header--logged-in .rsh-logo-image{
    width:auto!important;height:auto!important;
    max-width:clamp(105px,30vw,155px)!important;max-height:50px!important;
    object-fit:contain!important;
  }
  html body .rsh-header--logged-in .rsh-notification-button{
    flex:0 0 36px!important;width:36px!important;height:36px!important;
    margin:0!important;
  }
  html body .rsh-header--logged-in .rsh-language-switch{
    flex:0 0 34px!important;width:34px!important;height:34px!important;
  }
  html body .rsh-header--logged-in .rsh-language-current{
    width:34px!important;height:34px!important;
  }
  html body .rsh-header--logged-in .rsh-mobile-toggle{
    display:inline-flex!important;flex:0 0 40px!important;
    width:40px!important;height:40px!important;margin:0!important;
  }
}
@media screen and (max-width:420px){
  html body .rsh-header--logged-in .rsh-inner{
    height:60px!important;min-height:60px!important;
    gap:7px!important;padding:0 10px!important;
  }
  html body .rsh-header--logged-in .rsh-logo-image{
    max-width:clamp(100px,29vw,125px)!important;
    max-height:44px!important;
  }
  html body .rsh-header--logged-in .rsh-notification-button{
    flex-basis:32px!important;width:32px!important;height:32px!important;
  }
  html body .rsh-header--logged-in .rsh-language-switch,
  html body .rsh-header--logged-in .rsh-language-current{
    width:30px!important;height:30px!important;
  }
  html body .rsh-header--logged-in .rsh-language-switch{flex-basis:30px!important}
  html body .rsh-header--logged-in .rsh-mobile-toggle{
    flex-basis:36px!important;width:36px!important;height:36px!important;
  }
}


/* v1.3.32 — WordPress Admin Toolbar: prevent its account/avatar control
 * from wrapping over the RACSuite hamburger on the logged-in mobile frontend.
 * Profile and logout remain in the RACSuite mobile menu. Do not affect wp-admin,
 * desktop, the public/guest site, or other WordPress toolbar quick actions.
 */
@media screen and (max-width:782px){
  body.logged-in:not(.wp-admin) #wpadminbar #wp-admin-bar-top-secondary,
  body.logged-in:not(.wp-admin) #wpadminbar #wp-admin-bar-my-account{
    display:none!important;
  }
  /* Separate defensive guard for the desktop avatar if a global theme rule
     makes it visible at mobile widths. The mobile hamburger owns user access. */
  html body.logged-in .rsh-header--logged-in .rsh-user-menu{
    display:none!important;
  }
}

/* v1.3.34: guest login button never embeds ASE private slug as an href. */
.rsh-header--guest button.rsh-guest-link--login{cursor:pointer;font-family:inherit;font-size:17px;line-height:1.2;font-weight:700} .rsh-header--guest button.rsh-mobile-modal-link--login{cursor:pointer;width:100%;font-family:inherit!important}


/* v1.3.35 — Guest Login is a real <button>, not the previous <a> link.
 * Elementor/theme button backgrounds must not make the white label invisible.
 * Desktop only: leave guest mobile navigation styling unchanged. */
@media screen and (min-width:1101px){
  html body .rsh-header.rsh-header--guest .rsh-guest-desktop-nav > button.rsh-guest-link--login {
    -webkit-appearance:none!important;appearance:none!important;
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    flex:0 0 auto!important;box-sizing:border-box!important;
    width:auto!important;min-width:118px!important;min-height:42px!important;height:auto!important;
    margin:0!important;padding:10px 19px!important;
    border:1px solid var(--rsh-blue,#079bc9)!important;border-radius:9px!important;
    background:var(--rsh-blue,#079bc9)!important;
    background-image:none!important;box-shadow:none!important;
    color:#fff!important;-webkit-text-fill-color:#fff!important;
    font:700 17px/1.2 Roboto,Arial,sans-serif!important;
    letter-spacing:normal!important;text-transform:none!important;text-decoration:none!important;
    white-space:nowrap!important;opacity:1!important;visibility:visible!important;cursor:pointer!important;
  }
  html body .rsh-header.rsh-header--guest .rsh-guest-desktop-nav > button.rsh-guest-link--login:hover {
    background:#087fa7!important;border-color:#087fa7!important;color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }
  html body .rsh-header.rsh-header--guest .rsh-guest-desktop-nav > button.rsh-guest-link--login:focus-visible {
    outline:3px solid rgba(7,155,201,.35)!important;outline-offset:3px!important;
  }
}
