/*--------------------------------------------------
    ## All responsive style
---------------------------------------------------*/
@media all and (min-width: 1600px) {
	
	.banner-inner .banner-social-area {
	    left: -310px;
	}
	.featured-banner {
		background-position: top left;
	}
	.featured-banner:after {
		background-position: right bottom;
	}
	.featured-area-3:after,
	.featured-area-3:before {
		width: 39.6%;
	}
	.featured-thumb {
		margin-left: 0;
	}
	.featured-banner {
		height: 100vh;
		padding-top: 100px;
	}
	.widget_gallery .gallery-area li {
	    margin: 0 3px 8px;
	}

}

@media all and (max-width: 1599px) {
	.pd-top-110 {
	    padding-top: 90px;
	}
	.pd-top-105 {
	    padding-top: 85px;
	}
	.pd-bottom-131 {
	    padding-bottom: 111px;
	}
	.pd-top-140 {
	    padding-top: 120px;
	}
	.mg-bottom-135 {
	    margin-bottom: 115px;
	}
	.pd-top-120 {
	    padding-top: 100px;
	}
	.pd-bottom-110 {
	    padding-bottom: 90px;
	}
	.pd-top-130 {
	    padding-top: 110px;
	}
	.pd-bottom-120 {
	    padding-bottom: 100px;
	}
	.single-price-wrap .pricing-cost {
		margin-bottom: 31px;
	}
	.widget_gallery .gallery-area li a {
	    width: 108px;
	}
	.testimonial-area .container {
	    max-width: 1300px;
	}	
	.testimonial-wrap {
		padding: 49px 27px 21px;
	}
	.banner-area {
	    background-size: contain;
	}
	.banner-inner .title {
	    font-size: 53px;
	}
	.banner-inner .banner-social-area {
	    left: -195px;
	}
	.banner-img img {
	    width: 260px;
	}
	.banner-img .banner-img-1 {
	    left: -37px;
	    top: 10px;
	}
	.banner-img .banner-img-2 {
	    left: 48px;
	    top: 205px;
	}
	.banner-img .banner-img-3 {
	    right: 34px;
	    top: 130px;
	}
	.banner-area {
	    height: 100vh;
	}
	.banner-inner .btn {
	    height: 54px;
	    line-height: 54px;
	}
	.banner-inner .btn-main-2 {
	    line-height: 50px;
	}
	.banner-img .banner-img-4 {
	    right: -63px;
	    top: 221px;
	    width: 90px;
	}
	.featured-banner {
		padding-top: 100px;
	}
	.swiper-container {
	    width: 800px;
	}
	.swiper-container .swiper-slide {
	    width: 354px;
	}
	.featured-area-3:after {
		background-size: auto;
	}
	.featured-thumb {
		margin-right: 0;
	}
	.error-area {
		padding-top: 50px;
	}
}

