* {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

:root {
    --gold: #d4a017;
    --gold-light: #f0c040;
    --maroon: #0d1b3e;
    --maroon2: #1a2d5a;
    --red-dark: #243669;
}

html {
    scroll-behavior: smooth
}

body {
    font-family: 'Poppins', Arial, sans-serif;
    color: #222;
    overflow-x: hidden;
    background: #fffdf5
}

img {
    max-width: 100%;
    height: auto;
    display: block
}

a {
    text-decoration: none
}

ul {
    list-style: none;
    padding: 0;
    margin: 0
}
/* ===== TOP BAR ===== */

.top-bar {
    background: linear-gradient(90deg, var(--red-dark) 0%, var(--maroon2) 50%, var(--red-dark) 100%);
    text-align: center;
    padding: 9px 15px;
    color: #fff;
    font-size: 13px;
    letter-spacing: .5px;
    font-weight: 500;
    border-bottom: 2px solid var(--gold)
}

.top-bar p {
    margin: 0
}

.top-bar span {
    color: #ffd966;
    font-weight: 700
}
/* ===== HEADER ===== */

.top-header {
    background: #fff;
    padding: 0
}

.top-header img {
    width: 100%;
    height: auto;
    display: block
}

.top-header .header-wrap {
    display: flex;
    flex-direction: column
}
/* ===== MARQUEE ===== */

.marquee-bar {
    background: linear-gradient(90deg, var(--red-dark), var(--maroon2), var(--red-dark));
    padding: 10px 0 5px 0px;
    color: #fff;
    font-size: 15px;
    overflow: hidden;
    border-top: 2px solid var(--gold);
    border-bottom: 2px solid var(--gold)
}

.marquee-bar.dark {
    background: linear-gradient(90deg, var(--red-dark), var(--maroon2), var(--red-dark));
    border-top: 2px solid var(--gold);
    border-bottom: 2px solid var(--gold)
}

marquee {
    font-size: 16px;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
}
/* ===== BANNER ===== */

.banner-img {
    width: 100%;
    height: auto;
    display: block
}
/* ===== SECTION TITLE ===== */

.sec-title {
    text-align: center;
    padding: 50px 0 30px;
    position: relative
}

.sec-title .subtitle {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--maroon2);
    margin-bottom: 10px;
    display: block
}

.sec-title h2 {
    font-family: 'Cinzel', serif;
    font-size: 28px;
    font-weight: 700;
    color: #1a0000;
    position: relative;
    display: inline-block;
    line-height: 1.3
}

.sec-title .divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 14px
}

.sec-title .divider::before,
.sec-title .divider::after {
    content: "";
    height: 2px;
    width: 60px;
    background: linear-gradient(90deg, transparent, var(--gold))
}

.sec-title .divider::after {
    background: linear-gradient(90deg, var(--gold), transparent)
}

.sec-title .divider i {
    color: var(--gold);
    font-size: 16px
}

@media(min-width:768px) {
    .sec-title h2 {
        font-size: 34px
    }
}
/* ===== AWARDS SECTION 1 ===== */

.awards-sec {
    padding: 60px 0;
    background: #fff;
    border-bottom: 3px solid #f0e8d5
}

.award-card {
    position: relative;
    margin-bottom: 22px;
    border-radius: 10px;
    overflow: hidden;
    border: 2px solid rgba(200, 144, 10, .25);
    box-shadow: 0 4px 20px rgba(0, 0, 0, .1);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
    background: #fff
}

.award-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 40px rgba(200, 144, 10, .2);
    border-color: var(--gold)
}

.award-card img {
    width: 100%;
    display: block;
    height: auto
}

.award-card .shine {
    position: absolute;
    top: -50%;
    left: -60%;
    width: 40%;
    height: 200%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .25), transparent);
    transform: skewX(-20deg);
    transition: left .5s ease
}

.award-card:hover .shine {
    left: 120%
}
/* ===== SERVICE CARDS ===== */

