﻿/* ============================================================
   Hire Cars in Spain
   Modern UI overrides
   ============================================================ */

/* ============================================================
   DESIGN TOKENS
   ============================================================ */

:root {
    --hc-primary: #b25d86;
    --hc-primary-dark: #964a70;
    --hc-primary-soft: #f7edf2;
    --hc-heading: #20242a;
    --hc-text: #4c5560;
    --hc-muted: #7b8490;
    --hc-border: #e5e7eb;
    --hc-background: #ffffff;
    --hc-background-soft: #f7f8fa;
    --hc-dark: #22272e;
    --hc-dark-light: #2c323a;
    --hc-radius: 8px;
    --hc-radius-lg: 12px;
    --hc-shadow-sm: 0 2px 8px rgba(0, 0, 0, .055);
    --hc-shadow-md: 0 8px 24px rgba(0, 0, 0, .08);
}

/* ============================================================
   GLOBAL TYPOGRAPHY
   ============================================================ */

body {
    font-family: Lato, Arial, sans-serif;
    color: var(--hc-text);
    font-size: 15px;
    line-height: 1.6;
    background: var(--hc-background);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--hc-heading);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -.01em;
}

h1 {
    font-size: clamp(30px, 4vw, 42px);
}

h2 {
    font-size: clamp(26px, 3vw, 34px);
}

h3 {
    font-size: 25px;
}

h4 {
    font-size: 21px;
}

h5 {
    font-size: 18px;
}

h6 {
    font-size: 16px;
}

p {
    font-size: 15px;
    line-height: 1.65;
}

a {
    color: var(--hc-primary);
    transition: color .15s ease, background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}

    a:hover {
        color: var(--hc-primary-dark);
    }

/* ============================================================
   HEADER
   ============================================================ */

.hc-site-header {
    position: relative;
    width: 100%;
    background: #fff;
    z-index: 1000;
    box-shadow: 0 1px 0 rgba(0, 0, 0, .06);
}

/* ---------- Utility bar ---------- */

.hc-topbar {
    background: var(--hc-dark);
    color: rgba(255, 255, 255, .78);
    font-size: 12px;
}

.hc-topbar-inner {
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
}

.hc-topbar-message {
    font-weight: 400;
    letter-spacing: .01em;
}

.hc-topbar-contact {
    display: flex;
    align-items: center;
    gap: 24px;
}

    .hc-topbar-contact a {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        color: rgba(255, 255, 255, .82);
        text-decoration: none;
        white-space: nowrap;
    }

        .hc-topbar-contact a:hover {
            color: #fff;
        }

    .hc-topbar-contact i {
        color: #d8a1bb;
        font-size: 11px;
    }

/* ============================================================
   MAIN NAVBAR
   ============================================================ */

.hc-navbar {
    height: 78px;
    min-height: 78px;
    padding: 0 !important;
    background: #fff;
}

    .hc-navbar > .container {
        height: 78px;
        min-height: 78px;
        display: flex;
        align-items: center;
        flex-wrap: nowrap;
    }

    /* ---------- Logo ---------- */

    .hc-navbar .hc-brand {
        display: flex;
        align-items: center;
        height: 78px;
        padding: 0 !important;
        margin: 0 auto 0 0 !important;
    }

        .hc-navbar .hc-brand img {
            display: block;
            width: auto;
            height: auto;
            max-width: 170px;
            max-height: 55px;
        }

    /* ---------- Collapse / nav container ---------- */

    .hc-navbar .navbar-collapse {
        flex-grow: 0;
        height: 100%;
    }

    /* ---------- Main navigation ---------- */

    .hc-navbar .hc-main-nav {
        display: flex;
        align-items: center;
        height: 100%;
        gap: 5px;
        margin: 0 !important;
        padding: 0 !important;
    }

        /* Kill legacy LI spacing */

        .hc-navbar .hc-main-nav > li,
        .hc-navbar .hc-main-nav > .nav-item {
            display: flex;
            align-items: center;
            height: 100%;
            margin: 0 !important;
            padding: 0 !important;
        }

            /* Nav links */

            .hc-navbar .hc-main-nav > li > a,
            .hc-navbar .hc-main-nav .nav-link {
                position: relative;
                display: flex;
                align-items: center;
                height: 100%;
                min-height: 0;
                padding: 0 14px !important;
                margin: 0 !important;
                color: #343a42 !important;
                font-size: 13px;
                font-weight: 700;
                line-height: 1;
                text-decoration: none;
            }

                /* Underline */

                .hc-navbar .hc-main-nav > li > a:not(.hc-customer-zone)::after {
                    content: "";
                    position: absolute;
                    left: 14px;
                    right: 14px;
                    bottom: 19px;
                    height: 2px;
                    background: var(--hc-primary);
                    transform: scaleX(0);
                    transform-origin: center;
                    transition: transform .18s ease;
                }

                .hc-navbar .hc-main-nav > li > a:not(.hc-customer-zone):hover {
                    color: var(--hc-primary) !important;
                }

                    .hc-navbar .hc-main-nav > li > a:not(.hc-customer-zone):hover::after {
                        transform: scaleX(1);
                    }

        /* ---------- Customer Zone ---------- */

        .hc-navbar .hc-main-nav > .hc-customer-zone-item {
            height: auto;
            margin-left: 12px !important;
            border: 0;
        }

        .hc-navbar .hc-main-nav > li > .hc-customer-zone {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            height: 46px;
            padding: 0 18px !important;
            background: var(--hc-primary);
            border: 0;
            border-radius: 6px;
            color: #fff !important;
            font-size: 13px;
            font-weight: 700;
            box-shadow: 0 2px 6px rgba(178, 93, 134, .20);
        }

            .hc-navbar .hc-main-nav > li > .hc-customer-zone:hover {
                background: var(--hc-primary-dark);
                color: #fff !important;
                box-shadow: 0 4px 10px rgba(178, 93, 134, .25);
            }

            .hc-navbar .hc-main-nav > li > .hc-customer-zone i {
                margin: 0 9px 0 0 !important;
            }

/* Hamburger */

.hc-navbar-toggler {
    width: 44px;
    height: 42px;
    padding: 0;
    display: none;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--hc-border);
    border-radius: 6px;
    background: #fff;
    color: var(--hc-heading);
    box-shadow: none;
}

    .hc-navbar-toggler:focus {
        box-shadow: 0 0 0 3px rgba(178, 93, 134, .12);
    }

/* ============================================================
   BUTTONS
   ============================================================ */

.btn {
    min-height: 44px;
    padding: 9px 20px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, transform .15s ease;
}

    .btn:hover {
        transform: translateY(-1px);
    }

    .btn-primary,
    .btn:not(.outline):not(.btn-secondary):not(.btn-light):not(.btn-dark) {
        background-color: var(--hc-primary);
        border-color: var(--hc-primary);
        color: #fff;
    }

        .btn-primary:hover {
            background-color: var(--hc-primary-dark);
            border-color: var(--hc-primary-dark);
            color: #fff;
        }

/* ============================================================
   FORM CONTROLS
   ============================================================ */

.form-control,
.form-select {
    min-height: 46px;
    padding: 9px 13px;
    background: #fff;
    border: 1px solid var(--hc-border);
    border-radius: 7px;
    color: var(--hc-text);
    font-size: 14px;
    line-height: 1.5;
    box-shadow: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}

    .form-control:hover,
    .form-select:hover {
        border-color: #ccd0d5;
    }

    .form-control:focus,
    .form-select:focus {
        background: #fff;
        border-color: var(--hc-primary);
        box-shadow: 0 0 0 3px rgba(178, 93, 134, .12);
        outline: none;
    }

textarea.form-control {
    min-height: 120px;
    padding-top: 12px;
}

/* ============================================================
   CARDS / GENERIC CONTENT PANELS
   ============================================================ */

.card {
    border: 1px solid var(--hc-border);
    border-radius: var(--hc-radius);
    box-shadow: var(--hc-shadow-sm);
}

/* ============================================================
   FOOTER
   ============================================================ */

.footer-top {
    padding: 58px 0 42px;
    background: var(--hc-dark);
}

    .footer-top h6 {
        margin-bottom: 18px;
        color: #fff;
        font-size: 14px;
        font-weight: 700;
        letter-spacing: .04em;
        text-transform: uppercase;
    }

    .footer-top ul {
        padding: 0;
        margin: 0;
        list-style: none;
    }

        .footer-top ul li {
            margin: 0 0 8px;
            font-size: 14px;
            line-height: 1.5;
        }

            .footer-top ul li a {
                color: rgba(255, 255, 255, .67);
                text-decoration: none;
            }

                .footer-top ul li a:hover {
                    color: #fff;
                    padding-left: 2px;
                }

.footer-bottom {
    padding: 18px 0;
    background: #1a1e23;
    border-top: 1px solid rgba(255, 255, 255, .06);
}

    .footer-bottom p {
        margin: 0;
        color: rgba(255, 255, 255, .58);
        font-size: 13px;
    }

/* ============================================================
   BACK TO TOP
   ============================================================ */

.back-top a {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--hc-primary);
    border-radius: 50%;
    color: #fff;
    box-shadow: var(--hc-shadow-md);
}

    .back-top a:hover {
        background: var(--hc-primary-dark);
        color: #fff;
    }

/* ============================================================
   TABLET / MOBILE NAVIGATION
   ============================================================ */

@media (max-width: 991.98px) {

    .hc-navbar {
        min-height: 68px;
    }

        .hc-navbar > .container {
            min-height: 68px;
        }

    .hc-brand {
        margin-right: 0;
    }

        .hc-brand img {
            max-height: 50px;
            max-width: 165px;
        }

    .hc-navbar-toggler {
        display: inline-flex;
    }

    .hc-navbar .navbar-collapse {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        width: 100%;
        padding: 10px 20px 18px;
        background: #fff;
        border-top: 1px solid var(--hc-border);
        box-shadow: 0 12px 20px rgba(0, 0, 0, .08);
    }

    .hc-main-nav {
        display: block;
        width: 100%;
    }

        .hc-main-nav > .nav-item {
            width: 100%;
            border-bottom: 1px solid #f0f1f2;
        }

        .hc-main-nav .nav-link {
            min-height: 0;
            width: 100%;
            padding: 13px 4px !important;
            font-size: 15px;
        }

            .hc-main-nav .nav-link::after {
                display: none;
            }

    .hc-customer-zone-item {
        margin: 12px 0 0 !important;
        border-bottom: 0 !important;
    }

    .hc-main-nav .hc-customer-zone {
        justify-content: center;
        padding: 13px 18px !important;
    }
}

/* ============================================================
   HOMEPAGE HERO
   ============================================================ */

.hc-home-hero {
    position: relative;
    min-height: 430px;
    display: flex;
    align-items: center;
    background-image: url('/assets/images/slide-1-snow.jpg');
    background-position: center center;
    background-size: cover;
    overflow: hidden;
}

.hc-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient( 90deg, rgba(20, 24, 29, .10) 0%, rgba(20, 24, 29, .18) 40%, rgba(20, 24, 29, .70) 100% );
}

.hc-hero-container {
    position: relative;
    z-index: 2;
}

.hc-hero-content {
    width: 100%;
    max-width: 570px;
    margin-left: auto;
    padding: 60px 0;
    color: #fff;
}

.hc-hero-kicker {
    margin-bottom: 12px;
    color: #f0b9d2;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.hc-hero-content h1 {
    margin: 0 0 18px;
    color: #fff;
    font-size: clamp(38px, 4vw, 54px);
    font-weight: 700;
    line-height: 1.06;
    letter-spacing: -.025em;
}

    .hc-hero-content h1 span {
        display: block;
        font-weight: 400;
    }

.hc-hero-content > p {
    max-width: 520px;
    margin: 0 0 22px;
    color: rgba(255,255,255,.90);
    font-size: 17px;
    line-height: 1.6;
}

.hc-hero-points {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
}

    .hc-hero-points span {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        color: #fff;
        font-size: 13px;
        font-weight: 700;
    }

    .hc-hero-points i {
        color: #e4a3c2;
    }

/* ============================================================
   HOMEPAGE SEARCH
   ============================================================ */

.hc-search-section {
    position: relative;
    padding: 0 0 65px;
    background: #f6f7f9;
}

.hc-search-card {
    position: relative;
    z-index: 5;
    margin-top: -42px;
    padding: 28px 30px 30px;
    background: #f8f9fa;
    border: 1px solid var(--hc-border);
    border-radius: 12px;
    box-shadow: 0 12px 35px rgba(0,0,0,.10);
}

.hc-search-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}

    .hc-search-heading h2 {
        margin: 0 0 4px;
        color: var(--hc-heading);
        font-size: 25px;
        font-weight: 700;
    }

    .hc-search-heading p {
        margin: 0;
        color: var(--hc-muted);
        font-size: 14px;
    }

.hc-search-secure {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #68717b;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

    .hc-search-secure i {
        color: var(--hc-primary);
    }

/* Fields */

.hc-field {
    width: 100%;
}

    .hc-field label {
        display: block;
        margin: 0 0 7px;
        color: #414852;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: .015em;
    }

.hc-control-wrap {
    position: relative;
}

.hc-field-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    z-index: 3;
    transform: translateY(-50%);
    color: var(--hc-primary);
    font-size: 14px;
    pointer-events: none;
}

.hc-control-wrap .hc-control {
    padding-left: 39px !important;
}

.hc-field .hc-control {
    width: 100%;
    height: 48px;
    min-height: 48px;
    padding-top: 10px;
    padding-bottom: 10px;
    background-color: #fff !important;
    border: 1px solid #dfe2e6 !important;
    border-radius: 7px !important;
    color: #303740 !important;
    font-size: 14px !important;
    box-shadow: none !important;
}

    .hc-field .hc-control:hover {
        border-color: #c7ccd2 !important;
    }

    .hc-field .hc-control:focus {
        border-color: var(--hc-primary) !important;
        box-shadow: 0 0 0 3px rgba(178,93,134,.11) !important;
        outline: none;
    }

.hc-search-row {
    margin-top: 4px;
}

/* Optional filters */

.hc-search-options {
    margin-top: 24px;
    padding-top: 21px;
    border-top: 1px solid #dde1e5;
}

.hc-search-options-title {
    margin-bottom: 12px;
    color: #505862;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .055em;
}

    .hc-search-options-title span {
        margin-left: 7px;
        padding: 3px 7px;
        background: #f0f1f3;
        border-radius: 10px;
        color: #9299a1;
        font-size: 9px;
        letter-spacing: .04em;
    }

/* Action */

.hc-search-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    margin-top: 26px;
}

.hc-search-help {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #7a828b;
    font-size: 12px;
}

    .hc-search-help i {
        color: var(--hc-primary);
    }

.hc-search-button {
    min-width: 210px;
    min-height: 48px;
    padding: 11px 25px !important;
    background: var(--hc-primary) !important;
    border: 0 !important;
    border-radius: 7px !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    box-shadow: 0 3px 8px rgba(178,93,134,.22);
}

    .hc-search-button:hover {
        background: var(--hc-primary-dark) !important;
        color: #fff !important;
        box-shadow: 0 5px 12px rgba(178,93,134,.28);
    }

/* ============================================================
   WHY CHOOSE US
   ============================================================ */

.hc-why-section {
    padding: 75px 0;
    background: #fff;
}

.hc-section-intro {
    max-width: 720px;
    margin: 0 auto 42px;
    text-align: center;
}

