/* ==========================================================
   CFM SERVICE DETAIL VISUAL BUILDER UI V1.3.10 — REFINEMENT
   ========================================================== */

html.cfm-service-detail-ui-v13 {
    --cfm-sd13-gold: #cbb262;
    --cfm-sd13-gold-deep: #a8872f;
    --cfm-sd13-ink: #171a19;
    --cfm-sd13-text: #454c48;
    --cfm-sd13-muted: #727a75;
    --cfm-sd13-border: #e6e9e7;
    --cfm-sd13-soft: #f7f8f7;
    --cfm-sd13-cream: #fbf7eb;
}

html.cfm-service-detail-ui-v13,
html.cfm-service-detail-ui-v13 body {
    overflow-x: clip;
}

/* Remove only the theme's obsolete grey breadcrumb/page-title. */
html.cfm-service-detail-ui-v13 .cfm-sd13-old-page-title,
html.cfm-service-detail-ui-v13 body > .breadcrumb__area,
html.cfm-service-detail-ui-v13 body > .breadcrumb-area,
html.cfm-service-detail-ui-v13 body > .page-title-area,
html.cfm-service-detail-ui-v13 body > .page_title_area,
html.cfm-service-detail-ui-v13 main > .breadcrumb__area,
html.cfm-service-detail-ui-v13 main > .breadcrumb-area,
html.cfm-service-detail-ui-v13 main > .page-title-area,
html.cfm-service-detail-ui-v13 main > .page_title_area {
    display: none !important;
}

