/* ==========================================================================
   CUSTOM.CSS - Per-Company Customization
   ==========================================================================
   This file is loaded AFTER style.css and overrides the default theme.
   Each company gets their own copy of this file.

   PALETTE:  Red #f3140a  |  Slate #638493  |  White #ffffff
     - Header                -> WHITE  #ffffff  (black text on top)
     - Top nav bar           -> SLATE  #638493  (white text on top)
     - Footer                -> WHITE  #ffffff  (black text on top)
     - Main accents (links, icons, borders, nav) -> RED
     - CTA buttons / prices / highlights          -> RED
     - Secondary buttons / muted elements         -> SLATE

   INSTRUCTIONS:
   - Change ONLY the :root variables below to customize colors
   - Add company-specific overrides in Section 2
   - DO NOT edit style.css - it is shared across all installations
   ========================================================================== */


/* ==========================================================================
   1. COLOR VARIABLES
   ========================================================================== */
:root {

    /* === PRESET: Red #f3140a (primary) + Slate #638493 (secondary) === */
    --accent-color: #f3140a;
    --accent-color-dark: #c60f07;
    --accent-color-light: #f8564f;
    --accent-color-mid: #f63a32;

    /* -----------------------------------------------------------------
       SECONDARY / CTA COLOR  ->  SLATE
       ----------------------------------------------------------------- */
    --cta-color: #638493;
    --cta-color-dark: #4c6875;
    --cta-color-light: #8ba7b3;

    /* -----------------------------------------------------------------
       ACCENT TRANSPARENT VARIANTS  (RED)
       ----------------------------------------------------------------- */
    --accent-glow-strong: rgba(243, 20, 10, 1);
    --accent-glow: rgba(243, 20, 10, 0.7);
    --accent-glow-soft: rgba(243, 20, 10, 0.45);
    --accent-glow-dim: rgba(243, 20, 10, 0.35);
    --accent-glow-faint: rgba(243, 20, 10, 0.08);
    --accent-bg-subtle: rgba(243, 20, 10, 0.12);
    --accent-bg-glass: rgba(198, 15, 7, 0.10);
    --accent-bg-radial: rgba(243, 20, 10, 0.15);
    --accent-border-subtle: rgba(243, 20, 10, 0.22);
    --accent-border-medium: rgba(243, 20, 10, 0.30);
    --accent-text-85: rgba(198, 15, 7, 0.85);
    --accent-text-70: rgba(198, 15, 7, 0.70);

    /* -----------------------------------------------------------------
       CTA / SLATE TRANSPARENT VARIANTS
       ----------------------------------------------------------------- */
    --cta-glow: rgba(99, 132, 147, 0.7);
    --cta-glow-soft: rgba(99, 132, 147, 0.45);
    --cta-bg-subtle: rgba(99, 132, 147, 0.12);
    --cta-border-medium: rgba(99, 132, 147, 0.30);

    /* -----------------------------------------------------------------
       ACTION BUTTONS
       NOTE: --success/--success-dark were GREEN (#10B981/#059669).
       Remapped to the palette so no green appears on hover states.
       ----------------------------------------------------------------- */
    --warning: #f3140a;
    --error: #c60f07;
    --success: #638493;
    --success-dark: #4c6875;

    /* -----------------------------------------------------------------
       TOP NAVIGATION BAR  ->  SLATE
       ----------------------------------------------------------------- */
    --topbar-bg: #638493;
    --topbar-text: #ffffff;

    /* -----------------------------------------------------------------
       TEXT COLORS
       ----------------------------------------------------------------- */
    --text-color: #333;
    --text-muted: #638493;

    /* -----------------------------------------------------------------
       BACKGROUNDS
       ----------------------------------------------------------------- */
    --light-bg: #f8f9fa;
    --white: #ffffff;
    --dark-bg: #4c6875;

    /* -----------------------------------------------------------------
       BORDERS
       ----------------------------------------------------------------- */
    --border-color: #e2e8f0;

    /* -----------------------------------------------------------------
       FLATPICKR DATE PICKER
       ----------------------------------------------------------------- */
    --flatpickr-hover-bg: #f3140a;
    --flatpickr-hover-text: #ffffff;
}


/* ==========================================================================
   QUICK REFERENCE
   ==========================================================================
   RED     #f3140a  -> Links, icons, borders, CTA buttons, prices,
                       selected states, badges
   D-RED   #c60f07  -> Hover states on red elements
   SLATE   #638493  -> Top nav bar, secondary buttons, muted text
   D-SLATE #4c6875  -> Hover states on slate elements
   WHITE   #ffffff  -> Header & Footer background
   BLACK   #000000  -> Header & Footer text
   ========================================================================== */