.hc-section-kicker {
    display: block;
    margin-bottom: 8px;
    color: var(--hc-primary);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.hc-section-intro h2 {
    margin: 0 0 14px;
    font-size: 32px;
}

.hc-section-intro p {
    margin: 0;
    color: var(--hc-muted);
    font-size: 16px;
    line-height: 1.7;
}

.hc-benefit-card {
    height: 100%;
    padding: 25px 22px;
    background: #fff;
    border: 1px solid var(--hc-border);
    border-radius: 10px;
    box-shadow: 0 3px 12px rgba(0,0,0,.04);
    transition: transform .18s ease, box-shadow .18s ease;
}

    .hc-benefit-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 8px 22px rgba(0,0,0,.075);
    }

.hc-benefit-icon {
    width: 43px;
    height: 43px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    background: var(--hc-primary-soft);
    border-radius: 8px;
    color: var(--hc-primary);
    font-size: 17px;
}

.hc-benefit-card h3 {
    margin: 0 0 9px;
    font-size: 17px;
}

.hc-benefit-card p {
    margin: 0;
    color: #727b85;
    font-size: 13px;
    line-height: 1.65;
}

.hc-about-copy {
    margin-top: 65px;
    padding-top: 58px;
    border-top: 1px solid var(--hc-border);
}

    .hc-about-copy h2 {
        margin-bottom: 18px;
        font-size: 27px;
    }

    .hc-about-copy p {
        color: #68717b;
        line-height: 1.75;
    }

.hc-help-panel {
    display: flex;
    gap: 18px;
    padding: 25px;
    background: var(--hc-background-soft);
    border: 1px solid var(--hc-border);
    border-radius: 10px;
}

.hc-help-icon {
    margin-top: 4px;
    color: var(--hc-primary);
    font-size: 22px;
}

.hc-help-panel span {
    display: block;
    margin-bottom: 3px;
    color: var(--hc-muted);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.hc-help-panel strong {
    display: block;
    margin-bottom: 7px;
    color: var(--hc-heading);
    font-size: 17px;
}

.hc-help-panel p {
    margin: 0 0 10px;
    font-size: 13px;
}

.hc-help-panel a {
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

    .hc-help-panel a i {
        margin-left: 5px;
        font-size: 10px;
    }

/* ============================================================
   MODERN FOOTER
   ============================================================ */

.hc-footer {
    background: #22272e;
    color: rgba(255, 255, 255, .68);
}

/* Main footer */

.hc-footer-main {
    padding: 58px 0 50px;
}

/* Logo / intro */

.hc-footer-logo {
    display: inline-block;
    margin-bottom: 20px;
}

    .hc-footer-logo img {
        display: block;
        width: auto;
        max-width: 165px;
        max-height: 58px;
        /* White card keeps existing pink logo looking clean */
        padding: 8px 12px;
        background: #fff;
        border-radius: 7px;
    }

.hc-footer-brand > p {
    max-width: 340px;
    margin: 0 0 22px;
    color: rgba(255, 255, 255, .62);
    font-size: 13px;
    line-height: 1.7;
}

/* Column headings */

.hc-footer-column h2 {
    margin: 5px 0 20px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .025em;
}

/* Links */

.hc-footer-column ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.hc-footer-column li {
    margin: 0 0 10px;
}

    .hc-footer-column li a {
        color: rgba(255, 255, 255, .64);
        font-size: 13px;
        text-decoration: none;
        transition: color .15s ease, transform .15s ease;
    }

        .hc-footer-column li a:hover {
            color: #fff;
        }

/* Contact */

.hc-footer-contact > p {
    max-width: 320px;
    margin: 0 0 20px;
    color: rgba(255, 255, 255, .62);
    font-size: 13px;
    line-height: 1.65;
}

.hc-footer-contact-link {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-top: 12px;
    color: #fff !important;
    text-decoration: none !important;
}

    .hc-footer-contact-link > i {
        width: 35px;
        height: 35px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 35px;
        background: rgba(178, 93, 134, .16);
        border-radius: 7px;
        color: #dfa0be;
        font-size: 13px;
    }

    .hc-footer-contact-link span {
        color: rgba(255, 255, 255, .88);
        font-size: 13px;
        font-weight: 700;
        line-height: 1.35;
    }

    .hc-footer-contact-link small {
        display: block;
        margin-bottom: 2px;
        color: rgba(255, 255, 255, .43);
        font-size: 10px;
        font-weight: 400;
        text-transform: uppercase;
        letter-spacing: .05em;
    }

    .hc-footer-contact-link:hover span {
        color: #fff;
    }

    .hc-footer-contact-link:hover > i {
        background: var(--hc-primary);
        color: #fff;
    }

/* Social */

.hc-footer-social {
    display: flex;
    gap: 8px;
}

    .hc-footer-social a {
        width: 36px;
        height: 36px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: rgba(255, 255, 255, .07);
        border: 1px solid rgba(255, 255, 255, .07);
        border-radius: 7px;
        color: rgba(255, 255, 255, .72);
        text-decoration: none;
    }

        .hc-footer-social a:hover {
            background: var(--hc-primary);
            border-color: var(--hc-primary);
            color: #fff;
        }

/* Bottom */

.hc-footer-bottom {
    padding: 17px 0;
    background: #1b1f24;
    border-top: 1px solid rgba(255, 255, 255, .06);
}

.hc-footer-bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.hc-footer-bottom p {
    margin: 0;
    color: rgba(255, 255, 255, .42);
    font-size: 11px;
}

.hc-footer-bottom-links {
    display: flex;
    align-items: center;
    gap: 20px;
}

    .hc-footer-bottom-links a {
        color: rgba(255, 255, 255, .45);
        font-size: 11px;
        text-decoration: none;
    }

        .hc-footer-bottom-links a:hover {
            color: #fff;
        }

/* ============================================================
   SUPPLIER CAROUSEL
   ============================================================ */

.hc-suppliers-section {
    padding: 52px 0 58px;
    background: #f6f7f9;
}

.hc-suppliers-heading {
    margin-bottom: 28px;
    text-align: center;
}

    .hc-suppliers-heading > span {
        display: block;
        margin-bottom: 5px;
        color: var(--hc-primary);
        font-size: 10px;
        font-weight: 700;
        letter-spacing: .12em;
        text-transform: uppercase;
    }

    .hc-suppliers-heading h2 {
        margin: 0;
        color: var(--hc-heading);
        font-size: 22px;
        font-weight: 700;
    }

/* Give carousel items some breathing room */

.hc-suppliers-carousel #popular_brands .owl-item {
    padding: 4px 9px;
}

/* Consistent logo tile */

.hc-supplier-logo {
    height: 70px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 18px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}

    .hc-supplier-logo:hover {
        transform: none !important;
        box-shadow: none !important;
    }

    .hc-supplier-logo img {
        display: block !important;
        width: auto !important;
        height: auto !important;
        max-width: 170px !important;
        max-height: 48px !important;
        object-fit: contain !important;
    }

/* Remove legacy carousel image styling */

.hc-suppliers-carousel .brand-logo-list,
.hc-suppliers-carousel #popular_brands {
    border: 0;
}

@media (max-width: 767.98px) {

    .hc-suppliers-section {
        padding: 40px 0 44px;
    }

    .hc-suppliers-heading {
        margin-bottom: 20px;
    }

        .hc-suppliers-heading h2 {
            font-size: 20px;
        }

    .hc-supplier-logo {
        height: 80px;
        padding: 13px 16px;
    }

        .hc-supplier-logo img {
            max-height: 46px !important;
        }
}

/* ============================================================
   TRUST BAR
   ============================================================ */

.hc-trust-bar {
    padding: 27px 0;
    background: #fff;
    border-top: 1px solid var(--hc-border);
    border-bottom: 1px solid var(--hc-border);
}

.hc-trust-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.hc-trust-item {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
    padding: 4px 24px;
    border-right: 1px solid var(--hc-border);
}

    .hc-trust-item:first-child {
        padding-left: 0;
    }

    .hc-trust-item:last-child {
        padding-right: 0;
        border-right: 0;
    }

/* Icon */

.hc-trust-icon {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    background: var(--hc-primary-soft);
    border-radius: 50%;
    color: var(--hc-primary);
    font-size: 15px;
}

/* Text */

.hc-trust-text {
    min-width: 0;
}

    .hc-trust-text strong {
        display: block;
        margin-bottom: 2px;
        color: var(--hc-heading);
        font-size: 13px;
        font-weight: 700;
        line-height: 1.3;
    }

    .hc-trust-text span {
        display: block;
        color: var(--hc-muted);
        font-size: 11px;
        line-height: 1.4;
    }

/* Tablet */

@media (max-width: 991.98px) {

    .hc-trust-grid {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 22px;
    }

    .hc-trust-item {
        padding: 3px 20px;
    }

        .hc-trust-item:nth-child(2) {
            border-right: 0;
        }

        .hc-trust-item:nth-child(3) {
            padding-left: 0;
        }
}

/* Mobile */

@media (max-width: 575.98px) {

    .hc-trust-bar {
        padding: 27px 0;
    }

    .hc-trust-grid {
        grid-template-columns: 1fr;
        row-gap: 0;
    }

    .hc-trust-item,
    .hc-trust-item:first-child,
    .hc-trust-item:nth-child(3),
    .hc-trust-item:last-child {
        padding: 14px 0;
        border-right: 0;
        border-bottom: 1px solid var(--hc-border);
    }

        .hc-trust-item:first-child {
            padding-top: 0;
        }

        .hc-trust-item:last-child {
            padding-bottom: 0;
            border-bottom: 0;
        }

    .hc-trust-icon {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
    }
}

/* ============================================================
   SMALL MOBILE
   ============================================================ */

@media (max-width: 767.98px) {

    .hc-footer-main {
        padding: 42px 0 32px;
    }

    .hc-footer-column h2 {
        margin-top: 10px;
        margin-bottom: 14px;
    }

    .hc-footer-bottom-inner {
        display: block;
        text-align: center;
    }

    .hc-footer-bottom-links {
        justify-content: center;
        margin-top: 9px;
    }
}

@media (max-width: 767.98px) {

    .hc-topbar-message {
        display: none;
    }

    .hc-topbar-inner {
        justify-content: center;
        min-height: 32px;
    }

    .hc-topbar-contact {
        width: 100%;
        justify-content: space-between;
        gap: 10px;
    }

        .hc-topbar-contact a {
            font-size: 11px;
        }

    .section-padding {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .footer-top {
        padding-top: 42px;
        padding-bottom: 25px;
    }
}

.hc-home-hero {
    min-height: 390px;
    background-position: center center;
}

.hc-hero-overlay {
    background: rgba(20,24,29,.58);
}

.hc-hero-content {
    max-width: 100%;
    margin: 0;
    padding: 50px 5px 75px;
}

    .hc-hero-content h1 {
        font-size: 37px;
    }

    .hc-hero-content > p {
        font-size: 15px;
    }

.hc-hero-points {
    gap: 8px 14px;
}

.hc-search-section {
    padding-bottom: 45px;
}

.hc-search-card {
    margin-top: -35px;
    padding: 22px 18px 24px;
    border-radius: 10px;
}

.hc-search-heading {
    display: block;
}

.hc-search-secure {
    margin-top: 10px;
}

.hc-search-action {
    display: block;
}

.hc-search-help {
    margin-bottom: 15px;
}

.hc-search-button {
    width: 100%;
}

/* ============================================================
   VERY SMALL MOBILE
   ============================================================ */

@media (max-width: 480px) {

    .hc-topbar-contact a:first-child {
        display: none;
    }

    .hc-topbar-contact {
        justify-content: center;
    }

    .hc-brand img {
        max-width: 150px;
    }
}

/* ============================================================
   SUPPLIER CAROUSEL - COMPACT OVERRIDES
   ============================================================ */

.hc-suppliers-section {
    padding: 38px 0 35px !important;
}

.hc-suppliers-heading {
    margin-bottom: 18px !important;
}

.hc-suppliers-carousel {
    margin: 0 !important;
    padding: 0 !important;
}

    .hc-suppliers-carousel .brand-logo-list {
        margin: 0 !important;
        padding: 0 !important;
        min-height: 0 !important;
    }

    .hc-suppliers-carousel #popular_brands {
        margin: 0 !important;
        padding: 0 !important;
        min-height: 0 !important;
    }

    .hc-suppliers-carousel .owl-wrapper-outer {
        margin: 0 !important;
        padding: 0 !important;
    }

    .hc-suppliers-carousel .owl-wrapper {
        margin: 0 !important;
    }

    .hc-suppliers-carousel .owl-item {
        padding: 3px 10px !important;
    }

    .hc-suppliers-carousel .owl-controls {
        margin-top: 16px !important;
        padding: 0 !important;
    }

    .hc-suppliers-carousel .owl-pagination {
        margin: 0 !important;
        padding: 0 !important;
    }

/* ============================================================
   TRUST BAR - FINAL OVERRIDES
   ============================================================ */

section.hc-trust-bar {
    display: block !important;
    width: 100% !important;
    padding: 25px 0 !important;
    margin: 0 !important;
    background: #fff !important;
    border-top: 1px solid #e5e7eb !important;
    border-bottom: 0 !important;
}

    section.hc-trust-bar .hc-trust-grid {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    section.hc-trust-bar .hc-trust-item {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 3px 22px !important;
        border: 0 !important;
        border-right: 1px solid #e5e7eb !important;
        background: transparent !important;
    }

        section.hc-trust-bar .hc-trust-item:first-child {
            padding-left: 0 !important;
        }

        section.hc-trust-bar .hc-trust-item:last-child {
            padding-right: 0 !important;
            border-right: 0 !important;
        }

    section.hc-trust-bar .hc-trust-icon {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        flex: 0 0 42px !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #f7edf2 !important;
        border-radius: 50% !important;
        color: #b25d86 !important;
        font-size: 15px !important;
        line-height: 42px !important;
    }

        section.hc-trust-bar .hc-trust-icon i {
            margin: 0 !important;
            padding: 0 !important;
            color: #b25d86 !important;
            font-size: 15px !important;
            line-height: 1 !important;
        }

    section.hc-trust-bar .hc-trust-text {
        display: block !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

        section.hc-trust-bar .hc-trust-text strong {
            display: block !important;
            margin: 0 0 3px !important;
            padding: 0 !important;
            color: #20242a !important;
            font-size: 13px !important;
            font-weight: 700 !important;
            line-height: 1.3 !important;
        }

        section.hc-trust-bar .hc-trust-text span {
            display: block !important;
            margin: 0 !important;
            padding: 0 !important;
            color: #7b8490 !important;
            font-size: 11px !important;
            font-weight: 400 !important;
            line-height: 1.4 !important;
        }

/* Tablet */

@media (max-width: 991.98px) {

    section.hc-trust-bar .hc-trust-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        row-gap: 20px !important;
    }

    section.hc-trust-bar .hc-trust-item:nth-child(2) {
        border-right: 0 !important;
    }
}

/* Mobile */

@media (max-width: 575.98px) {

    section.hc-trust-bar .hc-trust-grid {
        grid-template-columns: 1fr !important;
        row-gap: 0 !important;
    }

    section.hc-trust-bar .hc-trust-item {
        padding: 14px 0 !important;
        border-right: 0 !important;
        border-bottom: 1px solid #e5e7eb !important;
    }

        section.hc-trust-bar .hc-trust-item:last-child {
            border-bottom: 0 !important;
        }
}

/* ==========================================================
   QUOTE RESULTS
   ========================================================== */

/* ==========================================================
   RESULTS TOOLBAR
   ========================================================== */

.qr-summary-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 20px;
}

    .qr-summary-bar .qr-count strong {
        font-size: 1.05rem;
    }

    .qr-summary-bar .qr-sort select {
        min-width: 220px;
    }

