/* ===================================
    Furry Friends Pet Transport
    Custom Theme Override
    Based on: Crafto - Logistics demo
    Last updated: March 2026
====================================== */

/* ===================================
    01. Fonts
====================================== */
/* Inter for body — clean, highly readable */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
/* DM Serif Display for headings — warm, trustworthy, premium feel */
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&display=swap');

/* ===================================
    02. CSS Variables — Brand Palette
====================================== */
:root {
    /* Fonts */
    --alt-font: "DM Serif Display", Georgia, serif;   /* headings */
    --primary-font: "Inter", sans-serif;               /* body / UI */

    /* Brand greens — deeper, richer, more trustworthy than original lime */
    --base-color: #1A7A5E;          /* primary brand green (was #1f9b57) */
    --base-color-hover: #145E48;    /* darker shade for hover states */
    --base-color-light: #E8F5F0;    /* very light mint — section backgrounds, tints */

    /* CTA amber — warm, urgent, high contrast against greens */
    --cta-color: #D4813A;           /* "Schedule Now" / "Get a Quote" buttons */
    --cta-color-hover: #B56B28;     /* hover state for amber CTAs */

    /* Neutrals — unchanged from Crafto base; keeping these stable */
    --dark-gray: #1A2E28;           /* headings/dark text — very dark green-black (was #232323) */
    --medium-gray: #717580;         /* body text — unchanged */
    --extra-medium-gray: #e4e4e4;
    --light-gray: #a8a8a8;
    --very-light-gray: #F5F9F7;     /* page background tint — slightly warmer mint (was #f7f7f7) */
    --light-medium-gray: #eaeaeb;

    /* Greens carried through — updated to match new brand depth */
    --green: #1A7A5E;               /* updated to match --base-color */
    --jade: #00915A;                /* slightly deeper jade (was #00AF6B) */
    --camarone: #12503A;            /* footer / deep backgrounds (was #20642b) */

    /* Dark backgrounds — remapped to deep brand greens so any bg-dark-gray,        */
    /* bg-charcoal-blue, bg-slate-blue etc. on the footer automatically picks up     */
    /* the new palette without touching the HTML markup.                             */
    --dark-gray: #1A2E28;               /* was #232323 — now very dark green-black  */
    --charcoal-blue: #12503A;           /* was #202329 — now deep forest green      */
    --slate-blue: #145E48;             /* was #262b35 — mid forest green           */
    --extra-medium-slate-blue: #0E3D2C; /* was #23262d — deepest green for borders */
    --dark-slate-blue: #0B3025;         /* was #1f232c                             */
    --extra-dark-slate-blue: #081F19;   /* was #121418                             */
    --extra-very-slate-blue: #060F0D;   /* was #161620                             */

    /* All other Crafto palette variables unchanged */
    --white: #ffffff;
    --black: #000000;
    --red: #dc3131;
    --light-red: #feedec;
    --crusoe-green: #d39121;
    --yellow: #ffea23;
    --tussock-yellow: #BC8947;
    --aluminium-gray: #80858F;
    --solitude-blue: #f0f4fd;
    --golden-yellow: #fd961e;
    --selago: #eaedff;
    --white-ice: #d8f5ef;
    --cornflower-blue: #445fed;
    --orange: #ef991f;
    --majorelle-blue: #724ade;
    --light-majorelle-blue: #f2edfe;
    --spring-wood: #f9f6f3;
    --tropical-blue: #1ea3b1;
    --seal-brown: #0e0708;
    --Wasabi: #8ea63a;
    --aluminium-gray: rgba(255, 255, 255, 0.4); /* for header transparent contexts */
}

/* ===================================
    03. Global Reset Overrides
====================================== */
body {
    font-size: 18px;
    line-height: 30px;
    color: var(--medium-gray);
    background-color: var(--very-light-gray);
}

/* Headings use DM Serif Display — adds warmth and authority */
h1, h2, h3, h4, h5, h6,
.alt-font {
    font-family: var(--alt-font);
    color: var(--dark-gray);
    font-weight: 400; /* DM Serif Display looks best at regular weight */
}

/* Body text, nav, UI elements stay Inter */
body, p, a, li, input, button, label,
.primary-font {
    font-family: var(--primary-font);
}