.service-sec {
    padding: 60px 0;
    background: linear-gradient(180deg, #fff7f0 0%, #fff 100%);
    border-bottom: 3px solid #f0e8d5
}

.srv-card {
    background: #fff;
    border: 1px solid #e8d5b0;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 26px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, .08);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease
}

.srv-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 16px 48px rgba(200, 144, 10, .18);
    border-color: var(--gold)
}

.srv-card .img-wrap {
    overflow: hidden;
    position: relative
}

.srv-card .img-wrap img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform .4s ease
}

.srv-card:hover .img-wrap img {
    transform: scale(1.05)
}

.srv-card-body {
    padding: 20px;
    background: linear-gradient(135deg, #5a0000 0%, var(--maroon) 100%);
    border-top: 2px solid var(--gold)
}

.srv-card-body h3 {
        font-family: 'Cinzel', serif;
    font-size: 20px;
    color: #fff;
    margin-bottom: 10px;
    font-weight: 700;
    text-align: center;
}

.srv-card-body p {
    font-size: 14px;
    color: #fff;
    margin-bottom: 16px;
    line-height: 1.7;
    text-align: center;
}

.btn-call {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: linear-gradient(135deg, #fff 0%, #fff5e0 100%);
    color: var(--maroon);
    border: 1px solid var(--gold);
    padding: 10px 16px;
    font-size: 15px;
    border-radius: 8px;
    width: 100%;
    text-align: center;
    font-weight: 700;
    transition: all .3s ease;
    letter-spacing: .3px;
    margin-right: 10px;
}

.btn-call:hover {
    background: linear-gradient(135deg, #FF0000 0%, #FF0000 100%);
    color: #fff;
    border-color: #FF0000;
    transform: scale(1.02)
}

.btn-wp {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: linear-gradient(135deg, #fff 0%, #fff5e0 100%);
    color: var(--maroon);
    border: 1px solid var(--gold);
    padding: 10px 16px;
    font-size: 15px;
    border-radius: 8px;
    width: 100%;
    text-align: center;
    font-weight: 700;
    transition: all .3s ease;
    letter-spacing: .3px
}
.btn-wp:hover {
    background: linear-gradient(135deg, #1C651B 0%, #1C651B 100%);
    color: #fff;
    border-color: #1C651B;
    transform: scale(1.02)
}
/* ===== ABOUT ===== */

.about-sec {
    padding: 70px 0;
    background: #fff;
    border-bottom: 3px solid #f0e8d5
}

.about-inner-title {
    font-family: 'Cinzel', serif;
    font-size: 26px;
    font-weight: 700;
    color: #1a0000;
    margin-bottom: 8px;
    line-height: 1.3
}

.about-gold-line {
    display: inline-block;
    height: 3px;
    width: 80px;
    background: linear-gradient(90deg, var(--maroon2), var(--gold));
    border-radius: 3px;
    margin-bottom: 20px
}

.about-sec p {
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 14px;
    color: #444
}

.about-sec .tag {
    color: var(--maroon2);
    font-weight: 700
}

.about-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, var(--maroon), var(--maroon2));
    color: #fff;
    padding: 12px 28px;
    border-radius: 8px;
    font-size: 15px;
    margin-top: 20px;
    font-weight: 600;
    border: 2px solid var(--gold);
    transition: all .3s ease
}

.about-btn:hover {
    background: linear-gradient(135deg, var(--gold), #a07000);
    color: #fff
}

.about-list {
    margin: 16px 0
}

.about-list li {
    padding: 8px 0;
    font-size: 15px;
    color: #444;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px dashed #e0c88a
}

.about-list li i {
    color: var(--maroon2);
    font-size: 14px
}

.about-img-wrap {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 12px 48px rgba(0, 0, 0, .15);
    border: 3px solid var(--gold)
}

.about-img-wrap img {
    width: 100%;
    display: block
}
/* ===== STATS ===== */

.stats-sec {
    padding: 60px 0;
    background: linear-gradient(135deg, var(--red-dark) 0%, var(--maroon) 50%, var(--red-dark) 100%);
    position: relative
}

.stats-sec::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at center, rgba(200, 144, 10, .15) 0%, transparent 70%)
}

.stat-box {
    padding: 30px 20px;
    text-align: center;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 14px;
    margin-bottom: 22px;
    background: rgba(255, 255, 255, .07);
    transition: all .3s ease
}

.stat-box:hover {
    background: rgba(255, 255, 255, .12);
    transform: translateY(-4px);
    border-color: var(--gold-light)
}

.stat-icon {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .15);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
    border: 2px solid rgba(255, 215, 100, .5)
}

.stat-icon i {
    font-size: 40px;
    color: #ffd966
}

.stat-box h3 {
    font-family: 'Cinzel', serif;
    font-size: 34px;
    font-weight: 900;
    color: #ffd966;
    margin: 8px 0 4px
}

.stat-box p {
    font-size: 15px;
    color: #ffcccc;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 600
}
/* ===== WHY CHOOSE US ===== */

.why-sec {
    padding: 60px 0;
    background: #fff;
    border-bottom: 3px solid #f0e8d5
}

.why-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    margin-top: 10px
}