@media all and (max-width: 1100px) {
	h2 {
	    font-size: 43px;
	}
	.nav-right-part-desktop {
	    margin-left: 0;
	}
	.banner-area {
		background-size: 76% 88%;
	}
	.banner-inner .banner-social-area {
	    display: none;
	}
	.banner-inner {
		margin-top: 100px;
	}
	.banner-inner .title {
	    font-size: 53px;
	}
	.banner-img {
		margin-top: 60px;
		min-height: 560px;
	}
	.banner-img .banner-img-1 {
	    left: -81px;
	    top: 10px;
	}
	.banner-img .banner-img-2 {
	    left: 0px;
	    top: 205px;
	}
	.banner-img .banner-img-3 {
	    right: -2px;
	    top: 130px;
	}
	.banner-img .banner-img-4 {
	    right: -23px;
	    top: 0px;
	    width: 90px;
	}
	.section-title {
	    margin-bottom: 38px;
	}
	.section-title .title {
	    line-height: 48px;
	}
	.single-featured-wrap {
		padding: 64px 20px 21px;
	}
	.single-blog-wrap .blog-details {
	    padding: 25px 20px 20px;
	}
	.latest-blog-wrap .latest-blog-details .card-title {
		font-size: 26px;
	    margin: 34px 0 0;
	}
	.latest-blog-wrap .latest-blog-details .meta {
		margin-bottom: 30px;
	}
	.latest-blog-wrap {
	    margin-bottom: 50px;
	}
	.widget-recent-post .list-post .media .media-body h6 {
	    font-size: 22px;
	    line-height: 27px;
	}
	.latest-blog-wrap .latest-blog-details blockquote {
		padding: 21px 35px 27px;
	}
	.swiper-container {
	    width: 700px;
	}
	.swiper-container .swiper-slide {
	    width: 330px;
	}
	.featured-area-3:after,
	.featured-area-3:before {
		height: 50%;
	}
	.single-featured-wrap-3 {
	    padding: 49px 15px 19px;
	}
	.featured-banner {
		background-size: 115% !important;
	}
	.featured-banner:after {
		background-size: inherit;
	}
	.erroer-inner h1 {
		font-size: 150px;
		margin-bottom: 28px;
	}
	.erroer-inner h2 {
		font-size: 43px;
	}
}
@media all and (max-width: 991px) {
	.banner-area {
	    height: auto;
	    padding: 70px 0 100px 0;
	}
	.banner-area br {
		display: none !important;
	}
	.navbar-area .toggle-btn {
		margin-top: 8px;
	}
	.navbar-area .nav-container .navbar-collapse {
		display: none;
	}
	.navbar-area .nav-container .navbar-collapse.sopen {
	    display: block;
	    position: absolute;
	    top: 35px;
	    left: 0;
	    background: #D90812;
	}
	.navbar-area .nav-container .navbar-collapse .navbar-nav li {
		border-bottom: 1px solid white;
	}
	.navbar-area .nav-container .navbar-collapse .navbar-nav li a {
	    color: #fff;
	}
	.navbar-area .nav-container .navbar-collapse .navbar-nav li.menu-item-has-children::before {
	    color: #fff !important;
	}
	.navbar-area .nav-container .navbar-collapse .navbar-nav li.menu-item-has-children .sub-menu li a {
		color: #fff;
	}
	.banner-inner .banner-social-area {
		transform: rotate(0deg);
	    bottom: -55px;
	    top: auto;
	    left: 21%;
	}
	.banner-area {
		background-image: none !important;
	}
	.featured-area-2 {
		padding-top: 55px;
	}
	.featured-area-2 .featured-inner {
		margin-top: 40px;
	}
	.cta-area p {
		margin-bottom: 40px;
	}
	.cta-chips {
		justify-content: center;
	}
	.cta-action-box {
		align-items: center;
	}
	.screenshot-area .screenshot-image {
	    max-width: 694px;
	    margin: 0 auto;
	}
	.testimonial-wrap {
		padding: 49px 25px 21px; 
	}
	.blog-area {
		padding-top: 80px;
	}
	.blog-area .btn-main {
		margin-bottom: 40px;
	}
	.contact-area .contact-form {
		margin-bottom: 40px;
	}
	.page-title-area {
	    padding: 246px 0 147px;
	}
	.navbar-area-2 .navbar-area.navbar-area-fixed .nav-container {
	    border-bottom: 0;
	}
	.navbar-area-2 .toggle-btn .icon-right:before,
	.navbar-area-2 .toggle-btn .icon-right:after,
	.navbar-area-2 .toggle-btn .icon-right,
	.navbar-area-2 .toggle-btn .icon-left:after,
	.navbar-area-2 .toggle-btn .icon-left:before,
	.navbar-area-2 .toggle-btn .icon-left {
		background: #fff;
	}
	.toggle-btn.open .icon-right,
	.toggle-btn.open .icon-left {
	    background: transparent;
	}
	.widget_gallery .gallery-area li a {
	    width: 99px;
	}
	.sidebar-area {
		margin-top: 50px;
	}
	.featured-area-3:after, .featured-area-3:before {
		display: none;
	}
	.navbar-area.style-two .navbar .nav-container .navbar-collapse .navbar-nav li a {
	    color: #fff;
	}
}
@media all and (max-width: 767px) {
	.banner-inner .title {
	    font-size: 43px;
	}
	.featured-area-2 .featured-inner {
	    margin-top: 0px;
	}
	.cta-area h2 { 
		font-size: 38px;
	}
	.cta-heading {
		font-size: 32px;
	}
	.cta-stats {
		flex-direction: column;
		gap: 20px;
	}
	.cta-stat-divider {
		width: 60px;
		height: 1px;
	}
	.cta-chips {
		justify-content: center;
	}
	.screenshot-area .screenshot-image {
	    max-width: 462px;
	    margin: 0 auto;
	}
	.faq-accordion .card .card-header .btn {
		white-space: break-spaces;
		line-height: inherit;
		font-size: 16px;
	}
	.faq-accordion .card .card-header .btn i {
		position: absolute;
	    right: 17px;
	    top: 50%;
	    margin-top: -8px;
	}
	.faq-accordion .card .card-body {
		font-size: 14px;
    	padding: 20px;
	}
	.banner-inner .banner-social-area {
		left: 24%;
	}	
	.latest-blog-wrap .latest-blog-details blockquote {
	    padding: 21px 20px 27px;
	} 
	.footer-logo {
	    line-height: 80px;
	}
	.featured-banner .banner-inner .btn-main-2 {
		height: 45px;
		line-height: 40px;
		margin: 0 10px 0px 0;
		padding: 0 24px;
	}
}
@media all and (max-width: 575px) {
	.screenshot-area .screenshot-image {
	    max-width: 276px;
	    margin: 0 auto;
	}
	.overview-area ul li {
		position: relative;
    	padding-left: 40px;
	}
	.overview-area ul li i {
		position: absolute;
	    left: 0;
	    top: 50%;
	    margin-top: -10px;
	}
	.banner-inner .banner-social-area {
		left: 19%;
	}
	.banner-inner .banner-social-area li {
		margin-right: 36px;
	}
	.single-fact-wrap h2,
	h2 {
	    font-size: 34px;
	}
	.latest-blog-wrap .latest-blog-details .card-title {
	    font-size: 22px;
	}
	.widget_search .search-form .submit-btn,
	.widget_search .search-form {
		height: 55px;
	}
	.widget_search .search-form .submit-btn {
		padding: 0 22px;
		font-size: 18px;
	}
	.widget-recent-post .list-post .media .media-body {
	    margin-left: 20px;
	}
	.widget-recent-post .list-post .media {
	    margin-bottom: 30px;
	}
	.widget_search .search-form input {
	    padding: 0 80px 0 20px;
	}
	.page-title-area .breadcrumb-inner .page-title {
	    font-size: 40px;
	}
	.page-title-area {
	    padding: 195px 0 95px;
	}
	.navbar-area .nav-container .navbar-collapse .navbar-nav > li {
		margin-right: 0;	
	}
	.navbar-area .nav-container .navbar-collapse {
	    padding-right: 18px;
	    padding-left: 18px;
	}
}
@media all and (max-width: 375px) {
	.footer-area .copyright-area p {
		padding: 25px 0 22px;
	}
	.featured-banner .banner-inner .title {
	    font-size: 40px;
	}
	
}
@media all and (max-width: 320px) {
	.banner-inner .banner-social-area {
	    left: 26px;
	}
	.download-area .btn {
		margin-bottom: 20px;
	}
	.testimonial-wrap {
	    padding: 49px 15px 21px;
	}
	.widget-recent-post .list-post .media .media-body h6 {
	    font-size: 20px;
	}
	.widget-recent-post .list-post .media .media-body {
	    margin-left: 23px;
	}
	.featured-banner .banner-inner .btn-main-2 {
		
		margin: 0 10px 20px;
	}
	.erroer-inner h2 {
	    font-size: 35px;
	}
}




