:root {
    --heading-color : #31295e;
    --btn-color : #fecc01;
    --btn-color : #7EEA57;
}

/* ── Navbar Responsive (all devices) ──────────────────────────────────── */

/* ── XL desktop 1200–1399px: keep desktop nav, but tighten spacing ── */
@media screen and (min-width: 1200px) and (max-width: 1399px) {
    .rts__main__header { padding: 0 40px; }
    .rts__main__header .main__left { gap: 30px; }
    .rts__main__menu nav ul li { margin-right: 10px; }
    .rts__main__menu nav ul li > a { font-size: 14px; padding: 22px 0; }
    .rts__main__header .main__right { gap: 12px; }
    .rts__main__header .main__right__btn .rts-btn.btn-primary { padding: 8px 20px; font-size: 13px; }
}

/* ── Medium laptop 992–1199px: hide desktop nav, show hamburger ── */
@media screen and (max-width: 1199px) {
    .rts__main__menu { display: none !important; }
    .sticky-nav-clone .rts__main__menu { display: none !important; }
    .rts__main__header { padding: 12px 32px; }
    .menu__btn.offcanvas-toggle { display: flex !important; align-items: center; cursor: pointer; }
    .rts__main__header .main__right { gap: 14px; }
}

/* ── Tablet 768–991px ── */
@media screen and (max-width: 991px) {
    .rts__main__header { padding: 12px 24px; }
    .rts__main__header .main__left .logo a img { width: 160px !important; }
    .rts__main__header .main__right { gap: 10px; }
    .rts__main__header .main__right__btn { display: flex; }
    .rts__main__header .main__right__btn .rts-btn.btn-primary { padding: 8px 18px; font-size: 13px; }
}

/* ── Small tablet / large phone 576–767px ── */
@media screen and (max-width: 767px) {
    .rts__main__header { padding: 10px 20px; }
    .rts__main__header .main__left .logo a img { width: 140px !important; }
    .rts__main__header .main__right .main__right__btn .rts-btn.btn-primary { padding: 7px 14px; font-size: 12px; }
    /* Strip arrow icon from "Get Free Quote" to save space */
    .rts__main__header .main__right__btn .rts-btn.btn-primary i.fa-arrow-right { display: none; }
}

/* ── Mobile <576px ── */
@media screen and (max-width: 575px) {
    .rts__main__header { padding: 10px 14px !important; }
    .rts__main__header .main__right { gap: 8px; }
    /* Shrink logo on small phones */
    .rts__main__header .main__left .logo a img { width: 120px !important; }
    /* Hide "Get Free Quote" — keep only calc icon + hamburger */
    .rts__main__header .main__right__btn:not(:first-child) { display: none !important; }
    .rts__main__header .main__right__btn:first-child { display: flex !important; }
    /* Larger tap target for hamburger */
    .menu__btn.offcanvas-toggle i { font-size: 22px; }
    .menu__btn.offcanvas-toggle { padding: 6px 8px; }
}

/* ── Very small mobile <380px (older Androids, iPhone SE 1st gen) ── */
@media screen and (max-width: 380px) {
    .rts__main__header { padding: 8px 10px !important; }
    .rts__main__header .main__left .logo a img { width: 100px !important; }
    .rts__main__header .main__right { gap: 6px; }
}

/* ── Top bar: hide office hours when cramped, hide whole bar on mobile ── */
@media screen and (max-width: 1100px) {
    .header__top .top__right .ofc { display: none; }
    .header__top .top__left { gap: 24px; }
}
@media screen and (max-width: 900px) {
    .header__top { display: none !important; }
}

/* ── Sticky franchise button: smaller + adjust position on mobile ── */
@media screen and (max-width: 991px) {
    .sticky-franchise-btn { display: none !important; }
}

/* ── Sticky nav clone: HIDE on mobile/tablet — avoids duplicate navbar ── */
@media screen and (max-width: 1199px) {
    .sticky-nav-clone {
        display: none !important;
        visibility: hidden !important;
        transform: translateY(-200%) !important;
    }
}

/* ── Offcanvas container: enforce off-screen by default ──
   The wrapper has position:fixed, but the parent .rts__offcanvas
   had NO positioning rules — making its content render in document
   flow at the bottom of the page, producing a "duplicate nav" effect. */
.rts__offcanvas {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    visibility: hidden;
    z-index: 9998;
}
.rts__offcanvas.active {
    visibility: visible;
    pointer-events: auto;
}
.rts__offcanvas .rts__offcanvas__wrapper {
    pointer-events: auto;
}
.rts-banner-wrapper .banner-card-wrapper .inner-card {
    padding-bottom: 0px;
}

.banner-card-wrapper video {
    width: 300px;
    border-radius: 15px;
}