/*
Theme Name: Nationwide Top Plumbers
Theme URI: https://nationwidetopplumbers.com
Author: S&M Telecommunications LLC
Author URI: https://smtelecommunications.com/website-design
Description: A custom click-to-call plumbing lead generation theme for NationwideTopPlumbers.com with ZIP code lookup, Retreaver routing, and 24/7 emergency plumbing service design.
Version: 1.0.0
Text Domain: nationwide-top-plumbers
*/

/* =====================================================
   Nationwide Top Plumbers
   Created by S&M Telecommunications LLC
   ===================================================== */

:root{

    --blue:#0B4EA2;
    --blue-dark:#083A77;
    --red:#D62828;
    --orange:#FF6B00;
    --light:#F5F8FC;
    --text:#222;

}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:Arial, Helvetica, sans-serif;
    color:var(--text);
    background:#fff;
    line-height:1.6;

}

a{

    text-decoration:none;

}

.ntp-container{

    width:92%;
    max-width:1280px;
    margin:auto;

}

/*==========================
TOP BAR
==========================*/

.ntp-topbar{

    background:var(--blue-dark);
    color:#fff;
    padding:10px 0;

}

.ntp-topbar .ntp-container{

    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:15px;

}

.ntp-topbar a{

    color:#fff;
    font-weight:bold;

}

/*==========================
HEADER
==========================*/

.ntp-header{

    background:#fff;
    box-shadow:0 3px 18px rgba(0,0,0,.08);
    position:sticky;
    top:0;
    z-index:999;

}

.ntp-nav{

    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:20px 0;

}

.ntp-logo{

    display:flex;
    flex-direction:column;

}

.ntp-logo strong{

    font-size:34px;
    color:var(--blue);

}

.ntp-logo span{

    color:var(--red);

}

.ntp-logo small{

    color:#666;

}

.ntp-menu{

    display:flex;
    gap:25px;
    align-items:center;

}

.ntp-menu a{

    color:#222;
    font-weight:700;
    transition:.3s;

}

.ntp-menu a:hover{

    color:var(--blue);

}

.ntp-nav-call{

    background:var(--red);
    color:#fff !important;
    padding:14px 28px;
    border-radius:8px;

}

/*==========================
FOOTER
==========================*/

.ntp-footer{

    background:#111;
    color:#fff;
    padding:70px 0 30px;

}

.ntp-footer-grid{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:50px;

}

.ntp-footer h3,
.ntp-footer h4{

    margin-bottom:15px;

}

.ntp-footer ul{

    list-style:none;

}

.ntp-footer-phone{

    color:#fff;
    font-size:30px;
    font-weight:bold;

}

.ntp-footer-disclaimer{

    margin-top:50px;
    padding-top:30px;
    border-top:1px solid rgba(255,255,255,.15);
    font-size:14px;
    color:#bbb;

}

.ntp-credit{

    margin-top:20px;

}

.ntp-credit a{

    color:#fff;
    font-weight:bold;

}

@media(max-width:900px){

.ntp-nav{

    flex-direction:column;

}

.ntp-menu{

    flex-wrap:wrap;
    justify-content:center;

}

.ntp-footer-grid{

    grid-template-columns:1fr;

}

}

/*==========================
HERO
==========================*/

.ntp-hero{
    background:
        linear-gradient(90deg, rgba(8,58,119,.96) 0%, rgba(8,58,119,.88) 45%, rgba(8,58,119,.25) 100%),
        url('assets/images/plumber-hero.jpg');
    background-size:cover;
    background-position:center right;
    color:#fff;
    padding:90px 0;
    min-height:720px;
    display:flex;
    align-items:center;
}

.ntp-hero-grid{
    display:grid;
    grid-template-columns:1fr 420px;
    gap:60px;
    align-items:center;
}

.ntp-badge{
    display:inline-block;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.25);
    padding:8px 18px;
    border-radius:50px;
    font-weight:700;
    margin-bottom:20px;
}