/* 1. Labels */
.ez-sf-field label {
    font-weight: 600 !important;
    font-size: 0.73rem !important;
}


/* ==========================================================================
   2. TOP NAV BAR (SLATE)  --  WHITE TEXT
   ========================================================================== */
.topbar,
.top-bar,
.ez-topbar,
.ez-top-bar {
    background-color: #638493 !important;
    color: #ffffff !important;
}
.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: #ffd9d7 !important;
}


/* ==========================================================================
   3. HEADER (WHITE)  &  FOOTER (WHITE)  -- BLACK TEXT
   ========================================================================== */

/* --- Header --- WHITE background --- */
header.bg-gray-950.text-gray-300.shadow-sm.sticky.top-0.z-50 {
    background-color: #ffffff;
}

/* --- Nav links --- BLACK on white, hover RED --- */
.ez-nav-link {
    color: #000000 !important;
}
.ez-nav-link:hover {
    color: #f3140a !important;
}

button#nav-toggle {
    color: #000000;
}

/* --- Mobile nav --- WHITE (matches header) --- */
@media (max-width: 1024px) {
    #nav-menu.nav-menu--open {
        background-color: #ffffff;
    }
}


/* --- Footer --- WHITE background --- */
footer.bg-gray-950.text-gray-300.py-12.relative.overflow-hidden.font-sans {
    background-color: #ffffff;
}
footer .text-custom-accent {
    color: #f3140a;
}
footer .border-custom-accent\/30 {
    border-color: rgba(243, 20, 10, 0.30);
}

/* --- Footer texts --- BLACK --- */
footer .footer-link-item {
    color: #000000;
}
footer .footer-link-item:hover {
    color: #f3140a;
}
p.flex.items-center.text-gray-400.hover\:text-custom-accent.transition {
    color: #000000;
}
p.flex.items-center.text-gray-400.hover\:text-custom-accent.transition:hover {
    color: #f3140a;
}
p.text-gray-400.text-base.max-w-sm.leading-relaxed.hover\:text-custom-accent {
    color: #000000;
}
.text-center.md\:text-center.space-y-0\.5.w-full.mt-4 {
    color: #000000;
}
footer .hover\:text-custom-accent {
    color: #000000;
}
footer .hover\:text-custom-accent:hover {
    color: #f3140a;
}

/* --- Footer headings --- BLACK --- */
h5.font-bold.text-white.mb-4.uppercase.tracking-widest.text-sm.border-b.border-custom-accent\/30.pb-2 {
    color: #000000;
}
h5.font-bold.text-white.mb-5.uppercase.tracking-widest.text-sm.border-b.border-custom-accent\/30.pb-2 {
    color: #000000;
}


/* ==========================================================================
   4. CTA BUTTONS & PRICES  ->  RED
   ========================================================================== */
.btn-primary,
.btn-cta,
.ez-btn-primary,
button[type="submit"] {
    background-color: #f3140a;
    border-color: #f3140a;
    color: #ffffff;
}
.btn-primary:hover,
.btn-cta:hover,
.ez-btn-primary:hover,
button[type="submit"]:hover {
    background-color: #c60f07;
    border-color: #c60f07;
    color: #ffffff;
}

/* --- Prices --- RED --- */
.price,
.model-price,
.ez-price {
    color: #f3140a;
}


/* ==========================================================================
   5. MISC ACCENTS
   ========================================================================== */
.model-spec-item:hover {
    border-color: #f3140a;
}
.model-includes-title i {
    color: #f3140a;
}

/* --- Form borders --- subtle GRAY --- */
.form-group input[type="text"], .form-group input[type="date"],
.form-group input[type="time"], .form-group select {
    border: 1px solid #c5c8c7;
}

/* --- Form focus --- RED --- */
.form-group input[type="text"]:focus, .form-group input[type="date"]:focus,
.form-group input[type="time"]:focus, .form-group select:focus {
    border-color: #f3140a;
    outline: none;
}

/* --- Form field icons --- */
.mf-field label i {
    color: #f3140a !important;
}
.model-spec-icon {
    color: #638493;
}


/* ==========================================================================
   6. NO-GREEN HOVER OVERRIDES
   ========================================================================== */

/* --- Generic link hover --- RED --- */
a:hover {
    color: #f3140a;
}