.why-item {
    background: #fff;
    border: 2px solid #e8d5b0;
    border-radius: 14px;
    padding: 30px 20px;
    text-align: center;
    flex: 1 1 220px;
    max-width: 260px;
    transition: all .3s ease;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .06)
}

.why-item:hover {
    border-color: var(--gold);
    box-shadow: 0 12px 40px rgba(200, 144, 10, .15);
    transform: translateY(-6px)
}

.why-icon {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--maroon), var(--maroon2));
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
    border: 2px solid var(--gold)
}

.why-icon i {
    font-size: 26px;
    color: #ffd966
}

.why-item h4 {
    font-family: 'Cinzel', serif;
    font-size: 15px;
    color: #1a0000;
    margin-bottom: 10px;
    font-weight: 700
}

.why-item p {
    font-size: 13px;
    color: #666;
    line-height: 1.7
}
/* ===== SERVICES LIST TAGS ===== */

.srv-list-sec {
    padding: 60px 0;
    background: #f5f0e8;
    border-bottom: 3px solid #f0e8d5
}

.srv-list-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    padding: 0 10px
}

.srv-tag {
    background: linear-gradient(135deg, var(--maroon), var(--maroon2));
    color: #fff;
    border-radius: 50px;
    padding: 10px 20px;
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(200, 144, 10, .4);
    transition: all .3s ease;
    font-weight: 500;
    cursor: default
}

.srv-tag:hover {
    background: linear-gradient(135deg, var(--maroon), var(--maroon2));
    border-color: var(--gold);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(200, 144, 10, .2)
}

.srv-tag i {
    color: #ffd966;
    font-size: 12px
}
/* ===== OTHER SERVICES CARDS ===== */

.blog-sec {
    padding: 60px 0;
    background: #fff;
    border-bottom: 3px solid #f0e8d5
}

.blog-card {
    background: #fff;
    border: 1px solid #e8d5b0;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 26px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, .08);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease
}

.blog-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 16px 48px rgba(200, 144, 10, .18);
    border-color: var(--gold)
}

.blog-card .img-wrap {
    overflow: hidden
}

.blog-card .img-wrap img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform .4s ease
}

.blog-card:hover .img-wrap img {
    transform: scale(1.06)
}

.blog-card-body {
    padding: 16px;
    background: linear-gradient(135deg, var(--maroon), var(--maroon2));
    border-top: 2px solid var(--gold)
}

.blog-card-body h3 {
    font-family: 'Cinzel', serif;
    font-size: 13px;
    color: #fff;
    margin-bottom: 12px;
    font-weight: 700;
    line-height: 1.4
}

