/* ===========================
   START: home.css (CareCommute)
   =========================== */


/* ===========================
   START: ROOT / THEME VARS
   =========================== */
:root{
    --cc-bg: #0b1220;
    --cc-panel: rgba(255,255,255,.06);
    --cc-border: rgba(255,255,255,.10);
    --cc-muted: rgba(255,255,255,.72);
    --cc-white: #ffffff;
    --cc-primary: #3b82f6;

    --cc-logo-h: 75px;

    /* Bootstrap theme variables */
    --bs-body-bg: var(--cc-bg);
    --bs-body-color: var(--cc-white);
    --bs-emphasis-color: var(--cc-white);
    --bs-secondary-color: var(--cc-muted);
    --bs-tertiary-color: rgba(255,255,255,.55);
    --bs-border-color: var(--cc-border);

    --bs-link-color: rgba(255,255,255,.82);
    --bs-link-hover-color: #ffffff;

    --bs-card-bg: rgba(255,255,255,.05);
    --bs-card-color: var(--cc-white);
}
/* ===========================
   END: ROOT / THEME VARS
   =========================== */


/* ===========================
   START: BASE
   =========================== */
body{
    background: var(--cc-bg);
    color: var(--cc-white);
    margin: 0;
}

.cc-muted{ color: var(--cc-muted) !important; }
.cc-link, .cc-footer-link{ color: rgba(255,255,255,.82); text-decoration: none; }
.cc-link:hover, .cc-footer-link:hover{ color: #fff; text-decoration: underline; }
/* ===========================
   END: BASE
   =========================== */


/* ===========================
   START: TOP BAR
   =========================== */
.cc-topbar{
    background: rgba(255,255,255,.04);
    border-bottom: 1px solid var(--cc-border);
}
/* ===========================
   END: TOP BAR
   =========================== */


/* ===========================
   START: NAVBAR (NO GAP)
   =========================== */
.cc-nav{
    background: rgba(11,18,32,.86);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--cc-border);

    --bs-navbar-brand-color: rgba(255,255,255,.92);
    --bs-navbar-brand-hover-color: #fff;
    --bs-navbar-color: rgba(255,255,255,.84);
    --bs-navbar-hover-color: #fff;
    --bs-navbar-active-color: #fff;
    --bs-navbar-toggler-border-color: rgba(255,255,255,.18);

    padding: 8px 0;

    /* ✅ kill any Bootstrap spacing */
    margin-bottom: 0 !important;
}

.cc-nav .navbar-brand{
    color: var(--bs-navbar-brand-color);
    text-decoration: none;
    line-height: 1;
    padding-top: 0;
    padding-bottom: 0;
}
.cc-nav .navbar-brand:hover{ color: var(--bs-navbar-brand-hover-color); }

.navbar .nav-link{ color: rgba(255,255,255,.84); }
.navbar .nav-link:hover{ color: #fff; }

.cc-nav .navbar-toggler{ border-color: rgba(255,255,255,.18); }
.cc-nav .navbar-toggler:focus{ box-shadow: none; }
.cc-nav .navbar-toggler-icon{
    filter: invert(1) grayscale(1);
    opacity: .9;
}
/* ===========================
   END: NAVBAR
   =========================== */


/* ===========================
   START: LOGO (NO CONTAINER / NO SQUARE)
   =========================== */
.cc-navbar-logo{
    height: var(--cc-logo-h);
    width: auto;
    max-width: 220px;
    display: block;
    object-fit: contain;
}

.cc-brand-text{
    color: rgba(255,255,255,.92);
    font-size: 1.75rem;
    font-weight: 700;      /* ✅ optional but looks better */
    line-height: 1;        /* ✅ stops vertical misalignment */
    white-space: nowrap;
}

/* ✅ prevent huge text on mobile */
@media (max-width: 576px){
    .cc-brand-text{
        font-size: 1.15rem;
    }
}

.cc-footer-logo{
    height: 44px;
    width: auto;
    display: block;
    object-fit: contain;
}
/* ===========================
   END: LOGO
   =========================== */


/* ===========================
   START: BUTTONS
   =========================== */
.cc-btn{
    border-radius: 12px;
    padding: 10px 14px;
    box-shadow: 0 10px 20px rgba(0,0,0,.18);
}
.btn-primary.cc-btn{
    background: var(--cc-primary);
    border-color: rgba(255,255,255,.12);
}
.cc-btn-outline{
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,.20);
    color: #fff;
}
/* ===========================
   END: BUTTONS
   =========================== */