/* ==========================================================
   VIEW TOGGLE
   ========================================================== */

.qr-view-toggle {
    display: inline-flex;
    border: 1px solid #ddd;
    border-radius: 6px;
    overflow: hidden;
}

.qr-view-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: #fff;
    border: 0;
    color: #555;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

    .qr-view-btn + .qr-view-btn {
        border-left: 1px solid #ddd;
    }

    .qr-view-btn.active {
        background: #2461c7;
        color: #fff;
    }

    .qr-view-btn:hover:not(.active) {
        background: #f2f5fa;
    }

/* ==========================================================
   CARD - COMMON
   ========================================================== */

.qr-card {
    width: 100%;
    height: 100%;
    background: #fff;
    border: 1px solid #e4e4e4;
    border-radius: 9px;
    overflow: hidden;
    box-shadow: 0 2px 6px rgba(0,0,0,.055);
    transition: box-shadow .2s ease, transform .2s ease;
}

    .qr-card:hover {
        box-shadow: 0 5px 14px rgba(0,0,0,.10);
    }

/* ==========================================================
   IMAGE
   ========================================================== */

.qr-card-img {
    position: relative;
    background: #fff;
}

    .qr-card-img img {
        display: block;
        width: 100%;
        object-fit: contain;
    }

/* ==========================================================
   IMAGE BADGES
   ========================================================== */

.qr-badge-row {
    position: absolute;
    top: 10px;
    left: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.qr-badge {
    padding: 4px 8px;
    background: rgba(40,40,40,.90);
    border-radius: 4px;
    color: #fff;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
}

    .qr-badge.qr-badge-accent {
        background: #e2b53a;
        color: #222;
    }

/* ==========================================================
   VEHICLE
   ========================================================== */

.qr-vehicle h5 {
    margin: 0 0 4px;
    color: #111;
    font-size: 17px;
    line-height: 1.3;
    font-weight: 700;
}

.qr-group {
    color: #888;
    font-size: 12px;
    line-height: 1.4;
}

.qr-supplier {
    color: #888;
    font-size: 12px;
    line-height: 1.4;
}

    .qr-supplier strong {
        color: #555;
        font-weight: 600;
    }

/* ==========================================================
   SPECIFICATIONS
   ========================================================== */

.qr-specs {
    list-style: none;
    padding: 0;
    margin: 0;
}

    .qr-specs li {
        display: flex;
        align-items: center;
        color: #333;
        font-size: 14px;
        line-height: 1.3;
        white-space: nowrap;
    }

        .qr-specs li i {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 24px;
            height: 24px;
            flex: 0 0 24px;
            margin-right: 9px;
            color: #3f4852;
            font-size: 15px;
        }

/* ==========================================================
   PRICE
   ========================================================== */

.qr-price-total {
    color: #444;
    font-size: 25px;
    line-height: 1.1;
    font-weight: 700;
}

.qr-price-daily {
    margin-top: 5px;
    color: #666;
    font-size: 12px;
    line-height: 1.3;
}

.qr-price-sterling {
    margin-top: 3px;
    color: #999;
    font-size: 11px;
    line-height: 1.3;
}

/* ==========================================================
   OFFER
   ========================================================== */

.qr-offer {
    background: #fff8e5;
    color: #444;
    font-size: 12px;
    line-height: 1.4;
}

    .qr-offer i {
        margin-right: 6px;
        color: #b58a14;
    }

/* ==========================================================
   GRID VIEW
   ========================================================== */

.qr-results:not(.qr-list-view) .qr-card-col {
    display: flex;
}

.qr-results:not(.qr-list-view) .qr-card {
    display: flex;
    flex-direction: column;
}

/* Grid image */

.qr-results:not(.qr-list-view) .qr-card-img {
    height: 175px;
    border-bottom: 1px solid #eee;
}

    .qr-results:not(.qr-list-view) .qr-card-img img {
        width: 100%;
        height: 175px;
        padding: 12px;
    }

/* Grid vehicle */

.qr-results:not(.qr-list-view) .qr-vehicle {
    padding: 15px 16px 8px;
}

.qr-results:not(.qr-list-view) .qr-group {
    margin-bottom: 8px;
}

/* Grid features */

.qr-results:not(.qr-list-view) .qr-features {
    flex-grow: 1;
    padding: 5px 16px 12px;
}

.qr-results:not(.qr-list-view) .qr-specs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 12px;
}

    .qr-results:not(.qr-list-view) .qr-specs li {
        font-size: 13px;
    }

/* Grid notices */

.qr-results:not(.qr-list-view) .qr-notices {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 13px;
}

/* Grid action */

.qr-results:not(.qr-list-view) .qr-action {
    padding: 12px 16px 16px;
    border-top: 1px solid #eee;
}

.qr-results:not(.qr-list-view) .qr-price-sterling {
    margin-bottom: 12px;
}

.qr-results:not(.qr-list-view) .qr-action .btn {
    width: 100%;
    font-weight: 700;
}

/* Grid offer */

.qr-results:not(.qr-list-view) .qr-offer {
    margin: 0 16px 12px;
    padding: 8px 10px;
    border: 1px solid #f0dfa0;
    border-radius: 5px;
}

/* ==========================================================
   LIST VIEW
   ========================================================== */

.qr-results.qr-list-view .qr-card-col {
    float: none;
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}

/*
    Desktop structure:

    ┌────────┬─────────┬─────────────────┬────────┐
    │ IMAGE  │ VEHICLE │ FEATURES        │ PRICE  │
    ├────────┴─────────┴─────────────────┴────────┤
    │ OFFER                                      │
    └─────────────────────────────────────────────┘
*/

.qr-results.qr-list-view .qr-card {
    display: grid;
    grid-template-columns: 200px 235px minmax(400px, 1fr) 160px;
    grid-template-areas:
        "image vehicle features action"
        "offer offer offer offer";
    align-items: stretch;
}

/* ==========================================================
   LIST - IMAGE
   ========================================================== */

.qr-results.qr-list-view .qr-card-img {
    grid-area: image;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 172px;
    border-right: 1px solid #f0f0f0;
}

    .qr-results.qr-list-view .qr-card-img img {
        width: 100%;
        height: 165px;
        padding: 13px 16px;
        object-fit: contain;
    }

/* ==========================================================
   LIST - VEHICLE
   ========================================================== */

.qr-results.qr-list-view .qr-vehicle {
    grid-area: vehicle;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 18px;
    border-right: 1px solid #f3f3f3;
}

.qr-results.qr-list-view .qr-group {
    margin-top: 3px;
    margin-bottom: 16px;
}

/* ==========================================================
   LIST - FEATURES
   ========================================================== */

.qr-results.qr-list-view .qr-features {
    grid-area: features;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 18px 30px;
}

/* Compact two-column feature grid */

.qr-results.qr-list-view .qr-specs {
    display: grid;
    grid-template-columns: 165px 165px;
    column-gap: 30px;
    row-gap: 13px;
    width: auto;
    max-width: none;
    margin: 0;
}

    /* Each specification */

    .qr-results.qr-list-view .qr-specs li {
        display: flex;
        align-items: center;
        margin: 0;
        padding: 0;
        font-size: 14px;
        line-height: 24px;
        white-space: nowrap;
    }

        /* Fixed icon box so text aligns */

        .qr-results.qr-list-view .qr-specs li i {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 24px;
            height: 24px;
            flex: 0 0 24px;
            margin: 0 9px 0 0;
            font-size: 15px;
            color: #3f4852;
        }

/* Payment / notice badges */

.qr-results.qr-list-view .qr-notices {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: auto;
    max-width: none;
    gap: 6px;
    margin: 15px 0 0;
}

/* ==========================================================
   LIST - PRICE / ACTION
   ========================================================== */

/* Price / booking column */
.qr-results.qr-list-view .qr-action {
    grid-area: action;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 18px 16px !important;
    background: #fafbfc !important;
    border-left: 1px solid #eceef0 !important;
    text-align: center;
}

.qr-results.qr-list-view .qr-price-total {
    margin: 0 0 4px !important;
    color: #20242a !important;
    font-size: 25px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
}

.qr-results.qr-list-view .qr-price-daily {
    margin: 0 0 3px !important;
    color: #606a74 !important;
    font-size: 11px !important;
}

.qr-results.qr-list-view .qr-price-sterling {
    margin: 0 0 16px !important;
    color: #9aa1a9 !important;
    font-size: 10px !important;
}

.qr-results.qr-list-view .qr-action .btn {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 43px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

/* ==========================================================
   SPECIAL SPEC / NOTICE
   MUST COME AFTER LIST VIEW .qr-specs RULES
   ========================================================== */

.qr-results.qr-list-view .qr-specs li.qr-notice,
.qr-results:not(.qr-list-view) .qr-specs li.qr-notice {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    width: auto;
    min-width: 0;
    height: auto;
    margin: 0;
    padding: 5px 9px;
    background: #f0f5ff;
    border: 0;
    border-radius: 5px;
    color: #2461c7;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 600;
    white-space: nowrap;
}

    .qr-results.qr-list-view .qr-specs li.qr-notice i,
    .qr-results:not(.qr-list-view) .qr-specs li.qr-notice i {
        display: inline-block;
        width: auto;
        height: auto;
        min-width: 0;
        flex: 0 0 auto;
        margin: 0 6px 0 0;
        padding: 0;
        background: none;
        border: 0;
        color: #2461c7;
        font-size: 11px;
        line-height: 1;
        text-align: center;
    }

/* ==========================================================
   LIST - FULL WIDTH OFFER
   ========================================================== */

.qr-results.qr-list-view .qr-offer {
    grid-area: offer;
    margin: 0;
    padding: 9px 14px;
    background: #fff8e5;
    border: 0;
    border-top: 1px solid #f0dfa0;
    border-radius: 0;
}

/* ==========================================================
   REQUEST BOOKING BUTTON
   ========================================================== */

.qr-action .btn-request {
    background: #fff;
    color: #444;
    border: 1px solid #bbb;
}

/* ==========================================================
   FILTER SIDEBAR
   ========================================================== */

.qr-filter-section + .qr-filter-section {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid #eee;
}

.qr-filter-section h6 {
    margin-bottom: 10px;
    color: #999;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

/* ==========================================================
   SMALLER DESKTOP / TABLET LANDSCAPE
   ========================================================== */

@media (max-width: 1199px) {

    .qr-results.qr-list-view .qr-card {
        grid-template-columns: 200px 235px minmax(300px, 1fr) 175px !important;
    }

    .qr-results.qr-list-view .qr-vehicle {
        padding: 15px;
    }

    .qr-results.qr-list-view .qr-features {
        padding-left: 15px;
        padding-right: 15px;
    }

    .qr-results.qr-list-view .qr-specs {
        grid-template-columns: 145px 145px;
        column-gap: 18px;
        width: 308px;
    }

    .qr-results.qr-list-view .qr-notices {
        width: 308px;
    }

    .qr-results.qr-list-view .qr-specs li {
        font-size: 13px;
    }
}

/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 767px) {

    /* Toolbar */

    .qr-summary-bar {
        align-items: stretch;
    }

        .qr-summary-bar .qr-sort {
            width: 100%;
        }

            .qr-summary-bar .qr-sort select {
                width: 100%;
                min-width: 0;
            }

    /*
        List and grid use the same stacked layout
        on mobile.
    */

    .qr-results.qr-list-view .qr-card,
    .qr-results:not(.qr-list-view) .qr-card {
        display: flex;
        flex-direction: column;
        min-height: 0;
    }

    .qr-results.qr-list-view .qr-card-col {
        padding-left: 15px;
        padding-right: 15px;
    }

    /* Image */

    .qr-results.qr-list-view .qr-card-img,
    .qr-results:not(.qr-list-view) .qr-card-img {
        width: 100%;
        height: 175px;
        min-height: 175px;
        border-right: 0;
        border-bottom: 1px solid #eee;
    }

        .qr-results.qr-list-view .qr-card-img img,
        .qr-results:not(.qr-list-view) .qr-card-img img {
            width: 100%;
            height: 175px;
            min-height: 0;
            max-height: none;
            padding: 12px;
            object-fit: contain;
        }

    /* Vehicle */

    .qr-results.qr-list-view .qr-vehicle,
    .qr-results:not(.qr-list-view) .qr-vehicle {
        display: block;
        width: 100%;
        padding: 15px 16px 8px;
        border-right: 0;
    }

    .qr-results.qr-list-view .qr-group {
        margin-bottom: 8px;
    }

    /* Features */

    .qr-results.qr-list-view .qr-features,
    .qr-results:not(.qr-list-view) .qr-features {
        display: block;
        width: 100%;
        padding: 8px 16px 14px;
    }

    .qr-results.qr-list-view .qr-specs,
    .qr-results:not(.qr-list-view) .qr-specs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
        max-width: none;
        gap: 11px 14px;
        margin: 0;
    }

    .qr-results.qr-list-view .qr-notices,
    .qr-results:not(.qr-list-view) .qr-notices {
        width: 100%;
        max-width: none;
        margin: 14px 0 0;
    }

    /* Offer */

    .qr-results.qr-list-view .qr-offer,
    .qr-results:not(.qr-list-view) .qr-offer {
        order: 4;
        width: 100%;
        margin: 0;
        padding: 9px 14px;
        border: 0;
        border-top: 1px solid #f0dfa0;
        border-radius: 0;
    }

    /* Price */

    .qr-results.qr-list-view .qr-action,
    .qr-results:not(.qr-list-view) .qr-action {
        width: 100%;
        padding: 14px 16px 16px;
        border-left: 0;
        border-top: 1px solid #eee;
        text-align: left;
    }

    .qr-results.qr-list-view .qr-price-sterling {
        margin-bottom: 12px;
    }

    .qr-results.qr-list-view .qr-action .btn,
    .qr-results:not(.qr-list-view) .qr-action .btn {
        margin-top: 4px;
    }
}

/* ==========================================================
   VERY SMALL PHONES
   ========================================================== */

@media (max-width: 420px) {

    .qr-results .qr-specs {
        grid-template-columns: 1fr !important;
    }

    .qr-view-btn {
        padding: 8px 10px;
    }
}

/* ============================================================
   BOOKING PAGE - FINAL ALIGNMENT
   ============================================================ */