.blog-meta {
    display: flex;
    gap: 10px;
    margin-bottom: 12px
}

.blog-meta a {
    color: #ffd966;
    font-size: 12px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 4px;
    transition: color .2s
}

.blog-meta a:hover {
    color: #fff
}
/* ===== CERTIFICATES ===== */

.cert-sec {
    padding: 60px 0;
    background: #f5f0e8;
    border-bottom: 3px solid #f0e8d5
}

.cert-box {
    border: 3px solid rgba(212, 98, 26, .3);
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 22px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, .08);
    transition: all .3s ease
}

.cert-box:hover {
    border-color: #d4621a;
    box-shadow: 0 12px 40px rgba(212, 98, 26, .2);
    transform: translateY(-4px)
}

.cert-box img {
    width: 100%;
    display: block;
    transition: transform .4s ease
}

.cert-box:hover img {
    transform: scale(1.03)
}
/* ===== AWARDS 2 ===== */

.awards2-sec {
    padding: 60px 0;
    background: #fff;
    border-bottom: 3px solid #f0e8d5
}

.gold-cert-box {
    border: 3px solid rgba(200, 144, 10, .3);
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 22px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, .08);
    transition: all .3s ease
}

.gold-cert-box:hover {
    border-color: var(--gold);
    box-shadow: 0 12px 40px rgba(200, 144, 10, .2);
    transform: translateY(-4px)
}

.gold-cert-box img {
    width: 100%;
    display: block;
    transition: transform .4s ease
}

.gold-cert-box:hover img {
    transform: scale(1.03)
}
/* ===== REVIEWS ===== */

.reviews-sec {
    padding: 60px 0;
    background: #f5f0e8;
    border-bottom: 3px solid #f0e8d5
}

.review-card {
    border: 3px solid rgba(212, 98, 26, .3);
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 22px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, .08);
    transition: all .3s ease
}

.review-card:hover {
    border-color: #d4621a;
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(212, 98, 26, .2)
}

.review-card img {
    width: 100%;
    display: block
}
/* ===== FLOAT BUTTONS ===== */

.float-phone {
    position: fixed;
    bottom: 90px;
    right: 16px;
    z-index: 999;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: linear-gradient(135deg, #d4621a, #e87722);
    box-shadow: 0 4px 20px rgba(212, 98, 26, .55);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: pulse-orange 2s infinite
}

.float-phone i {
    font-size: 22px;
    color: #fff
}

@keyframes pulse-orange {
    0% {
        box-shadow: 0 0 0 0 rgba(212, 98, 26, .7)
    }
    70% {
        box-shadow: 0 0 0 12px rgba(212, 98, 26, 0)
    }
    100% {
        box-shadow: 0 0 0 0 rgba(212, 98, 26, 0)
    }
}

.float-wa {
    position: fixed;
    bottom: 20px;
    right: 16px;
    z-index: 999;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(37, 211, 102, .5);
    animation: pulse-green 2s infinite
}

.float-wa img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

@keyframes pulse-green {
    0% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, .7)
    }
    70% {
        box-shadow: 0 0 0 12px rgba(37, 211, 102, 0)
    }
    100% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0)
    }
}
/* ===== FOOTER ===== */

.footer {
    background: linear-gradient(180deg, #060e22 0%, #020810 100%);
    color: #ccc;
    padding: 60px 0 0;
    border-top: 3px solid var(--gold)
}

.footer-logo-text {
    font-family: 'Cinzel', serif;
    font-size: 18px;
    color: #ffd966;
    font-weight: 700;
    margin-bottom: 10px
}

.footer h2 {
    font-family: 'Cinzel', serif;
    color: #ffd966;
    font-size: 15px;
    margin-bottom: 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(200, 144, 10, .3)
}

.footer p {
    font-size: 13px;
    line-height: 1.8;
    color: #ccc
}

.footer ul li {
    padding: 6px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .05)
}

.footer ul li a {
    color: #ccc;
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: color .2s
}