.ntp-hero h1{
    font-size:76px;
    line-height:1;
    margin-bottom:20px;
}

.ntp-hero-content p{
    font-size:24px;
    max-width:680px;
    margin-bottom:30px;
}

.ntp-zip-box{
    background:#fff;
    color:#111;
    padding:28px;
    border-radius:18px;
    max-width:620px;
    box-shadow:0 20px 60px rgba(0,0,0,.28);
}

.ntp-zip-box h3{
    font-size:24px;
    margin-bottom:16px;
    color:var(--blue-dark);
}

.zip-form{
    display:flex;
    gap:12px;
}

.zip-input,
.npp-phone-input{
    flex:1;
    padding:18px;
    border:2px solid #dbe4f0;
    border-radius:10px;
    font-size:18px;
}

.zip-btn,
.npp-check-btn{
    background:var(--red);
    color:#fff;
    border:none;
    padding:18px 24px;
    border-radius:10px;
    font-size:17px;
    font-weight:800;
    cursor:pointer;
}

.zip-result{
    display:none;
    margin-top:15px;
    font-weight:700;
    color:var(--blue-dark);
}

.zip-result.show{
    display:block;
}

.npp-phone-step{
    margin-top:15px;
    display:flex;
    gap:12px;
}

.ntp-trust{
    display:flex;
    flex-wrap:wrap;
    gap:18px;
    margin-top:24px;
    font-weight:700;
}

.ntp-call-card{
    background:linear-gradient(135deg, var(--red), #a91414);
    color:#fff;
    padding:35px;
    border-radius:20px;
    box-shadow:0 25px 70px rgba(0,0,0,.35);
    text-align:center;
}

.ntp-call-card span{
    display:block;
    font-weight:800;
    text-transform:uppercase;
    margin-bottom:10px;
}

.ntp-call-card a{
    display:block;
    color:#fff;
    font-size:38px;
    font-weight:900;
}

.ntp-call-card small{
    display:block;
    margin-top:10px;
    opacity:.9;
}

@media(max-width:900px){
    .ntp-hero{
        background:linear-gradient(180deg, rgba(8,58,119,.96), rgba(8,58,119,.90));
        min-height:auto;
        padding:60px 0;
    }

    .ntp-hero-grid{
        grid-template-columns:1fr;
    }

    .ntp-hero h1{
        font-size:48px;
    }

    .zip-form,
    .npp-phone-step{
        flex-direction:column;
    }
}

/* STEP 12 HERO FIX - MATCH IMAGE 2 */

.ntp-hero{
    background:
        linear-gradient(90deg, rgba(5,35,75,.96) 0%, rgba(5,35,75,.88) 34%, rgba(5,35,75,.30) 58%, rgba(5,35,75,0) 78%),
        url('assets/images/plumber-hero.jpg') !important;
    background-size:cover !important;
    background-position:center right !important;
    min-height:620px !important;
    padding:70px 0 !important;
}

.ntp-hero-grid{
    display:block !important;
}

.ntp-hero-content{
    max-width:560px !important;
}

.ntp-badge{
    background:var(--red) !important;
    color:#fff !important;
    border:none !important;
    border-radius:30px !important;
    font-size:15px !important;
    padding:9px 18px !important;
}

.ntp-hero h1{
    font-size:74px !important;
    line-height:.95 !important;
    max-width:520px !important;
}

.ntp-hero h1::first-line{
    color:#fff;
}

.ntp-hero h1{
    color:#fff !important;
}

.ntp-hero h1::after{
    content:"";
}

.ntp-hero h1{
    text-shadow:0 4px 12px rgba(0,0,0,.25);
}

.ntp-hero-content p{
    font-size:24px !important;
    line-height:1.45 !important;
    max-width:560px !important;
}

.ntp-zip-box{
    max-width:560px !important;
    border-radius:14px !important;
}

.ntp-call-card,
.ntp-hero-card{
    display:none !important;
}

/* STEP 14B - CLEAN HERO MATCH */

.ntp-hero-card,
.ntp-call-card{
    display:none !important;
}

.ntp-hero-grid{
    display:block !important;
}

.ntp-hero-content{
    max-width:600px !important;
}

.ntp-hero{
    background:
        linear-gradient(90deg, rgba(6,36,78,.98) 0%, rgba(6,36,78,.88) 38%, rgba(6,36,78,.35) 62%, rgba(6,36,78,0) 82%),
        url('assets/images/plumber-hero.jpg') !important;
    background-size:cover !important;
    background-position:center right !important;
    min-height:650px !important;
}

.ntp-zip-box{
    max-width:600px !important;
}

/* STEP 16 - HOMEPAGE SERVICES SECTION */

.ntp-services-section{
    background:#f5f8fc;
    padding:85px 0;
}

.ntp-section-head{
    max-width:850px;
    margin:0 auto 45px;
    text-align:center;
}

.ntp-section-head span{
    color:var(--red);
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:1px;
}

.ntp-section-head h2{
    color:var(--blue-dark);
    font-size:42px;
    line-height:1.15;
    margin:12px 0 18px;
}

.ntp-section-head p{
    color:#4b5563;
    font-size:19px;
    line-height:1.7;
}

/* STEP 18 - MOBILE OPTIMIZED SERVICE CARDS */

.ntp-service-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:26px;
}

