/* ==========================================================================
   CUSTOM.CSS - Per-Company Customization
   ==========================================================================
   Loaded AFTER style.css. Overrides the default theme for this company.
   DO NOT edit style.css - it is shared across all installations.

   PALETTE
     SKY      #28b9ec  -> top bar, icons, focus rings, card hover, calendar header
     SKY-L    #d9f1fb  -> borders, inputs, calendar hover
     SKY-D    #1a9bd0  -> icon hover
     YELLOW   #ffcd00  -> highlights only: badges, nav underline, selected
                          day / selected card, top-bar hover, footer heading lines
     ORANGE   #ea5906  -> buttons (Book Now, submit, CTA), prices, link hover
     ORANGE-D #c94a03  -> button hover
     WHITE    #ffffff  -> header & footer background
     INK      #1a1a1a  -> header & footer text, text on yellow

   ROLES
     - Header / Footer  : white, ink text, orange hover, yellow accent lines
     - Top bar          : sky, white text, yellow hover
     - Buttons          : orange, white text, darker orange on hover
     - Accents          : sky (quiet), yellow (loud, small doses)
   ========================================================================== */


/* ==========================================================================
   1. COLOR VARIABLES
   ========================================================================== */
:root {
    /* accent (sky) */
    --accent-color: #28b9ec;
    --accent-color-dark: #1a9bd0;
    --accent-color-light: #d9f1fb;
    --accent-color-mid: #ffcd00;
    --accent-color-text: #1a1a1a;

    /* CTA (orange) */
    --cta-color: #ea5906;
    --cta-color-dark: #c94a03;
    --cta-color-light: #fbe4d6;
    --cta-text: #ffffff;

    /* highlight (yellow) */
    --highlight-color: #ffcd00;
    --highlight-color-dark: #e6b800;
    --highlight-color-light: #fff2b3;

    /* header / footer / top bar */
    --header-bg: #ffffff;
    --footer-bg: #ffffff;
    --header-text: #1a1a1a;
    --topbar-bg: #28b9ec;
    --topbar-text: #ffffff;

    /* sky transparent variants */
    --accent-glow-strong: rgba(40, 185, 236, 1);
    --accent-glow: rgba(40, 185, 236, 0.7);
    --accent-glow-soft: rgba(40, 185, 236, 0.45);
    --accent-glow-dim: rgba(40, 185, 236, 0.35);
    --accent-glow-faint: rgba(40, 185, 236, 0.10);
    --accent-bg-subtle: rgba(40, 185, 236, 0.10);
    --accent-bg-glass: rgba(40, 185, 236, 0.14);
    --accent-bg-radial: rgba(40, 185, 236, 0.16);
    --accent-border-subtle: rgba(40, 185, 236, 0.45);
    --accent-border-medium: rgba(40, 185, 236, 0.70);
    --accent-text-85: rgba(26, 26, 26, 0.85);
    --accent-text-70: rgba(26, 26, 26, 0.70);

    /* orange transparent variants */
    --cta-glow: rgba(234, 89, 6, 0.45);
    --cta-glow-soft: rgba(234, 89, 6, 0.30);
    --cta-bg-subtle: rgba(234, 89, 6, 0.08);
    --cta-border-medium: rgba(234, 89, 6, 0.40);

    /* status (no red / no green) */
    --warning: #ffcd00;
    --error: #ea5906;
    --success: #28b9ec;
    --success-dark: #1a9bd0;

    /* text */
    --text-color: #333;
    --text-muted: #6c757d;

    /* backgrounds */
    --light-bg: #f4f4f4;
    --white: #ffffff;
    --dark-bg: #2b2b2b;

    /* borders */
    --border-color: #d9f1fb;

    /* flatpickr */
    --flatpickr-hover-bg: #d9f1fb;
    --flatpickr-hover-text: #1a1a1a;

    /* theme vars style.css may define */
    --red: #ea5906;
    --danger: #ea5906;
    --danger-dark: #c94a03;
    --secondary-color: #ffcd00;
    --secondary-color-dark: #e6b800;
    --custom-cta: #ea5906;
    --brand-red: #ea5906;
}


/* ==========================================================================
   2. TOP BAR  --  SKY, white text, yellow hover
   ========================================================================== */
.topbar, .top-bar, .ez-topbar, .ez-top-bar, .top-nav-bar {
    background-color: #28b9ec !important;
    color: #ffffff !important;
    border-bottom: 2px solid #ffcd00;
}
.topbar a, .top-bar a, .ez-topbar a, .ez-top-bar a,
.topbar i, .top-bar i, .ez-topbar i, .ez-top-bar i {
    color: #ffffff !important;
}
.topbar a:hover, .top-bar a:hover, .ez-topbar a:hover, .ez-top-bar a:hover {
    color: #ffcd00 !important;
}