/* ===========================
   START: HERO (ZERO GAP + IMAGE BEHIND)
   =========================== */
.cc-hero{
    position: relative;
    overflow: hidden;

    /* ✅ Hero touches navbar (no visible strip) */
    margin-top: -1px;           /* hides 1px seam from nav border */
    padding: 0 0 24px;          /* top spacing moved to content */
    background:
        radial-gradient(1200px 500px at 10% 0%, rgba(59,130,246,.25), transparent 60%),
        radial-gradient(900px 380px at 90% 10%, rgba(34,197,94,.18), transparent 55%);
}

/* ✅ Put spacing on content only */
.cc-hero > .container > .row{
    padding-top: 54px;
}

/* ✅ IMAGE LAYER (BEHIND EVERYTHING, STARTS FROM TOP) */
.cc-hero::before{
    content: "";
    position: absolute;

    /* Pull image upward so it starts immediately under navbar */
    top: -70px;
    left: 0;
    right: 0;
    bottom: 0;

    background: url("/assets/carecommute/images/hero/hero.png") no-repeat right top;
    background-size: cover;

    /* ✅ make image softer */
    opacity: .22;

    /* fade towards left so text is readable */
    -webkit-mask-image: linear-gradient(to left, rgba(0,0,0,1) 62%, rgba(0,0,0,0) 100%);
    mask-image: linear-gradient(to left, rgba(0,0,0,1) 62%, rgba(0,0,0,0) 100%);

    z-index: 0;
    pointer-events: none;
}

/* ✅ DARK OVERLAY ABOVE IMAGE (so cards/text readable) */
.cc-hero::after{
    content: "";
    position: absolute;
    inset: 0;

    /* stronger overlay on right side */
    background:
        linear-gradient(to left,
            rgba(11,18,32,.05) 0%,
            rgba(11,18,32,.55) 55%,
            rgba(11,18,32,.92) 100%
        );

    z-index: 1;
    pointer-events: none;
}

/* ✅ Content always above layers */
.cc-hero > .container{
    position: relative;
    z-index: 2;
}

@media (max-width: 992px){
    .cc-hero::before{
        top: -60px;
        background-position: center top;
        opacity: .18;
    }
    .cc-hero::after{
        background: linear-gradient(to bottom, rgba(11,18,32,.45), rgba(11,18,32,.85));
    }
}

@media (max-width: 576px){
    .cc-hero::before,
    .cc-hero::after{
        display: none;
    }
    .cc-hero > .container > .row{
        padding-top: 38px;
    }
}
/* ===========================
   END: HERO
   =========================== */


.cc-hero-wave{
    height: 28px;
    background: linear-gradient(180deg, transparent, rgba(255,255,255,.04));
    border-top: 1px solid rgba(255,255,255,.06);
}

.cc-badge{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.10);
    color: rgba(255,255,255,.90);
    font-size: .95rem;
}


/* ===========================
   START: FORM
   =========================== */
.cc-quickform{
    padding: 16px;
    border-radius: 18px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.10);
}

.cc-input{
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(11,18,32,.45);
    color: #fff;
}
.cc-input::placeholder{ color: rgba(255,255,255,.55); }

.cc-input:focus{
    border-color: rgba(59,130,246,.65);
    box-shadow: 0 0 0 .2rem rgba(59,130,246,.18);
    background: rgba(11,18,32,.55);
    color: #fff;
}
.form-select.cc-input{ padding-right: 2.5rem; }
/* ===========================
   END: FORM
   =========================== */


/* ===========================
   START: HERO CARD
   =========================== */
.cc-hero-card{
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,.10);
    background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
    overflow: hidden;
    color: var(--cc-white);
}
.cc-hero-card-inner{ padding: 18px; }

.cc-hero-points{ display: grid; gap: 12px; }
.cc-point{
    display: flex;
    gap: 12px;
    padding: 12px;
    border-radius: 16px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
}
.cc-point-icon{
    width: 40px; height: 40px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(59,130,246,.16);
    border: 1px solid rgba(59,130,246,.30);
}

.cc-hero-stats .cc-stat{
    padding: 12px;
    border-radius: 16px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
}
.cc-stat-top{ font-size: .9rem; color: rgba(255,255,255,.78); }
.cc-stat-val{ font-weight: 700; font-size: 1.15rem; }
.cc-stat-sub{ font-size: .85rem; color: rgba(255,255,255,.65); }