.ntp-service-card{
    background:#fff;
    border-radius:18px;
    padding:34px 28px;
    box-shadow:0 18px 45px rgba(8,58,119,.10);
    border:1px solid #e5edf7;
    transition:.25s ease;
}

.ntp-service-card:hover{
    transform:translateY(-6px);
    box-shadow:0 24px 60px rgba(8,58,119,.16);
}

.ntp-icon{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#eef5ff;
    border-radius:16px;
    font-size:30px;
    margin-bottom:20px;
}

.ntp-service-card h3{
    color:var(--blue-dark);
    font-size:24px;
    margin-bottom:12px;
}

.ntp-service-card p{
    color:#4b5563;
    font-size:17px;
    line-height:1.65;
}

/* Tablet */
@media(max-width:1000px){
    .ntp-service-grid{
        grid-template-columns:repeat(2, 1fr);
    }
}

/* Mobile */
@media(max-width:640px){
    .ntp-services-section{
        padding:60px 0;
    }

    .ntp-section-head h2{
        font-size:32px;
    }

    .ntp-section-head p{
        font-size:17px;
    }

    .ntp-service-grid{
        grid-template-columns:1fr;
    }

    .ntp-service-card{
        padding:28px 22px;
    }
}

/* STEP 20 - WHY CHOOSE SECTION */

.ntp-why-section{
    background:#fff;
    padding:90px 0;
}

.ntp-why-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:24px;
}

.ntp-why-item{
    background:#f5f8fc;
    border-left:5px solid var(--red);
    padding:30px 24px;
    border-radius:16px;
    box-shadow:0 14px 35px rgba(8,58,119,.08);
}

.ntp-why-item h3{
    color:var(--blue-dark);
    font-size:22px;
    margin-bottom:12px;
}

.ntp-why-item p{
    color:#4b5563;
    font-size:16.5px;
    line-height:1.65;
}

@media(max-width:1100px){
    .ntp-why-grid{
        grid-template-columns:repeat(2, 1fr);
    }
}

@media(max-width:640px){
    .ntp-why-section{
        padding:65px 0;
    }

    .ntp-why-grid{
        grid-template-columns:1fr;
    }
}

/* STEP 22 - HOW IT WORKS SECTION */

.ntp-how-section{
    background:#f5f8fc;
    padding:90px 0;
}

.ntp-how-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:28px;
}

.ntp-how-card{
    background:#fff;
    padding:36px 28px;
    border-radius:18px;
    box-shadow:0 18px 45px rgba(8,58,119,.10);
    text-align:center;
}

.ntp-step-number{
    width:62px;
    height:62px;
    border-radius:50%;
    background:var(--red);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    font-weight:900;
    margin:0 auto 22px;
}