/* ==========================================================================
   3. HEADER  --  WHITE, ink text, orange hover, yellow underline
   ========================================================================== */
header.bg-gray-950.text-gray-300.shadow-sm.sticky.top-0.z-50 {
    background-color: #ffffff;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.10);
}
.ez-nav-link {
    position: relative;
    color: #1a1a1a !important;
}
.ez-nav-link:hover {
    color: #ea5906 !important;
}
.ez-nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 0;
    height: 3px;
    border-radius: 2px;
    background-color: #ffcd00;
    transition: width .25s ease;
}
.ez-nav-link:hover::after {
    width: 100%;
}
button#nav-toggle {
    color: #1a1a1a;
}
@media (max-width: 1024px) {
    #nav-menu.nav-menu--open {
        background-color: #ffffff;
    }
}


/* ==========================================================================
   4. FOOTER  --  WHITE, ink text, orange hover, yellow heading lines
   ========================================================================== */
footer.bg-gray-950.text-gray-300.py-12.relative.overflow-hidden.font-sans {
    background-color: #ffffff;
    border-top: 3px solid #28b9ec;
}
footer .text-custom-accent {
    color: #28b9ec;
}
footer .border-custom-accent\/30 {
    border-color: #ffcd00;
}
footer .footer-link-item,
footer .hover\:text-custom-accent,
footer .text-gray-400,
footer .text-gray-300,
footer .text-gray-500,
footer .text-white,
p.flex.items-center.text-gray-400.hover\:text-custom-accent.transition,
p.text-gray-400.text-base.max-w-sm.leading-relaxed.hover\:text-custom-accent,
.text-center.md\:text-center.space-y-0\.5.w-full.mt-4 {
    color: #1a1a1a;
}
footer .footer-link-item:hover,
footer .hover\:text-custom-accent:hover,
p.flex.items-center.text-gray-400.hover\:text-custom-accent.transition:hover {
    color: #ea5906;
}
footer .footer-link-item::before {
    background-color: #ffcd00;
}
h5.font-bold.text-white.mb-4.uppercase.tracking-widest.text-sm.border-b.border-custom-accent\/30.pb-2,
h5.font-bold.text-white.mb-5.uppercase.tracking-widest.text-sm.border-b.border-custom-accent\/30.pb-2 {
    color: #1a1a1a;
    border-color: #ffcd00;
}


/* ==========================================================================
   5. BUTTONS  --  ORANGE, white text
   ========================================================================== */
.btn-primary, .btn-cta, .ez-btn-primary, button[type="submit"],
.btn-success, .ez-btn-success, .btn-secondary,
a[href*="book"].btn, a[href*="booking"].btn,
.ez-book-btn, .ez-btn-book-now, .card .btn-primary, .model-card .btn-primary,
.ez-fleet-card a, .fleet .btn, .fleet a.btn, .fleet button, .fleet-card .btn,
.ez-fleet-card .btn, .model-card .btn, .book-now, .btn-book, .btn-book-now,
.ez-book-now, .ez-btn-book, a.book-now,
.booking-form button,
[class*="btn"][style*="rgb(237"], [class*="btn"][style*="#ed2426"], [class*="cta"] {
    background-color: #ea5906 !important;
    border-color: #ea5906 !important;
    color: #ffffff !important;
}
.btn-primary:hover, .btn-cta:hover, .ez-btn-primary:hover, button[type="submit"]:hover,
.btn-success:hover, .ez-btn-success:hover, .btn-secondary:hover,
a[href*="book"].btn:hover, a[href*="booking"].btn:hover,
.ez-book-btn:hover, .ez-btn-book-now:hover, .card .btn-primary:hover, .model-card .btn-primary:hover,
.ez-fleet-card a:hover, .fleet .btn:hover, .fleet a.btn:hover, .fleet button:hover, .fleet-card .btn:hover,
.ez-fleet-card .btn:hover, .model-card .btn:hover, .book-now:hover, .btn-book:hover, .btn-book-now:hover,
.ez-book-now:hover, .ez-btn-book:hover, a.book-now:hover,
.booking-form button:hover,
[class*="btn"][style*="rgb(237"]:hover, [class*="btn"][style*="#ed2426"]:hover, [class*="cta"]:hover {
    background-color: #c94a03 !important;
    border-color: #c94a03 !important;
    color: #ffffff !important;
}
/* icons inside buttons stay white */
.fleet .btn i, .fleet-card .btn i, .ez-fleet-card .btn i, .model-card .btn i,
.book-now i, .btn-book i, .btn-book-now i, .ez-book-now i, .ez-btn-book i,
.fleet .btn:hover i, .fleet-card .btn:hover i, .ez-fleet-card .btn:hover i, .model-card .btn:hover i,
.book-now:hover i, .btn-book:hover i, .btn-book-now:hover i, .ez-book-now:hover i, .ez-btn-book:hover i,
.model-card a:hover {
    color: #ffffff !important;
}

