/* ============================================================
   RESPONSIVE.CSS — All responsive styles in one place
   Breakpoints:
     xl  : max-width 1400px
     lg  : max-width 1200px
     md  : max-width 991px  (tablets / small laptops)
     sm  : max-width 767px  (large phones)
     xs  : max-width 480px  (small phones)
   ============================================================ */

/* ============================================================
   DESIGN TOKENS — consistent spacing & font scale
   ============================================================ */
:root {
    /* Section padding */
    --section-py-desktop : 80px;
    --section-py-lg      : 70px;
    --section-py-md      : 60px;
    --section-py-sm      : 50px;
    --section-py-xs      : 40px;

    /* Container side padding */
    --container-px-sm    : 16px;
    --container-px-xs    : 14px;

    /* Font scale — headings */
    --h1-desktop  : 58px;
    --h1-lg       : 50px;
    --h1-md       : 42px;
    --h1-sm       : 34px;
    --h1-xs       : 28px;

    --h2-desktop  : 36px;
    --h2-lg       : 32px;
    --h2-md       : 28px;
    --h2-sm       : 24px;
    --h2-xs       : 22px;

    --h3-desktop  : 22px;
    --h3-lg       : 20px;
    --h3-md       : 19px;
    --h3-sm       : 18px;
    --h3-xs       : 17px;

    /* Font scale — body */
    --body-desktop : 16px;
    --body-md      : 15px;
    --body-sm      : 15px;
    --body-xs      : 14px;
}

/* ============================================================
   HEADER RIGHT CONTROLS — desktop layout
   ============================================================ */
html { overflow-x: hidden; }
body { overflow-x: hidden; }

.header-right-controls {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
}

.main-header .navbar {
    flex-wrap: nowrap;
}

/* ============================================================
   XL  — 1400px
   ============================================================ */
@media (max-width: 1400px) {
    .hero-title {
        font-size: var(--h1-desktop);
    }
}

/* ============================================================
   LG  — 1200px
   ============================================================ */
@media (max-width: 1200px) {

    .hero-title {
        font-size: var(--h1-lg);
    }

    .section-title h2 {
        font-size: var(--h2-lg);
    }

    h3,
    .step-card h3,
    .info-card h2 {
        font-size: var(--h3-lg);
    }

    .header-btn {
        padding: 10px 14px;
        font-size: 14px;
        width: auto;
        min-width: 200px;
    }
}

/* ============================================================
   MD  — 991px
   ============================================================ */
@media (max-width: 991px) {

    /* ---- Typography ---- */
    body, p {
        font-size: var(--body-md);
    }

    .hero-title {
        font-size: var(--h1-md);
    }

    .section-title h2 {
        font-size: var(--h2-md);
    }

    h3,
    .step-card h3,
    .info-card h2,
    .comparison-box h3 {
        font-size: var(--h3-md);
    }

    /* ---- Sections ---- */
    .section-padding {
        padding: var(--section-py-md) 0;
    }

    .hero-section {
        padding: var(--section-py-md) 0;
    }

    .hero-section::before {
        width: 100%;
        opacity: 0.06;
    }

    /* ---- Header ---- */
    .main-header {
        padding: 8px 0;
    }

    .header-right-controls {
        gap: 10px;
    }

    .navbar-toggler {
        order: 3;
        border: none;
        padding: 6px 8px;
    }

    .navbar-toggler:focus {
        box-shadow: none;
    }

    .header-cart {
        order: 2;
        height: 44px;
        width: 44px;
    }

    /* collapsed nav menu full-width below header */
    .navbar-collapse {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: #fff;
        box-shadow: 0 8px 20px rgba(0,0,0,.08);
        border-top: 1px solid #edf1f7;
        padding: 16px 20px 20px;
        z-index: 1000;
        margin-top: 0;
    }

    /* ---- VS circle ---- */
    .vs-circle {
        display: none;
    }

    .comparison-box {
        margin-bottom: 20px;
    }

    /* ---- Steps ---- */
    .steps-wrapper .row {
        row-gap: 10px;
    }

    /* ---- Delivery bar ---- */
    .delivery-item {
        border-left: none !important;
        border-bottom: 1px solid rgba(255,255,255,.15);
        padding-bottom: 16px;
    }

    .delivery-item:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }

    /* ---- Trust strip ---- */
    .trust-item {
        margin-bottom: 16px;
    }

    /* ---- Benefits ---- */
    .benefit-card-main {
        grid-template-columns: repeat(3, 1fr);
        justify-content: center;
        align-items: center;
    }
}

/* ============================================================
   SM  — 767px
   ============================================================ */