.ntp-how-card h3{
    color:var(--blue-dark);
    font-size:24px;
    margin-bottom:12px;
}

.ntp-how-card p{
    color:#4b5563;
    font-size:17px;
    line-height:1.65;
}

@media(max-width:900px){
    .ntp-how-grid{
        grid-template-columns:1fr;
    }

    .ntp-how-section{
        padding:65px 0;
    }
}

/* STEP 24 - FEATURED SERVICES LINKS */

.ntp-featured-services{
    background:#fff;
    padding:90px 0;
}

.ntp-feature-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:18px;
}

.ntp-feature-item{
    background:#f5f8fc;
    color:var(--blue-dark);
    padding:20px 18px;
    border-radius:14px;
    font-weight:800;
    text-align:center;
    border:1px solid #e5edf7;
    transition:.25s ease;
}

.ntp-feature-item:hover{
    background:var(--blue-dark);
    color:#fff;
    transform:translateY(-4px);
}

@media(max-width:1000px){
    .ntp-feature-grid{
        grid-template-columns:repeat(2, 1fr);
    }
}

@media(max-width:640px){
    .ntp-featured-services{
        padding:65px 0;
    }

    .ntp-feature-grid{
        grid-template-columns:1fr;
    }
}

/* STEP 26 - NATIONWIDE COVERAGE */