a:hover {
    color: var(--base-color);
}

/* Very light mint background on alternating sections */
section.bg-light,
section.bg-very-light-gray,
.bg-very-light-gray {
    background-color: var(--very-light-gray) !important;
}

/* Light green tint utility class for section accents */
.bg-brand-light {
    background-color: var(--base-color-light) !important;
}

/* ===================================
    04. Header
====================================== */
header .navbar-brand img {
    max-height: 34px;
}

header .navbar-brand {
    padding: 22px 0;
}

.navbar.center-logo .navbar-nav .nav-link {
    padding: 29px 20px;
    font-size: 19px;
    font-family: var(--primary-font);
    font-weight: 500;
}

.header-icon .icon > a {
    padding-left: 20px;
}

.header-icon .icon .header-language > a,
.header-icon .icon .header-cart > a {
    padding-left: 18px;
}

.header-cart-icon .cart-count {
    color: var(--dark-gray);
}

header .widget {
    font-size: 17px;
    display: inline-block;
}

.navbar .navbar-nav .submenu-content ul .sub-title {
    font-size: 17px;
    margin-bottom: 3px;
    font-family: var(--primary-font);
    font-weight: 600;
}

.navbar .navbar-nav .dropdown .dropdown-menu a {
    font-size: 16px;
    padding-bottom: 3px;
    font-weight: 300;
    border-color: transparent;
    font-family: var(--primary-font);
}

.header-cart-icon .header-cart .cart-item-list {
    border-radius: 0;
}

.header-cart-icon .header-cart .cart-item-list .cart-item .product-detail a {
    font-size: 16px;
    line-height: 28px;
}

.header-cart-icon .cart-count {
    background-color: var(--dark-gray);
}

.navbar.center-logo .navbar-left,
.navbar.center-logo .navbar-right {
    width: 35%;
}

