.srv.v8 {

    /* Body text opacity */
    .srv-v8-body {
        opacity: 0.6;
    }

    /* Service tags — pill style */
    .srv-v8-tag {
        --tag-s: 1rem;
        --tag-w: 700;
        background: hsl(from var(--text-color) h s l / 0.2);
        border: 1px solid hsl(from var(--text-color) h s l / 0.5);
        border-radius: 2.78rem;
        padding: .22rem 0.889rem;
        line-height: 1.6;
        color: var(--text-color);
        text-decoration: none;
        transition: background-color 0.2s ease;

        &:hover,
        &:focus-visible {
            background: hsl(from var(--text-color) h s l / 0.35);
        }
    }

    /* Phone label weight override */
    .srv-v8-phone-label {
        --fnt-t-2-w: 600;
        --fnt-t-2-s: 1.67rem;
        --fnt-t-2-lh: 1;
    }

    /* Phone number size override */
    .fnt_phn {
        --fnt-phn-s: 2.3rem;
    }


    /* Red primary button in light card */
    .bg-bx.ulk-bg {

        @media screen and (min-width:1280px) {
            &::after {
                right: calc((((var(--vw_) - clamp(var(--mn_min), var(--mn-w), var(--mn_max)) ) / 2) ) * -1);
                z-index: -2;
                left: initial;
            }

             &::before {
                width: calc(100% + calc((((var(--vw_) - clamp(var(--mn_min), var(--mn-w), var(--mn_max)) ) / 2) )));
                left: initial;
                right: calc((((var(--vw_) - clamp(var(--mn_min), var(--mn-w), var(--mn_max)) ) / 2) ) * -1);
             }
        }

        /* White text + icon background on blue card button */
        .btn.v1 {
            --btn-clr: var(--white);

            svg path:first-child {
                fill: var(--white);
                opacity: 1;
            }
        }

        > .pd_v.pd_h {
            gap: 0.889rem;

            @media screen and (min-width:1280px) {
                padding-right: 0;
            }

        }
    }

    .fourth {
        .fnt_t-2 {
            color: var(--fnt-t-co);
        }
    }

    /* Hours list */
    .srv-v8-hours {
        gap: 0.222rem;
    }

    .srv-v8-hour {
        border-bottom: 1px solid hsl(from var(--bdr-clr) h s l / 0.2);
        padding: 0.444rem 0;
    }

    .srv-v8-hour .fnt_t-nt {
        --fnt-t-nt-w: 700;
        color: var(--fnt-t-2);
    }

    /* Solid white border on secondary button */
    .btn.v2 {
        --btn-v2-bdr-w: 2px;
        border-style: solid;
        border-color: var(--white);
    }

    /* Button border-radius */
    .btn {
        border-radius: 8px;
        @media screen and (min-width:1280px) {
            & {
                width: 100%;
            }
        }
    }

    @media screen and (min-width:1280px) {
        & {
            padding-block: 0;

            .five-8ths {
                --pd-v: clamp(calc(var(--sp-vp-min) * 0.5), var(--sp-vp), calc(var(--sp-vp-max) * 0.5) );
                flex: 0 1 auto;
                padding-block: var(--pd-v);
            }
        }
    }
}