/* outline / ghost */
.btn-outline, .ez-btn-outline {
    background-color: transparent;
    border-color: #ea5906;
    color: #ea5906;
}
.btn-outline:hover, .ez-btn-outline:hover {
    background-color: #ea5906;
    border-color: #ea5906;
    color: #ffffff;
}

/* fleet page book button (gradient) */
.ez-fleet-book-btn {
    background: #ea5906 !important;
    background-image: linear-gradient(135deg, #ea5906 0%, #c94a03 100%) !important;
    border-color: #ea5906 !important;
}
.ez-fleet-book-btn:hover {
    background: #c94a03 !important;
    background-image: linear-gradient(135deg, #c94a03 0%, #c94a03 100%) !important;
    border-color: #c94a03 !important;
}
.ez-fleet-book-btn, .ez-fleet-book-btn *, .ez-fleet-book-btn:visited,
.ez-fleet-book-btn:focus, .ez-fleet-book-btn:active,
.ez-fleet-book-btn:hover, .ez-fleet-book-btn:hover * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* button focus / active / shadows */
.booking-form button,
.btn-primary, .btn-cta, .ez-btn-primary, button[type="submit"] {
    box-shadow: 0 2px 8px rgba(234, 89, 6, 0.25);
}
.booking-form button:hover,
.btn-primary:hover, .btn-cta:hover, .ez-btn-primary:hover, .ez-fleet-book-btn:hover,
button[type="submit"]:hover {
    box-shadow: 0 6px 16px rgba(234, 89, 6, 0.35);
    transform: translateY(-2px);
}
.booking-form button:focus, .booking-form button:focus-visible,
.btn-primary:focus-visible, .btn-cta:focus-visible, button[type="submit"]:focus-visible {
    box-shadow: 0 0 0 3px rgba(255, 205, 0, 0.75) !important;
    outline: none !important;
}
.booking-form button:active,
.btn-primary:active, .btn-cta:active, .ez-fleet-book-btn:active {
    transform: translateY(0);
    box-shadow: 0 1px 4px rgba(234, 89, 6, 0.30);
}
.btn:hover, .btn-secondary:hover, .btn-success:hover, .btn-outline:hover,
.ez-btn-success:hover, .ez-btn-outline:hover {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.14);
}
.affiliateNextBtn {
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.25);
}
.affiliateNextBtn:hover {
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0) !important;
}


/* ==========================================================================
   6. PRICES  --  ORANGE
   ========================================================================== */
.price, .model-price, .ez-price,
.ez-fleet-price-value, .ez-price-value--large {
    color: #ea5906 !important;
}
.ez-offer-title {
    color: #ea5906;
}


/* ==========================================================================
   7. LINKS, ICONS, ACCENTS
   ========================================================================== */
a:hover,
.ez-accent-link:hover {
    color: #ea5906;
}
a:hover i, .icon:hover, .ez-icon:hover {
    color: #1a9bd0;
}
.model-includes-title i,
.model-spec-icon,
.ez-feature-icon,
.mf-field label i {
    color: #28b9ec !important;
}

/* labels */
.ez-sf-field label {
    font-weight: 600 !important;
    font-size: 0.73rem !important;
}

/* badges / tags -> YELLOW, ink text */
.badge, .tag, .badge-success, .tag-success {
    background-color: #ffcd00;
    color: #1a1a1a;
    border-radius: 999px;
    padding: .25em .75em;
    font-weight: 600;
    box-shadow: none;
}


/* ==========================================================================
   8. CARDS, SPECS, INSURANCE
   ========================================================================== */
.card, .model-card, .ez-card, .ez-ins-card, .panel {
    border: 1px solid #d9f1fb;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.card:hover, .model-card:hover, .ez-card:hover, .panel:hover, .ez-ins-card:hover {
    border-color: #28b9ec !important;
    box-shadow: 0 6px 18px rgba(40, 185, 236, 0.22) !important;
}
.ez-ins-card:hover i, .ez-ins-card:hover .ez-ins-title, .ez-ins-card:hover a {
    color: #ea5906 !important;
}
.model-spec-item {
    border-color: #d9f1fb;
    background-color: rgba(40, 185, 236, 0.05);
}
.model-spec-item:hover {
    border-color: #ffcd00;
    background-color: rgba(255, 205, 0, 0.08);
}
.ez-price-card--selected {
    background-color: #fff8dc !important;
    border-color: #ffcd00 !important;
}
.border-green-500 {
    border-color: #ffcd00 !important;
}
.selected, .is-active, .active {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0) !important;
}