/* ===================================
    05. Buttons
====================================== */
.btn {
    text-transform: inherit;
    font-weight: 600;
    letter-spacing: 0;
    font-family: var(--primary-font);
    border-radius: 4px;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

/* Primary brand green button */
.btn-base-color,
.btn-primary {
    background-color: var(--base-color) !important;
    border-color: var(--base-color) !important;
    color: #ffffff !important;
}
.btn-base-color:hover,
.btn-primary:hover {
    background-color: var(--base-color-hover) !important;
    border-color: var(--base-color-hover) !important;
    color: #ffffff !important;
}

/* CTA amber button — use for "Schedule Now", "Get a Quote", high-urgency actions */
.btn-cta,
.btn-schedule {
    background-color: var(--cta-color) !important;
    border-color: var(--cta-color) !important;
    color: #ffffff !important;
}
.btn-cta:hover,
.btn-schedule:hover {
    background-color: var(--cta-color-hover) !important;
    border-color: var(--cta-color-hover) !important;
    color: #ffffff !important;
}

/* Outline variant of brand green */
.btn-outline-base-color {
    background-color: transparent !important;
    border-color: var(--base-color) !important;
    color: var(--base-color) !important;
}
.btn-outline-base-color:hover {
    background-color: var(--base-color) !important;
    color: #ffffff !important;
}

/* Sizes — unchanged from original */
.btn.btn-hover-animation-switch.btn-link {
    padding-top: 0;
}
.btn.btn-extra-large {
    font-size: 18px;
    padding: 16px 32px;
}
.btn.btn-large {
    font-size: 17px;
    padding: 14px 28px;
}
.btn.btn-medium {
    font-size: 16px;
    padding: 12px 24px;
}
.btn.btn-small {
    font-size: 15px;
}
.btn.btn-very-small {
    font-size: 14px;
    padding: 9px 20px;
}

/* ===================================
    06. Counter & Review Stars
====================================== */
.counter-style-04 .vertical-counter:after {
    color: var(--base-color);
}

.review-star-icon i {
    color: var(--cta-color); /* amber stars feel warmer and more trustworthy than green */
}

.google-maps-link a:hover {
    color: var(--white);
}

/* ===================================
    07. Footer
====================================== */
/*
  Crafto sets footer background via utility classes on the HTML element
  (e.g. bg-dark-gray, bg-charcoal-blue, bg-slate-blue).
  We override ALL of those utility classes below so the footer goes green
  regardless of which one is used in the markup — no HTML changes needed.
*/
footer,
footer.bg-dark-gray,
footer.bg-charcoal-blue,
footer.bg-slate-blue,
footer.bg-dark-slate-blue,
footer.bg-extra-dark-slate-blue,
footer.bg-extra-very-slate-blue,
footer.bg-extra-medium-slate-blue,
footer.bg-medium-slate-blue,
footer.bg-black {
    background-color: #12503A !important; /* deep forest green */
}

footer ul li {
    margin-bottom: 1px;
}

footer p {
    line-height: 28px;
}

footer a:hover {
    color: var(--cta-color) !important; /* amber hover on dark footer */
}

/* Footer copyright / bottom bar — slightly deeper green */
footer .footer-copyright,
footer .bg-dark-gray,
footer .bg-charcoal-blue,
footer .bg-extra-dark-slate-blue {
    background-color: #0B3025 !important;
}

/* ===================================
    08. Page Titles
====================================== */
.page-title-double-large h1 {
    font-size: 4.375rem;
    line-height: 4.688rem;
    font-family: var(--alt-font); /* DM Serif for big hero headlines */
}

.page-title-double-large h2 {
    font-size: 16px;
    line-height: 28px;
    font-family: var(--primary-font); /* Inter for subtitles */
    font-weight: 400;
}

/* ===================================
    09. Utility Classes
====================================== */
/* Position helpers */
.right-12 {
    right: 12%;
}

/* Brand green background */
.bg-jungle-green,
.bg-base-color {
    background-color: var(--base-color) !important;
}

/* Amber CTA background */
.bg-cta-color {
    background-color: var(--cta-color) !important;
}

/* Light brand tint */
.bg-brand-light {
    background-color: var(--base-color-light) !important;
}

/* Outside box offset */
.outside-box-top-205px {
    margin-top: -205px;
}

/* Gradient overlay — updated to use very-light-gray */
.bg-gradient-gray-light-dark-transparent {
    background-image: linear-gradient(to top, var(--very-light-gray) 0%, transparent 100%);
}

/* Text color utilities */
.text-base-color {
    color: var(--base-color) !important;
}
.text-cta-color {
    color: var(--cta-color) !important;
}

/* ===================================
    10. Home Page Banner (ff-banner--home & ff-banner--pricing)
    These styles are placed here (not inline) so they load AFTER
    Crafto's global CSS and win on specificity without needing
    !important on every single property.
====================================== */

/* === Shared base === */
.ff-banner {
    font-family: var(--primary-font, 'Inter', sans-serif) !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

.ff-banner *,
.ff-banner *::before,
.ff-banner *::after {
    box-sizing: border-box !important;
}

.ff-banner__eyebrow {
    display: block !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: var(--cta-color, #D4813A) !important;
    margin-bottom: 10px !important;
    font-family: var(--primary-font, 'Inter', sans-serif) !important;
}

/* CTA button — must win over Crafto's a{} and .btn{} resets */
.ff-banner__cta {
    display: inline-block !important;
    background-color: var(--cta-color, #D4813A) !important;
    color: #ffffff !important;
    font-family: var(--primary-font, 'Inter', sans-serif) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    padding: 13px 28px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease, transform 0.15s ease !important;
    margin-top: 20px !important;
    white-space: nowrap !important;
    border: 2px solid var(--cta-color, #D4813A) !important;
    line-height: normal !important;
}

.ff-banner__cta:hover {
    background-color: var(--cta-color-hover, #B56B28) !important;
    border-color: var(--cta-color-hover, #B56B28) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}

.ff-banner__cta--sm {
    font-size: 15px !important;
    padding: 11px 24px !important;
}

/* ── Home Page Banner ── */
.ff-banner--home {
    background-color: var(--base-color, #1A7A5E) !important;
    background-image: linear-gradient(135deg, var(--base-color, #1A7A5E) 0%, #0E4A38 100%) !important;
    color: #ffffff !important;
    padding: 60px 0 !important;
    margin: 0 !important;
}

.ff-banner--home .ff-banner__inner {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 30px !important;
    display: flex !important;
    align-items: center !important;
    gap: 60px !important;
}

.ff-banner--home .ff-banner__headline {
    flex: 1 !important;
    min-width: 0 !important;
}

.ff-banner--home .ff-banner__eyebrow {
    color: rgba(255, 255, 255, 0.75) !important;
}

.ff-banner--home .ff-banner__title {
    font-family: var(--alt-font, 'DM Serif Display', Georgia, serif) !important;
    font-size: 3rem !important;
    line-height: 1.1 !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    margin: 0 0 16px 0 !important;
    letter-spacing: -0.5px !important;
}

.ff-banner--home .ff-banner__subtitle {
    font-size: 17px !important;
    line-height: 1.6 !important;
    color: rgba(255, 255, 255, 0.85) !important;
    max-width: 400px !important;
    margin: 0 !important;
    font-family: var(--primary-font, 'Inter', sans-serif) !important;
}

.ff-banner--home .ff-banner__cta {
    background-color: var(--cta-color, #D4813A) !important;
    border-color: var(--cta-color, #D4813A) !important;
    color: #ffffff !important;
}

/* Pill cards */
.ff-banner__pills {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    min-width: 300px !important;
}

.ff-banner__pill {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    background-color: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    border-radius: 8px !important;
    padding: 14px 20px !important;
    margin: 0 !important;
    list-style: none !important;
}

.ff-banner__pill strong {
    display: block !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    line-height: 1.2 !important;
    font-family: var(--primary-font, 'Inter', sans-serif) !important;
}

.ff-banner__pill-icon {
    font-size: 22px !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
    display: inline-block !important;
}

.ff-banner__pill-tag {
    display: inline-block !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    padding: 2px 8px !important;
    border-radius: 3px !important;
    margin-top: 4px !important;
    font-family: var(--primary-font, 'Inter', sans-serif) !important;
}

.ff-banner__pill-tag--free {
    background-color: var(--cta-color, #D4813A) !important;
    color: #ffffff !important;
}

.ff-banner__compare-note {
    font-size: 13px !important;
    color: rgba(255, 255, 255, 0.65) !important;
    margin: 6px 0 0 0 !important;
    line-height: 1.5 !important;
    text-align: center !important;
    padding: 0 4px !important;
    font-family: var(--primary-font, 'Inter', sans-serif) !important;
}

.ff-banner__compare-note strong {
    color: rgba(255, 255, 255, 0.9) !important;
}

/* ── Pricing Page Banner ── */
.ff-banner--pricing {
    background-color: var(--base-color-light, #E8F5F0) !important;
    border-top: 4px solid var(--base-color, #1A7A5E) !important;
    border-bottom: 4px solid var(--base-color, #1A7A5E) !important;
    padding: 50px 0 !important;
    margin: 40px 0 !important;
}

.ff-banner__pricing-inner {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 30px !important;
    display: flex !important;
    align-items: center !important;
    gap: 60px !important;
}

.ff-banner__pricing-left {
    flex: 1 !important;
    min-width: 0 !important;
}

.ff-banner--pricing .ff-banner__eyebrow {
    color: var(--cta-color, #D4813A) !important;
}

.ff-banner__pricing-title {
    font-family: var(--alt-font, 'DM Serif Display', Georgia, serif) !important;
    font-size: 2.2rem !important;
    line-height: 1.15 !important;
    font-weight: 400 !important;
    color: var(--dark-gray, #1A2E28) !important;
    margin: 0 0 16px 0 !important;
}

.ff-banner__pricing-body {
    font-size: 16px !important;
    line-height: 1.7 !important;
    color: var(--medium-gray, #717580) !important;
    margin: 0 !important;
    font-family: var(--primary-font, 'Inter', sans-serif) !important;
}

.ff-banner__pricing-body strong {
    color: var(--dark-gray, #1A2E28) !important;
}

.ff-banner__pricing-right {
    flex-shrink: 0 !important;
    width: 320px !important;
}

.ff-banner__rate-card {
    background-color: #ffffff !important;
    border-radius: 8px !important;
    border: 1px solid rgba(26, 122, 94, 0.2) !important;
    box-shadow: 0 4px 20px rgba(26, 122, 94, 0.1) !important;
    overflow: hidden !important;
}

.ff-banner__rate-item {
    padding: 18px 24px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}

.ff-banner__rate-item--highlight {
    background-color: var(--base-color, #1A7A5E) !important;
}

.ff-banner__rate-label {
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    color: var(--medium-gray, #717580) !important;
    font-family: var(--primary-font, 'Inter', sans-serif) !important;
}

.ff-banner__rate-item--highlight .ff-banner__rate-label {
    color: rgba(255, 255, 255, 0.75) !important;
}

.ff-banner__rate-value {
    font-family: var(--alt-font, 'DM Serif Display', Georgia, serif) !important;
    font-size: 2.4rem !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    color: var(--dark-gray, #1A2E28) !important;
    margin: 4px 0 !important;
    display: block !important;
}

.ff-banner__rate-value small {
    font-size: 1.1rem !important;
}

.ff-banner__rate-value--free {
    color: var(--cta-color, #D4813A) !important;
    font-size: 1.8rem !important;
    font-weight: 700 !important;
    font-family: var(--primary-font, 'Inter', sans-serif) !important;
    letter-spacing: 1px !important;
}

.ff-banner__rate-item--highlight .ff-banner__rate-value--free {
    color: #ffffff !important;
}

.ff-banner__rate-note {
    font-size: 12px !important;
    color: var(--medium-gray, #717580) !important;
    font-family: var(--primary-font, 'Inter', sans-serif) !important;
}

.ff-banner__rate-item--highlight .ff-banner__rate-note {
    color: rgba(255, 255, 255, 0.75) !important;
}

.ff-banner__rate-divider {
    height: 1px !important;
    background-color: var(--extra-medium-gray, #e4e4e4) !important;
    margin: 0 !important;
}

/* ── Banner Responsive ── */
@media (max-width: 900px) {
    .ff-banner--home .ff-banner__inner,
    .ff-banner__pricing-inner {
        flex-direction: column !important;
        gap: 36px !important;
        align-items: flex-start !important;
    }

    .ff-banner--home .ff-banner__title {
        font-size: 2.2rem !important;
    }

    .ff-banner__pills {
        width: 100% !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        min-width: 0 !important;
    }

    .ff-banner__pill {
        flex: 1 1 calc(50% - 6px) !important;
        min-width: 200px !important;
    }

    .ff-banner__pricing-right {
        width: 100% !important;
    }
}

@media (max-width: 600px) {
    .ff-banner--home {
        padding: 44px 0 !important;
    }

    .ff-banner--home .ff-banner__inner {
        padding: 0 20px !important;
    }

    .ff-banner--home .ff-banner__title {
        font-size: 1.9rem !important;
    }

    .ff-banner--home .ff-banner__subtitle {
        font-size: 15px !important;
        max-width: 100% !important;
    }

    .ff-banner__pills {
        flex-direction: column !important;
    }

    .ff-banner__pill {
        flex: unset !important;
        width: 100% !important;
    }

    .ff-banner--pricing {
        padding: 36px 0 !important;
    }

    .ff-banner__pricing-title {
        font-size: 1.7rem !important;
    }

    .ff-banner__pricing-inner {
        padding: 0 20px !important;
    }
}

/* ===================================
    11. Hero Section (hero-ff)
    Same approach: moved from inline <style> into this file
    so Crafto cannot override at higher cascade order.
====================================== */

.hero-ff {
    position: relative !important;
    background-color: #0E3D2C !important;
    background-image: url('images/hero-dog.jpg') !important;
    background-size: cover !important;
    background-position: center 30% !important;
    min-height: 600px !important;
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
    font-family: var(--primary-font, 'Inter', sans-serif) !important;
}

.hero-ff__overlay {
    position: absolute !important;
    inset: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    background: linear-gradient(
        100deg,
        rgba(12, 40, 28, 0.88) 0%,
        rgba(12, 40, 28, 0.72) 50%,
        rgba(12, 40, 28, 0.20) 100%
    ) !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

.hero-ff__inner {
    position: relative !important;
    z-index: 2 !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 80px 30px !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 60px !important;
}

.hero-ff__text {
    flex: 1 !important;
    min-width: 0 !important;
    color: #ffffff !important;
}

/* Badge */
.hero-ff__badge-row {
    margin-bottom: 18px !important;
}

.hero-ff__badge {
    display: inline-block !important;
    background-color: var(--cta-color, #D4813A) !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    padding: 5px 14px !important;
    border-radius: 3px !important;
    font-family: var(--primary-font, 'Inter', sans-serif) !important;
    text-decoration: none !important;
}

/* Hero title */
.hero-ff__title {
    font-family: var(--alt-font, 'DM Serif Display', Georgia, serif) !important;
    font-size: clamp(2.4rem, 4vw, 3.8rem) !important;
    line-height: 1.1 !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    margin: 0 0 20px 0 !important;
    letter-spacing: -0.5px !important;
}

.hero-ff__sub {
    font-size: 17px !important;
    line-height: 1.65 !important;
    color: rgba(255, 255, 255, 0.85) !important;
    max-width: 500px !important;
    margin: 0 0 28px 0 !important;
    font-family: var(--primary-font, 'Inter', sans-serif) !important;
}

/* CTA button row */
.hero-ff__cta-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    margin-bottom: 30px !important;
    list-style: none !important;
    padding: 0 !important;
}

.hero-ff__btn {
    display: inline-flex !important;
    align-items: center !important;
    font-family: var(--primary-font, 'Inter', sans-serif) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    padding: 14px 28px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease, transform 0.15s ease, border-color 0.2s ease !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    line-height: normal !important;
}

.hero-ff__btn--primary {
    background-color: var(--cta-color, #D4813A) !important;
    color: #ffffff !important;
    border: 2px solid var(--cta-color, #D4813A) !important;
}

.hero-ff__btn--primary:hover {
    background-color: var(--cta-color-hover, #B56B28) !important;
    border-color: var(--cta-color-hover, #B56B28) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}

.hero-ff__btn--ghost {
    background-color: transparent !important;
    color: #ffffff !important;
    border: 2px solid rgba(255, 255, 255, 0.6) !important;
}

.hero-ff__btn--ghost:hover {
    background-color: rgba(255, 255, 255, 0.12) !important;
    border-color: #ffffff !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}

/* Highlights checklist */
.hero-ff__highlights {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.hero-ff__highlights li {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 15px !important;
    color: rgba(255, 255, 255, 0.9) !important;
    font-weight: 500 !important;
    font-family: var(--primary-font, 'Inter', sans-serif) !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.hero-ff__highlights li svg {
    flex-shrink: 0 !important;
    color: var(--cta-color, #D4813A) !important;
    stroke: var(--cta-color, #D4813A) !important;
    display: inline-block !important;
    vertical-align: middle !important;
}

/* Image side */
.hero-ff__image-wrap {
    flex-shrink: 0 !important;
    width: 520px !important;
}

.hero-ff__image-frame {
    position: relative !important;
    border-radius: 12px !important;
    overflow: visible !important;
}

.hero-ff__image {
    width: 100% !important;
    height: 420px !important;
    object-fit: cover !important;
    object-position: center 20% !important;
    border-radius: 12px !important;
    display: block !important;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4) !important;
}

/* Floating stat card */
.hero-ff__stat-card {
    position: absolute !important;
    bottom: -18px !important;
    left: -24px !important;
    background-color: #ffffff !important;
    border-radius: 8px !important;
    padding: 14px 20px !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    min-width: 140px !important;
    z-index: 10 !important;
}

.hero-ff__stat-number {
    font-family: var(--alt-font, 'DM Serif Display', Georgia, serif) !important;
    font-size: 2rem !important;
    font-weight: 400 !important;
    color: var(--base-color, #1A7A5E) !important;
    line-height: 1 !important;
    display: block !important;
}

.hero-ff__stat-number::after {
    content: '+' !important;
    font-size: 1.4rem !important;
    color: var(--cta-color, #D4813A) !important;
}

.hero-ff__stat-label {
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--medium-gray, #717580) !important;
    margin-top: 4px !important;
    text-align: center !important;
    display: block !important;
    font-family: var(--primary-font, 'Inter', sans-serif) !important;
}

/* Floating price tag */
.hero-ff__price-tag {
    position: absolute !important;
    top: -16px !important;
    right: -20px !important;
    background-color: var(--base-color, #1A7A5E) !important;
    border-radius: 8px !important;
    padding: 12px 18px !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.25) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    min-width: 100px !important;
    z-index: 10 !important;
}

.hero-ff__price-tag-label {
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: rgba(255, 255, 255, 0.75) !important;
    display: block !important;
    font-family: var(--primary-font, 'Inter', sans-serif) !important;
}

.hero-ff__price-tag-value {
    font-family: var(--alt-font, 'DM Serif Display', Georgia, serif) !important;
    font-size: 2rem !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    margin: 2px 0 !important;
    display: block !important;
}

.hero-ff__price-tag-sub {
    font-size: 10px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: rgba(255, 255, 255, 0.7) !important;
    display: block !important;
    font-family: var(--primary-font, 'Inter', sans-serif) !important;
}

/* ── Hero Responsive ── */
@media (max-width: 1100px) {
    .hero-ff__image-wrap {
        width: 420px !important;
    }
}

@media (max-width: 900px) {
    .hero-ff__inner {
        flex-direction: column !important;
        padding: 60px 24px 80px !important;
        gap: 48px !important;
    }

    .hero-ff__image-wrap {
        width: 100% !important;
        max-width: 520px !important;
    }

    .hero-ff__sub {
        max-width: 100% !important;
    }

    .hero-ff__image {
        height: 280px !important;
        object-position: center 15% !important;
    }

    .hero-ff__stat-card {
        left: -10px !important;
        bottom: -14px !important;
    }

    .hero-ff__price-tag {
        right: -10px !important;
        top: -12px !important;
    }
}

@media (max-width: 600px) {
    .hero-ff {
        background-position: center 20% !important;
    }

    .hero-ff__inner {
        padding: 48px 20px 72px !important;
    }

    .hero-ff__title {
        font-size: 2.1rem !important;
    }

    .hero-ff__cta-row {
        flex-direction: column !important;
    }

    .hero-ff__btn {
        width: 100% !important;
        justify-content: center !important;
    }

    .hero-ff__image {
        height: 240px !important;
    }

    /* On very small screens, pull floating cards inside the frame */
    .hero-ff__stat-card {
        left: 10px !important;
        bottom: 10px !important;
    }

    .hero-ff__price-tag {
        right: 10px !important;
        top: 10px !important;
    }
}

/* ===================================
    12. Responsive
====================================== */
@media (max-width: 1399px) {
    .xl-h-180px {
        height: 180px;
    }
    .xl-w-180px {
        width: 180px;
    }
}

@media (max-width: 1199px) {
    .outside-box-top-200px {
        margin-top: -150px;
    }
}

@media (max-width: 991px) {
    .outside-box-top-200px {
        margin-top: 0;
    }
    .navbar .navbar-nav .dropdown.open .dropdown-menu {
        padding-bottom: 15px;
    }
    .navbar .navbar-nav .dropdown .dropdown-menu.show {
        background-color: var(--dark-gray);
    }

    /* Mobile: ensure amber CTA button is full-width and tappable */
    .btn-cta,
    .btn-schedule {
        display: block;
        width: 100%;
        text-align: center;
    }

    /* Slightly smaller hero headings on tablet */
    .page-title-double-large h1 {
        font-size: 3rem;
        line-height: 3.4rem;
    }
}

@media (max-width: 767px) {
    /* Sticky click-to-call bar on mobile — add class "mobile-call-bar" to your phone CTA element */
    .mobile-call-bar {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 9999;
        background-color: var(--cta-color);
        color: #ffffff;
        text-align: center;
        padding: 14px 20px;
        font-family: var(--primary-font);
        font-size: 17px;
        font-weight: 700;
        text-decoration: none;
        display: block;
        border-top: 2px solid var(--cta-color-hover);
        letter-spacing: 0.3px;
    }
    .mobile-call-bar:hover,
    .mobile-call-bar:active {
        background-color: var(--cta-color-hover);
        color: #ffffff;
    }

    /* Add bottom padding to body so content isn't hidden behind sticky bar */
    body {
        padding-bottom: 58px;
    }

    .page-title-double-large h1 {
        font-size: 2.4rem;
        line-height: 2.8rem;
    }
}
