/* Contact links use the existing Kadence palette. */
#masthead .ot-header-phone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 9px 16px;
    border: 1px solid var(--global-palette2);
    border-radius: 8px;
    background: transparent;
    color: var(--global-palette2);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}
#masthead .ot-header-phone:hover {
    background: var(--global-palette1);
    border-color: var(--global-palette1);
    color: var(--global-palette9);
}
#masthead .ot-header-phone:focus-visible {
    outline: 2px solid var(--global-palette2);
    outline-offset: 4px;
}
.ot-footer-contact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    margin-top: 16px;
    font-size: 14px;
    font-style: normal;
    line-height: 1.6;
}
#colophon .ot-footer-contact a { color: inherit; text-decoration: none; }
#colophon .ot-footer-contact a:hover { text-decoration: underline; }
@media (max-width: 767px) {
    #masthead .ot-header-phone { padding: 8px 10px; font-size: 12px; }
    #masthead .ot-header-phone-wrap { margin-right: 8px; padding: 0; }
    #mobile-header .site-branding img { max-width: 120px; }
    #colophon .site-footer-wrap {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 28px;
        padding: 36px 20px 24px;
        text-align: center;
    }
    #colophon .site-footer-row-container,
    #colophon .site-footer-row-container-inner,
    #colophon .site-footer-row-container .site-container,
    #colophon .site-footer-row,
    #colophon .site-footer-section { display: contents; }
    #colophon .site-footer-section > * { order: 3; width: 100%; text-align: center; }
    #colophon .site-footer-section > :has(#footer-navigation),
    #colophon .site-footer-section > #footer-navigation { order: 1; }
    #colophon .site-footer-section > :has(.widget_nav_menu) { order: 2; }
    #colophon .site-footer-section > :has(.footer-html),
    #colophon .site-footer-section > .footer-html { order: 4; }
    #colophon .footer-widget-area-inner,
    #colophon .widget,
    #colophon .widget p,
    #colophon .widget figure,
    #colophon .footer-html-inner p { text-align: center; margin-left: auto; margin-right: auto; }
    #colophon .widget { margin-bottom: 0; }
    #colophon .footer-navigation,
    #colophon .footer-widget-area,
    #colophon .footer-html { justify-content: center; text-align: center; }
    #colophon .footer-menu-container ul,
    #colophon .widget_nav_menu ul {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 0;
        margin: 0;
        list-style: none;
    }
    #colophon .ot-footer-contact { align-items: center; }
    #colophon img { margin-inline: auto; }
}
@media (prefers-reduced-motion: reduce) {
    #masthead .ot-header-phone { transition: none; }
}

/* Keep the contact details directly below the footer navigation. */
#colophon .site-footer-section > :has(> #footer-navigation) {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
@media (max-width: 767px) {
    #colophon .site-footer-section > :has(> #footer-navigation) { align-items: center; }
    #colophon .site-footer-section::after { display: none; }
}
@media (max-width: 400px) {
    #mobile-header .site-branding img { max-width: 90px; }
    #masthead .ot-header-phone { padding-inline: 8px; font-size: 11px; }
}

/* Center site content on phones without changing desktop or tablet layouts. */
@media (max-width: 767px) {
    body #inner-wrap,
    body #colophon,
    body #inner-wrap :is(h1, h2, h3, h4, h5, h6, p, figcaption, blockquote, address, summary),
    body #inner-wrap .wp-block-kadence-advancedheading,
    body #inner-wrap .kt-svg-icon-list-text,
    body #colophon :is(h1, h2, h3, h4, h5, h6, p, address) {
        text-align: center !important;
    }
    body #inner-wrap :is(ul, ol) {
        text-align: center;
        list-style-position: inside;
        padding-inline-start: 0;
    }
    body #inner-wrap .kt-svg-icon-list-item-wrap {
        justify-content: center;
    }
    body #inner-wrap :is(.kb-buttons-wrap, .wp-block-buttons) {
        justify-content: center !important;
    }
    body #inner-wrap .ot-showcase__caption {
        text-align: center !important;
    }
    body #inner-wrap .fluentform :is(.ff-el-input--label, .ff-el-form-check-label) {
        text-align: center;
    }
    body #inner-wrap .fluentform :is(input, textarea, select) {
        text-align: start;
    }
    body #inner-wrap .fluentform .ff_submit_btn_wrapper {
        text-align: center !important;
    }
}


/* Contact is an in-page destination, distinct from page navigation. */
#mobile-site-navigation .ot-mobile-contact-item > a,
#mobile-site-navigation .ot-mobile-contact-item > a:hover,
#mobile-site-navigation .ot-mobile-contact-item > a:focus,
#mobile-site-navigation .ot-mobile-contact-item > a:active,
#mobile-site-navigation .ot-mobile-contact-item.current-menu-item > a {
    color: #000;
    text-decoration: underline;
    text-underline-offset: .22em;
    text-decoration-thickness: 1px;
}