.ntp-coverage-section{
    background:linear-gradient(135deg,#083A77,#0B4EA2);
    color:#fff;
    padding:90px 0;
}

.ntp-coverage-grid{
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:60px;
    align-items:center;
}

.ntp-coverage-content span{
    color:#ffd166;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:1px;
}

.ntp-coverage-content h2{
    font-size:46px;
    line-height:1.15;
    margin:14px 0 20px;
}

.ntp-coverage-content p{
    font-size:19px;
    line-height:1.8;
    color:rgba(255,255,255,.92);
}

.ntp-coverage-box{
    background:#fff;
    color:#222;
    padding:32px;
    border-radius:18px;
    box-shadow:0 20px 60px rgba(0,0,0,.25);
}

.ntp-coverage-box h3{
    color:var(--blue-dark);
    margin-bottom:18px;
    font-size:26px;
}

@media(max-width:900px){

    .ntp-coverage-section{
        padding:65px 0;
    }

    .ntp-coverage-grid{
        grid-template-columns:1fr;
        gap:35px;
    }

    .ntp-coverage-content h2{
        font-size:34px;
    }

}
/*=================================================
STEP 28 - COMMON PLUMBING PROBLEMS
=================================================*/

.ntp-problems-section{
    background:#f7f9fc;
    padding:90px 0;
}

.ntp-problems-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.ntp-problem-item{
    background:#fff;
    border-radius:14px;
    padding:22px;
    text-align:center;
    font-weight:700;
    color:var(--blue-dark);
    border:1px solid #e6edf6;
    box-shadow:0 10px 28px rgba(8,58,119,.08);
    transition:.25s ease;
}

.ntp-problem-item:hover{
    background:var(--red);
    color:#fff;
    transform:translateY(-4px);
}

/* Tablet */

@media(max-width:1000px){

    .ntp-problems-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

/* Mobile */

@media(max-width:640px){

    .ntp-problems-section{
        padding:65px 0;
    }

    .ntp-problems-grid{
        grid-template-columns:1fr;
    }

}
/* STEP 30 - FAQ SECTION */

.ntp-faq-section{
    background:#fff;
    padding:90px 0;
}

.ntp-faq-list{
    max-width:950px;
    margin:0 auto;
    display:grid;
    gap:22px;
}

.ntp-faq-item{
    background:#f5f8fc;
    border-radius:16px;
    padding:28px;
    border-left:5px solid var(--red);
    box-shadow:0 12px 34px rgba(8,58,119,.08);
}

.ntp-faq-item h3{
    color:var(--blue-dark);
    font-size:23px;
    margin-bottom:12px;
}

.ntp-faq-item p{
    color:#4b5563;
    font-size:17px;
    line-height:1.75;
}

@media(max-width:640px){
    .ntp-faq-section{
        padding:65px 0;
    }

    .ntp-faq-item{
        padding:24px 20px;
    }
}
/* STEP 32 - BLOG / RESOURCE SECTION */

.ntp-blog-section{
    background:#f5f8fc;
    padding:90px 0;
}

.ntp-blog-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}

.ntp-blog-card{
    background:#fff;
    padding:32px;
    border-radius:18px;
    box-shadow:0 16px 40px rgba(8,58,119,.10);
    border-top:5px solid var(--red);
}

.ntp-blog-card h3{
    color:var(--blue-dark);
    font-size:24px;
    line-height:1.25;
    margin-bottom:14px;
}

.ntp-blog-card p{
    color:#4b5563;
    font-size:17px;
    line-height:1.7;
}

@media(max-width:900px){
    .ntp-blog-grid{
        grid-template-columns:1fr;
    }

    .ntp-blog-section{
        padding:65px 0;
    }
}
/* STEP 45 - RETREAVER SUCCESS CALL CARD */

.ntp-success-box{
    background:#f5f8fc;
    border:1px solid #dbe7f5;
    border-radius:16px;
    padding:28px;
    text-align:center;
    margin-top:18px;
}

.ntp-success-icon{
    font-size:34px;
    margin-bottom:8px;
}

.ntp-success-box h3{
    color:var(--blue-dark);
    font-size:28px;
    margin-bottom:8px;
}

.ntp-success-text{
    color:#334155;
    font-size:17px;
    margin-bottom:18px;
}

.ntp-call-button{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    background:var(--red);
    color:#fff;
    padding:18px 22px;
    border-radius:14px;
    font-weight:900;
    font-size:20px;
    box-shadow:0 14px 34px rgba(214,40,40,.28);
}

.ntp-call-button span{
    font-size:30px;
    margin-top:4px;
}

.ntp-expire-note{
    margin-top:14px;
    color:#7c2d12;
    font-size:14px;
    font-weight:700;
}

@media(max-width:640px){
    .ntp-success-box{
        padding:22px 18px;
    }

    .ntp-call-button span{
        font-size:24px;
    }
}
/* STEP 55 - SERVICE PAGE TEMPLATE */

.ntp-service-hero{
    background:linear-gradient(135deg,#083A77,#0B4EA2);
    color:#fff;
    padding:90px 0;
}

.ntp-service-badge{
    display:inline-block;
    background:var(--red);
    color:#fff;
    padding:8px 18px;
    border-radius:30px;
    font-weight:800;
    text-transform:uppercase;
    margin-bottom:18px;
}

.ntp-service-hero h1{
    font-size:58px;
    line-height:1.05;
    margin-bottom:18px;
}

.ntp-service-intro{
    max-width:760px;
    font-size:21px;
    line-height:1.7;
    margin-bottom:30px;
}

.ntp-service-content{
    padding:80px 0;
}

.ntp-service-content .ntp-container{
    max-width:980px;
}

.ntp-service-content h2{
    color:var(--blue-dark);
    font-size:36px;
    margin:35px 0 15px;
}

.ntp-service-content h3{
    color:var(--blue-dark);
    font-size:26px;
    margin:28px 0 12px;
}

.ntp-service-content p,
.ntp-service-content li{
    color:#374151;
    font-size:18px;
    line-height:1.8;
}

.ntp-service-content ul{
    margin:18px 0 25px 25px;
}

@media(max-width:640px){
    .ntp-service-hero{
        padding:65px 0;
    }

    .ntp-service-hero h1{
        font-size:42px;
    }

    .ntp-service-intro{
        font-size:18px;
    }

    .ntp-service-content{
        padding:60px 0;
    }
}
/* STEP 58 - SERVICE PAGE LAYOUT + SIDEBAR */

.ntp-service-layout{
    display:grid;
    grid-template-columns:1fr 320px;
    gap:45px;
    align-items:start;
}

.ntp-service-main{
    min-width:0;
}

.ntp-service-sidebar{
    position:sticky;
    top:110px;
}

.ntp-sidebar-box{
    background:#f5f8fc;
    border:1px solid #e5edf7;
    border-radius:18px;
    padding:26px;
    margin-bottom:22px;
    box-shadow:0 14px 34px rgba(8,58,119,.08);
}

.ntp-sidebar-box h3{
    color:var(--blue-dark);
    font-size:24px;
    margin-bottom:16px;
}

.ntp-sidebar-box ul{
    margin:0;
    padding:0;
    list-style:none;
}

.ntp-sidebar-box li{
    padding:10px 0;
    border-bottom:1px solid #dbe7f5;
    font-weight:700;
    color:#334155;
}

.ntp-sidebar-btn{
    display:block;
    background:var(--red);
    color:#fff;
    text-align:center;
    padding:15px 18px;
    border-radius:12px;
    font-weight:900;
    margin-top:16px;
}

@media(max-width:900px){
    .ntp-service-layout{
        grid-template-columns:1fr;
    }

    .ntp-service-sidebar{
        position:static;
    }
}
/* STEP 61 - PREMIUM SERVICE HERO */

.ntp-service-hero-pro{
    position:relative;
    background:
        linear-gradient(90deg, rgba(3,32,76,.98) 0%, rgba(3,32,76,.88) 48%, rgba(3,32,76,.45) 100%),
        url('assets/images/service-plumbing-bg.jpg');
    background-size:cover;
    background-position:center right;
    color:#fff;
    padding:80px 0 120px;
    overflow:visible;
}

.ntp-service-hero-grid{
    display:grid;
    grid-template-columns:1fr 380px;
    gap:50px;
    align-items:start;
}

.ntp-service-hero-left{
    max-width:780px;
}

.ntp-service-hero-pro .ntp-service-badge{
    background:var(--red);
    box-shadow:0 12px 28px rgba(214,40,40,.35);
}

.ntp-service-hero-pro h1{
    font-size:64px;
    line-height:1;
    margin:18px 0;
}

.ntp-service-hero-pro .ntp-service-intro{
    max-width:760px;
    font-size:21px;
    line-height:1.55;
    margin-bottom:28px;
}

.ntp-service-zip-panel{
    max-width:760px;
    background:rgba(7,48,104,.72);
    border:1px solid rgba(255,255,255,.25);
    border-radius:16px;
    padding:26px;
    box-shadow:0 20px 50px rgba(0,0,0,.25);
}

.ntp-service-zip-panel h3{
    color:#fff;
    font-size:22px;
    margin-bottom:16px;
}

@media(max-width:900px){
    .ntp-service-hero-pro{
        padding:65px 0;
        background:
            linear-gradient(180deg, rgba(3,32,76,.96), rgba(3,32,76,.92)),
            url('assets/images/service-plumbing-bg.jpg');
        background-size:cover;
        background-position:center;
    }

    .ntp-service-hero-grid{
        grid-template-columns:1fr;
    }

    .ntp-service-hero-pro h1{
        font-size:42px;
    }

    .ntp-service-zip-panel{
        padding:22px;
    }
}
/* STEP 63 - FIX SERVICE PAGE SIDEBAR POSITION + DESIGN */

.ntp-service-content{
    margin-top:-70px;
    position:relative;
    z-index:5;
}

.ntp-service-sidebar{
    position:relative;
    top:0;
}

.ntp-sidebar-box{
    background:#fff;
    border-radius:18px;
    border:1px solid #dbe7f5;
    box-shadow:0 24px 70px rgba(8,58,119,.16);
    padding:0;
    overflow:hidden;
}

.ntp-sidebar-box h3{
    background:linear-gradient(135deg,#083A77,#0B4EA2);
    color:#fff;
    padding:24px 26px;
    margin:0;
    font-size:24px;
}

.ntp-sidebar-box ul{
    padding:14px 24px 20px;
}

.ntp-sidebar-box li{
    padding:15px 0;
    border-bottom:1px solid #e5edf7;
    color:#0f172a;
    font-weight:800;
}

.ntp-sidebar-box li::after{
    content:'›';
    float:right;
    color:var(--red);
    font-size:24px;
    line-height:1;
}

.ntp-sidebar-call{
    padding:28px !important;
    text-align:center;
}

.ntp-sidebar-call h3{
    background:none;
    color:var(--blue-dark);
    padding:0;
    font-size:28px;
}

.ntp-sidebar-call h3::after{
    content:' Right Now?';
    color:var(--red);
    display:block;
}

.ntp-sidebar-btn{
    background:var(--red);
    box-shadow:0 14px 34px rgba(214,40,40,.25);
}

@media(max-width:900px){
    .ntp-service-content{
        margin-top:0;
    }
}
/* STEP 65 - REDESIGN SERVICE PAGE CONTENT LAYOUT */

.ntp-service-content{
    margin-top:0 !important;
    padding:70px 0 90px !important;
    background:#fff;
}

.ntp-service-content .ntp-container.ntp-service-layout{
    max-width:1400px !important;
    width:94% !important;
    margin:0 auto !important;

    display:grid !important;
    grid-template-columns:minmax(0,1fr) 360px !important;

    column-gap:80px !important;

    align-items:start !important;
}

.ntp-service-main{
    background:#fff;
    max-width:none !important;
}

.ntp-service-copy-block{
    padding-bottom:34px;
    margin-bottom:34px;
    border-bottom:1px solid #dbe7f5;
}

.ntp-service-copy-block h2{
    color:var(--blue-dark);
    font-size:36px;
    line-height:1.2;
    margin:0 0 18px;
}

.ntp-service-copy-block p{
    color:#1f2937;
    font-size:19px;
    line-height:1.8;
    max-width:820px;
}

.ntp-service-problem-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:18px;
    margin-top:25px;
}

.ntp-service-problem-grid div{
    background:#f5f8fc;
    border:1px solid #dbe7f5;
    border-radius:14px;
    padding:20px;
    text-align:center;
    font-weight:800;
    color:var(--blue-dark);
    box-shadow:0 10px 28px rgba(8,58,119,.08);
}

.ntp-service-sidebar{
    position:sticky !important;
    top:120px !important;
}

@media(max-width:1000px){
    .ntp-service-content .ntp-container.ntp-service-layout{
        grid-template-columns:1fr !important;
    }

    .ntp-service-sidebar{
        position:static !important;
    }

    .ntp-service-problem-grid{
        grid-template-columns:repeat(2, 1fr);
    }
}

@media(max-width:640px){
    .ntp-service-problem-grid{
        grid-template-columns:1fr;
    }

    .ntp-service-copy-block h2{
        font-size:30px;
    }

    .ntp-service-copy-block p{
        font-size:17px;
    }
}
/*=================================================
STEP 72 - PREMIUM INTERACTIVE SERVICE CARDS
=================================================*/

.ntp-problem-card{
    background:#fff;
    border:1px solid #dbe7f5;
    border-radius:18px;
    padding:30px 24px;
    text-align:center;
    box-shadow:0 16px 40px rgba(8,58,119,.08);
    transition:all .30s ease;
    display:flex;
    flex-direction:column;
    height:100%;
}

.ntp-problem-card:hover{
    transform:translateY(-8px);
    box-shadow:0 28px 70px rgba(8,58,119,.16);
    border-color:var(--red);
}

.ntp-problem-icon{
    width:78px;
    height:78px;
    border-radius:50%;
    background:#eef5ff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:36px;
    margin:0 auto 20px;
    transition:.30s ease;
}

.ntp-problem-card:hover .ntp-problem-icon{
    background:var(--red);
    color:#fff;
    transform:scale(1.08);
}

.ntp-problem-card h3{
    color:var(--blue-dark);
    font-size:21px;
    line-height:1.3;
    margin-bottom:14px;
}

.ntp-problem-card p{
    color:#4b5563;
    font-size:15.5px;
    line-height:1.7;
    flex:1;
    margin-bottom:22px;
}

.ntp-learn-more{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:var(--red);
    font-weight:800;
    font-size:15px;
    transition:.25s ease;
}

.ntp-problem-card:hover .ntp-learn-more{
    letter-spacing:.5px;
    transform:translateX(4px);
}
/* STEP 74 - PREMIUM SERVICE SIDEBAR */

.ntp-sidebar-services{
    padding:0 !important;
}

.ntp-sidebar-services h3{
    background:linear-gradient(135deg,#083A77,#0B4EA2);
    color:#fff;
    padding:24px 26px;
    margin:0;
}

.ntp-sidebar-service-link{
    display:block;
    padding:18px 24px;
    border-bottom:1px solid #e5edf7;
    background:#fff;
    transition:.25s ease;
}

.ntp-sidebar-service-link strong{
    display:block;
    color:var(--blue-dark);
    font-size:17px;
}

.ntp-sidebar-service-link span{
    display:block;
    color:#64748b;
    font-size:14px;
    margin-top:4px;
}

.ntp-sidebar-service-link:hover{
    background:#f5f8fc;
    padding-left:30px;
}

.ntp-sidebar-action{
    background:linear-gradient(135deg,#0B4EA2,#083A77) !important;
    color:#fff;
    padding:30px !important;
    text-align:center;
}

.ntp-sidebar-action h3{
    background:none !important;
    padding:0 !important;
    color:#fff !important;
    font-size:28px;
}

.ntp-sidebar-action p{
    color:rgba(255,255,255,.9);
    font-size:16px;
    line-height:1.6;
}

.ntp-sidebar-action .ntp-sidebar-btn{
    background:var(--red);
    color:#fff;
}
/* STEP 77 - SERVICE PAGE WHY CHOOSE CARDS */

.ntp-why-card{
    background:#fff;
    border:1px solid #dbe7f5;
    border-radius:18px;
    padding:32px 24px;
    text-align:center;
    box-shadow:0 16px 40px rgba(8,58,119,.08);
    transition:.25s ease;
}

.ntp-why-card:hover{
    transform:translateY(-6px);
    box-shadow:0 26px 60px rgba(8,58,119,.14);
}

.ntp-why-icon{
    width:70px;
    height:70px;
    border-radius:50%;
    background:#eef5ff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:32px;
    margin:0 auto 18px;
}

.ntp-why-card h3{
    color:var(--blue-dark);
    font-size:23px;
    margin-bottom:12px;
}

.ntp-why-card p{
    color:#4b5563;
    font-size:16.5px;
    line-height:1.65;
}

@media(max-width:640px){
    .ntp-why-card{
        padding:28px 22px;
    }
}
/* STEP 79 - RELATED SERVICES */

.ntp-related-services{
    background:#fff;
    padding:85px 0;
}

.ntp-related-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.ntp-related-card{
    background:#f5f8fc;
    border:1px solid #dbe7f5;
    border-radius:18px;
    padding:28px 24px;
    text-align:center;
    box-shadow:0 16px 40px rgba(8,58,119,.08);
    transition:.25s ease;
}

.ntp-related-card:hover{
    transform:translateY(-6px);
    box-shadow:0 26px 60px rgba(8,58,119,.14);
    border-color:var(--red);
}

.ntp-related-icon{
    font-size:36px;
    margin-bottom:14px;
}

.ntp-related-card h3{
    color:var(--blue-dark);
    font-size:23px;
    margin-bottom:10px;
}

.ntp-related-card p{
    color:#4b5563;
    font-size:16px;
    margin-bottom:14px;
}

.ntp-related-card span{
    color:var(--red);
    font-weight:900;
}

@media(max-width:900px){
    .ntp-related-grid{
        grid-template-columns:1fr;
    }
}