/* --- Success / green-ish buttons --- SLATE --- */
.btn-success,
.ez-btn-success,
.btn-secondary {
    background-color: #638493;
    border-color: #638493;
    color: #ffffff;
}
.btn-success:hover,
.ez-btn-success:hover,
.btn-secondary:hover {
    background-color: #4c6875;
    border-color: #4c6875;
    color: #ffffff;
}

/* --- Outline / ghost buttons --- RED on hover --- */
.btn-outline:hover,
.ez-btn-outline:hover {
    background-color: #f3140a;
    border-color: #f3140a;
    color: #ffffff;
}

/* --- Cards / list items --- RED border on hover --- */
.card:hover,
.model-card:hover,
.ez-card:hover {
    border-color: #f3140a;
}

/* --- Icons --- RED on hover --- */
a:hover i,
.icon:hover,
.ez-icon:hover {
    color: #f3140a;
}

/* --- Badges / tags --- RED --- */
.badge-success,
.tag-success {
    background-color: #f3140a;
    color: #ffffff;
}

/* --- Flatpickr selected/hover --- RED --- */
.flatpickr-day:hover,
.flatpickr-day.selected,
.flatpickr-day.selected:hover {
    background: #f3140a;
    border-color: #f3140a;
    color: #ffffff;
}

/* --- Dropdown / select option hover --- RED --- */
option:checked,
option:hover,
.select-option:hover {
    background-color: #f3140a;
    color: #ffffff;
}


/* ==========================================================================
   7. BOX-SHADOW  --  NO GREEN
   ========================================================================== */

/* --- Buttons --- SLATE glow --- */
.btn:hover,
.btn-secondary:hover,
.btn-success:hover,
.ez-btn-success:hover {
    box-shadow: 0 4px 14px rgba(99, 132, 147, 0.35);
}

/* --- CTA (red) buttons keep a RED glow --- */
.btn-cta:hover,
.btn-primary:hover,
.btn-outline:hover,
.ez-btn-primary:hover,
.ez-btn-outline:hover,
button[type="submit"]:hover {
    box-shadow: 0 4px 14px rgba(243, 20, 10, 0.35);
}

/* --- Focus rings on inputs --- RED --- */
.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 {
    box-shadow: 0 0 0 3px rgba(243, 20, 10, 0.20);
}

/* --- Cards / panels --- NEUTRAL gray shadow --- */
.card,
.model-card,
.ez-card,
.panel {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.card:hover,
.model-card:hover,
.ez-card:hover,
.panel:hover {
    box-shadow: 0 6px 18px rgba(243, 20, 10, 0.18);
}

/* --- Selected / active states --- no glow --- */
.selected,
.is-active,
.active {
    box-shadow: 0 0 0 2px rgba(243, 20, 10, 0) !important;
}

/* --- Badges / tags --- no colored glow --- */
.badge,
.badge-success,
.tag,
.tag-success {
    box-shadow: none;
}

/* --- Flatpickr --- */
.flatpickr-day.selected,
.flatpickr-day:hover {
    box-shadow: none;
}
.flatpickr-calendar {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}


/* ==========================================================================
   8. BOOKING FORM BUTTON  --  TARGETED OVERRIDE
   ========================================================================== */

.booking-form button {
    background-color: #f3140a !important;
    border-color: #f3140a !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(243, 20, 10, 0.25) !important;
}

.booking-form button:hover {
    background-color: #c60f07 !important;
    border-color: #c60f07 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(243, 20, 10, 0.40) !important;
}

.booking-form button:focus,
.booking-form button:focus-visible {
    box-shadow: 0 0 0 3px rgba(243, 20, 10, 0.30) !important;
    outline: none !important;
}

.booking-form button:active {
    background-color: #9e0c05 !important;
    box-shadow: 0 1px 4px rgba(243, 20, 10, 0.30) !important;
}


/* ==========================================================================
   9. INSURANCE / PRICE CARDS  --  NO GREEN
   ========================================================================== */

.ez-ins-card:hover {
    border-color: #f3140a !important;
    box-shadow: 0 6px 18px rgba(243, 20, 10, 0.18) !important;
}

.ez-ins-card:hover i,
.ez-ins-card:hover .ez-ins-title,
.ez-ins-card:hover a {
    color: #f3140a !important;
}

.ez-price-card--selected {
    background-color: rgba(243, 20, 10, 0.06) !important;
    border-color: #f3140a !important;
}

.border-green-500 {
    border-color: #f3140a !important;
}

.affiliateNextBtn {
    box-shadow: 0 6px 15px rgba(243, 20, 10, 0.14);
}
.affiliateNextBtn:hover {
    box-shadow: 0 10px 20px rgba(243, 20, 10, 0) !important;
}