@media (max-width: 768px) {
	
	
	.hero-section::before{ display:block; opacity:1; background:rgb(2 36 96 / 70%);}

    /* ---- Typography ---- */
    body, p {
        font-size: var(--body-sm);
        line-height: 1.7;
    }

    .hero-title {
        font-size: var(--h1-sm);
        line-height: 1.25;
    }

    .hero-text {
        font-size: 16px;
        margin-bottom: 24px;
    }

    .section-title h2 {
        font-size: var(--h2-sm);
    }

    .section-title p {
        font-size: 15px;
    }

    h3,
    .step-card h3,
    .info-card h2,
    .comparison-box h3 {
        font-size: var(--h3-sm);
    }

    /* ---- Sections ---- */
    .section-padding {
        padding: var(--section-py-sm) 0;
    }

    .hero-section {
        padding: var(--section-py-sm) 0 40px;
    }

    /* ---- Header: Logo left | Cart + 15px gap + Hamburger right ---- */
    .main-header {
        padding: 6px 0;
    }

    .main-header .navbar {
        flex-wrap: wrap;
        align-items: center;
    }

    /* Logo stays left, pushes everything else to the right */
    .main-header .navbar-brand {
        margin-right: auto;
        flex-shrink: 0;
    }

    a.navbar-brand img {
        max-height: 48px;
    }

    /* Cart button — right side, before hamburger */
    .header-cart {
        order: 2;
        height: 40px;
        width: 40px;
        border-radius: 8px;
        margin-left: auto;
        margin-right: 0;
        flex-shrink: 0;
    }

    /* Hamburger — rightmost, 15px gap from cart */
    .navbar-toggler {
        order: 3;
        margin-left: 15px;
        padding: 4px 6px;
        border: none;
        flex-shrink: 0;
    }

    .navbar-toggler:focus {
        box-shadow: none;
    }

    /* Collapsed menu drops full-width below navbar row */
    .navbar-collapse {
        order: 4;
        flex-basis: 100%;
        width: 100%;
        position: static;
        box-shadow: none;
        border-top: 1px solid #edf1f7;
        padding: 12px 0 16px;
        margin-top: 8px;
        background: transparent;
    }

    /* ---- Topbar ---- */
    .topbar {
        font-size: 12px;
        padding: 7px 0;
    }

    /* ---- Benefits ---- */
    .benefit-card-main {
        grid-template-columns: repeat(1, 1fr);
        justify-content: center;
        align-items: center;
        gap: 30px;
    }

    .benefit-card {
        width: 100%;
        margin-bottom: 0;
    }

    /* ---- Hero features ---- */
    .hero-features {
        gap: 12px;
        flex-wrap: wrap;
    }

    .hero-feature {
        width: calc(50% - 6px);
    }

    /* ---- Hero buttons ---- */
    .hero-buttons {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .btn-primary-custom,
    .btn-outline-custom {
        width: 100%;
        text-align: center;
    }

    /* ---- Delivery bar — items left-aligned with proper gap ---- */
    .delivery-item {
        justify-content: flex-start;
        gap: 14px;
        padding: 12px 0;
        margin-bottom: 0;
        border-left: none !important;
        border-bottom: 1px solid rgba(255,255,255,.15);
    }

    .delivery-item:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }

    .delivery-item i {
        flex-shrink: 0;
    }

    .delivery-item div {
        text-align: left;
    }

    /* ---- Section title ---- */
    .section-title {
        margin-bottom: 32px;
    }

    /* ---- Cards padding ---- */
    .step-card {
        padding: 20px 16px;
    }

    .review-card {
        padding: 20px 16px;
    }

    .info-card {
        padding: 20px 16px;
    }

    /* ---- Comparison box — icon top, content below, text left ---- */
    .comparison-box {
        flex-direction: column !important;
        align-items: flex-start;
        padding: 20px 16px;
        gap: 14px;
        width: 100%;
        max-width: 100%;
    }

    .comparison-box.active {
        flex-direction: column !important;
        align-items: flex-start;
        margin-left: 0;
        width: 100%;
        max-width: 100%;
    }

    /* Icon (figure) sits at top */
    .comparison-box figure {
        order: 0;
        margin-bottom: 0;
        flex-shrink: 0;
    }

    /* All text content below icon */
    .comparison-box > div {
        order: 1;
        width: 100%;
        text-align: left;
    }

    .comparison-box h3 {
        text-align: left;
    }

    .comparison-box ul {
        text-align: left;
    }

    .comparison-box ul li {
        text-align: left;
    }

    .comparison-box ul li p {
        text-align: left;
    }

    /* ---- Trust strip — col-lg col-md-4 col-6 proper gap ---- */
    .trust-strip {
        padding: 30px 20px;
    }

    /* Each col item gets breathing room */
    .trust-strip .row > [class*="col-"] {
        padding: 8px 10px;
    }

    /* Each trust item card-style so they don't touch */
    .trust-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 8px;
        padding: 14px 10px;
        background: #fff;
        border-radius: 10px;
        height: 100%;
        min-height: 90px;
        margin-bottom: 0;
    }

    .trust-item i {
        font-size: 26px;
    }

    .trust-item div {
        text-align: center;
    }

    .trust-item h5 {
        font-size: 14px;
        margin-bottom: 4px;
        line-height: 1.3;
    }

    .trust-item p {
        font-size: 12px;
        line-height: 1.4;
        margin: 0;
    }

    /* ---- How it works — step cards content left-aligned ---- */
    .how-work-section .step-card {
        text-align: left;
        padding: 20px 16px;
    }

    .how-work-section .step-icon {
        margin: 0 0 16px 0; /* left-align icon, not auto-centered */
    }

    .how-work-section .step-card h3 {
        text-align: left;
        margin-top: 0;
        margin-bottom: 10px;
    }

    .how-work-section .step-card p {
        text-align: left;
        max-width: 100%;
        margin: 0;
    }

    .how-work-section .consult-btn {
        margin-top: 20px;
    }

    /* Remove extra gutter from g-5 in steps row */
    .g-5,
    .gy-5 {
        --bs-gutter-y: 0;
    }

    /* ---- Footer — ALL content left-aligned ---- */
    .footer {
        text-align: left;
        padding: 48px 0 32px;
    }

    .footer h4 {
        text-align: left;
    }

    .footer ul {
        text-align: left;
    }

    .footer-contact li {
        justify-content: flex-start;
    }

    .footer .col-md-3 {
        margin-bottom: 32px;
    }

    .footer .col-md-3:last-child {
        margin-bottom: 0;
    }

    /* Footer trust banner col-lg-9 — all items left */
    .trust-banner {
        padding: 24px 0;
    }

    .trust-banner .trust-item {
        justify-content: flex-start;
        background: transparent;
        padding: 0;
        min-height: unset;
        flex-direction: row;
        align-items: center;
        gap: 12px;
        border-radius: 0;
    }

    .trust-banner .trust-item div {
        text-align: left;
    }

    /* Payment icons left */
    .trust-banner .d-flex.flex-wrap {
        justify-content: flex-start !important;
    }

    /* col-lg-9 row items left aligned */
    .trust-banner .col-lg-9 .row > [class*="col-"] {
        display: flex;
        align-items: center;
    }

    /* ---- Copyright ---- */
    .copyright {
        flex-direction: column;
        text-align: left;
        gap: 10px;
    }

    .copyright div {
        justify-content: flex-start;
    }

    .copyright p {
        text-align: left;
    }

    /* ---- FAQ ---- */
    .home-page h3 {
        font-size: 17px;
    }

    .home-page p {
        font-size: 15px;
    }

    /* ---- Consult btn ---- */
    .consult-btn .btn {
        width: 100%;
        max-width: 320px;
    }
	.trust-banner .trust-item::after{
display:none;}
	.footer .left_content .col-md-3.col-xl-3 {
margin-bottom:0 !important;}
	.footer-disclaimer{
padding:16px;
}
	p.foot-about-para{
width:100%;
max-width:100%;
}
}