.footer ul li a:hover {
    color: #ffd966
}

.footer ul li a i {
    color: #ffd966;
    font-size: 12px
}

.footer-contact a {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #ffd966;
    font-size: 14px;
    font-weight: 600;
    padding: 8px 0;
    border-bottom: 1px solid rgba(200, 144, 10, .2);
    transition: color .2s
}

.footer-contact a:hover {
    color: #fff
}

.footer-contact a i {
    font-size: 16px;
    color: #ffd966
}

.copyright {
    background: #213364;
    text-align: center;
    padding: 16px;
    color: #ffffff;
    font-size: 14px;
}

.copyright span {
    color: #ffd966
}
/* ===== GRID ===== */

.container {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 15px
}

.container-fluid {
    width: 100%;
    padding: 0 40px;
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -12px
}

.col-xs-12 {
    width: 100%;
    padding: 0 12px
}

@media(min-width:768px) {
    .col-sm-4 {
        width: 33.333%;
        float: left;
        padding: 0 12px
    }
    .col-sm-3 {
        width: 25%;
        float: left;
        padding: 0 12px
    }
    .col-sm-6 {
        width: 50%;
        float: left;
        padding: 0 12px
    }
}
/* ===== FADE IN ===== */

.fade-in {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .6s ease, transform .6s ease
}

.fade-in.visible {
    opacity: 1;
    transform: translateY(0)
}
/* ===== CUSTOM REVIEW SECTION ===== */

.cust-review-sec {
    padding: 60px 0;
    background: #f0ece2;
    border-bottom: 3px solid #ddd0b0
}

.gmb-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 28px;
    flex-wrap: wrap
}

.gmb-score-big {
    text-align: center
}

.gmb-score-big .score-num {
    font-size: 52px;
    font-weight: 900;
    color: #0d1b3e;
    line-height: 1
}

.gmb-score-big .score-stars {
    color: #d4621a;
    font-size: 22px;
    letter-spacing: 2px
}

.gmb-score-big .score-count {
    font-size: 12px;
    color: #70757a;
    margin-top: 4px
}

.gmb-divider {
    width: 1px;
    height: 60px;
    background: #ddd
}

.gmb-rating-bars {
    flex: 1;
    min-width: 180px
}

.bar-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px
}

.bar-row span {
    font-size: 12px;
    color: #444;
    white-space: nowrap;
    min-width: 30px
}

.bar-track {
    flex: 1;
    height: 8px;
    background: #e0e0e0;
    border-radius: 4px;
    overflow: hidden
}

.bar-fill {
    height: 100%;
    background: #d4621a;
    border-radius: 4px;
    transition: width .6s ease
}

.reviews-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 36px
}

.gmb-card {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    padding: 18px;
    flex: 1 1 280px;
    max-width: 380px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
    transition: box-shadow .2s ease
}

.gmb-card:hover {
    box-shadow: 0 6px 24px rgba(0, 0, 0, .12)
}

.gmb-card-top {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px
}

.gmb-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    flex-shrink: 0
}

.gmb-user-info .gmb-name {
    font-size: 14px;
    font-weight: 700;
    color: #0d1b3e
}

.gmb-user-info .gmb-city {
    font-size: 12px;
    color: #70757a
}

.gmb-card-stars {
    color: #d4621a;
    font-size: 14px;
    margin-bottom: 8px
}

.gmb-card-text {
    font-size: 13px;
    color: #444;
    line-height: 1.6
}

.gmb-card-date {
    font-size: 11px;
    color: #9aa0a6;
    margin-top: 10px
}
/* Review Form */

.review-form-wrap {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 14px;
    padding: 28px;
    max-width: 600px;
    margin: 0 auto;
    box-shadow: 0 2px 12px rgba(0, 0, 0, .07)
}

.review-form-wrap h3 {
    font-family: 'Cinzel', serif;
    font-size: 18px;
    color: #0d1b3e;
    margin-bottom: 6px;
    font-weight: 700
}