.hc-booking-forms {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

    .hc-booking-forms .hc-form-card {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 22px 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

/* Main column cards all share exactly the same edges */
.hc-booking-main > .hc-booking-summary,
.hc-booking-main > .hc-booking-forms,
.hc-booking-main > .hc-insurance-section {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* BOOKING PAGE - FINAL TOP SPACING */
.listing-page {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

    .listing-page > .container {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }

    .listing-page .hc-booking-main,
    .listing-page .hc-booking-sidebar {
        padding-top: 32px !important;
        margin-top: 0 !important;
    }

/* ============================================================
   FUEL / COVER CHOICE
   ============================================================ */

.hc-fuel-choice {
    margin-top: 0;
}

/* Fuel preference heading */
.hc-fuel-heading {
    display: flex !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    width: 100% !important;
    margin: 3px 0 10px !important;
    padding: 0 !important;
    text-align: left !important;
}

    .hc-fuel-heading label {
        display: inline-block !important;
        margin: 0 10px 0 0 !important;
        padding: 0 !important;
        color: var(--hc-heading);
        font-size: 11px;
        font-weight: 700;
        line-height: 1.4;
        text-align: left !important;
    }

    .hc-fuel-heading span {
        display: inline-block !important;
        margin: 0 !important;
        padding: 0 !important;
        color: var(--hc-muted);
        font-size: 9px;
        line-height: 1.4;
        text-align: left !important;
    }

/* Keep the real WebForms control functional but visually hidden */

.hc-fuel-select {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}


/* Four equal options */

.hc-fuel-options {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

button.hc-fuel-option {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;
    min-height: 70px;
    gap: 10px;
    padding: 12px 14px;
    background: #fff !important;
    border: 1px solid #d8dde2 !important;
    border-radius: 7px !important;
    color: var(--hc-heading) !important;
    text-align: left;
    box-shadow: none !important;
    cursor: pointer;
    transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}

    button.hc-fuel-option:hover {
        background: #fdfafb !important;
        border-color: #c9a0b4 !important;
    }


    /* Selected option - mauve */

    button.hc-fuel-option.active {
        background: #fcf7f9 !important;
        border-color: var(--hc-primary) !important;
        box-shadow: 0 0 0 2px rgba(178, 93, 134, .08) !important;
    }


/* Radio indicator */

.hc-fuel-radio {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    background: #fff;
    border: 1px solid #bfc5cb;
    border-radius: 50%;
    box-shadow: inset 0 0 0 3px #fff;
}

.hc-fuel-option.active .hc-fuel-radio {
    background: var(--hc-primary);
    border-color: var(--hc-primary);
}


/* Icons */

.hc-fuel-option-icon {
    width: 22px;
    flex: 0 0 22px;
    color: #8a929a;
    text-align: center;
}

.hc-fuel-option.active .hc-fuel-option-icon {
    color: var(--hc-primary);
}


/* Text */

.hc-fuel-option-text {
    min-width: 0;
}

    .hc-fuel-option-text strong {
        display: block;
        margin-bottom: 2px;
        color: #333941;
        font-size: 11px;
        font-weight: 700;
        line-height: 1.3;
    }

    .hc-fuel-option-text small {
        display: block;
        color: #818991;
        font-size: 9px;
        line-height: 1.35;
    }


/* ============================================================
   ALL INCLUSIVE - DISTINCT BUT NOT SELECTED
   ============================================================ */

button.hc-fuel-option.hc-fuel-inclusive {
    padding-right: 66px;
    background: #eef8f1 !important;
    border: 1px solid #a9d1b3 !important;
    box-shadow: inset 0 0 0 1px rgba(69, 128, 84, .04) !important;
}

    button.hc-fuel-option.hc-fuel-inclusive:hover {
        background: #e7f5eb !important;
        border-color: #78b589 !important;
    }

    button.hc-fuel-option.hc-fuel-inclusive .hc-fuel-option-icon {
        color: #4d8c5e;
    }

    button.hc-fuel-option.hc-fuel-inclusive .hc-fuel-option-text strong {
        color: #285c36;
    }


    /* Selected state still uses your site's mauve */
    button.hc-fuel-option.hc-fuel-inclusive.active {
        background: #fcf7f9 !important;
        border-color: var(--hc-primary) !important;
        box-shadow: 0 0 0 2px rgba(178, 93, 134, .08) !important;
    }

        button.hc-fuel-option.hc-fuel-inclusive.active .hc-fuel-option-icon,
        button.hc-fuel-option.hc-fuel-inclusive.active .hc-fuel-option-text strong {
            color: var(--hc-primary);
        }


/* No excess badge */
.hc-fuel-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    padding: 4px 7px;
    background: #d7efdd;
    border: 1px solid #b9ddc2;
    border-radius: 4px;
    color: #26713b;
    font-size: 7px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .05em;
    white-space: nowrap;
}

/* Tablet */

@media (max-width: 991.98px) {

    .hc-fuel-options {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* Mobile */

@media (max-width: 575.98px) {

    .hc-fuel-options {
        grid-template-columns: 1fr;
    }

    button.hc-fuel-option {
        min-height: 64px;
    }
}


/* QUOTE RESULTS - MODERN RESULTS PAGE - paste at END of modern.css */
.hc-results-header {
    padding: 36px 0;
    background: #f6f7f9;
    border-bottom: 1px solid #e3e6e9
}

.hc-results-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px
}

.hc-results-kicker {
    display: block;
    margin-bottom: 5px;
    color: var(--hc-primary);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em
}

.hc-results-header h1 {
    margin: 0 0 5px;
    color: var(--hc-heading);
    font-size: 30px;
    line-height: 1.2
}

.hc-results-header p {
    margin: 0;
    color: var(--hc-muted);
    font-size: 13px
}

.hc-results-steps {
    display: flex;
    align-items: center;
    gap: 24px
}

    .hc-results-steps span {
        display: flex;
        align-items: center;
        gap: 7px;
        color: #9299a1;
        font-size: 11px;
        font-weight: 700;
        white-space: nowrap
    }

    .hc-results-steps b {
        width: 26px;
        height: 26px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 26px;
        background: #e6e8eb;
        border-radius: 50%;
        color: #747c85;
        font-size: 10px
    }

    .hc-results-steps .active {
        color: var(--hc-heading)
    }

        .hc-results-steps .active b {
            background: var(--hc-primary);
            color: #fff
        }

.listing-page {
    padding: 30px 0 50px !important;
    margin: 0 !important;
    background: #f6f7f9
}

    .listing-page > .container {
        padding-top: 0 !important;
        margin-top: 0 !important
    }

.hc-results-main, .hc-results-sidebar {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    margin-top: 0 !important
}

.qr-summary-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 48px;
    margin: 0 0 16px;
    padding: 0 4px
}

.qr-count p {
    margin: 0 !important;
    color: #65707b;
    font-size: 13px
}

.qr-count strong {
    color: var(--hc-heading);
    font-size: 16px
}

.qr-view-toggle {
    display: inline-flex;
    padding: 3px;
    background: #fff;
    border: 1px solid #dfe3e7;
    border-radius: 7px;
    box-shadow: 0 1px 3px rgba(0,0,0,.03)
}

.qr-view-btn {
    min-width: 66px;
    height: 34px;
    padding: 0 11px;
    background: transparent !important;
    border: 0 !important;
    border-radius: 5px !important;
    color: #69727c !important;
    font-size: 11px;
    font-weight: 700;
    box-shadow: none !important
}

    .qr-view-btn i {
        margin-right: 5px
    }

    .qr-view-btn.active {
        background: var(--hc-primary) !important;
        color: #fff !important
    }

.hc-results-main > .qr-offer {
    margin: 0 0 18px !important;
    padding: 14px 16px !important;
    background: #fff8e5 !important;
    border: 1px solid #efdfa8 !important;
    border-radius: 8px !important;
    color: #655b3d !important;
    font-size: 11px;
    line-height: 1.55
}

    .hc-results-main > .qr-offer h4 {
        margin: 0 0 5px;
        color: #51482f;
        font-size: 13px
    }

.qr-results {
    margin-left: -8px !important;
    margin-right: -8px !important
}

.qr-card-col {
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin-bottom: 18px !important
}

.qr-card {
    background: #fff;
    border: 1px solid #dfe3e7 !important;
    border-radius: 10px !important;
    box-shadow: 0 3px 12px rgba(0,0,0,.04) !important;
    overflow: hidden;
    transition: box-shadow .15s ease,border-color .15s ease
}

    .qr-card:hover {
        border-color: #d3d7dc !important;
        box-shadow: 0 7px 20px rgba(0,0,0,.065) !important
    }

.qr-card-img {
    position: relative;
    background: #fff
}

    .qr-card-img img {
        object-fit: contain
    }

.qr-badge-row {
    z-index: 2
}

.qr-badge {
    border-radius: 4px !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    letter-spacing: .035em
}

.qr-badge-accent {
    background: #e9b928 !important;
    color: #171717 !important
}

.qr-vehicle h5 {
    color: var(--hc-heading) !important;
    font-weight: 700 !important
}

.qr-group, .qr-supplier {
    color: #7b8490 !important
}

    .qr-supplier strong {
        color: #444c55 !important
    }

.qr-specs li {
    color: #4e5761
}

    .qr-specs li i {
        color: #46515d
    }

.qr-specs .qr-notice i {
    color: var(--hc-primary)
}

.qr-price-total {
    color: #303740 !important;
    font-weight: 700 !important
}

.qr-price-daily {
    color: #59636e !important
}

.qr-price-sterling {
    color: #949ba3 !important
}

.qr-action .btn {
    background: var(--hc-primary) !important;
    border-color: var(--hc-primary) !important;
    border-radius: 6px !important;
    color: #fff !important;
    font-weight: 700 !important;
    box-shadow: none !important
}

    .qr-action .btn:hover, .qr-action .btn:focus {
        background: var(--hc-primary-dark) !important;
        border-color: var(--hc-primary-dark) !important;
        color: #fff !important
    }

.qr-card > .qr-offer {
    margin: 0 !important;
    padding: 10px 14px !important;
    background: #fff8e5 !important;
    border: 0 !important;
    border-top: 1px solid #efd98b !important;
    border-radius: 0 !important;
    color: #5e5437 !important;
    font-size: 10px !important;
    line-height: 1.45
}

    .qr-card > .qr-offer i {
        margin-right: 6px;
        color: #bd8d19
    }

.hc-results-sidebar {
    padding-left: 18px !important
}

.hc-filter-card {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    border: 1px solid #dfe3e7 !important;
    border-radius: 10px !important;
    box-shadow: 0 3px 12px rgba(0,0,0,.04) !important;
    overflow: hidden
}

    .hc-filter-card .widget_heading {
        margin: 0 !important;
        padding: 19px 20px !important;
        background: #fff !important;
        border: 0 !important;
        border-bottom: 1px solid #eceef0 !important
    }

        .hc-filter-card .widget_heading h5 {
            margin: 0 !important;
            color: var(--hc-heading) !important;
            font-size: 17px !important;
            font-weight: 700 !important
        }

            .hc-filter-card .widget_heading h5 i {
                margin-right: 8px;
                color: var(--hc-primary) !important
            }

    .hc-filter-card .sidebar_filter {
        padding: 0 20px 20px !important
    }

    .hc-filter-card .qr-filter-section {
        margin: 0 !important;
        padding: 20px 0 !important;
        border-bottom: 1px solid #eceef0
    }

        .hc-filter-card .qr-filter-section:last-child {
            padding-bottom: 0 !important;
            border-bottom: 0
        }

        .hc-filter-card .qr-filter-section h6 {
            margin: 0 0 11px !important;
            color: #8a929b !important;
            font-size: 9px !important;
            font-weight: 800 !important;
            letter-spacing: .08em;
            text-transform: uppercase
        }

    .hc-filter-card .form-group {
        margin: 0 0 10px !important
    }

        .hc-filter-card .form-group:last-child {
            margin-bottom: 0 !important
        }

    .hc-filter-card .form-control {
        width: 100% !important;
        height: 44px !important;
        padding: 8px 12px !important;
        background: #fff !important;
        border: 1px solid #dce0e4 !important;
        border-radius: 6px !important;
        color: #46505a !important;
        font-size: 11px !important;
        box-shadow: none !important
    }

        .hc-filter-card .form-control:focus {
            border-color: var(--hc-primary) !important;
            box-shadow: 0 0 0 3px rgba(178,93,134,.10) !important;
            outline: 0
        }

    .hc-filter-card .btn {
        width: 100% !important;
        min-height: 44px;
        margin: 0 !important;
        padding: 10px 14px !important;
        background: var(--hc-primary) !important;
        border: 0 !important;
        border-radius: 6px !important;
        color: #fff !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        box-shadow: 0 3px 8px rgba(178,93,134,.18) !important
    }

        .hc-filter-card .btn:hover, .hc-filter-card .btn:focus {
            background: var(--hc-primary-dark) !important;
            color: #fff !important
        }

@media(min-width:992px) {
    .hc-filter-card {
        position: sticky;
        top: 20px
    }
}

.qr-results.qr-list-view .qr-card-col {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important
}

.qr-results.qr-list-view .qr-card {
    border-radius: 10px !important
}

.qr-results.qr-list-view .qr-action {
    background: #fff
}

@media(max-width:991.98px) {
    .hc-results-header-inner {
        display: block
    }

    .hc-results-steps {
        margin-top: 22px
    }

    .hc-results-sidebar {
        padding-left: 12px !important;
        margin-top: 22px !important
    }

    .hc-filter-card {
        position: static
    }
}

@media(max-width:767.98px) {
    .hc-results-header {
        padding: 28px 0
    }

        .hc-results-header h1 {
            font-size: 25px
        }

    .hc-results-steps {
        flex-wrap: wrap;
        gap: 12px
    }

        .hc-results-steps span {
            font-size: 9px
        }

    .qr-summary-bar {
        align-items: flex-start
    }
}

@media(max-width:575.98px) {
    .listing-page {
        padding-top: 22px !important
    }

    .qr-summary-bar {
        display: block
    }

    .qr-sort {
        margin-top: 10px
    }

    .qr-view-toggle {
        width: 100%
    }

    .qr-view-btn {
        flex: 1 1 50%
    }
}

/* Lift filter panel to align with results toolbar */
@media (min-width: 992px) {
    .hc-filter-card {
        margin-top: -1px !important;
    }

    .hc-results-sidebar {
        padding-top: 0 !important;
    }
}

/* ============================================================
   QUOTE RESULTS - LAYOUT FIX
   Add at the VERY END of modern.css
   Built for quoteresults-fixed.aspx
   ============================================================ */

/* Toolbar spans the complete results/filter width */
.listing-page > .container > .row > .col-12 {
    padding-left: 12px;
    padding-right: 12px;
}

.qr-summary-bar {
    width: 100%;
    margin: 0 0 14px !important;
    padding: 0 4px !important;
}

/* Results + filter now start on exactly the same horizontal line */
.hc-results-main,
.hc-results-sidebar {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.hc-results-sidebar {
    padding-left: 18px !important;
}

.hc-filter-card {
    margin-top: 0 !important;
}


/* ---------- LIST VIEW: price/action panel ---------- */

@media (min-width: 992px) {

    .qr-results.qr-list-view .qr-card {
        grid-template-columns: 200px 235px minmax(260px, 1fr) 185px !important;
    }

    .qr-results.qr-list-view .qr-action {
        grid-area: action;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: center !important;
        min-width: 0 !important;
        padding: 18px 14px !important;
        background: #fafbfc !important;
        border-left: 1px solid #eceef0 !important;
        text-align: center !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .qr-results.qr-list-view .qr-price-block {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 14px !important;
        padding: 0 !important;
        text-align: center !important;
    }

    .qr-results.qr-list-view .qr-price-total {
        display: block !important;
        margin: 0 0 3px !important;
        padding: 0 !important;
        color: #20242a !important;
        font-size: 24px !important;
        font-weight: 700 !important;
        line-height: 1.15 !important;
        white-space: nowrap !important;
    }

    .qr-results.qr-list-view .qr-price-daily {
        display: block !important;
        margin: 0 0 3px !important;
        padding: 0 !important;
        color: #5f6872 !important;
        font-size: 10px !important;
        line-height: 1.35 !important;
        white-space: nowrap !important;
    }

    .qr-results.qr-list-view .qr-price-sterling {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #969da5 !important;
        font-size: 9px !important;
        line-height: 1.35 !important;
        white-space: nowrap !important;
    }

    /* ASP:Button remains completely unchanged; this is presentation only */
    .qr-results.qr-list-view .qr-action input.btn,
    .qr-results.qr-list-view .qr-action .btn {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 43px !important;
        margin: 0 !important;
        padding: 10px 8px !important;
        background: var(--hc-primary) !important;
        border: 0 !important;
        border-radius: 6px !important;
        color: #fff !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        box-sizing: border-box !important;
        white-space: normal !important;
    }

        .qr-results.qr-list-view .qr-action input.btn:hover,
        .qr-results.qr-list-view .qr-action .btn:hover {
            background: var(--hc-primary-dark) !important;
        }
}


/* At narrower desktop widths, reclaim space from image/identity
   rather than crushing the booking panel. */
@media (min-width: 992px) and (max-width: 1199.98px) {

    .qr-results.qr-list-view .qr-card {
        grid-template-columns: 165px 190px minmax(220px, 1fr) 170px !important;
    }
}


/* Grid cards keep their existing design, but price block has no
   accidental inherited width/margins from list view. */
.qr-results:not(.qr-list-view) .qr-price-block {
    margin: 0;
    padding: 0;
}


/* Mobile/tablet: sidebar follows results naturally */
@media (max-width: 991.98px) {

    .hc-results-sidebar {
        padding-left: 12px !important;
        margin-top: 20px !important;
    }
}

/* ============================================================
   MOBILE NAV - ACTUAL FIX
   ============================================================ */

@media (max-width: 991.98px) {

    /* Navbar itself must grow when menu opens */
    .hc-navbar {
        height: auto !important;
        min-height: 68px !important;
        background: #fff !important;
    }

        .hc-navbar > .container {
            height: auto !important;
            min-height: 68px !important;
            display: flex !important;
            align-items: center !important;
            flex-wrap: wrap !important;
            background: #fff !important;
        }

        /* Stable logo - no jumping */
        .hc-navbar .hc-brand {
            height: 68px !important;
            display: flex !important;
            align-items: center !important;
            margin: 0 auto 0 0 !important;
            padding: 0 !important;
        }

            .hc-navbar .hc-brand img {
                width: auto !important;
                height: auto !important;
                max-width: 150px !important;
                max-height: 50px !important;
            }

        /* Burger */
        .hc-navbar .hc-navbar-toggler {
            position: static !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: 44px !important;
            height: 42px !important;
            margin: 0 !important;
            padding: 0 !important;
            background: #fff !important;
            border: 1px solid var(--hc-border) !important;
            border-radius: 6px !important;
            float: none !important;
        }

        /*
       Collapse becomes a normal full-width second row.
       Most importantly: NO inherited height:100%.
    */
        .hc-navbar #hcMainNavigation {
            position: static !important;
            flex-basis: 100% !important;
            width: 100% !important;
            height: auto !important;
            min-height: 0 !important;
            margin: 0 !important;
            padding: 0 0 14px !important;
            background: #fff !important;
            border: 0 !important;
            border-top: 1px solid #eceef0 !important;
            box-shadow: none !important;
            float: none !important;
        }

        /* Kill desktop flex/height rules */
        .hc-navbar .hc-main-nav {
            display: block !important;
            width: 100% !important;
            height: auto !important;
            min-height: 0 !important;
            margin: 0 !important;
            padding: 6px 0 0 !important;
            background: #fff !important;
        }

            .hc-navbar .hc-main-nav > li,
            .hc-navbar .hc-main-nav > .nav-item {
                display: block !important;
                width: 100% !important;
                height: auto !important;
                min-height: 0 !important;
                margin: 0 !important;
                padding: 0 !important;
                background: #fff !important;
                border-bottom: 1px solid #f0f1f2 !important;
                float: none !important;
            }

                .hc-navbar .hc-main-nav > li > a,
                .hc-navbar .hc-main-nav .nav-link {
                    display: block !important;
                    width: 100% !important;
                    height: auto !important;
                    min-height: 0 !important;
                    margin: 0 !important;
                    padding: 11px 8px !important;
                    background: #fff !important;
                    color: #20242a !important;
                    font-size: 13px !important;
                    line-height: 1.3 !important;
                    text-align: left !important;
                }

                    /* Desktop hover underline has no place on mobile */
                    .hc-navbar .hc-main-nav > li > a::after {
                        display: none !important;
                    }

            /* Customer Zone */
            .hc-navbar .hc-main-nav > .hc-customer-zone-item {
                height: auto !important;
                margin: 10px 0 0 !important;
                padding: 0 !important;
                border: 0 !important;
            }

            .hc-navbar .hc-main-nav > li > .hc-customer-zone {
                display: flex !important;
                align-items: center !important;
                justify-content: center !important;
                width: 100% !important;
                height: 44px !important;
                padding: 0 16px !important;
                background: var(--hc-primary) !important;
                border-radius: 6px !important;
                color: #fff !important;
                text-align: center !important;
            }
}


/* ============================================================
   ABOUT US PAGE
   ============================================================ */


/* ---------- Page header ---------- */

.hc-content-header {
    padding: 38px 0;
    background: #f6f7f9;
    border-bottom: 1px solid var(--hc-border);
}

.hc-content-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.hc-content-kicker,
.hc-section-kicker {
    display: block;
    margin-bottom: 7px;
    color: var(--hc-primary);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.hc-content-header h1 {
    margin: 0 0 6px;
    color: var(--hc-heading);
    font-size: 30px;
    font-weight: 700;
    line-height: 1.2;
}

.hc-content-header p {
    margin: 0;
    color: var(--hc-muted);
    font-size: 13px;
}

.hc-content-breadcrumb {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #9299a1;
    font-size: 11px;
}

    .hc-content-breadcrumb a {
        color: #59636e;
        text-decoration: none;
    }

        .hc-content-breadcrumb a:hover {
            color: var(--hc-primary);
        }

    .hc-content-breadcrumb i {
        color: #b7bdc3;
        font-size: 8px;
    }


/* ---------- Main About section ---------- */

.hc-about-page {
    padding: 70px 0;
    background: #fff;
}

.hc-about-main {
    max-width: 720px;
    padding-right: 35px;
}

    .hc-about-main h2 {
        max-width: 650px;
        margin: 0 0 23px;
        color: var(--hc-heading);
        font-size: 34px;
        font-weight: 700;
        line-height: 1.2;
        letter-spacing: -.02em;
    }

        .hc-about-main h2 span {
            display: block;
            color: var(--hc-primary);
        }

    .hc-about-main p {
        margin: 0 0 18px;
        color: var(--hc-text);
        font-size: 14px;
        line-height: 1.8;
    }

    .hc-about-main .hc-about-lead {
        color: #333b44;
        font-size: 16px;
        line-height: 1.7;
    }


/* ---------- Help panel ---------- */

.hc-about-help {
    padding: 32px;
    background: #f7f8fa;
    border: 1px solid var(--hc-border);
    border-radius: 12px;
    box-shadow: var(--hc-shadow-sm);
}

.hc-about-help-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    margin-bottom: 22px;
    background: var(--hc-primary-soft);
    border-radius: 50%;
    color: var(--hc-primary);
    font-size: 18px;
}

.hc-about-help h3 {
    margin: 0 0 12px;
    color: var(--hc-heading);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.3;
}

.hc-about-help > p {
    margin: 0 0 24px;
    color: var(--hc-muted);
    font-size: 13px;
    line-height: 1.65;
}


/* Contact details */

.hc-about-contact {
    padding: 5px 0 20px;
}

    .hc-about-contact a {
        display: flex;
        align-items: center;
        gap: 13px;
        margin-bottom: 17px;
        color: var(--hc-heading);
        text-decoration: none;
    }

        .hc-about-contact a:last-child {
            margin-bottom: 0;
        }

    .hc-about-contact > a > i {
        width: 20px;
        color: var(--hc-primary);
        text-align: center;
        font-size: 14px;
    }

    .hc-about-contact span {
        display: block;
        font-size: 12px;
        font-weight: 600;
        line-height: 1.4;
    }

    .hc-about-contact small {
        display: block;
        margin-bottom: 2px;
        color: #939ba4;
        font-size: 9px;
        font-weight: 700;
        letter-spacing: .04em;
    }

.hc-about-contact-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    padding: 13px 18px;
    background: var(--hc-primary);
    border-radius: 6px;
    color: #fff !important;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
    box-shadow: 0 3px 8px rgba(178, 93, 134, .18);
}

    .hc-about-contact-button:hover {
        background: var(--hc-primary-dark);
    }


/* ---------- Why Choose Us ---------- */

.hc-about-why {
    padding: 68px 0 72px;
    background: #f6f7f9;
    border-top: 1px solid #eceef0;
}

.hc-about-section-heading {
    max-width: 680px;
    margin: 0 auto 38px;
    text-align: center;
}

    .hc-about-section-heading h2 {
        margin: 0 0 11px;
        color: var(--hc-heading);
        font-size: 29px;
        font-weight: 700;
        line-height: 1.25;
    }

    .hc-about-section-heading p {
        margin: 0;
        color: var(--hc-muted);
        font-size: 14px;
        line-height: 1.65;
    }


/* Feature cards */

.hc-about-feature {
    height: 100%;
    padding: 28px 24px;
    background: #fff;
    border: 1px solid var(--hc-border);
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .035);
}

.hc-about-feature-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    margin-bottom: 20px;
    background: var(--hc-primary-soft);
    border-radius: 9px;
    color: var(--hc-primary);
    font-size: 16px;
}

.hc-about-feature h3 {
    margin: 0 0 9px;
    color: var(--hc-heading);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
}

.hc-about-feature p {
    margin: 0;
    color: var(--hc-muted);
    font-size: 12px;
    line-height: 1.65;
}


/* ---------- Bottom CTA ---------- */

.hc-about-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-top: 42px;
    padding: 24px 28px;
    background: #fff;
    border: 1px solid var(--hc-border);
    border-radius: 10px;
}

    .hc-about-bottom strong {
        display: block;
        margin-bottom: 3px;
        color: var(--hc-heading);
        font-size: 15px;
    }

    .hc-about-bottom span {
        display: block;
        color: var(--hc-muted);
        font-size: 12px;
    }

.hc-about-search-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    flex: 0 0 auto;
    padding: 13px 21px;
    background: var(--hc-primary);
    border-radius: 6px;
    color: #fff !important;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
    box-shadow: 0 3px 8px rgba(178, 93, 134, .18);
}

    .hc-about-search-button:hover {
        background: var(--hc-primary-dark);
    }