.cc-note{
    padding: 12px;
    border-radius: 16px;
    background: rgba(255,255,255,.04);
    border: 1px dashed rgba(255,255,255,.14);
}
/* ===========================
   END: HERO CARD
   =========================== */


/* ===========================
   START: SECTION HELPERS
   =========================== */
.cc-section-kicker{
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: .78rem;
    color: rgba(255,255,255,.72);
    margin-bottom: 8px;
}

.cc-soft-section{
    background: rgba(255,255,255,.03);
    border-top: 1px solid rgba(255,255,255,.06);
    border-bottom: 1px solid rgba(255,255,255,.06);
}
/* ===========================
   END: SECTION HELPERS
   =========================== */


/* ===========================
   START: SERVICE CARDS
   =========================== */
.cc-service{
    border-radius: 20px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.10);
    overflow: hidden;
    transition: transform .15s ease, box-shadow .15s ease;
    color: var(--cc-white);
}
.cc-service:hover{
    transform: translateY(-2px);
    box-shadow: 0 16px 30px rgba(0,0,0,.22);
}
.cc-service-img{
    width: 100%;
    height: 210px;
    object-fit: cover;
    display: block;
    background: rgba(255,255,255,.06);
}
.cc-service-tag{
    display: inline-block;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: .82rem;
    background: rgba(34,197,94,.12);
    border: 1px solid rgba(34,197,94,.24);
    color: rgba(255,255,255,.90);
}
/* ===========================
   END: SERVICE CARDS
   =========================== */


/* ===========================
   START: LISTS
   =========================== */
.cc-list{
    padding-left: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}
.cc-list li{
    display: flex;
    gap: 10px;
    align-items: flex-start;
    color: rgba(255,255,255,.82);
}
.cc-list i{ color: rgba(34,197,94,.95); margin-top: 2px; }
/* ===========================
   END: LISTS
   =========================== */


/* ===========================
   START: STEPS
   =========================== */
.cc-steps{ display: grid; gap: 12px; }
.cc-step{
    display: flex;
    gap: 12px;
    padding: 14px;
    border-radius: 18px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
}
.cc-step-icon{
    width: 42px; height: 42px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(59,130,246,.16);
    border: 1px solid rgba(59,130,246,.30);
}
/* ===========================
   END: STEPS
   =========================== */


/* ===========================
   START: CALLOUT + PILL
   =========================== */
.cc-callout{
    border-radius: 20px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.10);
    padding: 14px;
}
.cc-callout-icon{
    width: 42px; height: 42px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.12);
}

.cc-pill{
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
}
/* ===========================
   END: CALLOUT + PILL
   =========================== */


/* ===========================
   START: TRUST CARD
   =========================== */
.cc-trust{
    border-radius: 22px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.10);
    color: var(--cc-white);
}
.cc-trust-item{
    display: flex;
    gap: 12px;
    padding: 12px 0;
    border-top: 1px solid rgba(255,255,255,.08);
}
.cc-trust-item:first-of-type{ border-top: 0; }
.cc-trust-item i{
    font-size: 1.2rem;
    color: rgba(59,130,246,.95);
    margin-top: 2px;
}
/* ===========================
   END: TRUST CARD
   =========================== */


/* ===========================
   START: ACCORDION
   =========================== */
.cc-accordion .accordion-item{
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 10px;
}
.cc-accordion .accordion-button{
    background: rgba(255,255,255,.02);
    color: #fff;
}
.cc-accordion .accordion-button:focus{ box-shadow: none; }
.cc-accordion .accordion-body{ background: rgba(11,18,32,.35); }
.cc-accordion .accordion-button::after{ filter: invert(1); }
/* ===========================
   END: ACCORDION
   =========================== */


/* ===========================
   START: ENQUIRY
   =========================== */
.cc-enquiry{
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(59,130,246,.18), rgba(255,255,255,.05));
    border: 1px solid rgba(255,255,255,.12);
    color: var(--cc-white);
}
/* ===========================
   END: ENQUIRY
   =========================== */


/* ===========================
   START: FOOTER
   =========================== */
.cc-footer{
    border-top: 1px solid rgba(255,255,255,.08);
    background: rgba(0,0,0,.18);
}
.cc-hr{ border-color: rgba(255,255,255,.12); }
/* ===========================
   END: FOOTER
   =========================== */


/* ===========================
   START: BOOK CARD
   =========================== */
.cc-book-card{
    border-radius: 22px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.10);
    color: var(--cc-white);
}
/* ===========================
   END: BOOK CARD
   =========================== */


/* ===========================
   END: home.css (CareCommute)
   =========================== */