/* ============================================================
   XS  — 480px
   ============================================================ */
@media (max-width: 480px) {

    /* ---- Typography ---- */
    body, p {
        font-size: var(--body-xs);
    }

    .hero-title {
        font-size: var(--h1-xs);
    }

    .section-title h2 {
        font-size: var(--h2-xs);
    }

    h3,
    .step-card h3,
    .info-card h2 {
        font-size: var(--h3-xs);
    }

    /* ---- Sections ---- */
    .section-padding {
        padding: var(--section-py-xs) 0;
    }

    .hero-section {
        padding: var(--section-py-xs) 0 32px;
    }

    /* ---- Container extra side padding ---- */
    .container {
        padding-left: var(--container-px-xs);
        padding-right: var(--container-px-xs);
    }

    /* ---- Header ---- */
    a.navbar-brand img {
        max-height: 42px;
    }

    .header-cart {
        height: 36px;
        width: 36px;
        border-radius: 6px;
    }

    .header-cart span {
        width: 14px;
        height: 14px;
        line-height: 14px;
        font-size: 10px;
        right: 4px;
        top: -4px;
    }

    .header-right-controls {
        gap: 6px;
    }

    /* ---- Topbar ---- */
    .topbar {
        display: none;
    }

    /* ---- Benefits — single column ---- */
    .benefit-card {
        width: 100%;
    }

    /* ---- Hero features — single column ---- */
    .hero-feature {
        width: 100%;
        text-align: center;
    }

    /* ---- Trust strip single column ---- */
    .trust-strip .col-lg.col-6 {
        width: 100%;
    }

    /* ---- Review stars ---- */
    .rating-stars i {
        font-size: 16px;
    }

    /* ---- Step icons ---- */
    .step-icon {
        width: 60px;
        height: 60px;
        font-size: 22px;
        margin-bottom: 16px;
    }

    /* ---- FAQ section ---- */
    .faq-bg-home .home-page {
        padding: 24px 14px;
    }

    .home-page h2 {
        font-size: 22px;
    }

    .home-page h3 {
        font-size: 16px;
    }

    /* ---- Footer ---- */
    .footer {
        padding: 36px 0 24px;
        text-align: left;
    }

    .footer h4 {
        text-align: left;
        margin-bottom: 16px;
    }

    .footer-disclaimer {
        font-size: 12px;
        text-align: left;
        padding: 16px 16px;
    }

    .copyright {
        text-align: left;
    }

    .copyright p {
        text-align: left;
    }

    .trust-banner .payment-card {
        margin-bottom: 12px;
    }
}