/* ---------- Responsive ---------- */

@media (max-width: 991.98px) {

    .hc-about-page {
        padding: 50px 0;
    }

    .hc-about-main {
        max-width: none;
        padding-right: 0;
        margin-bottom: 35px;
    }

    .hc-about-help {
        max-width: none;
    }

    .hc-about-why {
        padding: 52px 0;
    }
}

@media (max-width: 767.98px) {

    .hc-content-header {
        padding: 28px 0;
    }

    .hc-content-header-inner {
        display: block;
    }

    .hc-content-header h1 {
        font-size: 26px;
    }

    .hc-content-breadcrumb {
        margin-top: 15px;
    }

    .hc-about-page {
        padding: 42px 0;
    }

    .hc-about-main h2 {
        font-size: 28px;
    }

    .hc-about-main .hc-about-lead {
        font-size: 15px;
    }

    .hc-about-help {
        padding: 25px;
    }

    .hc-about-section-heading {
        margin-bottom: 28px;
    }

        .hc-about-section-heading h2 {
            font-size: 25px;
        }

    .hc-about-bottom {
        display: block;
        padding: 22px;
    }

    .hc-about-search-button {
        width: 100%;
        margin-top: 18px;
    }
}


/* ============================================================
   FUEL POLICIES PAGE
   ============================================================ */


/* ============================================================
   INTRO
   ============================================================ */

.hc-fuel-intro {
    padding: 65px 0 55px;
    background: #fff;
}

.hc-fuel-intro-copy {
    max-width: 720px;
    padding-right: 40px;
}

    .hc-fuel-intro-copy h2 {
        margin: 0 0 22px;
        color: var(--hc-heading);
        font-size: 33px;
        font-weight: 700;
        line-height: 1.22;
        letter-spacing: -.02em;
    }

        .hc-fuel-intro-copy h2 span {
            display: block;
            color: var(--hc-primary);
        }

    .hc-fuel-intro-copy p {
        margin: 0 0 17px;
        color: var(--hc-text);
        font-size: 14px;
        line-height: 1.75;
    }

    .hc-fuel-intro-copy .hc-fuel-lead {
        color: #333b44;
        font-size: 16px;
        line-height: 1.7;
    }


/* ============================================================
   RETURN TIP
   ============================================================ */

.hc-fuel-tip {
    display: flex;
    gap: 17px;
    padding: 25px;
    background: #f7f8fa;
    border: 1px solid var(--hc-border);
    border-radius: 10px;
}

.hc-fuel-tip-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    background: var(--hc-primary-soft);
    border-radius: 50%;
    color: var(--hc-primary);
    font-size: 15px;
}

.hc-fuel-tip span {
    display: block;
    margin-bottom: 5px;
    color: var(--hc-primary);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .1em;
}

.hc-fuel-tip h3 {
    margin: 0 0 9px;
    color: var(--hc-heading);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
}

.hc-fuel-tip p {
    margin: 0;
    color: var(--hc-muted);
    font-size: 12px;
    line-height: 1.65;
}


/* ============================================================
   POLICY TYPES
   ============================================================ */

.hc-fuel-types {
    padding: 58px 0 65px;
    background: #f6f7f9;
    border-top: 1px solid #eceef0;
    border-bottom: 1px solid #eceef0;
}

.hc-fuel-heading {
    max-width: 690px;
    margin: 0 auto 34px;
    text-align: center;
}

    .hc-fuel-heading h2 {
        margin: 0 0 10px;
        color: var(--hc-heading);
        font-size: 28px;
        font-weight: 700;
        line-height: 1.25;
    }

    .hc-fuel-heading p {
        margin: 0;
        color: var(--hc-muted);
        font-size: 13px;
        line-height: 1.65;
    }


/* Policy cards */

.hc-fuel-type-card {
    display: flex;
    align-items: flex-start;
    gap: 17px;
    height: 100%;
    padding: 25px;
    background: #fff;
    border: 1px solid var(--hc-border);
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .035);
}

.hc-fuel-type-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    background: var(--hc-primary-soft);
    border-radius: 9px;
    color: var(--hc-primary);
    font-size: 15px;
}

.hc-fuel-type-card > div:last-child {
    flex: 1;
    min-width: 0;
}

.hc-fuel-type-title {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 8px;
}

    .hc-fuel-type-title h3 {
        margin: 0;
        color: var(--hc-heading);
        font-size: 16px;
        font-weight: 700;
    }

.hc-fuel-tag {
    display: inline-block;
    padding: 3px 6px;
    background: var(--hc-primary-soft);
    border-radius: 4px;
    color: var(--hc-primary);
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .06em;
}

.hc-fuel-type-card p {
    margin: 0;
    color: var(--hc-muted);
    font-size: 12px;
    line-height: 1.65;
}

.hc-fuel-type-highlight {
    border-color: #ead5df;
}


/* ============================================================
   SUPPLIER SECTION
   ============================================================ */

.hc-fuel-suppliers {
    padding: 65px 0;
    background: #fff;
}


/* ============================================================
   SUPPLIER ACCORDION
   ============================================================ */

.hc-fuel-accordion {
    max-width: 1000px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid var(--hc-border);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: var(--hc-shadow-sm);
}

    .hc-fuel-accordion .accordion-item {
        margin: 0 !important;
        background: #fff !important;
        border: 0 !important;
        border-bottom: 1px solid #e9ebed !important;
        border-radius: 0 !important;
    }

        .hc-fuel-accordion .accordion-item:last-child {
            border-bottom: 0 !important;
        }


    /* ============================================================
   ACCORDION ROW
   Supplier | Location | Policy | Chevron
   ============================================================ */

    .hc-fuel-accordion .accordion-button {
        display: grid !important;
        /*
       Fixed percentage columns make every location start
       at exactly the same horizontal position.
    */
        grid-template-columns: 42% 30% 1fr 20px !important;
        align-items: center !important;
        column-gap: 15px !important;
        row-gap: 0 !important;
        width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        margin: 0 !important;
        padding: 16px 20px !important;
        background: #fff !important;
        color: var(--hc-heading) !important;
        font-size: 12px !important;
        border: 0 !important;
        box-shadow: none !important;
    }

        .hc-fuel-accordion .accordion-button:not(.collapsed) {
            background: #faf7f9 !important;
            color: var(--hc-heading) !important;
            box-shadow: none !important;
        }

        .hc-fuel-accordion .accordion-button:focus {
            border-color: transparent !important;
            box-shadow: none !important;
        }