/* ==========================================================================
   9. FORMS
   ========================================================================== */
.form-group input[type="text"], .form-group input[type="date"],
.form-group input[type="time"], .form-group select,
input, textarea, select {
    border: 1px solid #d9f1fb;
    border-radius: 8px;
}
.form-group input[type="text"]:focus, .form-group input[type="date"]:focus,
.form-group input[type="time"]:focus, .form-group select:focus,
input:focus, textarea:focus, select:focus {
    border-color: #28b9ec;
    outline: none;
    box-shadow: 0 0 0 3px rgba(40, 185, 236, 0.30);
}
option:checked, option:hover, .select-option:hover {
    background-color: #d9f1fb;
    color: #1a1a1a;
}


/* ==========================================================================
   10. FLATPICKR  --  sky header, light-sky hover, yellow selected
   ========================================================================== */
.flatpickr-calendar {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}
.flatpickr-months {
    background-color: #28b9ec;
}
.flatpickr-months .flatpickr-month, .flatpickr-current-month,
.flatpickr-current-month input.cur-year,
.flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month,
.flatpickr-months .flatpickr-prev-month svg, .flatpickr-months .flatpickr-next-month svg {
    color: #ffffff !important;
    fill: #ffffff !important;
}
.flatpickr-weekdays, span.flatpickr-weekday {
    background-color: transparent;
    color: #5a5a5a;
}
.flatpickr-day:hover {
    background: #d9f1fb;
    border-color: #d9f1fb;
    color: #1a1a1a;
    box-shadow: none;
}
.flatpickr-day.selected, .flatpickr-day.selected:hover {
    background: #ffcd00;
    border-color: #ffcd00;
    color: #1a1a1a;
    box-shadow: none;
}


/* ==========================================================================
   11. RED / GREEN KILLER  --  Tailwind utilities from style.css
   ========================================================================== */
.bg-red-400, .bg-red-500, .bg-red-600, .bg-red-700,
.hover\:bg-red-500:hover, .hover\:bg-red-600:hover, .hover\:bg-red-700:hover {
    background-color: #ea5906 !important;
}
.text-red-400, .text-red-500, .text-red-600, .text-red-700,
.hover\:text-red-500:hover, .hover\:text-red-600:hover {
    color: #ea5906 !important;
}
.border-red-400, .border-red-500, .border-red-600, .border-red-700 {
    border-color: #ea5906 !important;
}
.from-red-500, .from-red-600 { --tw-gradient-from: #ea5906 !important; }
.to-red-500, .to-red-600, .to-red-700 { --tw-gradient-to: #c94a03 !important; }

.bg-green-400, .bg-green-500, .bg-green-600, .bg-green-700,
.hover\:bg-green-500:hover, .hover\:bg-green-600:hover, .hover\:bg-green-700:hover {
    background-color: #28b9ec !important;
}
.text-green-400, .text-green-500, .text-green-600, .text-green-700,
.hover\:text-green-500:hover, .hover\:text-green-600:hover {
    color: #28b9ec !important;
}
.border-green-400, .border-green-600, .border-green-700 {
    border-color: #28b9ec !important;
}


/* ==========================================================================
   12. POLISH  --  transitions, radius, reduced motion
   ========================================================================== */
a, button, .btn, .card, .model-card, .ez-card, .ez-ins-card,
.ez-fleet-book-btn, input, select, textarea, .badge, .tag {
    transition: background-color .22s ease, border-color .22s ease,
                color .22s ease, box-shadow .22s ease, transform .22s ease;
}
.btn, button, .ez-fleet-book-btn, .booking-form button {
    border-radius: 8px;
}
@media (prefers-reduced-motion: reduce) {
    a, button, .btn, .card, .model-card, .ez-card, .ez-ins-card,
    .ez-fleet-book-btn, input, select, textarea, .badge, .tag,
    .ez-nav-link::after {
        transition: none !important;
    }
    .btn-primary:hover, .btn-cta:hover, .ez-btn-primary:hover,
    .ez-fleet-book-btn:hover, .booking-form button:hover,
    button[type="submit"]:hover {
        transform: none !important;
    }
}