/* =========================================================
    HERO RESPONSIVE FIX - SAME DESKTOP LAYOUT FOR MAC
    ========================================================= */

/* Mac / smaller desktop screens - 1200px to 1599px */
@media (min-width: 1200px) and (max-width: 1599px) {
	.banner-area {
		min-height: 900px;
		height: auto !important;
		padding-top: 110px;
		background-size: cover !important;
		display: flex;
		align-items: center;
	}

	.banner-inner {
		margin-top: 0 !important;
	}

	.banner-inner .title {
		font-size: 70px !important;
		line-height: 1.1;
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	.banner-inner p {
		max-width: 480px;
	}

	.banner-img {
		position: relative;
		min-height: 560px;
		margin-top: 0 !important;
	}

	.banner-img img {
		position: absolute;
		width: auto !important;
		max-width: none !important;
	}

	.banner-img .banner-img-1 {
		left: -57px !important;
		top: 10px !important;
	}

	.banner-img .banner-img-2 {
		left: 80px !important;
		top: 205px !important;
	}

	.banner-img .banner-img-3 {
		right: -211px !important;
		top: 130px !important;
	}

	.banner-img .banner-img-4 {
		right: -357px !important;
		top: 210px !important;
	}
}


/* ============================================================
   COMPREHENSIVE MOBILE RESPONSIVE FIXES
   Covers all custom sections: navbar, banner, ec, oj2, bm,
   cta, hiw, iui3, pr, gl, ts, pt, fq, ct, footer
   ============================================================ */

/* ── Global overflow guard ── */
html, body {
    overflow-x: hidden;
    max-width: 100%;
}

/* ─────────────────────────────────────────
   NAVBAR
───────────────────────────────────────── */
@media (max-width: 991px) {
    .bp-nav-inner {
        padding: 12px 16px;
    }
    .bp-nav-links {
        width: 100%;
        z-index: 999;
    }
    .bp-nav-links li a {
        font-size: 15px;
    }
}
@media (max-width: 480px) {
    .bp-nav-logo img {
        height: 40px;
    }
}

/* ─────────────────────────────────────────
   BANNER / HERO
───────────────────────────────────────── */
@media (max-width: 991px) {
    .bp-banner {
        padding: 90px 0 70px;
        min-height: auto;
    }
    .bp-banner::before,
    .bp-banner::after {
        width: 260px;
        height: 260px;
    }
    .bp-banner h1.bp-heading {
        font-size: 32px;
        letter-spacing: -0.5px;
    }
    .bp-img-wrap {
        margin-top: 36px;
    }
    .bp-glow {
        width: 240px;
        height: 240px;
    }
}
@media (max-width: 767px) {
    .bp-banner {
        padding: 80px 0 60px;
        text-align: center;
    }
    .bp-banner h1.bp-heading {
        font-size: 26px;
    }
    .bp-banner .bp-desc {
        font-size: 15px;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }    .bp-btns {
        justify-content: center;
    }
    .bp-badges {
        justify-content: center;
    }
    .bp-banner .bp-label {
        font-size: 11px;
    }
    .bp-glow {
        width: 200px;
        height: 200px;
    }
}
@media (max-width: 480px) {
    .bp-banner h1.bp-heading {
        font-size: 23px;
    }
    .bp-btn-primary,
    .bp-btn-outline {
        padding: 12px 20px;
        font-size: 13.5px;
        width: 100%;
        justify-content: center;
    }
    .bp-btns {
        flex-direction: column;
        gap: 10px;
    }
    .bp-banner::before {
        display: none;
    }
}

/* ─────────────────────────────────────────
   8 ESSENTIAL COMPONENTS (ec-wrap)
───────────────────────────────────────── */
@media (max-width: 991px) {
    .ec-wrap {
        padding: 70px 0 80px;
    }
    .ec-wrap::before,
    .ec-wrap::after {
        width: 200px;
        height: 200px;
        left: -60px;
        top: -60px;
    }
}
@media (max-width: 767px) {
    .ec-header {
        margin-bottom: 40px;
    }
    .ec-grid {
        padding: 0 16px;
        gap: 14px;
    }
}
@media (max-width: 540px) {
    .ec-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .ec-card {
        padding: 24px 20px 20px;
    }
}

/* ─────────────────────────────────────────
   ORDER JOURNEY (oj2)
───────────────────────────────────────── */
@media (max-width: 991px) {
    .oj2-section {
        padding: 80px 0 90px;
    }
    .oj2-header {
        margin-bottom: 50px;
    }
}
@media (max-width: 767px) {
    .oj2-stat-num {
        font-size: 22px;
    }
}
@media (max-width: 580px) {
    .oj2-node {
        flex: 0 0 calc(50% - 8px);
    }
    .oj2-card h4 {
        font-size: 12px;
    }
    .oj2-card p {
        font-size: 11px;
    }
    .oj2-stats {
        border-radius: 16px;
        margin-top: 36px;
    }
    .oj2-stat {
        padding: 16px 12px;
    }
    .oj2-stat-num {
        font-size: 20px;
    }
    .oj2-stat-label {
        font-size: 9.5px;
    }
}
@media (max-width: 380px) {
    .oj2-node {
        flex: 0 0 100%;
    }
    .oj2-track {
        padding: 0 12px;
    }
}

/* ─────────────────────────────────────────
   BILLING MODELS (bm)
───────────────────────────────────────── */
@media (max-width: 767px) {
    .bm-main-title {
        font-size: 26px !important;
    }
    .bm-card {
        padding: 28px 20px 24px;
    }
    .bm-card__title {
        font-size: 20px !important;
    }
    .bm-vs-divider {
        width: 44px;
        height: 44px;
    }
}
@media (max-width: 480px) {
    .bm-card {
        padding: 22px 16px 20px;
    }
    .bm-card__title {
        font-size: 18px !important;
    }
    .bm-card__desc {
        font-size: 13.5px !important;
    }
    .bm-card__link {
        width: 100%;
        justify-content: center;
    }
}

/* ─────────────────────────────────────────
   CTA AREA
───────────────────────────────────────── */
@media (max-width: 767px) {
    .cta-heading {
        font-size: 26px !important;
    }
    .cta-sub {
        font-size: 14px;
    }
    .cta-chips {
        justify-content: center;
        flex-wrap: wrap;
        gap: 8px;
    }
    .cta-chip {
        font-size: 12px;
        padding: 6px 12px;
    }
    .cta-btn-primary {
        width: 100%;
        justify-content: center;
    }
}
@media (max-width: 480px) {
    .cta-heading {
        font-size: 22px !important;
    }
}

/* ─────────────────────────────────────────
   HOW IT WORKS (hiw)
───────────────────────────────────────── */
@media (max-width: 991px) {
    .hiw-section {
        padding: 80px 0 90px;
    }
}
@media (max-width: 767px) {
    .hiw-header {
        margin-bottom: 48px;
        padding: 0 16px;
    }
    .hiw-card {
        padding: 22px 18px 20px;
        max-width: 100%;
    }
    .hiw-img-box {
        max-width: 100%;
    }
    .hiw-img-badge {
        display: none;
    }
    .hiw-steps {
        padding: 0 16px;
    }
    .hiw-step {
        margin-bottom: 32px;
    }
    .hiw-cta a {
        padding: 13px 28px;
        font-size: 13.5px;
    }
}
@media (max-width: 540px) {
    .hiw-section {
        padding: 64px 0 72px;
    }
    .hiw-steps::before {
        left: 28px;
    }
    .hiw-step {
        grid-template-columns: 56px 1fr;
    }
    .hiw-node-inner {
        width: 56px;
        height: 56px;
    }
    .hiw-node-inner i {
        font-size: 18px;
    }
}

/* ─────────────────────────────────────────
   INTUITIVE UI / SCREENSHOTS (iui3)
───────────────────────────────────────── */
@media (max-width: 991px) {
    .iui3 {
        padding: 70px 0 60px;
    }
    .iui3-cards {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
}
@media (max-width: 560px) {
    .iui3-cards {
        grid-template-columns: repeat(2, 1fr);
        padding: 0 12px;
        gap: 10px;
    }
    .iui3-fc {
        padding: 18px 14px 16px;
    }
}
@media (max-width: 400px) {
    .iui3-cards {
        grid-template-columns: 1fr;
    }
}

/* ─────────────────────────────────────────
   PRICING (pr)
───────────────────────────────────────── */
@media (max-width: 767px) {
    .pr-toggle {
        flex-direction: column;
        border-radius: 20px;
        gap: 4px;
    }
    .pr-toggle-btn {
        padding: 10px 20px;
        font-size: 13px;
        justify-content: center;
        border-radius: 16px;
    }
    .pr-card {
        padding: 28px 22px 24px;
    }
    .pr-price {
        font-size: 36px;
    }
    .pr-card.pr-featured {
        transform: none;
    }
    .pr-card.pr-featured.pr-in {
        transform: none;
    }
    .pr-card.pr-featured:hover {
        transform: translateY(-10px);
    }
}
@media (max-width: 580px) {
    .pr-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 0 16px;
    }
    .pr-card {
        padding: 24px 18px 22px;
    }
    .pr-toggle-wrap {
        padding: 0 16px;
    }
    .pr-toggle {
        width: 100%;
    }
    .pr-toggle-btn {
        width: 100%;
    }
    .pr-footnote {
        padding: 0 16px;
        font-size: 11.5px;
    }
}

/* ─────────────────────────────────────────
   GO-LIVE CTA (gl)
───────────────────────────────────────── */
@media (max-width: 767px) {
    .gl-section {
        padding: 64px 0 72px;
    }
    .gl-chips {
        gap: 8px;
        padding: 0 8px;
    }
    .gl-chip {
        font-size: 12px;
        padding: 7px 14px;
    }
    .gl-btn {
        padding: 13px 28px;
        font-size: 13.5px;
    }
}
@media (max-width: 480px) {
    .gl-btn {
        width: 100%;
        justify-content: center;
    }
    .gl-inner {
        padding: 0 16px;
    }
}

/* ─────────────────────────────────────────
   TESTIMONIALS (ts)
───────────────────────────────────────── */
@media (max-width: 991px) {
    .ts-section {
        padding: 80px 0 90px;
    }
    .ts-grid {
        grid-template-columns: 1fr !important;
        max-width: 560px;
        margin-left: auto;
        margin-right: auto;
    }
    .ts-card.ts-feat {
        transform: none !important;
    }
    .ts-stats {
        gap: 24px !important;
    }
}
@media (max-width: 767px) {
    .ts-trust {
        flex-wrap: wrap !important;
        gap: 12px !important;
        justify-content: center !important;
    }
    .ts-trust-item {
        font-size: 12px;
    }
}
@media (max-width: 480px) {
    .ts-grid {
        padding: 0 16px !important;
    }
    .ts-card {
        padding: 24px 18px 20px !important;
    }
    .ts-stats {
        flex-direction: column !important;
        align-items: center;
        gap: 16px !important;
    }
}

/* ─────────────────────────────────────────
   PORTAL / BLOG CARDS (pt)
───────────────────────────────────────── */
@media (max-width: 991px) {
    .pt-section {
        padding: 80px 0 90px;
    }
    .pt-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 560px) {
    .pt-grid {
        grid-template-columns: 1fr !important;
        padding: 0 16px !important;
    }
    .pt-card-img {
        height: 170px !important;
    }
    .pt-hd {
        padding: 0 16px;
    }
}

/* ─────────────────────────────────────────
   FAQ (fq)
───────────────────────────────────────── */
@media (max-width: 767px) {
    .fq-section {
        padding: 72px 0 80px;
    }
    .fq-grid {
        padding: 0 16px;
        gap: 10px;
    }
    .fq-q {
        padding: 16px;
    }
    .fq-q-text {
        font-size: 13px;
    }
    .fq-a {
        padding: 0 16px;
    }
    .fq-item.fq-open .fq-a {
        padding: 0 16px 16px;
    }
    .fq-cta {
        padding: 0 16px;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 14px;
    }
    .fq-cta-btn {
        width: 100%;
        justify-content: center;
    }
}
@media (max-width: 480px) {
    .fq-header {
        padding: 0 16px;
    }
    .fq-q-num {
        display: none;
    }
}

/* ─────────────────────────────────────────
   CONTACT (ct)
───────────────────────────────────────── */
@media (max-width: 991px) {
    .ct-section {
        padding: 80px 0 90px;
    }
}
@media (max-width: 860px) {
    .ct-wrap {
        grid-template-columns: 1fr !important;
        padding: 0 16px !important;
        gap: 28px !important;
    }
    .ct-form-panel,
    .ct-info-panel {
        opacity: 1 !important;
        transform: none !important;
    }
}
@media (max-width: 580px) {
    .ct-section {
        padding: 64px 0 72px;
    }
    .ct-form-panel {
        padding: 24px 18px 20px !important;
    }
    .ct-info-card {
        padding: 22px 18px !important;
    }
    .ct-cta-card {
        padding: 22px 18px !important;
    }
    .ct-header {
        padding: 0 16px;
    }
}
@media (max-width: 500px) {
    .ct-row-2 {
        grid-template-columns: 1fr !important;
    }
}

/* ─────────────────────────────────────────
   FOOTER (bp-footer)
───────────────────────────────────────── */
@media (max-width: 900px) {
    .bp-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 32px 24px;
    }
    .bp-footer-brand {
        grid-column: 1 / -1;
    }
}
@media (max-width: 520px) {
    .bp-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 24px 16px;
        padding: 0 16px;
    }
    .bp-footer-brand {
        grid-column: 1 / -1;
    }
    .bp-footer-body {
        padding: 40px 0 30px;
    }
    .bp-sub-form {
        flex-direction: column;
        border-radius: 12px;
        overflow: visible;
        gap: 8px;
        background: transparent;
        border: none;
    }
    .bp-sub-form input {
        background: rgba(255,255,255,.15);
        border: 1px solid rgba(255,255,255,.25);
        border-radius: 10px;
        padding: 11px 14px;
        color: #fff;
        width: 100%;
    }
    .bp-sub-form button {
        padding: 11px 16px;
        border-radius: 10px;
        width: 100%;
        font-size: 13px;
    }
    .bp-footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        padding: 16px;
        gap: 8px;
    }
    .bp-footer-bottom-links {
        flex-wrap: wrap;
        gap: 12px;
    }
    .bp-footer-wave svg {
        height: 36px;
    }
}
@media (max-width: 360px) {
    .bp-footer-grid {
        grid-template-columns: 1fr;
    }
    .bp-footer-brand {
        grid-column: 1;
    }
}

/* ─────────────────────────────────────────
   SECTION-LEVEL PADDING REDUCTION
   (keeps vertical rhythm on small screens)
───────────────────────────────────────── */
@media (max-width: 767px) {
    .pd-top-105  { padding-top: 70px; }
    .pd-bottom-105 { padding-bottom: 70px; }
    .pd-top-100  { padding-top: 65px; }
    .pd-bottom-100 { padding-bottom: 65px; }
    .pd-top-80   { padding-top: 56px; }
    .pd-bottom-80  { padding-bottom: 56px; }
    .section-title .title { line-height: 1.3; }
    .section-title { margin-bottom: 32px; }
}

/* ─────────────────────────────────────────
   GENERAL TEXT / HEADING SAFETY NETS
───────────────────────────────────────── */
@media (max-width: 480px) {
    h1 { font-size: 30px; }
    h2 { font-size: 26px; }
    h3 { font-size: 22px; }
    h4 { font-size: 18px; }
    h5 { font-size: 16px; }
}
@media (max-width: 360px) {
    h1 { font-size: 26px; }
    h2 { font-size: 23px; }
}