/* ============================================================
   SUPPLIER NAME
   ============================================================ */

.hc-fuel-supplier-name {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    min-width: 0;
    color: var(--hc-heading);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    text-align: left !important;
}


/* ============================================================
   LOCATION
   ============================================================ */

.hc-fuel-location {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    width: 100% !important;
    min-width: 0;
    color: #68727d !important;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.4;
    text-align: left !important;
}


/* ============================================================
   POLICY BADGES
   ============================================================ */

.hc-fuel-policy-badge {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    display: inline-block;
    padding: 5px 9px;
    background: #edf7f0;
    border-radius: 5px;
    color: #39724a;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
}


/* Multiple policy */

.hc-fuel-policy-multiple {
    background: #fff4d8;
    color: #886817;
}


/* Same-level policy */

.hc-fuel-policy-same {
    background: #eef1f7;
    color: #566276;
}


/* ============================================================
   BOOTSTRAP ACCORDION CHEVRON
   ============================================================ */

.hc-fuel-accordion .accordion-button::after {
    grid-column: 4 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: center !important;
    width: 14px !important;
    height: 14px !important;
    margin: 0 !important;
    background-size: 14px !important;
    flex-shrink: 0 !important;
}


/* ============================================================
   ACCORDION BODY
   ============================================================ */

.hc-fuel-accordion .accordion-body {
    padding: 18px 20px 21px !important;
    background: #faf7f9 !important;
    border-top: 1px solid #f0e8ec !important;
    color: var(--hc-text);
    font-size: 12px;
    line-height: 1.7;
}

    .hc-fuel-accordion .accordion-body p {
        max-width: 850px;
        margin: 0 0 10px;
    }

        .hc-fuel-accordion .accordion-body p:last-child {
            margin-bottom: 0;
        }


/* ============================================================
   DISCLAIMER
   ============================================================ */

.hc-fuel-disclaimer {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    max-width: 1000px;
    margin: 20px auto 0;
    padding: 17px 19px;
    background: #fff8e5;
    border: 1px solid #efdfa8;
    border-radius: 8px;
    color: #655b3d;
}

    .hc-fuel-disclaimer > i {
        margin-top: 3px;
        color: #bd8d19;
        font-size: 13px;
    }

    .hc-fuel-disclaimer strong {
        display: block;
        margin-bottom: 3px;
        color: #51482f;
        font-size: 11px;
    }

    .hc-fuel-disclaimer p {
        margin: 0;
        font-size: 10px;
        line-height: 1.55;
    }


/* ============================================================
   BOTTOM CTA
   ============================================================ */

.hc-fuel-cta {
    padding: 0 0 65px;
    background: #fff;
}

    .hc-fuel-cta .hc-about-bottom {
        margin-top: 0;
        background: #f7f8fa;
    }


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 991.98px) {

    .hc-fuel-intro {
        padding: 50px 0;
    }

    .hc-fuel-intro-copy {
        padding-right: 0;
        margin-bottom: 30px;
    }

    .hc-fuel-types,
    .hc-fuel-suppliers {
        padding: 50px 0;
    }

    /*
       Give supplier slightly less room on tablets,
       while retaining aligned columns.
    */
    .hc-fuel-accordion .accordion-button {
        grid-template-columns: 36% 31% 1fr 18px !important;
        column-gap: 12px !important;
    }
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 767.98px) {

    /* ---------- Intro ---------- */

    .hc-fuel-intro {
        padding: 40px 0;
    }

    .hc-fuel-intro-copy h2 {
        font-size: 27px;
    }

    .hc-fuel-intro-copy .hc-fuel-lead {
        font-size: 14px;
    }


    /* ---------- Tip ---------- */

    .hc-fuel-tip {
        padding: 20px;
    }


    /* ---------- Policy types ---------- */

    .hc-fuel-types {
        padding: 42px 0;
    }

    .hc-fuel-heading {
        margin-bottom: 26px;
        text-align: left;
    }

        .hc-fuel-heading h2 {
            font-size: 24px;
        }


    /* ---------- Supplier section ---------- */

    .hc-fuel-suppliers {
        padding: 45px 0;
    }


    /*
       Mobile:
       Supplier             Badge  Chevron
       Location             Badge  Chevron
    */

    .hc-fuel-accordion .accordion-button {
        grid-template-columns: minmax(0, 1fr) auto 18px !important;
        grid-template-rows: auto auto !important;
        column-gap: 10px !important;
        row-gap: 3px !important;
        padding: 14px 15px !important;
    }


    /* Supplier */

    .hc-fuel-supplier-name {
        grid-column: 1 !important;
        grid-row: 1 !important;
        font-size: 13px;
    }


    /* Location */

    .hc-fuel-location {
        grid-column: 1 !important;
        grid-row: 2 !important;
        width: auto !important;
        font-size: 10px;
        text-align: left !important;
    }


    /* Badge */

    .hc-fuel-policy-badge {
        grid-column: 2 !important;
        grid-row: 1 / 3 !important;
        align-self: center !important;
        justify-self: end !important;
    }


    /* Chevron */

    .hc-fuel-accordion .accordion-button::after {
        grid-column: 3 !important;
        grid-row: 1 / 3 !important;
        align-self: center !important;
        justify-self: end !important;
    }


    /* Accordion content */

    .hc-fuel-accordion .accordion-body {
        padding: 15px !important;
    }


    /* Disclaimer */

    .hc-fuel-disclaimer {
        padding: 15px;
    }


    /* CTA */

    .hc-fuel-cta {
        padding-bottom: 45px;
    }
}


/* ============================================================
   CONTACT PAGE
   ============================================================ */


/* ============================================================
   MAIN LAYOUT
   ============================================================ */

.hc-contact-page {
    padding: 65px 0 70px;
    background: #f6f7f9;
}

/* Equal-height top cards only */
.hc-contact-top-row {
    align-items: stretch;
}

    .hc-contact-top-row > [class*="col-"] {
        display: flex;
    }

    .hc-contact-top-row .hc-contact-card,
    .hc-contact-top-row .hc-contact-details {
        width: 100%;
        height: 100%;
    }

/* ============================================================
   FORM CARD
   ============================================================ */

.hc-contact-card {
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--hc-border);
    border-radius: 12px;
    box-shadow: var(--hc-shadow-sm);
}


/* ---------- Form heading ---------- */

.hc-contact-card-heading {
    display: flex;
    align-items: flex-start;
    gap: 17px;
    padding: 28px 30px 25px;
    border-bottom: 1px solid #eceef0;
}

.hc-contact-heading-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    min-width: 46px;
    background: var(--hc-primary-soft);
    border-radius: 9px;
    color: var(--hc-primary);
    font-size: 16px;
}

.hc-contact-card-heading .hc-section-kicker {
    margin-bottom: 4px;
}

.hc-contact-card-heading h2 {
    margin: 0 0 5px;
    color: var(--hc-heading);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
}

.hc-contact-card-heading p {
    margin: 0;
    color: var(--hc-muted);
    font-size: 12px;
    line-height: 1.55;
}


/* ============================================================
   RESULT MESSAGE
   ============================================================ */

.hc-contact-result {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 22px 30px 0;
    padding: 13px 15px;
    background: #edf7f0;
    border: 1px solid #d5eadb;
    border-radius: 7px;
    color: #39724a;
    font-size: 12px;
    line-height: 1.5;
}

    .hc-contact-result i {
        flex: 0 0 auto;
        font-size: 14px;
    }


/* ============================================================
   FORM
   ============================================================ */

.hc-contact-form {
    padding: 28px 30px 30px;
}

.hc-contact-field {
    margin: 0;
}

    .hc-contact-field label {
        display: flex;
        align-items: center;
        gap: 3px;
        margin: 0 0 7px;
        color: var(--hc-heading);
        font-size: 11px;
        font-weight: 700;
    }

        .hc-contact-field label > span {
            color: var(--hc-primary);
        }

        .hc-contact-field label small {
            margin-left: 5px;
            color: #a0a6ad;
            font-size: 9px;
            font-weight: 500;
        }


/* ---------- Standard controls ---------- */

.hc-contact-control {
    position: relative;
}

    .hc-contact-control > i {
        position: absolute;
        top: 50%;
        left: 14px;
        z-index: 2;
        transform: translateY(-50%);
        color: var(--hc-primary);
        font-size: 11px;
        pointer-events: none;
    }

    .hc-contact-control .form-control {
        height: 46px !important;
        padding: 10px 13px 10px 39px !important;
        background: #fff !important;
        border: 1px solid #d9dee3 !important;
        border-radius: 6px !important;
        color: var(--hc-heading) !important;
        font-size: 12px !important;
        box-shadow: none !important;
    }

        .hc-contact-control .form-control:focus {
            border-color: var(--hc-primary) !important;
            box-shadow: 0 0 0 3px rgba(178, 93, 134, .08) !important;
        }


/* ---------- Message ---------- */

.hc-contact-field textarea.form-control,
.hc-contact-message {
    width: 100% !important;
    height: 150px !important;
    min-height: 150px !important;
    padding: 12px 14px !important;
    resize: vertical;
    background: #fff !important;
    border: 1px solid #d9dee3 !important;
    border-radius: 6px !important;
    color: var(--hc-heading) !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
    box-shadow: none !important;
}

    .hc-contact-field textarea.form-control:focus,
    .hc-contact-message:focus {
        border-color: var(--hc-primary) !important;
        outline: 0;
        box-shadow: 0 0 0 3px rgba(178, 93, 134, .08) !important;
    }


/* ============================================================
   SUBMIT
   ============================================================ */

.hc-contact-submit {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 5px;
}

.hc-contact-button {
    flex: 0 0 auto;
    min-width: 160px;
    padding: 13px 22px !important;
    background: var(--hc-primary) !important;
    border: 0 !important;
    border-radius: 6px !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    cursor: pointer;
    box-shadow: 0 3px 8px rgba(178, 93, 134, .18) !important;
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}

    .hc-contact-button:hover {
        background: var(--hc-primary-dark) !important;
        transform: translateY(-1px);
        box-shadow: 0 5px 12px rgba(178, 93, 134, .22) !important;
    }

.hc-contact-submit > span {
    display: flex;
    align-items: center;
    gap: 6px;
    max-width: 310px;
    color: #9299a1;
    font-size: 9px;
    line-height: 1.5;
    text-align: right;
}

    .hc-contact-submit > span i {
        color: #70a27d;
    }


/* ============================================================
   CONTACT DETAILS
   ============================================================ */

.hc-contact-details {
    width: 100%;
    height: 100%;
    padding: 30px;
    background: #fff;
    border: 1px solid var(--hc-border);
    border-radius: 12px;
    box-shadow: var(--hc-shadow-sm);
}

    .hc-contact-details h2 {
        margin: 0 0 10px;
        color: var(--hc-heading);
        font-size: 22px;
        font-weight: 700;
        line-height: 1.3;
    }

.hc-contact-details-intro {
    margin: 0 0 25px;
    color: var(--hc-muted);
    font-size: 12px;
    line-height: 1.65;
}


/* ============================================================
   CONTACT METHODS
   ============================================================ */

.hc-contact-methods {
    border-top: 1px solid #eceef0;
}

.hc-contact-method {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 72px;
    padding: 14px 3px;
    border-bottom: 1px solid #eceef0;
    color: var(--hc-heading) !important;
    text-decoration: none !important;
}

a.hc-contact-method {
    transition: background .15s ease;
}

    a.hc-contact-method:hover {
        color: var(--hc-heading) !important;
    }

.hc-contact-method-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    min-width: 40px;
    background: var(--hc-primary-soft);
    border-radius: 50%;
    color: var(--hc-primary);
    font-size: 13px;
}

.hc-contact-method > div:nth-child(2) {
    flex: 1;
    min-width: 0;
}

.hc-contact-method small {
    display: block;
    margin-bottom: 3px;
    color: #979ea6;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .07em;
}

.hc-contact-method strong {
    display: block;
    color: var(--hc-heading);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.hc-contact-method-arrow {
    margin-left: auto;
    color: #c1c5ca;
    font-size: 8px;
}


/* ---------- Address ---------- */

.hc-contact-address {
    align-items: flex-start;
    padding-top: 17px;
    padding-bottom: 17px;
}

    .hc-contact-address .hc-contact-method-icon {
        margin-top: 2px;
    }


/* ============================================================
   SUPPORT NOTE
   ============================================================ */

.hc-contact-support-note {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 23px;
    padding: 16px;
    background: #f7f8fa;
    border-radius: 7px;
}

    .hc-contact-support-note > i {
        margin-top: 2px;
        color: var(--hc-primary);
        font-size: 14px;
    }

    .hc-contact-support-note strong {
        display: block;
        margin-bottom: 3px;
        color: var(--hc-heading);
        font-size: 11px;
    }

    .hc-contact-support-note span {
        display: block;
        color: var(--hc-muted);
        font-size: 10px;
        line-height: 1.55;
    }


/* ============================================================
   FULL WIDTH MAP
   ============================================================ */

.hc-contact-map {
    width: 100%;
    overflow: hidden;
    background: transparent;
    border: 1px solid var(--hc-border);
    border-radius: 12px;
    box-shadow: var(--hc-shadow-sm);
    line-height: 0;
}

.hc-contact-map-full {
    margin-top: 32px;
}

    .hc-contact-map iframe,
    .hc-contact-map-full iframe {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        height: 340px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }


/* Optional map heading, if retained */

.hc-contact-map-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 20px 24px;
    background: #fff;
    border-bottom: 1px solid #eceef0;
    line-height: normal;
}

    .hc-contact-map-heading .hc-section-kicker {
        margin-bottom: 3px;
    }

    .hc-contact-map-heading h3 {
        margin: 0;
        color: var(--hc-heading);
        font-size: 17px;
        font-weight: 700;
    }

.hc-contact-map-address {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--hc-muted);
    font-size: 11px;
}

    .hc-contact-map-address i {
        color: var(--hc-primary);
    }


/* ============================================================
   TABLET / STACKED LAYOUT
   ============================================================ */

@media (max-width: 991.98px) {

    .hc-contact-page {
        padding: 50px 0;
    }

        /* Cards no longer need forced equal height */
        .hc-contact-page > .container > .row > [class*="col-"] {
            display: block;
        }

    .hc-contact-top-row .hc-contact-card,
    .hc-contact-top-row .hc-contact-details {
        height: auto;
    }
}

/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 767.98px) {

    .hc-contact-page {
        padding: 35px 0 45px;
    }


    /* ---------- Form ---------- */

    .hc-contact-card-heading {
        padding: 22px 20px;
    }

    .hc-contact-form {
        padding: 22px 20px;
    }

    .hc-contact-result {
        margin: 20px 20px 0;
    }


    /* ---------- Submit ---------- */

    .hc-contact-submit {
        display: block;
    }

    .hc-contact-button {
        width: 100%;
    }

    .hc-contact-submit > span {
        justify-content: center;
        max-width: none;
        margin-top: 12px;
        text-align: center;
    }


    /* ---------- Contact details ---------- */

    .hc-contact-details {
        padding: 23px 20px;
    }


    /* ---------- Map ---------- */

    .hc-contact-map-full {
        margin-top: 24px;
    }

        .hc-contact-map iframe,
        .hc-contact-map-full iframe {
            height: 280px !important;
        }

    .hc-contact-map-heading {
        display: block;
        padding: 18px 20px;
    }

    .hc-contact-map-address {
        margin-top: 10px;
        line-height: 1.5;
    }
}