.review-form-wrap p {
    font-size: 13px;
    color: #70757a;
    margin-bottom: 20px
}

.star-picker {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
    cursor: pointer
}

.star-picker i {
    font-size: 32px;
    color: #e0e0e0;
    transition: color .15s
}

.star-picker i.active,
.star-picker i.hover {
    color: #d4621a
}

.form-row {
    margin-bottom: 14px
}

.form-row input,
.form-row textarea {
    width: 100%;
    padding: 11px 14px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 14px;
    font-family: 'Poppins', sans-serif;
    color: #333;
    outline: none;
    transition: border-color .2s
}

.form-row input:focus,
.form-row textarea:focus {
    border-color: var(--maroon2)
}

.form-row textarea {
    resize: vertical;
    min-height: 90px
}

.form-2col {
    display: flex;
    gap: 12px
}

.form-2col .form-row {
    flex: 1
}

.btn-submit-review {
    background: linear-gradient(135deg, var(--maroon), var(--maroon2));
    color: #fff;
    border: none;
    padding: 12px 32px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    width: 100%;
    font-family: 'Poppins', sans-serif;
    transition: background .2s
}

.btn-submit-review:hover {
    background: linear-gradient(135deg, var(--maroon), var(--maroon2))
}

.review-success {
    display: none;
    text-align: center;
    padding: 20px;
    background: #e8f5e9;
    border-radius: 8px;
    color: #2e7d32;
    font-weight: 600;
    font-size: 15px
}

.gmb-hidden {
    display: none
}

.gmb-reveal {
    animation: revealCard .4s ease forwards
}

@keyframes revealCard {
    from {
        opacity: 0;
        transform: translateY(18px)
    }
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.btn-load-more {
    background: #fff;
    border: 2px solid var(--maroon);
    color: var(--maroon);
    padding: 13px 36px;
    border-radius: 30px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    font-family: 'Poppins', sans-serif;
    transition: all .25s ease;
    letter-spacing: .5px
}

.btn-load-more:hover {
    background: var(--maroon);
    color: #fff
}

.btn-load-more i {
    margin-right: 8px;
    transition: transform .3s
}

.btn-load-more:hover i {
    transform: translateY(3px)
}

@media(max-width:600px) {
    .gmb-divider {
        display: none
    }
    .form-2col {
        flex-direction: column;
        gap: 0
    }
    .gmb-card {
        max-width: 100%
    }
}
/* ===== POPUP OVERLAY ===== */

.popup-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: rgba(0, 0, 0, .65);
    align-items: center;
    justify-content: center;
    animation: fadeOverlay .3s ease
}

.popup-overlay.active {
    display: flex
}

@keyframes fadeOverlay {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

.popup-box {
    background: #fff;
    border-radius: 16px;
    max-width: 420px;
    width: 90%;
    padding: 40px 30px 32px;
    text-align: center;
    position: relative;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .4);
    animation: popIn .4s cubic-bezier(.34, 1.56, .64, 1)
}

@keyframes popIn {
    from {
        opacity: 0;
        transform: scale(.7) translateY(30px)
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0)
    }
}

.popup-close {
    position: absolute;
    top: 12px;
    right: 14px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #eee;
    border: none;
    cursor: pointer;
    font-size: 18px;
    font-weight: 700;
    color: #555;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .2s;
    line-height: 1
}

.popup-close:hover {
    background: #0d1b3e;
    color: #fff
}

.popup-h1 {
    font-family: 'Cinzel', serif;
    font-size: 24px;
    font-weight: 900;
    color: #cc0000;
    line-height: 1.35;
    margin-bottom: 16px
}

.popup-sub {
    font-size: 16px;
    font-weight: 700;
    color: #111;
    line-height: 1.5;
    margin-bottom: 28px
}