/* Pricing summaries link to the matching detailed service. */
.page-id-138 .kb-row-layout-id138_8598a0-9c .kt-inside-inner-col { position: relative; }
.page-id-138 .pricing-service-link { color: inherit; text-decoration: none; }
.page-id-138 .pricing-service-link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.page-id-138 .pricing-service-link:hover::after { outline: 1px solid var(--global-palette6); outline-offset: -4px; }
.page-id-138 .pricing-service-link:focus-visible { outline: none; }
.page-id-138 .pricing-service-link:focus-visible::after { outline: 3px solid var(--global-palette6); outline-offset: -5px; }
.page-id-138 :is(#single-page-website, #business-website, #online-store) { scroll-margin-top: 120px; }
/* A fixed icon column keeps every check aligned with the first text line. */
body.page-id-138 #inner-wrap .prices-cards .kt-svg-icon-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}
body.page-id-138 #inner-wrap .prices-cards .kt-svg-icon-list-item-wrap {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    column-gap: 10px;
    align-items: start;
    justify-content: stretch;
    width: 100%;
    margin: 0;
    padding: 0;
    line-height: 1.5 !important;
    text-align: left !important;
}
body.page-id-138 #inner-wrap .prices-cards .kt-svg-icon-list-item-wrap > :first-child {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 1.5em;
    margin: 0;
    padding: 0;
    line-height: 1.5;
}
body.page-id-138 #inner-wrap .prices-cards .kt-svg-icon-list-item-wrap > :first-child svg {
    display: block;
    width: 18px;
    height: 18px;
}
body.page-id-138 #inner-wrap .prices-cards .kt-svg-icon-list-text {
    min-width: 0;
    margin: 0;
    padding: 0;
    line-height: 1.5 !important;
    text-align: left !important;
}

/* Center the pricing contact actions on phones. */
@media (max-width: 767px) {
    .page-id-138 .kadence-column138_aa9b2a-b8 > .kt-inside-inner-col {
        padding-inline: 0 !important;
        margin-inline: 0 !important;
        width: 100%;
    }
    body.page-id-138 #inner-wrap .contact-buttons {
        width: 100%;
        max-width: 360px;
        margin-inline: auto !important;
        padding-inline: 0 !important;
        align-items: center !important;
        justify-content: center !important;
    }
    body.page-id-138 #inner-wrap .contact-buttons > .wp-block-kadence-singlebtn {
        width: 100%;
        margin-inline: 0 !important;
    }
    body.page-id-138 #inner-wrap .contact-buttons .kb-button {
        box-sizing: border-box;
        width: 100%;
        justify-content: center;
        margin-inline: 0 !important;
    }
}


/* Decorative journey rail beside the three benefits; desktop only. */
@media (min-width: 1025px) {
    .home .kb-row-layout-id12_23e503-cd > .kt-row-column-wrap {
        position: relative;
        padding-right: 42px;
    }
    .home .kb-row-layout-id12_23e503-cd > .kt-row-column-wrap::before {
        content: "";
        position: absolute;
        top: 24px;
        bottom: 24px;
        right: 12px;
        width: 1px;
        background: linear-gradient(to bottom, var(--global-palette6), var(--global-palette2), var(--global-palette6));
        opacity: .4;
        pointer-events: none;
    }
    .home .kb-row-layout-id12_23e503-cd > .kt-row-column-wrap > .wp-block-kadence-column {
        position: relative;
    }
    .home .kb-row-layout-id12_23e503-cd > .kt-row-column-wrap > .wp-block-kadence-column::after {
        content: "";
        position: absolute;
        top: 24px;
        right: -35px;
        width: 11px;
        height: 11px;
        box-sizing: border-box;
        border: 2px solid var(--global-palette2);
        border-radius: 50%;
        background: var(--global-palette9);
        box-shadow: 0 0 0 5px var(--global-palette9);
        pointer-events: none;
    }
}

/* Keep the desktop footer arrangement while three columns still fit. */
@media (min-width: 768px) and (max-width: 1024px) {
    #colophon .site-footer-row {
        min-height: 0 !important;
        padding-block: 24px !important;
        row-gap: 16px !important;
    }
    #colophon .site-footer-row-columns-3 {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(140px, .9fr) minmax(0, 1fr) !important;
        column-gap: 20px !important;
        align-items: center !important;
    }
    #colophon .site-footer-row-columns-3 > .site-footer-section {
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-width: 0;
        margin: 0;
        padding-block: 0;
    }
    #colophon .site-footer-row-columns-3 > .site-footer-section:first-child { align-items: flex-start; text-align: left; }
    #colophon .site-footer-row-columns-3 > .site-footer-section:nth-child(2) { align-items: center; text-align: center; }
    #colophon .site-footer-row-columns-3 > .site-footer-section:last-child { align-items: flex-end; text-align: right; }
    #colophon .widget,
    #colophon .widget p,
    #colophon .widget figure,
    #colophon .footer-html-inner p { margin-block: 0 !important; }
    #colophon .footer-widget-area { width: 100%; margin: 0; }
    #colophon .site-footer-row-columns-3 > .site-footer-section:nth-child(2) img {
        width: 100%;
        max-width: 180px;
        height: auto;
        margin-inline: auto;
    }
    #colophon .widget_nav_menu ul { margin: 0; padding: 0; list-style: none; }
    #colophon .widget_nav_menu li { margin-block: 0; }
    #colophon .widget_nav_menu a { display: inline-block; padding-block: 5px; }
    #colophon .ot-footer-contact { margin-top: 10px; gap: 4px; }
    #colophon .site-footer-section::after { display: none; }
    #colophon .site-footer-row-columns-1 { padding-block: 16px !important; }
}