/* ============================================================
   FAQ PAGE
   ============================================================ */

.hc-faq-page {
    padding: 60px 0 70px;
    background: #f6f7f9;
}


/* ============================================================
   INTRO
   ============================================================ */

.hc-faq-intro {
    max-width: 700px;
    margin: 0 auto 32px;
    text-align: center;
}

    .hc-faq-intro h2 {
        margin: 5px 0 10px;
        color: var(--hc-heading);
        font-size: 30px;
        font-weight: 700;
        line-height: 1.25;
        letter-spacing: -.02em;
    }

    .hc-faq-intro p {
        margin: 0;
        color: var(--hc-muted);
        font-size: 13px;
        line-height: 1.7;
    }


/* ============================================================
   TOPIC STRIP
   ============================================================ */

.hc-faq-topics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-bottom: 32px;
    background: #fff;
    border: 1px solid var(--hc-border);
    border-radius: 10px;
    box-shadow: var(--hc-shadow-sm);
    overflow: hidden;
}

.hc-faq-topic {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 18px 20px;
    border-right: 1px solid #eceef0;
}

    .hc-faq-topic:last-child {
        border-right: 0;
    }

.hc-faq-topic-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    min-width: 38px;
    background: var(--hc-primary-soft);
    border-radius: 50%;
    color: var(--hc-primary);
    font-size: 12px;
}

.hc-faq-topic strong {
    display: block;
    margin-bottom: 2px;
    color: var(--hc-heading);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
}

.hc-faq-topic span {
    display: block;
    color: var(--hc-muted);
    font-size: 9px;
    line-height: 1.45;
}


/* ============================================================
   MAIN LAYOUT
   ============================================================ */

.hc-faq-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    align-items: start;
    gap: 28px;
}

.hc-faq-main {
    min-width: 0;
}


/* ============================================================
   ACCORDION
   ============================================================ */

.hc-faq-accordion {
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--hc-border);
    border-radius: 11px;
    box-shadow: var(--hc-shadow-sm);
}

    .hc-faq-accordion .accordion-item {
        margin: 0 !important;
        background: #fff !important;
        border: 0 !important;
        border-bottom: 1px solid #e8ebee !important;
        border-radius: 0 !important;
    }

        .hc-faq-accordion .accordion-item:last-child {
            border-bottom: 0 !important;
        }


    /* ---------- Question ---------- */

    .hc-faq-accordion .accordion-header {
        margin: 0 !important;
    }

    .hc-faq-accordion .accordion-button {
        display: flex !important;
        align-items: center !important;
        min-height: 66px;
        padding: 14px 52px 14px 17px !important;
        background: #fff !important;
        color: var(--hc-heading) !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        line-height: 1.45 !important;
        box-shadow: none !important;
    }

        .hc-faq-accordion .accordion-button:not(.collapsed) {
            background: #faf7f9 !important;
            color: var(--hc-heading) !important;
        }

        .hc-faq-accordion .accordion-button:focus {
            border-color: transparent !important;
            box-shadow: none !important;
        }


        /* Bootstrap arrow */

        .hc-faq-accordion .accordion-button::after {
            position: absolute;
            right: 20px;
            width: 14px !important;
            height: 14px !important;
            margin: 0 !important;
            background-size: 14px !important;
        }


/* ---------- Question icon ---------- */

.hc-faq-question-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    min-width: 34px;
    margin-right: 13px;
    background: var(--hc-primary-soft);
    border-radius: 7px;
    color: var(--hc-primary);
    font-size: 11px;
}

.hc-faq-accordion .accordion-button:not(.collapsed)
.hc-faq-question-icon {
    background: var(--hc-primary);
    color: #fff;
}


/* ============================================================
   ANSWERS
   ============================================================ */

.hc-faq-accordion .accordion-body {
    padding: 19px 52px 22px 64px !important;
    background: #faf7f9 !important;
    border-top: 1px solid #f0e8ec;
    color: var(--hc-text);
    font-size: 12px;
    line-height: 1.75;
}

    .hc-faq-accordion .accordion-body p {
        margin: 0 0 12px;
    }

        .hc-faq-accordion .accordion-body p:last-child {
            margin-bottom: 0;
        }

    .hc-faq-accordion .accordion-body a {
        color: var(--hc-primary);
        font-weight: 600;
        text-decoration: none;
    }

        .hc-faq-accordion .accordion-body a:hover {
            color: var(--hc-primary-dark);
        }


/* ---------- Inline links ---------- */

.hc-faq-inline-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 3px;
    color: var(--hc-primary) !important;
    font-size: 11px;
    font-weight: 700 !important;
    text-decoration: none !important;
}

    .hc-faq-inline-link i {
        font-size: 8px;
        transition: transform .2s ease;
    }

    .hc-faq-inline-link:hover i {
        transform: translateX(2px);
    }


/* ============================================================
   CONTACT OPTIONS INSIDE FAQ
   ============================================================ */

.hc-faq-contact-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 16px 0;
}

    .hc-faq-contact-options > a {
        display: flex;
        align-items: center;
        gap: 11px;
        padding: 12px 14px;
        background: #fff;
        border: 1px solid #e5e7eb;
        border-radius: 7px;
        color: var(--hc-heading) !important;
        text-decoration: none !important;
    }

        .hc-faq-contact-options > a > i {
            color: var(--hc-primary);
            font-size: 12px;
        }

    .hc-faq-contact-options span {
        color: var(--hc-heading);
        font-size: 10px;
        font-weight: 600;
        line-height: 1.4;
    }

    .hc-faq-contact-options small {
        display: block;
        margin-bottom: 2px;
        color: var(--hc-muted);
        font-size: 7px;
        font-weight: 700;
        letter-spacing: .06em;
    }


/* ============================================================
   HELP PANEL
   ============================================================ */

.hc-faq-help {
    position: sticky;
    top: 25px;
    padding: 27px;
    background: #fff;
    border: 1px solid var(--hc-border);
    border-radius: 11px;
    box-shadow: var(--hc-shadow-sm);
}

.hc-faq-help-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-bottom: 19px;
    background: var(--hc-primary-soft);
    border-radius: 50%;
    color: var(--hc-primary);
    font-size: 15px;
}

.hc-faq-help h3 {
    margin: 5px 0 9px;
    color: var(--hc-heading);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
}

.hc-faq-help > p {
    margin: 0 0 19px;
    color: var(--hc-muted);
    font-size: 11px;
    line-height: 1.7;
}


/* ---------- Contact button ---------- */

.hc-faq-help-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 12px 14px;
    background: var(--hc-primary);
    border-radius: 6px;
    color: #fff !important;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none !important;
    box-shadow: 0 3px 8px rgba(178, 93, 134, .17);
    transition: background .2s ease, transform .2s ease;
}

    .hc-faq-help-button:hover {
        background: var(--hc-primary-dark);
        color: #fff !important;
        transform: translateY(-1px);
    }

    .hc-faq-help-button i {
        font-size: 8px;
    }


/* ---------- Phone/email ---------- */

.hc-faq-help-contact {
    margin-top: 19px;
    padding-top: 17px;
    border-top: 1px solid #eceef0;
}

    .hc-faq-help-contact a {
        display: flex;
        align-items: center;
        gap: 9px;
        padding: 5px 0;
        color: var(--hc-heading);
        font-size: 9px;
        font-weight: 600;
        text-decoration: none;
    }

        .hc-faq-help-contact a:hover {
            color: var(--hc-primary);
        }

    .hc-faq-help-contact i {
        width: 13px;
        color: var(--hc-primary);
        font-size: 9px;
        text-align: center;
    }


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 991.98px) {

    .hc-faq-page {
        padding: 50px 0;
    }

    .hc-faq-topics {
        grid-template-columns: repeat(2, 1fr);
    }

    .hc-faq-topic:nth-child(2) {
        border-right: 0;
    }

    .hc-faq-topic:nth-child(-n+2) {
        border-bottom: 1px solid #eceef0;
    }

    .hc-faq-layout {
        grid-template-columns: 1fr;
    }

    .hc-faq-help {
        position: static;
    }
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 767.98px) {

    .hc-faq-page {
        padding: 38px 0 45px;
    }

    .hc-faq-intro {
        margin-bottom: 25px;
        text-align: left;
    }

        .hc-faq-intro h2 {
            font-size: 25px;
        }

    .hc-faq-topics {
        grid-template-columns: 1fr;
        margin-bottom: 24px;
    }

    .hc-faq-topic {
        padding: 14px 16px;
        border-right: 0;
        border-bottom: 1px solid #eceef0;
    }

        .hc-faq-topic:last-child {
            border-bottom: 0;
        }

    .hc-faq-accordion .accordion-button {
        min-height: 61px;
        padding: 12px 42px 12px 13px !important;
        font-size: 12px !important;
    }

        .hc-faq-accordion .accordion-button::after {
            right: 14px;
        }

    .hc-faq-question-icon {
        width: 32px;
        height: 32px;
        min-width: 32px;
        margin-right: 10px;
    }

    .hc-faq-accordion .accordion-body {
        padding: 17px 16px 19px !important;
    }

    .hc-faq-contact-options {
        grid-template-columns: 1fr;
    }

    .hc-faq-help {
        padding: 22px 20px;
    }
}

/* ============================================================
   TERMS & CONDITIONS PAGE
   ============================================================ */

.hc-terms-page {
    padding: 60px 0 70px;
    background: #f6f7f9;
}


/* ============================================================
   LAYOUT
   ============================================================ */

.hc-terms-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    align-items: start;
    gap: 28px;
}


/* ============================================================
   DOCUMENT
   ============================================================ */

.hc-terms-document {
    min-width: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--hc-border);
    border-radius: 12px;
    box-shadow: var(--hc-shadow-sm);
}


/* ============================================================
   DOCUMENT HEADING
   ============================================================ */

.hc-terms-document-heading {
    display: flex;
    align-items: flex-start;
    gap: 17px;
    padding: 27px 30px 24px;
    background: #fff;
    border-bottom: 1px solid #eceef0;
}

.hc-terms-heading-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    min-width: 46px;
    background: var(--hc-primary-soft);
    border-radius: 9px;
    color: var(--hc-primary);
    font-size: 15px;
}

.hc-terms-document-heading h2 {
    margin: 3px 0 5px;
    color: var(--hc-heading);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.3;
}

.hc-terms-document-heading p {
    margin: 0;
    color: var(--hc-muted);
    font-size: 11px;
    line-height: 1.6;
}


/* ============================================================
   DATABASE CONTENT
   ============================================================ */

.hc-terms-content {
    padding: 30px;
    color: var(--hc-text);
    font-size: 12px;
    line-height: 1.75;
    overflow-wrap: break-word;
}


    /* ---------- Paragraphs ---------- */

    .hc-terms-content p {
        margin: 0 0 16px;
        color: var(--hc-text);
        font-size: 12px;
        line-height: 1.75;
    }

        .hc-terms-content p:last-child {
            margin-bottom: 0;
        }


    /* ============================================================
   HEADINGS FROM DATABASE
   ============================================================ */

    .hc-terms-content h1,
    .hc-terms-content h2,
    .hc-terms-content h3,
    .hc-terms-content h4,
    .hc-terms-content h5,
    .hc-terms-content h6 {
        color: var(--hc-heading);
        font-family: inherit;
        font-weight: 700;
        text-transform: none;
    }

    .hc-terms-content h1 {
        margin: 30px 0 13px;
        font-size: 22px;
        line-height: 1.3;
    }

    .hc-terms-content h2 {
        margin: 30px 0 13px;
        font-size: 19px;
        line-height: 1.35;
    }

    .hc-terms-content h3 {
        margin: 27px 0 11px;
        font-size: 16px;
        line-height: 1.4;
    }

    .hc-terms-content h4 {
        margin: 24px 0 9px;
        font-size: 14px;
        line-height: 1.4;
    }

    .hc-terms-content h5,
    .hc-terms-content h6 {
        margin: 21px 0 8px;
        font-size: 12px;
        line-height: 1.4;
    }


    /*
   Don't leave a huge gap if the first thing in the
   database is itself a heading.
*/

    .hc-terms-content > h1:first-child,
    .hc-terms-content > h2:first-child,
    .hc-terms-content > h3:first-child,
    .hc-terms-content > h4:first-child {
        margin-top: 0;
    }


    /* ============================================================
   STRONG / EMPHASIS
   ============================================================ */

    .hc-terms-content strong,
    .hc-terms-content b {
        color: #343b43;
        font-weight: 700;
    }

    .hc-terms-content em,
    .hc-terms-content i {
        color: inherit;
    }


    /* ============================================================
   LINKS
   ============================================================ */

    .hc-terms-content a {
        color: var(--hc-primary);
        font-weight: 600;
        text-decoration: none;
        overflow-wrap: anywhere;
    }

        .hc-terms-content a:hover {
            color: var(--hc-primary-dark);
            text-decoration: underline;
        }


    /* ============================================================
   LISTS
   ============================================================ */

    .hc-terms-content ul,
    .hc-terms-content ol {
        margin: 8px 0 19px;
        padding-left: 22px;
    }

    .hc-terms-content li {
        margin-bottom: 7px;
        padding-left: 3px;
        color: var(--hc-text);
        font-size: 12px;
        line-height: 1.7;
    }

        .hc-terms-content li:last-child {
            margin-bottom: 0;
        }

    .hc-terms-content ul li::marker {
        color: var(--hc-primary);
    }

    .hc-terms-content ol li::marker {
        color: var(--hc-primary);
        font-weight: 700;
    }


    /* ============================================================
   HORIZONTAL RULES
   ============================================================ */

    .hc-terms-content hr {
        height: 1px;
        margin: 27px 0;
        background: #e8ebee;
        border: 0;
    }


    /* ============================================================
   BLOCKQUOTES
   ============================================================ */

    .hc-terms-content blockquote {
        margin: 20px 0;
        padding: 15px 18px;
        background: #faf7f9;
        border: 0;
        border-left: 3px solid var(--hc-primary);
        border-radius: 0 6px 6px 0;
        color: var(--hc-text);
        font-size: 12px;
        line-height: 1.7;
    }


    /* ============================================================
   TABLES
   ============================================================ */

    .hc-terms-content table {
        width: 100% !important;
        margin: 20px 0;
        border-collapse: collapse;
        background: #fff;
        font-size: 11px;
    }

        .hc-terms-content table th {
            padding: 10px 12px;
            background: #f6f7f9;
            border: 1px solid #e3e6e9;
            color: var(--hc-heading);
            font-weight: 700;
            text-align: left;
        }

        .hc-terms-content table td {
            padding: 10px 12px;
            border: 1px solid #e3e6e9;
            color: var(--hc-text);
            line-height: 1.6;
            vertical-align: top;
        }


    /* ============================================================
   LEGACY DATABASE HTML DEFENCE
   ============================================================ */

    /*
   Helps stop old fixed-width HTML from breaking the page.
*/

    .hc-terms-content img {
        max-width: 100%;
        height: auto;
    }

    .hc-terms-content div,
    .hc-terms-content section {
        max-width: 100%;
    }

    .hc-terms-content iframe {
        max-width: 100%;
    }


    /*
   Old editors sometimes output font tags.
*/

    .hc-terms-content font {
        font-family: inherit !important;
    }