.popup-btn-call {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: linear-gradient(135deg, #d4621a, #e87722);
    color: #fff;
    border: none;
    padding: 14px 24px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 700;
    width: 100%;
    cursor: pointer;
    margin-bottom: 10px;
    transition: background .2s;
    text-decoration: none
}

.popup-btn-call:hover {
    background: linear-gradient(135deg, #0d1b3e, #1a2d5a);
    color: #fff
}

.popup-btn-wa {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #25d366;
    color: #fff;
    border: none;
    padding: 14px 24px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 700;
    width: 100%;
    cursor: pointer;
    transition: background .2s;
    text-decoration: none
}

.popup-btn-wa:hover {
    background: #1aaa52;
    color: #fff
}

.ser-btn {
    display: flex;
}

.ptb-70 {
    padding-bottom: 70px;
    padding-top: 70px;
}

/*========== Call & WP Start ==========*/
@keyframes pulsate {
    0% {
        transform: scale(0.9, 0.9);
        opacity: 1;
    }

    50% {
        transform: scale(1.2, 1.2);
        opacity: 1;
    }

    100% {
        transform: scale(0.9, 0.9);
        opacity: 1;
    }
}

@keyframes callb {
    0% {
        transform: scale(0.9);
    }

    20% {
        transform: scale(1);
    }

    40% {
        transform: scale(1.1);
    }

    60% {
        transform: scale(1.2);
    }

    80% {
        transform: scale(1.3);
    }

    100% {
        transform: scale(1.4);
    }
}

@keyframes calla {
    0% {
        box-shadow: 0px 0px 0px 4px rgba(162, 162, 162, 0.8);
    }

    20% {
        box-shadow: 0px 0px 0px 6px rgba(162, 162, 162, 0.6);
    }

    40% {
        box-shadow: 0px 0px 0px 8px rgba(162, 162, 162, 0.4);
    }

    60% {
        box-shadow: 0px 0px 0px 10px rgba(162, 162, 162, 0.2);
    }

    80% {
        box-shadow: 0px 0px 0px 12px rgba(162, 162, 162, 0.1);
    }

    100% {
        box-shadow: 0px 0px 0px 14px rgba(162, 162, 162, 0);
    }
}

.fix {
    display: block;
}

.fixed {
    position: fixed;
    padding: 0px;
    bottom: 20px;
    left: 0;
    right: 0;
    background: transparent;
}

.ff5 {
    padding: 0px;
}

.end {
    margin: 0;
    padding: 0;
    text-align: center;
}

.end li {
    display: inline;
    text-align: left;
    list-style: none;
    position: absolute;
    text-align: center;
    height: 60px;
    bottom: 10px;
    width: 60px;
    border-radius: 1px solid #000;
    background: #df0505;
    line-height: 60px;
    border-radius: 50%;
}

.ph-fx {
    left: 20px;
}

.end li a {
    text-decoration: none;
    position: absolute;
    z-index: 9;
    margin: 0 auto;
    left: 0;
    right: 0;
}

.ph-fx a i {
    color: #fff !important;
}

.end li a i {
    font-size: 34px;
    display: block;
    height: 30px;
    width: 32px;
    line-height: 57px;
    color: #fff;
    margin: 0 auto;
    z-index: 99;
}

.end li {
    display: inline;
    text-align: left;
    list-style: none;
    position: absolute;
    text-align: center;
    height: 60px;
    bottom: 10px;
    width: 60px;
    border-radius: 1px solid red;
    background: red;
    line-height: 60px;
    border-radius: 50%;
}

.wh-fx {
    right: 20px;
    background: #1d9c13 !important;
}

.end li a {
    text-decoration: none;
    position: absolute;
    z-index: 9;
    margin: 0 auto;
    left: 0;
    right: 0;
}

.end li a i {
    font-size: 34px;
    display: block;
    height: 30px;
    width: 32px;
    line-height: 50px;
    color: #fff;
    margin: 0 auto;
    z-index: 99;
}
/*========== Call & WP End ==========*/