/* Staging-only polish for the legacy general-page template family. */
body:is(.page-template-template-general-page, .page-template-template-conversion-landing) {
    --v-general-ink: #17212d;
    --v-general-muted: #526174;
    --v-general-surface: #f5f8fc;
    --v-general-line: #dce5e8;
    --v-general-orange: #f26b21;
    --v-general-navy: #0f2d5c;
}

body:is(.page-template-template-general-page, .page-template-template-conversion-landing) #primary > section:not(.v-home-hero):not(.v-home-stat-strip) {
    padding-block: clamp(3.5rem, 6vw, 6rem) !important;
}

body:is(.page-template-template-general-page, .page-template-template-conversion-landing) #primary > section > .container {
    max-width: 1180px;
}

body:is(.page-template-template-general-page, .page-template-template-conversion-landing) #primary h2,
body:is(.page-template-template-general-page, .page-template-template-conversion-landing) #primary h3 {
    color: var(--v-general-ink) !important;
    letter-spacing: -0.025em;
}

body:is(.page-template-template-general-page, .page-template-template-conversion-landing) #primary p {
    color: var(--v-general-muted);
    line-height: 1.7;
}

body:is(.page-template-template-general-page, .page-template-template-conversion-landing) .v-page-content,
body:is(.page-template-template-general-page, .page-template-template-conversion-landing) .v-reviews-section,
body:is(.page-template-template-general-page, .page-template-template-conversion-landing) .vsa-proof {
    background: #fff !important;
}

body:is(.page-template-template-general-page, .page-template-template-conversion-landing) .postservices,
body:is(.page-template-template-general-page, .page-template-template-conversion-landing) .v-service-area-section,
body:is(.page-template-template-general-page, .page-template-template-conversion-landing) #primary > section.py-6.bg-light {
    background: var(--v-general-surface) !important;
}

body:is(.page-template-template-general-page, .page-template-template-conversion-landing) .v-page-content .border-start,
body:is(.page-template-template-general-page, .page-template-template-conversion-landing) .v-page-content .shadow-sm,
body:is(.page-template-template-general-page, .page-template-template-conversion-landing) .v-service-area-section .card,
body:is(.page-template-template-general-page, .page-template-template-conversion-landing) .vsa-proof .carousel-item > .row > div > * {
    border: 1px solid var(--v-general-line) !important;
    border-radius: 1.15rem;
    box-shadow: 0 12px 30px rgba(15, 45, 92, 0.07) !important;
}

body:is(.page-template-template-general-page, .page-template-template-conversion-landing) .v-page-content .border-start {
    border-left: 4px solid var(--v-general-orange) !important;
    padding: clamp(1.5rem, 3vw, 2.5rem) !important;
}

body:is(.page-template-template-general-page, .page-template-template-conversion-landing) .card-service,
body:is(.page-template-template-general-page, .page-template-template-conversion-landing) .coupon-card,
body:is(.page-template-template-general-page, .page-template-template-conversion-landing) .v-service-area-section .card {
    border-radius: 1.15rem !important;
    height: 100%;
    overflow: hidden;
    transition: transform 180ms ease, box-shadow 180ms ease;
}

body:is(.page-template-template-general-page, .page-template-template-conversion-landing) .card-service:hover,
body:is(.page-template-template-general-page, .page-template-template-conversion-landing) .coupon-card:hover,
body:is(.page-template-template-general-page, .page-template-template-conversion-landing) .v-service-area-section .card:hover {
    box-shadow: 0 20px 42px rgba(15, 45, 92, 0.14) !important;
    transform: translateY(-4px);
}

body:is(.page-template-template-general-page, .page-template-template-conversion-landing) .card-service .card-img-top {
    height: clamp(12rem, 22vw, 15rem) !important;
}

body:is(.page-template-template-general-page, .page-template-template-conversion-landing) .card-service .card-img-top img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

body:is(.page-template-template-general-page, .page-template-template-conversion-landing) .v-coupon-banner-strip {
    background: linear-gradient(135deg, #fff2df 0%, #ffd48b 100%) !important;
}

body:is(.page-template-template-general-page, .page-template-template-conversion-landing) .vsa-proof .carousel-item > .row > div > * {
    background: #fff;
    height: 100%;
    padding: clamp(1.25rem, 2.5vw, 2rem);
}

body:is(.page-template-template-general-page, .page-template-template-conversion-landing) .vsa-proof .carousel-item .ratio {
    overflow: hidden;
    padding: 0;
}

body:is(.page-template-template-general-page, .page-template-template-conversion-landing) .btn-primary,
body:is(.page-template-template-general-page, .page-template-template-conversion-landing) .btn-warning {
    border-radius: 999px;
    font-weight: 800;
    padding-inline: 1.25rem;
}

@media (max-width: 767.98px) {
    body:is(.page-template-template-general-page, .page-template-template-conversion-landing) #primary > section:not(.v-home-hero):not(.v-home-stat-strip) {
        padding-block: 3rem !important;
    }

    body:is(.page-template-template-general-page, .page-template-template-conversion-landing) .v-page-content .border-start {
        padding: 1.35rem !important;
    }

    body:is(.page-template-template-general-page, .page-template-template-conversion-landing) .card-service .card-img-top {
        height: 12rem !important;
    }
}
