/* EL8 Luxury Car Rental — private label header/footer styling (PL-373).
   Scoped to the header/footer wrappers so it does NOT restyle the reservation
   widgets. Values mirror the live content site (www.el8luxrental.com) VEVS
   theme so the reservation site header/footer match it 1:1.

   Palette (from the live theme :root variables):
     --v-header-background  #000000  (main navbar)
     --v-header-link-active #ffffff  --v-header-link-hover #fe0100
     --v-contact-background #393e46  --v-contact-link-hover #e31616
     --v-footer-background  #393e46  --v-footer-link-hover  #e31616
     --v-icon / --v-link    #cd1818
   Font: Poppins (loaded in _head_block.tpl) — used site-wide on the source. */

/* The live site renders the whole page in Poppins; scope it to our header/footer
   so the reservation widgets keep their own typography. */
.header-holder,
.footer {
    font-family: "Poppins", "Amiri", "Arimo", sans-serif;
}

/* ---------- Top contact bar ---------- */
.header-bar {
    background: #393e46;
    color: #ffffff;
    font-size: 16px;
    line-height: 1.2;
    padding: 4.5px 0;
    height: 34px;
    align-items: center;
    display: flex;
}
.header-bar-inner {
    display: flex;
    justify-content: flex-end;
    gap: 27px;
}
.header-bar .contact-info {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 27px;
}
.header-bar .contact-info a {
    color: #ffffff;
    text-decoration: none;
    white-space: nowrap;
}
.header-bar .contact-info a:hover {
    color: #e31616;
}
.header-bar .contact-info i,
.header-bar .contact-info .bi {
    color: #ffffff;
}
.header-bar .container, #header .container{
    padding-left: 13.5px;
    padding-right: 13.5px;
}
/* The icon has its own colour, so it won't inherit the link's hover red on its
   own — turn it red explicitly when the link is hovered. */
.header-bar .contact-info a:hover i,
.header-bar .contact-info a:hover .bi {
    color: #e31616;
}

/* ---------- Main header / navbar (black) ---------- */
.header {
    background: #000000;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);
}
.header .navbar {
    padding: 0;
    line-height: 30px;
}
.header .navbar-brand {
    margin: 0 18px 0 0px;
    padding: 0;
    /* Never let the crowded nav squeeze the brand — otherwise the logo is
       scaled down by width and looks far smaller than the source site. */
    flex-shrink: 0;
}
.header .navbar-brand img,
.header .navbar-brand img#logo {
    max-width: 100%;
    max-height: 100%;
}
/* Let the nav flow onto a second, right-aligned row (About Us / Contact Us)
   exactly like the source site, instead of overflowing on one line. */
.header .navbar .navbar-nav {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 13.5px;
    padding-bottom: 3px;
}
.header .navbar .nav-item {
    /* Keep each item at its content width so multi-word labels (e.g. "MY
       BOOKING") are never squeezed onto two lines by flex shrinking. */
    flex-shrink: 0;
}
.header .navbar .nav-item + .nav-item {
    margin-left: 13.5px;
}
.header .navbar .nav-link {
    color: #ffffff;
    line-height: 34.5px;
    font-weight: 400;
    /* Live site root font-size is 18px, so its 1.125rem nav links render ~20px.
       Our root is 16px, so we set px directly to match the source visually. */
    font-size: 20.25px;
    text-transform: uppercase;
    padding: 0 !important;
    text-decoration: none;
    background: none;
    border: 0;
    position: relative;
    white-space: nowrap;
}
.header .navbar .nav-link:hover,
.header .navbar .show > .nav-link {
    color: #fe0100;
}
/* Active item: white label with the red underline used on the live site */
.header .navbar .nav-item.active > .nav-link {
    color: #ffffff;
}
.header .navbar .nav-item.active > .nav-link::before {
    content: "";
    position: absolute;
    bottom: -0.5rem;
    left: 0;
    width: 100%;
    height: 3px;
    background: #fe0100;
}
/* Black dropdown panel with white items, matching the source site. Long items
   (e.g. "Full Size (7-8 Passengers) SUV") wrap inside the fixed-width box. */
.header .navbar .dropdown-menu {
    background: #000000;
    border: 0;
    border-radius: 0;
    margin-top: 0.938rem;
    min-width: 12rem;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.3);
}
.header .navbar .dropdown-item {
    font-size: 18px;
    padding: 6px 18px;
    color: #ffffff;
    white-space: normal;
}
/* The markup already has an explicit <span class="caret">, so suppress
   Bootstrap's default ::after caret to avoid a doubled down-arrow. */
.header .navbar .dropdown-toggle::after {
    display: none;
}
.header .navbar .dropdown-item:hover,
.header .navbar .dropdown-item:focus {
    background: transparent;
    color: #fe0100;
}
.header .navbar .caret {
    display: inline-block;
    margin-left: 5px;
    border-top: 6px solid currentColor;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    vertical-align: 5.15px;
}
.header .navbar-toggler {
    border: 0;
    padding: 4px;
    color: #ffffff;
}
.header .navbar-toggler:focus {
    box-shadow: none;
}