/* ============================================================
   SIDEBAR
   ============================================================ */

.hc-terms-sidebar {
    position: sticky;
    top: 25px;
    padding: 27px;
    background: #fff;
    border: 1px solid var(--hc-border);
    border-radius: 11px;
    box-shadow: var(--hc-shadow-sm);
}

.hc-terms-sidebar-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-bottom: 18px;
    background: var(--hc-primary-soft);
    border-radius: 50%;
    color: var(--hc-primary);
    font-size: 15px;
}

.hc-terms-sidebar h3 {
    margin: 5px 0 10px;
    color: var(--hc-heading);
    font-size: 19px;
    font-weight: 700;
    line-height: 1.35;
}

.hc-terms-sidebar h4 {
    margin: 0 0 7px;
    color: var(--hc-heading);
    font-size: 13px;
    font-weight: 700;
}

.hc-terms-sidebar p {
    margin: 0 0 12px;
    color: var(--hc-muted);
    font-size: 10px;
    line-height: 1.7;
}

.hc-terms-sidebar-divider {
    height: 1px;
    margin: 20px 0;
    background: #eceef0;
}


/* ============================================================
   SIDEBAR BUTTON
   ============================================================ */

.hc-terms-contact-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-top: 16px;
    padding: 12px 14px;
    background: var(--hc-primary);
    border-radius: 6px;
    color: #fff !important;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none !important;
    box-shadow: 0 3px 8px rgba(178, 93, 134, .17);
    transition: background .2s ease, transform .2s ease;
}

    .hc-terms-contact-button:hover {
        background: var(--hc-primary-dark);
        color: #fff !important;
        transform: translateY(-1px);
    }

    .hc-terms-contact-button i {
        font-size: 8px;
    }


/* ============================================================
   SIDEBAR CONTACT DETAILS
   ============================================================ */

.hc-terms-contact-details {
    margin-top: 17px;
    padding-top: 15px;
    border-top: 1px solid #eceef0;
}

    .hc-terms-contact-details a {
        display: flex;
        align-items: center;
        gap: 9px;
        padding: 5px 0;
        color: var(--hc-heading);
        font-size: 9px;
        font-weight: 600;
        text-decoration: none;
    }

        .hc-terms-contact-details a:hover {
            color: var(--hc-primary);
        }

    .hc-terms-contact-details i {
        width: 13px;
        color: var(--hc-primary);
        font-size: 9px;
        text-align: center;
    }


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 991.98px) {

    .hc-terms-page {
        padding: 50px 0;
    }

    .hc-terms-layout {
        grid-template-columns: 1fr;
    }

    .hc-terms-sidebar {
        position: static;
    }
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 767.98px) {

    .hc-terms-page {
        padding: 35px 0 45px;
    }

    .hc-terms-document-heading {
        padding: 22px 20px;
    }

    .hc-terms-content {
        padding: 22px 20px;
        font-size: 11px;
    }

        .hc-terms-content p,
        .hc-terms-content li {
            font-size: 11px;
        }

        .hc-terms-content h1 {
            font-size: 20px;
        }

        .hc-terms-content h2 {
            font-size: 18px;
        }

        .hc-terms-content h3 {
            font-size: 15px;
        }

    .hc-terms-sidebar {
        padding: 22px 20px;
    }


    /* Allow old tables to scroll rather than break the page */
    .hc-terms-content {
        overflow-x: auto;
    }
}

/* ============================================================
   HERO TRUSTPILOT
   ============================================================ */

.hc-hero-trustpilot {
    display: block;
    clear: both;
    width: 310px;
    max-width: 100%;
    margin-top: 20px;
    padding: 9px 13px;
    background: rgba(255, 255, 255, .94);
    border-radius: 6px;
    box-shadow: 0 3px 12px rgba(0, 0, 0, .12);
}

    .hc-hero-trustpilot .trustpilot-widget {
        width: 100%;
        height: 24px;
    }


@media (max-width: 767.98px) {

    .hc-hero-trustpilot {
        width: 290px;
        margin-top: 16px;
    }
}


/* Fix fuel page section headings */
.hc-fuel-types .hc-fuel-heading,
.hc-fuel-suppliers .hc-fuel-heading {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 30px;
}

    .hc-fuel-types .hc-fuel-heading .hc-section-kicker,
    .hc-fuel-suppliers .hc-fuel-heading .hc-section-kicker {
        display: block;
        width: auto;
        max-width: none;
        margin: 0;
        white-space: normal;
    }

    .hc-fuel-types .hc-fuel-heading h2,
    .hc-fuel-suppliers .hc-fuel-heading h2 {
        width: 100%;
        max-width: 650px;
        margin: 0;
    }

    .hc-fuel-types .hc-fuel-heading p,
    .hc-fuel-suppliers .hc-fuel-heading p {
        width: 100%;
        max-width: 650px;
        margin: 0;
    }

/* Insurance page: scoped to avoid changing other pages */
.hc-insurance-page {
    background: #fff;
    padding: 65px 0 85px;
}

.hc-insurance-layout {
    align-items: flex-start;
}

.hc-insurance-intro {
    margin-bottom: 30px;
}

    .hc-insurance-intro .hc-section-kicker {
        display: block;
        margin-bottom: 12px;
    }

    .hc-insurance-intro h2 {
        font-size: clamp(26px,3vw,38px);
        line-height: 1.2;
        font-weight: 700;
        color: #252b32;
        margin: 0 0 16px;
    }

    .hc-insurance-intro p {
        font-size: 16px;
        line-height: 1.75;
        color: #65707b;
        margin: 0 0 16px;
    }

.hc-insurance-page hr {
    border: 0;
    border-top: 1px solid #e9eaf0;
    opacity: 1;
    margin: 25px 0;
}

.hc-insurance-form-section h3 {
    font-size: 23px;
    font-weight: 700;
    color: #252b32;
    margin: 0 0 22px;
}

.hc-insurance-form {
    background: #f7f8fa;
    border: 1px solid #ebedf1;
    border-radius: 12px;
    padding: 26px;
}

    .hc-insurance-form .control-label {
        display: block;
        color: #343943;
        font-size: 14px;
        font-weight: 600;
        margin: 0 0 8px;
    }

        .hc-insurance-form .control-label > span {
            color: #b45a86;
        }

    .hc-insurance-form .form-control {
        display: block;
        width: 100%;
        min-height: 44px;
        border: 1px solid #dfe2e8;
        border-radius: 7px;
        background: #fff;
        color: #303540;
        padding: 9px 12px;
        margin: 0 0 18px;
        box-shadow: none;
    }

        .hc-insurance-form .form-control:focus {
            border-color: #b45a86;
            box-shadow: 0 0 0 3px rgba(180,90,134,.12);
        }

        .hc-insurance-form .form-control.inline {
            display: inline-block;
            width: auto;
            max-width: 100%;
            margin: 8px 8px 14px 0;
            vertical-align: middle;
        }

    .hc-insurance-form .control-label .form-control.inline {
        font-weight: 400;
    }

.hc-insurance-price {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: #f8f2f6;
    border: 1px solid #eedce6;
    border-radius: 10px;
    padding: 20px 24px;
    margin: 20px 0;
}

    .hc-insurance-price span {
        font-size: 15px;
        font-weight: 600;
        color: #45404a;
    }

    .hc-insurance-price strong {
        color: #b45a86;
        font-size: 29px;
        white-space: nowrap;
    }

.hc-insurance-submit {
    width: 100%;
    background: #b45a86 !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 7px !important;
    padding: 14px 20px !important;
    font-size: 15px;
    font-weight: 700;
}

    .hc-insurance-submit:hover {
        background: #99466f !important;
    }

.hc-insurance-smallprint {
    color: #69717c;
    font-size: 13px;
    line-height: 1.8;
    margin-top: 25px;
}

    .hc-insurance-smallprint a {
        color: #ad507c;
        text-decoration: underline;
    }

.hc-insurance-help {
    background: #f6f7f9;
    border: 1px solid #e8eaee;
    border-radius: 12px;
    padding: 26px;
    position: sticky;
    top: 25px;
}

.hc-insurance-help-heading h5 {
    color: #262b32;
    font-size: 19px;
    font-weight: 700;
    margin: 0 0 18px;
}

.hc-insurance-help-heading i {
    color: #b45a86;
    margin-right: 9px;
}

.hc-insurance-help .fa-ul {
    margin: 0 0 0 25px;
    padding: 0;
    list-style: none;
}

    .hc-insurance-help .fa-ul li {
        color: #626a75;
        font-size: 14px;
        line-height: 1.65;
        margin-bottom: 16px;
        overflow-wrap: anywhere;
    }

.hc-insurance-help .fa-li i {
    color: #b45a86;
}

.hc-insurance-page .field-validation-error, .hc-insurance-page .validation-summary-errors {
    color: #ad3152;
    font-size: 13px;
}

@media(max-width:991px) {
    .hc-insurance-page {
        padding: 40px 0 60px;
    }

    .hc-insurance-help {
        position: static;
    }
}

@media(max-width:575px) {
    .hc-insurance-form {
        padding: 18px;
    }

    .hc-insurance-price {
        align-items: flex-start;
        flex-direction: column;
    }

    .hc-insurance-form .form-control.inline {
        margin-right: 5px;
    }
}

/* Keep the existing Bootstrap columns as siblings, not a CSS grid. */
.hc-insurance-page .hc-insurance-layout {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}


/* Login and registration page, scoped to avoid affecting other pages */
.hc-account-page {
    padding: 65px 0 90px;
    background: #fff
}

.hc-account-intro {
    max-width: 690px;
    margin: 0 0 32px
}

    .hc-account-intro .hc-section-kicker {
        display: block;
        margin-bottom: 12px
    }

    .hc-account-intro h2 {
        margin: 0 0 12px;
        color: #222a33;
        font-size: clamp(25px,3vw,34px);
        font-weight: 700;
        line-height: 1.2
    }

    .hc-account-intro p {
        margin: 0;
        color: #6b7280;
        line-height: 1.7
    }

.hc-account-columns {
    align-items: stretch
}

    .hc-account-columns > div {
        display: flex;
        min-width: 0
    }

.hc-account-card {
    width: 100%;
    padding: 32px;
    border: 1px solid #e8e9ee;
    border-radius: 12px;
    background: #f6f7f9;
    box-shadow: 0 5px 18px rgba(20,30,45,.035)
}

.hc-account-card-heading {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 26px
}

.hc-account-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #f5e7ee;
    color: #b35885;
    font-size: 17px
}

.hc-account-card-heading .hc-section-kicker {
    display: block;
    margin: 1px 0 8px;
    font-size: 10px;
    letter-spacing: 1.4px;
    color: #b35885
}

.hc-account-card-heading h3 {
    margin: 0 0 8px;
    font-size: 22px;
    line-height: 1.25;
    color: #222a33;
    font-weight: 700
}

.hc-account-card-heading p {
    margin: 0;
    color: #6b7280;
    font-size: 14px;
    line-height: 1.5
}

.hc-account-fields .form-group {
    margin-bottom: 18px
}

.hc-account-fields label {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #27313e
}

.hc-account-fields .form-control {
    display: block;
    width: 100%;
    height: 46px;
    min-height: 46px;
    padding: 10px 13px;
    border: 1px solid #e0e3e9;
    border-radius: 7px;
    background: #fff;
    color: #27313e;
    box-shadow: none
}

    .hc-account-fields .form-control:focus {
        border-color: #b35885;
        box-shadow: 0 0 0 3px rgba(179,88,133,.12);
        outline: 0
    }

.hc-account-button {
    display: block;
    width: 100%;
    min-height: 46px;
    margin: 24px 0 0;
    padding: 12px 20px;
    border: 0;
    border-radius: 7px;
    background: #b35885;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
    transition: background .2s ease
}

    .hc-account-button:hover, .hc-account-button:focus {
        background: #97466f;
        color: #fff
    }

.hc-account-help {
    margin: 18px 0 0;
    color: #66717f;
    font-size: 13px
}

    .hc-account-help a {
        color: #b35885;
        text-decoration: underline;
        text-underline-offset: 2px
    }

.hc-account-message {
    display: block;
    margin-top: 14px;
    font-size: 13px;
    line-height: 1.5
}

    .hc-account-message:empty {
        display: none
    }

@media(max-width:991.98px) {
    .hc-account-page {
        padding: 45px 0 65px
    }

    .hc-account-card {
        padding: 26px
    }
}

@media(max-width:575.98px) {
    .hc-account-card {
        padding: 22px 18px
    }

    .hc-account-card-heading {
        gap: 12px
    }

        .hc-account-card-heading h3 {
            font-size: 20px
        }

    .hc-account-icon {
        flex-basis: 40px;
        width: 40px;
        height: 40px
    }
}

/* Bookings page only. Uses existing account and content-header styles. */
.hc-bookings-page .hc-account-intro {
    max-width: 800px
}

.hc-bookings-notice {
    margin: 0 0 20px;
    color: #27313e;
    font-size: 16px;
    font-weight: 600
}

    .hc-bookings-notice:empty {
        display: none
    }

.hc-bookings-import {
    margin-bottom: 26px
}

    .hc-bookings-import .hc-account-card-heading {
        margin-bottom: 16px
    }

.hc-bookings-attach {
    display: inline-block;
    width: auto;
    min-width: 180px;
    margin: 0
}

.hc-bookings-table-card {
    overflow: hidden;
    border: 1px solid #e8e9ee;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(20,30,45,.035)
}

.hc-bookings-table-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 23px 26px;
    border-bottom: 1px solid #e8e9ee
}

    .hc-bookings-table-heading h3 {
        margin: 0;
        font-size: 20px;
        color: #222a33;
        font-weight: 700
    }

    .hc-bookings-table-heading span {
        color: #7b8490;
        font-size: 12px
    }

.hc-bookings-table-scroll {
    width: 100%;
    overflow-x: auto
}

.hc-bookings-table {
    width: 100%;
    min-width: 1050px;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    font-size: 13px
}

    .hc-bookings-table th {
        padding: 15px 12px !important;
        background: #f6f7f9;
        color: #27313e;
        font-weight: 700;
        white-space: nowrap;
        border-color: #e8e9ee !important
    }

        .hc-bookings-table th a {
            color: #27313e;
            text-decoration: none
        }

    .hc-bookings-table td {
        padding: 14px 12px !important;
        color: #4b5563;
        vertical-align: middle !important;
        border-color: #e8e9ee !important
    }

    .hc-bookings-table tr:hover td {
        background: #faf7f9
    }

    .hc-bookings-table td img {
        max-width: 28px;
        height: auto;
        vertical-align: middle
    }

    .hc-bookings-table tr:last-child td {
        border-bottom: 0
    }

    .hc-bookings-table tr:has(table) td {
        background: #fff
    }

    .hc-bookings-table td table {
        margin: 0 auto
    }

        .hc-bookings-table td table td {
            padding: 5px !important;
            border: 0 !important
        }

        .hc-bookings-table td table a {
            color: #b35885;
            font-weight: 700
        }

@media(max-width:767px) {
    .hc-bookings-table-heading {
        display: block;
        padding: 20px
    }

        .hc-bookings-table-heading span {
            display: block;
            margin-top: 8px
        }

    .hc-bookings-import {
        padding: 22px 18px
    }
}

.qr-supplier-logo {
    display: block;
    max-width: 120px;
    max-height: 45px;
    width: auto;
    height: auto;
    object-fit: contain;
    margin-top: 6px;
}