/* Correct top page-title: normal document flow, directly under Header. */
.cfm-sd13-hero {
    position: relative;
    width: 100%;
    min-height: var(--cfm-sd13-height, 315px);
    margin: 0;
    overflow: hidden;
    isolation: isolate;
    display: flex;
    align-items: center;
    background:
        radial-gradient(
            circle at 76% 26%,
            color-mix(
                in srgb,
                var(--cfm-sd13-accent, #cbb262) 12%,
                transparent
            ),
            transparent 27%
        ),
        linear-gradient(
            120deg,
            color-mix(
                in srgb,
                var(--cfm-sd13-bg, #121515) 97%,
                #000
            ) 0%,
            var(--cfm-sd13-bg, #121515) 52%,
            color-mix(
                in srgb,
                var(--cfm-sd13-bg, #121515) 79%,
                #000
            ) 100%
        );
}

.cfm-sd13-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -4;
    opacity: .46;
    background-image:
        linear-gradient(
            rgba(255, 255, 255, .018) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, .018) 1px,
            transparent 1px
        );
    background-size: 42px 42px;
    mask-image: linear-gradient(
        90deg,
        transparent 0%,
        #000 42%,
        #000 100%
    );
}

.cfm-sd13-hero__dots {
    position: absolute;
    left: -82px;
    bottom: -98px;
    z-index: -2;
    width: 470px;
    height: 300px;
    opacity: .38;
    background-image: radial-gradient(
        circle,
        color-mix(
            in srgb,
            var(--cfm-sd13-accent, #cbb262) 58%,
            transparent
        ) 1.2px,
        transparent 1.8px
    );
    background-size: 18px 18px;
    mask-image: radial-gradient(
        ellipse at center,
        #000 0 34%,
        transparent 72%
    );
}

.cfm-sd13-hero__wave {
    position: absolute;
    right: calc(-6% + var(--cfm-sd13-art-x, 0px));
    bottom: calc(-39% - var(--cfm-sd13-art-y, 0px));
    z-index: -1;
    width: var(--cfm-sd13-art-width, 58%);
    height: 137%;
    transform: rotate(-8deg) skewX(-8deg);
    border-radius: 50%;
    opacity: var(--cfm-sd13-art-opacity, .84);
    background:
        radial-gradient(
            circle at 16% 68%,
            color-mix(
                in srgb,
                var(--cfm-sd13-accent, #cbb262) 79%,
                transparent
            ) 0 1px,
            transparent 1.8px
        ) 0 0 / 12px 12px,
        radial-gradient(
            circle at 65% 35%,
            color-mix(
                in srgb,
                var(--cfm-sd13-accent, #cbb262) 55%,
                #fff
            ) 0 1px,
            transparent 1.7px
        ) 3px 4px / 17px 17px,
        linear-gradient(
            155deg,
            transparent 16%,
            color-mix(
                in srgb,
                var(--cfm-sd13-accent, #cbb262) 43%,
                transparent
            ) 36%,
            transparent 38% 44%,
            color-mix(
                in srgb,
                var(--cfm-sd13-accent, #cbb262) 23%,
                transparent
            ) 46%,
            transparent 48% 56%,
            color-mix(
                in srgb,
                var(--cfm-sd13-accent, #cbb262) 35%,
                transparent
            ) 58%,
            transparent 60%
        );
    mask-image: radial-gradient(
        ellipse at center,
        #000 0 49%,
        transparent 76%
    );
    filter: drop-shadow(
        0 0 28px
        color-mix(
            in srgb,
            var(--cfm-sd13-accent, #cbb262) 17%,
            transparent
        )
    );
}

.cfm-sd13-hero__wave::before,
.cfm-sd13-hero__wave::after {
    content: "";
    position: absolute;
    inset: 12% 3% 20%;
    border: 1px solid
        color-mix(
            in srgb,
            var(--cfm-sd13-accent, #cbb262) 34%,
            transparent
        );
    border-radius: 50%;
    transform: rotate(8deg);
}

.cfm-sd13-hero__wave::after {
    inset: 26% 8% 8% 18%;
    transform: rotate(-5deg);
    opacity: .62;
}

.cfm-sd13-hero__artwork {
    position: absolute;
    right: calc(0px + var(--cfm-sd13-art-x, 0px));
    top: calc(50% + var(--cfm-sd13-art-y, 0px));
    z-index: -1;
    width: var(--cfm-sd13-art-width, 58%);
    height: 100%;
    transform: translateY(-50%);
    opacity: var(--cfm-sd13-art-opacity, .84);
    pointer-events: none;
}

.cfm-sd13-hero__artwork img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: right center;
}

.cfm-sd13-hero__inner {
    position: relative;
    z-index: 2;
    width: min(
        var(--cfm-sd13-max, 1240px),
        calc(100% - 48px)
    );
    margin-inline: auto;
    padding-block: 64px;
}

.cfm-sd13-hero h1 {
    max-width: 720px;
    margin: 0;
    color: var(--cfm-sd13-title-color, #fff);
    font-size: var(--cfm-sd13-title-desktop, 44px);
    font-weight: 760;
    line-height: 1.08;
    letter-spacing: -.04em;
}

.cfm-sd13-hero__line {
    display: block;
    width: 43px;
    height: 3px;
    margin-top: 17px;
    border-radius: 999px;
    background: var(--cfm-sd13-accent, #cbb262);
}

.cfm-sd13-hero p {
    max-width: 610px;
    margin: 17px 0 0;
    color: var(
        --cfm-sd13-subtitle-color,
        rgba(255, 255, 255, .78)
    );
    font-size: var(--cfm-sd13-subtitle-size, 16px);
    line-height: 1.7;
}

/* Original Service Detail content remains active. */
.cfm-sd13-existing-detail {
    position: relative;
    background: #fff;
}

.cfm-sd13-main-area {
    padding-top: 58px !important;
    padding-bottom: 78px !important;
    background:
        linear-gradient(
            180deg,
            #fff 0%,
            #fff 82%,
            #fcfcfb 100%
        ) !important;
}

.cfm-sd13-main-area > .container,
.cfm-sd13-main-area > .container-fluid,
.cfm-sd13-main-area .container {
    width: min(1240px, calc(100% - 48px)) !important;
    max-width: 1240px !important;
    margin-inline: auto !important;
}

.cfm-sd13-layout-row {
    display: grid !important;
    grid-template-columns: minmax(270px, 300px) minmax(0, 1fr) !important;
    gap: 48px !important;
    align-items: start !important;
    margin: 0 !important;
}

.cfm-sd13-layout-row > * {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.cfm-sd13-sidebar {
    position: sticky;
    top: 108px;
    display: grid;
    gap: 20px;
    align-self: start;
    min-width: 0;
}

.cfm-sd13-content {
    min-width: 0;
}

/* New clean service menu rebuilt from the existing dynamic links. */
.cfm-sd13-nav-card {
    padding: 24px;
    border: 1px solid var(--cfm-sd13-border);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(24, 28, 26, .06);
}

.cfm-sd13-nav-card__title {
    margin: 0;
    color: var(--cfm-sd13-ink);
    font-size: 20px;
    font-weight: 760;
    line-height: 1.3;
    letter-spacing: -.025em;
}

.cfm-sd13-nav-card__line,
.cfm-sd13-card-line {
    display: block;
    width: 32px;
    height: 2px;
    margin-top: 10px;
    border-radius: 999px;
    background: var(--cfm-sd13-gold);
}

.cfm-sd13-nav {
    display: grid;
    margin-top: 15px;
}

.cfm-sd13-nav__link {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) 18px;
    gap: 11px;
    align-items: center;
    min-height: 61px;
    padding: 8px 4px !important;
    border: 0 !important;
    border-bottom: 1px solid #eceeed !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #303632 !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
    transition:
        color .2s ease,
        transform .2s ease;
}

.cfm-sd13-nav__link:last-child {
    border-bottom: 0 !important;
}

.cfm-sd13-nav__link:hover,
.cfm-sd13-nav__link.is-active {
    color: var(--cfm-sd13-gold-deep) !important;
    transform: translateX(3px);
}

.cfm-sd13-nav__icon {
    display: inline-grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 9px;
    background: var(--cfm-sd13-cream);
    color: var(--cfm-sd13-gold-deep);
}

.cfm-sd13-nav__icon svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.cfm-sd13-nav__arrow {
    color: var(--cfm-sd13-gold-deep);
    font-size: 18px;
    line-height: 1;
}

.cfm-sd13-source-nav,
.cfm-sd13-latest-posts {
    display: none !important;
}

/* Existing remaining sidebar cards: brochure/help only. */
.cfm-sd13-sidebar .cfm-sd13-brochure-card,
.cfm-sd13-sidebar :is(.cfm-sd13-help-card, .cfm-sd13-contact-card),
.cfm-sd13-sidebar > .widget:not(.cfm-sd13-source-nav),
.cfm-sd13-sidebar > [class*="sidebar-widget"]:not(.cfm-sd13-source-nav),
.cfm-sd13-sidebar > [class*="sidebar__widget"]:not(.cfm-sd13-source-nav) {
    overflow: hidden;
    padding: 24px !important;
    border: 1px solid var(--cfm-sd13-border) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 14px 38px rgba(24, 28, 26, .06) !important;
}

.cfm-sd13-sidebar h2,
.cfm-sd13-sidebar h3,
.cfm-sd13-sidebar h4 {
    margin: 0 0 14px !important;
    color: var(--cfm-sd13-ink) !important;
    font-size: 19px !important;
    font-weight: 760 !important;
    line-height: 1.3 !important;
    letter-spacing: -.025em;
}

.cfm-sd13-brochure-card p {
    color: var(--cfm-sd13-muted) !important;
    font-size: 13px !important;
    line-height: 1.75 !important;
}

.cfm-sd13-brochure-card a {
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    min-height: 50px !important;
    margin-top: 10px !important;
    padding: 11px 14px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #f4f6f5 !important;
    color: #36557e !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.cfm-sd13-brochure-card a:hover {
    background: rgba(203, 178, 98, .16) !important;
    color: #7f6727 !important;
}

/* Main content order and typography. */
.cfm-sd13-content-header {
    margin-bottom: 25px;
}

.cfm-sd13-content-header h1,
.cfm-sd13-content-header h2,
.cfm-sd13-content > h1:first-child,
.cfm-sd13-content > h2:first-child {
    margin: 0 !important;
    color: var(--cfm-sd13-ink) !important;
    font-size: clamp(34px, 3.6vw, 46px) !important;
    font-weight: 760 !important;
    line-height: 1.1 !important;
    letter-spacing: -.04em !important;
}

.cfm-sd13-content-header p {
    max-width: 900px;
    margin: 19px 0 0;
    color: var(--cfm-sd13-text);
    font-size: 15px;
    line-height: 1.85;
}

.cfm-sd13-content p,
.cfm-sd13-content li {
    color: var(--cfm-sd13-text);
    font-size: 15px;
    line-height: 1.85;
}

.cfm-sd13-primary-media {
    /* The approved reference does not contain the oversized 1920 × 1080
       banner above the service heading. Keep the image data in admin, but
       remove this duplicate frontend block. */
    display: none !important;
}

.cfm-sd13-content h2,
.cfm-sd13-content h3,
.cfm-sd13-content h4 {
    color: var(--cfm-sd13-ink) !important;
    letter-spacing: -.025em;
}

.cfm-sd13-content a:not(.btn):not([class*="button"]) {
    color: var(--cfm-sd13-gold-deep);
}

.cfm-sd13-card {
    overflow: hidden;
    padding: 22px !important;
    border: 1px solid var(--cfm-sd13-border) !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 11px 30px rgba(24, 28, 26, .05) !important;
}

.cfm-sd13-card [class*="icon"] {
    color: var(--cfm-sd13-gold-deep) !important;
}

@media (max-width: 991px) {
    .cfm-sd13-hero {
        min-height: var(--cfm-sd13-height-tablet, 275px);
    }

    .cfm-sd13-hero__inner {
        width: min(
            100% - 34px,
            var(--cfm-sd13-max, 1240px)
        );
    }

    .cfm-sd13-hero h1 {
        font-size: var(--cfm-sd13-title-tablet, 38px);
    }

    .cfm-sd13-hero__wave {
        right: calc(-27% + var(--cfm-sd13-art-x, 0px));
        width: max(var(--cfm-sd13-art-width, 58%), 92%);
        opacity: min(var(--cfm-sd13-art-opacity, .84), .62);
    }

    .cfm-sd13-layout-row {
        grid-template-columns: 1fr !important;
        gap: 34px !important;
    }

    .cfm-sd13-sidebar {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cfm-sd13-nav-card {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767px) {
    .cfm-sd13-hero {
        min-height: 0;
        padding-block: var(--cfm-sd13-pad-mobile, 52px);
    }

    .cfm-sd13-hero__inner {
        width: min(
            100% - 28px,
            var(--cfm-sd13-max, 1240px)
        );
        padding-block: 0;
    }

    .cfm-sd13-hero h1 {
        max-width: 84%;
        font-size: var(--cfm-sd13-title-mobile, 31px);
    }

    .cfm-sd13-hero p {
        max-width: 82%;
        font-size: min(
            var(--cfm-sd13-subtitle-size, 16px),
            15px
        );
    }

    .cfm-sd13-hero__wave {
        right: -44%;
        bottom: -25%;
        width: 118%;
        opacity: .42;
    }

    .cfm-sd13-main-area {
        padding-top: 38px !important;
        padding-bottom: 58px !important;
    }

    .cfm-sd13-main-area > .container,
    .cfm-sd13-main-area > .container-fluid,
    .cfm-sd13-main-area .container {
        width: min(100% - 28px, 700px) !important;
    }

    .cfm-sd13-sidebar {
        grid-template-columns: 1fr;
    }

    .cfm-sd13-nav-card {
        grid-column: auto;
        padding: 21px;
    }

    .cfm-sd13-content-header h1,
    .cfm-sd13-content-header h2 {
        font-size: 32px !important;
    }

    .cfm-sd13-primary-media img {
        max-height: 340px !important;
    }
}


/* V1.3.1 final reference alignment */
.cfm-sd13-content-header {
    margin: 0 0 28px !important;
}

.cfm-sd13-content-header h1,
.cfm-sd13-content-header h2 {
    font-size: clamp(34px, 3.2vw, 43px) !important;
}

.cfm-sd13-nav-card,
.cfm-sd13-sidebar .cfm-sd13-brochure-card,
.cfm-sd13-sidebar :is(.cfm-sd13-help-card, .cfm-sd13-contact-card) {
    border-radius: 12px !important;
}

.cfm-sd13-nav__link {
    min-height: 58px;
}

.cfm-sd13-content [class*="feature"] img,
.cfm-sd13-content [class*="details"] img {
    max-width: 100%;
}

@media (min-width: 992px) {
    .cfm-sd13-content {
        padding-top: 4px;
    }
}


/* ==========================================================
   V1.3.2 — FULL-WIDTH PAGE CORRECTION
   Preserve the approved design; change width only.
   ========================================================== */

/*
 * Break the page-title section out of every parent theme container.
 * Its background, wave and dots now reach both browser edges.
 */
html.cfm-service-detail-ui-v13 .cfm-sd13-hero {
    position: relative !important;
    left: 50% !important;
    width: 100vw !important;
    max-width: none !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
}

/*
 * Keep the page-title content aligned professionally while allowing
 * it to use the complete screen instead of the former 1240px limit.
 */
html.cfm-service-detail-ui-v13 .cfm-sd13-hero__inner {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding-left: clamp(28px, 5vw, 92px) !important;
    padding-right: clamp(28px, 5vw, 92px) !important;
}

/*
 * Break the complete service body out of the theme's containing column.
 * Header, Footer and Pre-Footer CTA remain untouched.
 */
html.cfm-service-detail-ui-v13 .cfm-sd13-existing-detail {
    position: relative !important;
    left: 50% !important;
    width: 100vw !important;
    max-width: none !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
}

/*
 * Remove every Bootstrap/theme max-width restriction inside the active
 * service-detail section and replace it with responsive edge padding.
 */
html.cfm-service-detail-ui-v13 .cfm-sd13-main-area,
html.cfm-service-detail-ui-v13 .cfm-sd13-main-area > .container,
html.cfm-service-detail-ui-v13 .cfm-sd13-main-area > .container-fluid,
html.cfm-service-detail-ui-v13 .cfm-sd13-main-area .container {
    width: 100% !important;
    max-width: none !important;
}

html.cfm-service-detail-ui-v13 .cfm-sd13-main-area > .container,
html.cfm-service-detail-ui-v13 .cfm-sd13-main-area > .container-fluid,
html.cfm-service-detail-ui-v13 .cfm-sd13-main-area .container {
    margin-inline: 0 !important;
    padding-left: clamp(28px, 4.5vw, 84px) !important;
    padding-right: clamp(28px, 4.5vw, 84px) !important;
}

/* Use the additional desktop width without enlarging the sidebar. */
@media (min-width: 1400px) {
    html.cfm-service-detail-ui-v13 .cfm-sd13-layout-row {
        grid-template-columns:
            minmax(280px, 310px)
            minmax(0, 1fr) !important;
        gap: clamp(44px, 4vw, 76px) !important;
    }
}

/* Tablet remains full width with practical padding. */
@media (max-width: 991px) {
    html.cfm-service-detail-ui-v13 .cfm-sd13-hero__inner {
        width: 100% !important;
        padding-left: 26px !important;
        padding-right: 26px !important;
    }

    html.cfm-service-detail-ui-v13 .cfm-sd13-main-area > .container,
    html.cfm-service-detail-ui-v13 .cfm-sd13-main-area > .container-fluid,
    html.cfm-service-detail-ui-v13 .cfm-sd13-main-area .container {
        width: 100% !important;
        max-width: none !important;
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
}

/* Mobile remains edge-to-edge without content touching the screen. */
@media (max-width: 767px) {
    html.cfm-service-detail-ui-v13 .cfm-sd13-hero__inner {
        width: 100% !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    html.cfm-service-detail-ui-v13 .cfm-sd13-main-area > .container,
    html.cfm-service-detail-ui-v13 .cfm-sd13-main-area > .container-fluid,
    html.cfm-service-detail-ui-v13 .cfm-sd13-main-area .container {
        width: 100% !important;
        max-width: none !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}


/* ==========================================================
   V1.3.4 — HEADER ALIGNMENT, LINE WAVE & WIDGET CONTROLS
   ========================================================== */

/* Align the title precisely below the visible Header logo. */
html.cfm-service-detail-ui-v13 .cfm-sd13-hero__inner {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding-left:
        var(
            --cfm-sd13-logo-left,
            clamp(24px, 5vw, 92px)
        ) !important;
    padding-right:
        clamp(24px, 5vw, 92px) !important;
}

/* Replace the former dotted/blurred treatment with crisp wave lines. */
html.cfm-service-detail-ui-v13 .cfm-sd13-hero {
    background:
        linear-gradient(
            118deg,
            color-mix(
                in srgb,
                var(--cfm-sd13-bg, #121515) 97%,
                #000
            ) 0%,
            var(--cfm-sd13-bg, #121515) 56%,
            color-mix(
                in srgb,
                var(--cfm-sd13-bg, #121515) 80%,
                #000
            ) 100%
        ) !important;
}

html.cfm-service-detail-ui-v13 .cfm-sd13-hero__dots {
    display: none !important;
}

html.cfm-service-detail-ui-v13 .cfm-sd13-hero__wave {
    position: absolute !important;
    inset: 0 !important;
    z-index: -1 !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
    border-radius: 0 !important;
    opacity: var(--cfm-sd13-wave-opacity, .52) !important;
    color: var(
        --cfm-sd13-wave-color,
        var(--cfm-sd13-accent, #cbb262)
    ) !important;
    background: none !important;
    mask-image: none !important;
    filter: none !important;
    pointer-events: none !important;
}

html.cfm-service-detail-ui-v13
.cfm-sd13-hero__wave::before,
html.cfm-service-detail-ui-v13
.cfm-sd13-hero__wave::after {
    display: none !important;
}

html.cfm-service-detail-ui-v13 .cfm-sd13-hero__wave svg {
    display: block;
    width: 100%;
    height: 100%;
}

html.cfm-service-detail-ui-v13
.cfm-sd13-hero__wave-lines {
    fill: none;
    stroke: currentColor;
    stroke-width:
        var(--cfm-sd13-wave-weight, 1);
    stroke-linecap: round;
    vector-effect: non-scaling-stroke;
}

html.cfm-service-detail-ui-v13
.cfm-sd13-hero__wave-lines path {
    vector-effect: non-scaling-stroke;
}

html.cfm-service-detail-ui-v13
.cfm-sd13-hero__wave-accents {
    fill: none;
    stroke:
        color-mix(
            in srgb,
            var(--cfm-sd13-wave-color, #cbb262) 66%,
            #ffffff
        );
    stroke-width:
        calc(
            var(--cfm-sd13-wave-weight, 1)
            * 1.25
        );
    stroke-linecap: round;
    opacity: .74;
    vector-effect: non-scaling-stroke;
}

/* Admin-controlled service widget variables. */
html.cfm-service-detail-ui-v13 .cfm-sd13-sidebar {
    gap: var(--cfm-sdw-sidebar-gap, 20px) !important;
}

html.cfm-service-detail-ui-v13 .cfm-sd13-nav-card {
    padding:
        var(--cfm-sdw-service-padding, 24px) !important;
    border-color:
        var(--cfm-sdw-service-border, #e6e9e7) !important;
    border-radius:
        var(--cfm-sdw-service-radius, 12px) !important;
    background:
        var(--cfm-sdw-service-card-bg, #ffffff) !important;
}

html.cfm-service-detail-ui-v13
.cfm-sd13-nav-card__title {
    color:
        var(--cfm-sdw-service-title, #171a19) !important;
    font-size:
        var(--cfm-sdw-service-title-size, 20px) !important;
}

html.cfm-service-detail-ui-v13 .cfm-sd13-nav__link {
    border-bottom-color:
        var(--cfm-sdw-service-divider, #eceeed) !important;
    color:
        var(--cfm-sdw-service-item, #303632) !important;
    font-size:
        var(--cfm-sdw-service-item-size, 13px) !important;
}

html.cfm-service-detail-ui-v13
.cfm-sd13-nav__link:hover,
html.cfm-service-detail-ui-v13
.cfm-sd13-nav__link.is-active {
    color:
        var(--cfm-sdw-service-active, #a8872f) !important;
}

html.cfm-service-detail-ui-v13 .cfm-sd13-nav__icon {
    color:
        var(--cfm-sdw-service-icon, #a8872f) !important;
    background:
        var(--cfm-sdw-service-icon-bg, #fbf7eb) !important;
}

html.cfm-service-detail-ui-v13
.cfm-sd13-nav__icon svg {
    width:
        var(--cfm-sdw-service-icon-size, 19px) !important;
    height:
        var(--cfm-sdw-service-icon-size, 19px) !important;
}

html.cfm-service-detail-ui-v13
.cfm-sd13-nav__arrow {
    color:
        var(--cfm-sdw-service-arrow, #a8872f) !important;
}

/* Brochure widget controls. */
html.cfm-service-detail-ui-v13
.cfm-sd13-sidebar .cfm-sd13-brochure-card {
    padding:
        var(--cfm-sdw-brochure-padding, 24px) !important;
    border-color:
        var(--cfm-sdw-brochure-border, #e6e9e7) !important;
    border-radius:
        var(--cfm-sdw-brochure-radius, 12px) !important;
    background:
        var(--cfm-sdw-brochure-card-bg, #ffffff) !important;
}

html.cfm-service-detail-ui-v13
.cfm-sd13-brochure-card h2,
html.cfm-service-detail-ui-v13
.cfm-sd13-brochure-card h3,
html.cfm-service-detail-ui-v13
.cfm-sd13-brochure-card h4 {
    color:
        var(--cfm-sdw-brochure-title, #171a19) !important;
    font-size:
        var(--cfm-sdw-brochure-title-size, 19px) !important;
}

html.cfm-service-detail-ui-v13
.cfm-sd13-brochure-card p {
    color:
        var(--cfm-sdw-brochure-text, #727a75) !important;
    font-size:
        var(--cfm-sdw-brochure-text-size, 13px) !important;
}

html.cfm-service-detail-ui-v13
.cfm-sd13-brochure-card a {
    color:
        var(--cfm-sdw-brochure-button-text, #36557e) !important;
    background:
        var(--cfm-sdw-brochure-button-bg, #f4f6f5) !important;
}

html.cfm-service-detail-ui-v13
.cfm-sd13-brochure-card a i,
html.cfm-service-detail-ui-v13
.cfm-sd13-brochure-card a svg,
html.cfm-service-detail-ui-v13
.cfm-sd13-brochure-card a [class*="icon"] {
    color:
        var(--cfm-sdw-brochure-button-icon, #36557e) !important;
    stroke:
        var(--cfm-sdw-brochure-button-icon, #36557e) !important;
}

/* Contact / help widget controls. */
html.cfm-service-detail-ui-v13
.cfm-sd13-sidebar :is(.cfm-sd13-help-card, .cfm-sd13-contact-card) {
    padding:
        var(--cfm-sdw-contact-padding, 28px) !important;
    border-color:
        var(--cfm-sdw-contact-border, #262b29) !important;
    border-radius:
        var(--cfm-sdw-contact-radius, 12px) !important;
    background:
        radial-gradient(
            circle at 100% 0,
            color-mix(
                in srgb,
                var(--cfm-sdw-contact-phone, #cbb262) 14%,
                transparent
            ),
            transparent 38%
        ),
        var(--cfm-sdw-contact-card-bg, #151918) !important;
}

html.cfm-service-detail-ui-v13
:is(.cfm-sd13-help-card, .cfm-sd13-contact-card) h2,
html.cfm-service-detail-ui-v13
:is(.cfm-sd13-help-card, .cfm-sd13-contact-card) h3,
html.cfm-service-detail-ui-v13
:is(.cfm-sd13-help-card, .cfm-sd13-contact-card) h4 {
    color:
        var(--cfm-sdw-contact-title, #ffffff) !important;
    font-size:
        var(--cfm-sdw-contact-title-size, 22px) !important;
}

html.cfm-service-detail-ui-v13
:is(.cfm-sd13-help-card, .cfm-sd13-contact-card) p,
html.cfm-service-detail-ui-v13
:is(.cfm-sd13-help-card, .cfm-sd13-contact-card) span:not([class*="icon"]) {
    color:
        var(--cfm-sdw-contact-text, #d8dcda) !important;
    font-size:
        var(--cfm-sdw-contact-text-size, 13px) !important;
}

html.cfm-service-detail-ui-v13
:is(.cfm-sd13-help-card, .cfm-sd13-contact-card) a {
    color:
        var(--cfm-sdw-contact-phone, #cbb262) !important;
    font-size:
        var(--cfm-sdw-contact-phone-size, 17px) !important;
    font-weight: 750 !important;
}

html.cfm-service-detail-ui-v13
:is(.cfm-sd13-help-card, .cfm-sd13-contact-card) i,
html.cfm-service-detail-ui-v13
:is(.cfm-sd13-help-card, .cfm-sd13-contact-card) svg,
html.cfm-service-detail-ui-v13
:is(.cfm-sd13-help-card, .cfm-sd13-contact-card) [class*="icon"] {
    color:
        var(--cfm-sdw-contact-icon, #cbb262) !important;
    stroke:
        var(--cfm-sdw-contact-icon, #cbb262) !important;
}

@media (max-width: 767px) {
    html.cfm-service-detail-ui-v13
    .cfm-sd13-hero__inner {
        padding-left:
            var(--cfm-sd13-logo-left, 16px) !important;
        padding-right: 16px !important;
    }

    html.cfm-service-detail-ui-v13
    .cfm-sd13-hero__wave {
        opacity:
            min(
                var(--cfm-sd13-wave-opacity, .52),
                .42
            ) !important;
    }
}


/* ==========================================================
   V1.3.8 — ARTWORK, ALIGNMENT AND COMPLETE WIDGET CONTROLS
   ========================================================== */

/* Show the complete uploaded 1460 × 300 artwork instead of cropping it. */
html.cfm-service-detail-ui-v13 .cfm-sd13-hero__artwork {
    right: calc(0px + var(--cfm-sd13-art-x, 0px)) !important;
    top: calc(50% + var(--cfm-sd13-art-y, 0px)) !important;
    width: var(--cfm-sd13-art-width, 100%) !important;
    height: var(--cfm-sd13-art-height, 100%) !important;
}

html.cfm-service-detail-ui-v13 .cfm-sd13-hero__artwork img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: var(--cfm-sd13-art-fit, contain) !important;
    object-position:
        var(--cfm-sd13-art-position-x, 100%)
        var(--cfm-sd13-art-position-y, 50%) !important;
}

/* Align the complete Service body with the Header logo/Page Title. */
html.cfm-service-detail-ui-v13
.cfm-sd13-main-area > .container,
html.cfm-service-detail-ui-v13
.cfm-sd13-main-area > .container-fluid,
html.cfm-service-detail-ui-v13
.cfm-sd13-main-area .container {
    padding-left:
        var(
            --cfm-sd13-logo-left,
            clamp(28px, 5vw, 92px)
        ) !important;
}

/* Service widget typography and item background controls. */
html.cfm-service-detail-ui-v13
.cfm-sd13-nav-card__title {
    font-family:
        var(--cfm-sdw-service-title-font, inherit) !important;
    font-weight:
        var(--cfm-sdw-service-title-weight, 700) !important;
}

html.cfm-service-detail-ui-v13
.cfm-sd13-nav__link {
    background:
        var(--cfm-sdw-service-item-bg, #ffffff) !important;
    font-family:
        var(--cfm-sdw-service-item-font, inherit) !important;
    font-weight:
        var(--cfm-sdw-service-item-weight, 600) !important;
}

html.cfm-service-detail-ui-v13
.cfm-sd13-nav__link:hover,
html.cfm-service-detail-ui-v13
.cfm-sd13-nav__link.is-active {
    background:
        var(
            --cfm-sdw-service-item-hover-bg,
            #fbf7eb
        ) !important;
}

html.cfm-service-detail-ui-v13
.cfm-sd13-nav__icon img,
html.cfm-service-detail-ui-v13
.cfm-sd13-nav__icon i {
    display: block;
    width:
        var(--cfm-sdw-service-icon-size, 19px) !important;
    height:
        var(--cfm-sdw-service-icon-size, 19px) !important;
    object-fit: contain;
    color:
        var(--cfm-sdw-service-icon, #a8872f) !important;
    font-size:
        var(--cfm-sdw-service-icon-size, 19px) !important;
    line-height: 1;
}

/* Brochure typography, titles and complete button controls. */
html.cfm-service-detail-ui-v13
.cfm-sd13-brochure-card h2,
html.cfm-service-detail-ui-v13
.cfm-sd13-brochure-card h3,
html.cfm-service-detail-ui-v13
.cfm-sd13-brochure-card h4 {
    font-family:
        var(--cfm-sdw-brochure-title-font, inherit) !important;
    font-weight:
        var(--cfm-sdw-brochure-title-weight, 700) !important;
}

html.cfm-service-detail-ui-v13
.cfm-sd13-brochure-card p {
    font-family:
        var(--cfm-sdw-brochure-text-font, inherit) !important;
    font-weight:
        var(--cfm-sdw-brochure-text-weight, 400) !important;
}

html.cfm-service-detail-ui-v13
.cfm-sd13-brochure-card a {
    border: 1px solid
        var(
            --cfm-sdw-brochure-button-border,
            #e6e9e7
        ) !important;
    border-radius:
        var(
            --cfm-sdw-brochure-button-radius,
            8px
        ) !important;
    font-family:
        var(--cfm-sdw-brochure-button-font, inherit) !important;
    font-size:
        var(--cfm-sdw-brochure-button-size, 13px) !important;
    font-weight:
        var(--cfm-sdw-brochure-button-weight, 700) !important;
    transition:
        background-color .2s ease,
        color .2s ease,
        border-color .2s ease !important;
}

html.cfm-service-detail-ui-v13
.cfm-sd13-brochure-card a:hover {
    color:
        var(
            --cfm-sdw-brochure-button-hover-text,
            #171a19
        ) !important;
    border-color:
        var(
            --cfm-sdw-brochure-button-hover-bg,
            #cbb262
        ) !important;
    background:
        var(
            --cfm-sdw-brochure-button-hover-bg,
            #cbb262
        ) !important;
}

html.cfm-service-detail-ui-v13
.cfm-sd13-brochure-card a:hover i,
html.cfm-service-detail-ui-v13
.cfm-sd13-brochure-card a:hover svg,
html.cfm-service-detail-ui-v13
.cfm-sd13-brochure-card a:hover [class*="icon"] {
    color: currentColor !important;
    stroke: currentColor !important;
}

.cfm-sd13-brochure-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Contact widget complete font and link/button controls. */
html.cfm-service-detail-ui-v13
:is(.cfm-sd13-help-card, .cfm-sd13-contact-card) h2,
html.cfm-service-detail-ui-v13
:is(.cfm-sd13-help-card, .cfm-sd13-contact-card) h3,
html.cfm-service-detail-ui-v13
:is(.cfm-sd13-help-card, .cfm-sd13-contact-card) h4 {
    font-family:
        var(--cfm-sdw-contact-title-font, inherit) !important;
    font-weight:
        var(--cfm-sdw-contact-title-weight, 700) !important;
}

html.cfm-service-detail-ui-v13
:is(.cfm-sd13-help-card, .cfm-sd13-contact-card) p,
html.cfm-service-detail-ui-v13
:is(.cfm-sd13-help-card, .cfm-sd13-contact-card) span:not([class*="icon"]) {
    font-family:
        var(--cfm-sdw-contact-text-font, inherit) !important;
    font-weight:
        var(--cfm-sdw-contact-text-weight, 400) !important;
}

html.cfm-service-detail-ui-v13
:is(.cfm-sd13-help-card, .cfm-sd13-contact-card) a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding:
        var(--cfm-sdw-contact-link-padding, 12px) !important;
    border: 1px solid
        var(--cfm-sdw-contact-link-border, #cbb262) !important;
    border-radius:
        var(--cfm-sdw-contact-link-radius, 8px) !important;
    background:
        var(--cfm-sdw-contact-link-bg, #151918) !important;
    color:
        var(--cfm-sdw-contact-link-text, #cbb262) !important;
    font-family:
        var(--cfm-sdw-contact-phone-font, inherit) !important;
    font-weight:
        var(--cfm-sdw-contact-phone-weight, 700) !important;
    text-decoration: none !important;
    transition:
        background-color .2s ease,
        color .2s ease,
        border-color .2s ease !important;
}

html.cfm-service-detail-ui-v13
:is(.cfm-sd13-help-card, .cfm-sd13-contact-card) a:hover {
    border-color:
        var(--cfm-sdw-contact-link-hover-bg, #cbb262) !important;
    background:
        var(--cfm-sdw-contact-link-hover-bg, #cbb262) !important;
    color:
        var(--cfm-sdw-contact-link-hover-text, #151918) !important;
}

@media (max-width: 991px) {
    html.cfm-service-detail-ui-v13
    .cfm-sd13-main-area > .container,
    html.cfm-service-detail-ui-v13
    .cfm-sd13-main-area > .container-fluid,
    html.cfm-service-detail-ui-v13
    .cfm-sd13-main-area .container {
        padding-left:
            var(--cfm-sd13-logo-left, 24px) !important;
    }
}

@media (max-width: 767px) {
    html.cfm-service-detail-ui-v13
    .cfm-sd13-main-area > .container,
    html.cfm-service-detail-ui-v13
    .cfm-sd13-main-area > .container-fluid,
    html.cfm-service-detail-ui-v13
    .cfm-sd13-main-area .container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}


/* V1.3.8 — Move only the Service body slightly left on desktop. */
@media (min-width: 992px) {
    html.cfm-service-detail-ui-v13
    .cfm-sd13-main-area > .container,
    html.cfm-service-detail-ui-v13
    .cfm-sd13-main-area > .container-fluid,
    html.cfm-service-detail-ui-v13
    .cfm-sd13-main-area .container {
        padding-left:
            max(
                20px,
                calc(
                    var(
                        --cfm-sd13-logo-left,
                        clamp(28px, 5vw, 92px)
                    )
                    - 18px
                )
            ) !important;
    }
}


/* V1.3.10 — Contact Block compatibility fallback */
html.cfm-service-detail-ui-v13
.cfm-sd13-sidebar
[data-cfm-contact-card="true"] {
    box-sizing: border-box;
}

html.cfm-service-detail-ui-v13
.cfm-sd13-sidebar
[data-cfm-contact-card="true"]
a[href^="tel:"],
html.cfm-service-detail-ui-v13
.cfm-sd13-sidebar
[data-cfm-contact-card="true"]
a[href*="wa.me"],
html.cfm-service-detail-ui-v13
.cfm-sd13-sidebar
[data-cfm-contact-card="true"]
a[href*="whatsapp"] {
    color:
        var(
            --cfm-sdw-contact-link-text,
            #cbb262
        ) !important;
}