/* ---------- Footer ---------- */
.footer {
    background: #393e46;
    color: #ffffff;
    /* Source site has an 18px root, so its footer (links inherit 1rem, the
       copyright/credits use <small> = .875em) renders larger than our 16px
       root would give. Pin 18px here so the footer matches 1:1. */
    font-size: 18px;
    /* Bootstrap's pt-3/p-3/pb-5 are rem-based AND ship with !important, so they
       render shorter on our 16px root and silently beat non-!important rules.
       These values are tuned to the live footer's measured spacing (taller than
       a plain 18/16 rem scale would give). */
    padding-top: 1.75rem !important;     /* space above the nav row */
}
.footer .nav {
    flex-wrap: wrap;
    padding: 1.5rem 1.125rem !important; /* row gap above/below the links */
}
.footer .text-center {
    padding: 1.75rem 1.125rem 3.75rem !important; /* top / sides / bottom */
}
.footer .copyright,
.footer .credits {
    line-height: 1.8; /* match the live spacing between the two credit lines */
}
.footer .nav .nav-link {
    color: #ffffff;
    text-decoration: none;
}
.footer .nav .nav-link:hover {
    color: #e31616;
}
.footer .copyright,
.footer .credits {
    color: #ffffff;
}
.footer .copyright a,
.footer .credits a {
    color: #ffffff;
}
.footer .copyright a:hover,
.footer .credits a:hover {
    color: #e31616;
}

/* Links rendered without the default underline/colour (matches the site) */
.header a.no-style,
.footer a.no-style {
    color: inherit;
    text-decoration: none;
}

.header-holder .bi::before, .header-holder [class*=" bi-"]::before, .header-holder [class^="bi-"]::before{
    vertical-align: middle;
}

/* ---------- Responsive (PL-373) ---------- */

/* Phones only: the top contact bar shows ONLY the icons (the phone numbers +
   email text are hidden so they no longer overflow / wrap the 34px bar on narrow
   screens like 358px). Kept at <768px so the text still shows on wider tablets
   (e.g. 890px), matching the live site. */
@media (max-width: 767.98px) {
    .header-bar .contact-info .contact-text {
        display: none;
    }
    .header-bar .contact-info {
        gap: 30px;
    }
    .header-bar .contact-info i,
    .header-bar .contact-info .bi {
        font-size: 18px;
    }
}

/* Collapsed hamburger menu (below the navbar-expand-xl 1200px breakpoint):
   stack the links, align them to the RIGHT, and give them a taller line-height
   so they are easier to tap and read. */
@media (max-width: 1199.98px) {
    .header .navbar-collapse {
        padding-top: 0.5rem;
    }
    .header .navbar .navbar-nav {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: flex-end;   /* push the items to the right edge */
        justify-content: flex-start;
        width: 100%;
        gap: 0;
        padding-bottom: 0;
        text-align: right;
    }
    .header .navbar .nav-item {
        width: auto;
    }
    .header .navbar .nav-item + .nav-item {
        margin-left: 0;          /* no horizontal offset once stacked */
    }
    .header .navbar .nav-link {
        line-height: 2.6;        /* taller line-height per request */
        white-space: normal;
    }
    /* "Start" (home) is shown in red on the live site's mobile menu. */
    .header .navbar .nav-link-home {
        color: #fe0100;
    }
    /* The Vehicle Types / About Us dropdown TOGGLES are <button>s; a global
       button reset was overriding the .nav-link colour (rendered black-on-black,
       invisible). Force them RED like the live site, and make the button span
       the row so its label right-aligns with the other items (the static
       dropdown-menu's min-width was otherwise widening the <li> and parking the
       toggle on the left). */
    .header .navbar .nav-item.dropdown {
        width: 100%;
    }
    .header .navbar .nav-item.dropdown > .dropdown-toggle {
        color: #ffffff !important;
        display: block;
        width: 100%;
        text-align: right;
        padding: 0 !important;
    }
    /* Red ONLY while the dropdown is expanded (the chevron was tapped) — white by
       default when the hamburger menu is just opened. aria-expanded is the
       reliable open-state flag Bootstrap sets on the toggle button. */
    .header .navbar .nav-item.dropdown > .dropdown-toggle[aria-expanded="true"] {
        color: #fe0100 !important;
    }
    /* Dropdowns render INLINE (accordion) inside the collapsed menu. Bootstrap's
       .dropdown-menu is position:absolute by default, so below xl it floats /
       gets clipped near the right edge and looks like it "doesn't open" — pin it
       static so the items expand in flow and stay visible. */
    .header .navbar .dropdown-menu {
        position: static !important;
        float: none;
        display: none;           /* shown only when Bootstrap adds .show */
        margin-top: 0;
        box-shadow: none;
        text-align: right;
        padding: 0;
        background: transparent;
    }
    .header .navbar .dropdown-menu.show {
        display: block;
    }
    .header .navbar .dropdown-menu .dropdown-item {
        padding-right: 0;
        line-height: 2.2;
    }
    /* The absolute red active-underline doesn't fit a vertical list. */
    .header .navbar .nav-item.active > .nav-link::before {
        display: none;
    }
}
