:root {
    --aj-bg: #fef7f0;
    --aj-peach: #fbeadb;
    --aj-footer: #f6dfc8;
    --aj-accent: #e67323;
    --aj-brown: #543926;
    --aj-text: #2b2521;
}


/* ==============================================================
   GLOBAL
============================================================== */

* {
    box-sizing: border-box;
}


html,
body {
    margin: 0;
    padding: 0;
}


body {
    background:
        var(--aj-bg);

    color:
        var(--aj-text);

    font-family:
        "Inter",
        sans-serif;
}


a {
    text-decoration: none;
}


.cms-page-body {
    width: 100%;
}


/* ==============================================================
   ADMIN PREVIEW TOOLBAR
============================================================== */

.cms-preview-toolbar {
    min-height: 44px;

    padding:
        8px
        18px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    background:
        var(--aj-brown);

    color:
        #fff;

    font-size: 12px;
}


.cms-preview-toolbar > div {
    display: flex;

    align-items: center;

    gap: 10px;
}


.cms-preview-toolbar strong {
    font-weight: 600;
}


.cms-preview-toolbar a {
    padding:
        5px
        10px;

    border:
        1px solid
        rgba(255,255,255,.45);

    border-radius: 6px;

    color:
        #fff;
}


.cms-preview-toolbar a:hover {
    background:
        rgba(255,255,255,.12);
}


/* ==============================================================
   HEADER
============================================================== */

.cms-site-header {
    position: relative;

    z-index: 1000;

    width: 100%;

    background:
        var(--aj-bg);
}


.cms-header-row {
    position: relative;

    z-index: 1000;

    width: 100%;

    min-height: 90px;

    background:
        var(--aj-bg);

    border-bottom:
        1px solid
        rgba(84,57,38,.04);
}


.cms-header-row > .container-fluid,
.cms-header-row > .container,
.cms-header-row > .container-xl {
    min-height: 90px;
}


.cms-header-row .row {
    min-height: 90px;
}


.cms-layout-column {
    min-height: 90px;

    display: flex;

    align-items: center;

    position: relative;

    overflow: visible;
}


/* ==============================================================
   BRAND
============================================================== */

.cms-brand-wrap {
    width: 100%;
}


.cms-brand {
    display: inline-flex;

    flex-direction: column;

    line-height: 1.05;

    text-decoration: none;
}


.cms-brand-title {
    display: block;

    color:
        var(--aj-text);

    font-family:
        "Lora",
        serif;

    font-size: 23px;

    font-weight: 600;

    white-space: nowrap;
}


.cms-brand-subtitle {
    display: block;

    margin-top: 4px;

    color:
        rgba(43,37,33,.72);

    font-family:
        "Karma",
        serif;

    font-size: 13px;

    letter-spacing: 2.2px;

    white-space: nowrap;
}


/* ==============================================================
   LOGO
============================================================== */

.cms-logo-wrap {
    width: 100%;
}


.cms-header-logo {
    display: inline-block;

    max-width: 100%;

    height: auto;
}


/* ==============================================================
   MAIN NAVIGATION
============================================================== */

.cms-main-navigation {
    width: 100%;

    min-height: 90px;

    display: flex;

    align-items: center;

    position: relative;

    z-index: 1100;

    overflow: visible;
}


.cms-main-navigation.menu-align-left {
    justify-content:
        flex-start;
}


.cms-main-navigation.menu-align-center {
    justify-content:
        center;
}


.cms-main-navigation.menu-align-right {
    justify-content:
        flex-end;
}


/* ==============================================================
   ROOT MENU
============================================================== */

.cms-menu-root {
    margin: 0 !important;

    padding: 0 !important;

    display: flex !important;

    align-items: stretch;

    justify-content: center;

    gap: 0;

    list-style: none !important;
}


.cms-menu-root > li {
    list-style: none !important;
}


.cms-menu-item {
    position: relative;

    display: flex;

    align-items: stretch;

    margin: 0;

    padding: 0;

    list-style: none;
}


.cms-menu-link {
    min-height: 90px;

    padding:
        0
        14px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 5px;

    color:
        var(--aj-text);

    font-size: 13px;

    font-weight: 400;

    line-height: 1;

    text-decoration: none;

    white-space: nowrap;

    transition:
        color .18s ease;
}


.cms-menu-link:hover,
.cms-menu-item:hover
> .cms-menu-link {
    color:
        var(--aj-accent);
}


.cms-menu-arrow {
    font-size: 8px;

    opacity: .6;
}


/* ==============================================================
   SUBMENU
============================================================== */

.cms-submenu {
    min-width: 165px;

    margin: 0 !important;

    padding:
        7px !important;

    position: absolute;

    top:
        calc(100% - 9px);

    left: 50%;

    z-index: 99999;

    display: block;

    background:
        var(--aj-bg);

    border:
        1px solid
        var(--aj-accent);

    border-radius: 10px;

    box-shadow:
        0
        10px
        25px
        rgba(84,57,38,.13);

    list-style: none !important;

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    transform:
        translate(
            -50%,
            8px
        );

    transition:
        opacity .15s ease,
        transform .15s ease,
        visibility .15s ease;
}


.cms-menu-item:hover
> .cms-submenu {
    opacity: 1;

    visibility: visible;

    pointer-events: auto;

    transform:
        translate(
            -50%,
            0
        );
}


.cms-submenu-item {
    width: 100%;

    position: relative;

    margin: 0;

    padding: 0;

    list-style: none !important;
}


.cms-submenu-link {
    width: 100%;

    min-height: 37px;

    padding:
        9px
        11px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 10px;

    border-radius: 7px;

    color:
        var(--aj-text);

    font-size: 12px;

    line-height: 1.2;

    text-decoration: none;

    white-space: nowrap;
}


.cms-submenu-link:hover {
    background:
        #f6c498;

    color:
        var(--aj-text);
}


/* ==============================================================
   LEVEL 3 MENU
============================================================== */

.cms-submenu-item
> .cms-submenu {
    top: -8px;

    left:
        calc(
            100% + 6px
        );

    transform:
        translate(
            8px,
            0
        );
}


.cms-submenu-item:hover
> .cms-submenu {
    opacity: 1;

    visibility: visible;

    pointer-events: auto;

    transform:
        translate(
            0,
            0
        );
}


/* ==============================================================
   HEADER BUTTON
============================================================== */

.cms-button-wrap {
    width: 100%;
}


.cms-header-button {
    min-width: 102px;

    min-height: 35px;

    margin: 3px;

    padding:
        7px
        13px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    border:
        1px solid
        var(--aj-accent);

    border-radius: 9px;

    background:
        transparent;

    color:
        var(--aj-accent);

    font-size: 13px;

    text-decoration: none;

    white-space: nowrap;

    transition:
        .18s ease;
}


.cms-header-button:hover {
    background:
        var(--aj-accent);

    color:
        #fff;
}


/* ==============================================================
   LAYOUT TEXT / ICON
============================================================== */

.cms-layout-text,
.cms-layout-icon {
    width: 100%;
}


/* ==============================================================
   FOOTER
============================================================== */

.cms-site-footer {
    width: 100%;

    background:
        var(--aj-bg);
}


.cms-footer-outer {
    width: 100%;

    padding:
        16px
        30px
        0;
}


.cms-footer-box {
    width: 100%;

    min-height: 112px;

    position: relative;

    overflow: hidden;

    background:
        var(--aj-footer);

    border-radius:
        10px
        10px
        0
        0;
}


.cms-footer-box
> .container-fluid,
.cms-footer-box
> .container,
.cms-footer-box
> .container-xl {
    min-height: 112px;

    padding-top: 0;

    padding-bottom: 0;
}


.cms-footer-row {
    min-height: 112px;
}


/* ==============================================================
   FOOTER ICON
============================================================== */

.cms-footer-box
.footer-icon-column {
    min-height: 112px;

    display: flex;

    align-items: center;

    justify-content: center;
}


.cms-footer-box
.footer-icon-column
.cms-layout-icon {
    display: flex;

    align-items: center;

    justify-content: center;

    width: 100%;
}


.cms-footer-box
.footer-icon-column i {
    margin: 0;

    display: block;

    color:
        #765f4d;

    font-size:
        54px !important;

    line-height: 1;
}


/* ==============================================================
   FOOTER QUOTE
============================================================== */

.cms-footer-box
.footer-text-column {
    min-height: 112px;

    display: flex;

    align-items: center;

    justify-content: center;

    padding:
        0
        30px;
}


.cms-footer-text {
    width: 100%;

    margin: 0;

    color:
        #171717;

    font-size: 17px;

    line-height: 1.45;

    text-align: center;
}


/* ==============================================================
   PAGE BUILDER
============================================================== */

.cms-builder-row {
    width: 100%;
}


.cms-builder-element {
    width: 100%;
}


/* ==============================================================
   TABLET
============================================================== */

@media(max-width: 1199px) {

    .cms-menu-link {
        padding:
            0
            9px;

        font-size: 12px;
    }

}


/* ==============================================================
   MOBILE
============================================================== */

@media(max-width: 991px) {

    .cms-header-row,
    .cms-header-row .row,
    .cms-layout-column,
    .cms-main-navigation {
        min-height: auto;
    }


    .cms-layout-column {
        padding:
            8px
            15px;

        justify-content: center;
    }


    .cms-brand-wrap,
    .cms-button-wrap {
        text-align: center !important;
    }


    .cms-main-navigation {
        justify-content:
            center !important;
    }


    .cms-menu-root {
        width: 100%;

        flex-direction: column;

        align-items: stretch;
    }


    .cms-menu-item {
        width: 100%;

        display: block;
    }


    .cms-menu-link {
        min-height: 42px;

        width: 100%;

        justify-content:
            space-between;

        padding:
            9px
            12px;
    }


    .cms-submenu {
        min-width: 0;

        width: 100%;

        position: static;

        display: none;

        border: 0;

        border-left:
            2px solid
            var(--aj-accent);

        border-radius: 0;

        box-shadow: none;

        opacity: 1;

        visibility: visible;

        pointer-events: auto;

        transform: none;
    }


    .cms-menu-item:hover
    > .cms-submenu,
    .cms-submenu-item:hover
    > .cms-submenu {
        display: block;

        opacity: 1;

        visibility: visible;

        transform: none;
    }


    .cms-submenu-item
    > .cms-submenu {
        position: static;

        transform: none;
    }


    .cms-footer-outer {
        padding:
            12px
            15px
            0;
    }


    .cms-footer-box,
    .cms-footer-row {
        min-height: auto;
    }


    .cms-footer-box
    .footer-icon-column {
        min-height: 80px;
    }


    .cms-footer-box
    .footer-text-column {
        min-height: 80px;

        padding:
            15px
            25px;
    }

}


/* ==============================================================
   SMALL MOBILE
============================================================== */

@media(max-width: 575px) {

    .cms-preview-toolbar {
        align-items:
            flex-start;

        flex-direction:
            column;
    }


    .cms-brand-title {
        font-size: 20px;
    }


    .cms-brand-subtitle {
        font-size: 11px;

        letter-spacing: 1.5px;
    }


    .cms-footer-text {
        font-size: 13px;
    }

}

/* ==============================================================
   GLOBAL PAGE CONTAINER V2
   Same content width for Header, Builder Body and Footer.
   Backgrounds remain full-width; only inner content is constrained.
============================================================== */

:root {
    --amita-site-container: 1320px;
    --amita-site-gutter: 15px;
}

/* PAGE BODY:
   Each builder row can keep its background full viewport width.
   The row's direct Bootstrap container is the actual content boundary.
*/
/* Builder section width presets: Standard / Wide / Full */
main.cms-page-body > .cms-builder-row > .container {
    width: calc(100% - (var(--amita-site-gutter) * 2)) !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
main.cms-page-body > .cms-builder-row > .container-xl,
main.cms-page-body > .cms-builder-row > .container-xxl {
    width: calc(100% - (var(--amita-site-gutter) * 2)) !important;
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
main.cms-page-body > .cms-builder-row > .container-fluid {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: var(--amita-site-gutter) !important;
    padding-right: var(--amita-site-gutter) !important;
}

/* Prevent nested full-width widget containers from escaping the
   Builder row content boundary. */
main.cms-page-body .cms-builder-element > section > .container-fluid,
main.cms-page-body .cms-builder-element > section > .container,
main.cms-page-body .cms-builder-element > section > .container-xl,
main.cms-page-body .cms-builder-element > section > .container-xxl {
    max-width: 100% !important;
}

/* Generic protection against horizontal overflow from grid widgets. */
main.cms-page-body,
main.cms-page-body .cms-builder-row,
main.cms-page-body .cms-builder-element {
    min-width: 0 !important;
}

main.cms-page-body .row {
    max-width: 100%;
}

/* GLOBAL FOOTER */
.cms-site-footer .cms-footer-outer {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.cms-site-footer .cms-footer-box {
    width: calc(100% - (var(--amita-site-gutter) * 2)) !important;
    max-width: var(--amita-site-container) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.cms-site-footer .cms-footer-box > .container,
.cms-site-footer .cms-footer-box > .container-fluid,
.cms-site-footer .cms-footer-box > .container-xl,
.cms-site-footer .cms-footer-box > .container-xxl {
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (max-width: 575.98px) {
    :root {
        --amita-site-gutter: 12px;
    }

    main.cms-page-body > .cms-builder-row > .container,
    main.cms-page-body > .cms-builder-row > .container-fluid,
    main.cms-page-body > .cms-builder-row > .container-xl,
    main.cms-page-body > .cms-builder-row > .container-xxl,
    .cms-site-footer .cms-footer-box {
        width: calc(100% - 24px) !important;
    }
}


/* ==============================================================
   FOOTER BUILDER V2 — RESPONSIVE / MULTI-COLUMN
   Builder remains the single source of footer content.
============================================================== */
.cms-site-footer .cms-footer-box {
    min-height: 0;
    padding: 0;
    overflow: hidden;
}

.cms-site-footer .cms-footer-row {
    min-height: 0;
    align-items: stretch !important;
}

.cms-site-footer .cms-footer-column {
    min-width: 0;
    min-height: 0 !important;
    padding: 28px 24px !important;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start !important;
    gap: 12px;
}

/* Keep old footer layouts working, but remove the old 2-column-only sizing. */
.cms-site-footer .footer-icon-column,
.cms-site-footer .footer-text-column {
    min-height: 0 !important;
    padding: 28px 24px !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
}

.cms-site-footer .cms-logo-wrap,
.cms-site-footer .cms-layout-icon,
.cms-site-footer .cms-layout-text,
.cms-site-footer .cms-button-wrap,
.cms-site-footer .cms-footer-html,
.cms-site-footer .cms-footer-text,
.cms-site-footer .cms-footer-navigation {
    width: 100%;
}

.cms-site-footer .cms-header-logo {
    max-width: 100%;
    height: auto;
}

.cms-site-footer .cms-footer-text,
.cms-site-footer .cms-layout-text,
.cms-site-footer .cms-footer-html {
    color: #3e3027;
    font-size: 14px;
    line-height: 1.7;
}

.cms-site-footer .cms-footer-html h2,
.cms-site-footer .cms-footer-html h3,
.cms-site-footer .cms-footer-html h4,
.cms-site-footer .cms-footer-html h5,
.cms-site-footer .cms-footer-html h6 {
    margin: 0 0 12px;
    color: #2e2119;
    font-family: "Lora", serif;
    font-weight: 700;
}

.cms-site-footer .cms-footer-html p {
    margin: 0 0 10px;
}

.cms-site-footer .cms-footer-html ul,
.cms-site-footer .cms-footer-html ol {
    margin: 0;
    padding-left: 18px;
}

.cms-site-footer .cms-footer-html a,
.cms-site-footer .cms-footer-text a,
.cms-site-footer .cms-layout-text a {
    color: #6f472c;
    text-decoration: none;
}

.cms-site-footer .cms-footer-html a:hover,
.cms-site-footer .cms-footer-text a:hover,
.cms-site-footer .cms-layout-text a:hover {
    color: var(--aj-accent);
    text-decoration: underline;
}

/* A Menu element becomes a clean vertical useful-links list in the footer. */
.cms-site-footer .cms-footer-navigation {
    display: block;
}

.cms-site-footer .cms-footer-navigation .cms-menu-root,
.cms-site-footer .cms-footer-navigation .cms-submenu {
    position: static !important;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
    background: transparent;
    border: 0;
    box-shadow: none;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    list-style: none;
}

.cms-site-footer .cms-footer-navigation .cms-menu-item,
.cms-site-footer .cms-footer-navigation .cms-submenu-item {
    width: 100%;
    display: block;
}

.cms-site-footer .cms-footer-navigation .cms-menu-link,
.cms-site-footer .cms-footer-navigation .cms-submenu-link {
    min-height: 0 !important;
    padding: 2px 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    color: #4c3728;
    font-size: 14px;
    line-height: 1.45;
    text-decoration: none;
    white-space: normal;
}

.cms-site-footer .cms-footer-navigation .cms-submenu {
    margin-top: 5px;
    padding-left: 14px;
    gap: 5px;
}

.cms-site-footer .cms-footer-navigation .cms-menu-arrow {
    display: none;
}

.cms-site-footer .cms-footer-button {
    min-height: 40px;
    padding: 9px 16px;
}

/* Social links added with an HTML element can use .footer-social-links. */
.cms-site-footer .footer-social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    align-items: center;
}

.cms-site-footer .footer-social-links a {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(111, 71, 44, .25);
    border-radius: 50%;
    background: rgba(255,255,255,.38);
    color: #6f472c;
    text-decoration: none;
    transition: .18s ease;
}

.cms-site-footer .footer-social-links a:hover {
    background: #fff;
    color: var(--aj-accent);
    border-color: var(--aj-accent);
    text-decoration: none;
}

.cms-site-footer .footer-contact-list {
    display: grid;
    gap: 8px;
}

.cms-site-footer .footer-contact-list a,
.cms-site-footer .footer-contact-list span {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.cms-site-footer .footer-copyright {
    padding-top: 14px;
    margin-top: 8px;
    border-top: 1px solid rgba(111, 71, 44, .18);
    font-size: 12px;
    line-height: 1.5;
}

@media (max-width: 991.98px) {
    .cms-site-footer .cms-footer-column,
    .cms-site-footer .footer-icon-column,
    .cms-site-footer .footer-text-column {
        flex: 0 0 50%;
        max-width: 50%;
        padding: 24px 22px !important;
    }
}

@media (max-width: 767.98px) {
    .cms-site-footer .cms-footer-box {
        border-radius: 10px 10px 0 0;
    }

    .cms-site-footer .cms-footer-column,
    .cms-site-footer .footer-icon-column,
    .cms-site-footer .footer-text-column {
        flex: 0 0 100%;
        max-width: 100%;
        padding: 20px 18px !important;
        text-align: left;
    }

    .cms-site-footer .cms-footer-column + .cms-footer-column {
        border-top: 1px solid rgba(111, 71, 44, .12);
    }

    .cms-site-footer .cms-footer-text,
    .cms-site-footer .cms-layout-text,
    .cms-site-footer .cms-footer-html {
        font-size: 13px;
    }
}

/* ==============================================================
   FOOTER BUILDER V3 — EQUAL CARDS / PREVIEW-LIVE PARITY
============================================================== */
.cms-site-footer .aj-footer-main-row .cms-footer-row {
    align-items: stretch !important;
}

.cms-site-footer .aj-footer-main-row .cms-footer-column {
    display: flex !important;
    align-items: stretch !important;
    padding: 12px !important;
}

.cms-site-footer .aj-footer-main-row .cms-footer-column > * {
    width: 100%;
}

.cms-site-footer .aj-footer-card {
    width: 100%;
    height: 100%;
    min-height: 285px;
    padding: 26px 24px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 12px;
    border: 1px solid rgba(111, 71, 44, .12);
    border-radius: 14px;
    background: rgba(255, 255, 255, .24);
    box-shadow: 0 8px 24px rgba(82, 52, 33, .035);
}

.cms-site-footer .aj-footer-card h4 {
    margin: 0 0 4px;
    font-size: 22px;
    line-height: 1.25;
}

.cms-site-footer .aj-footer-card p {
    margin: 0;
}

.cms-site-footer .aj-footer-link-list,
.cms-site-footer .aj-footer-contact-links {
    width: 100%;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 9px;
    list-style: none;
}

.cms-site-footer .aj-footer-link-list a,
.cms-site-footer .aj-footer-contact-links a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #4c3728;
    font-size: 14px;
    line-height: 1.45;
    text-decoration: none;
}

.cms-site-footer .aj-footer-link-list a:hover,
.cms-site-footer .aj-footer-contact-links a:hover {
    color: var(--aj-accent);
    text-decoration: none;
}

.cms-site-footer .aj-footer-social-contact .footer-social-links {
    margin-top: 2px;
}

.cms-site-footer .aj-footer-contact-links {
    margin-top: 4px;
}

.cms-site-footer .aj-footer-bottom-row .cms-footer-column {
    padding: 0 12px 12px !important;
}

.cms-site-footer .aj-footer-bottom-card {
    width: 100%;
    padding: 16px 20px;
    border-radius: 12px;
    background: rgba(255,255,255,.18);
}

.cms-site-footer .aj-footer-bottom-card .footer-copyright {
    margin: 0;
    padding: 0;
    border-top: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px 10px;
    text-align: center;
}

@media (max-width: 991.98px) {
    .cms-site-footer .aj-footer-main-row .cms-footer-column {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }

    .cms-site-footer .aj-footer-card {
        min-height: 260px;
    }
}

@media (max-width: 767.98px) {
    .cms-site-footer .aj-footer-main-row .cms-footer-column {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        padding: 8px 12px !important;
        border-top: 0 !important;
    }

    .cms-site-footer .aj-footer-card {
        min-height: 0;
        padding: 22px 20px;
    }

    .cms-site-footer .aj-footer-bottom-row .cms-footer-column {
        padding: 8px 12px 12px !important;
    }
}

/* Dedicated Footer Widgets */
.aj-footer-widget{box-sizing:border-box;display:flex;flex-direction:column;min-height:100%;gap:10px}.aj-footer-widget h4{margin:0 0 8px;font-weight:700}.aj-footer-widget p{margin:0 0 8px}.aj-footer-widget-links li{margin:0 0 9px}.aj-footer-widget-links a,.aj-footer-widget-contact a,.aj-footer-widget-secondary{text-decoration:none}.aj-footer-widget-contact{display:flex;flex-direction:column;gap:8px}.aj-footer-widget-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.aj-footer-widget-button{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border:1px solid currentColor;border-radius:8px;text-decoration:none}.aj-footer-widget-social{display:flex;flex-wrap:wrap;gap:10px}.aj-footer-widget-social a{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.12);border-radius:50%;text-decoration:none}.cms-footer-column{display:flex}.cms-footer-column>.aj-footer-widget{width:100%}@media(max-width:991.98px){.cms-footer-column{margin-bottom:16px}}

.aj-footer-widget-contact-links{display:flex;flex-direction:column;gap:7px}.aj-footer-widget-contact-links a{text-decoration:none}


/* Footer Builder Full Control v2 */
.cms-site-footer .cms-layout-row > .row{align-items:stretch}
.cms-site-footer .cms-footer-column,.cms-site-footer [class*="col-"]{display:flex;align-items:stretch}
.cms-site-footer .aj-footer-widget{width:100%;max-width:100%;overflow-wrap:anywhere}
.cms-site-footer .aj-footer-widget a{transition:opacity .18s ease,color .18s ease,background .18s ease}
.cms-site-footer .aj-footer-widget a:hover{opacity:.78}
.cms-site-footer .aj-footer-widget-links{padding:0;margin:0}
.cms-site-footer .aj-footer-widget-links li{margin:0}
.cms-site-footer .aj-footer-widget-button{padding:9px 14px;border-radius:8px;border:1px solid currentColor;line-height:1.2}
.cms-site-footer .aj-footer-widget-social a{flex:0 0 auto;border:1px solid rgba(84,57,38,.16)}
.cms-site-footer .aj-footer-widget-copyright{width:100%}
@media(max-width:991.98px){.cms-site-footer .cms-layout-row>.row>[class*="col-"]{flex:0 0 50%;max-width:50%;margin-bottom:16px}}
@media(max-width:767.98px){.cms-site-footer .cms-layout-row>.row>[class*="col-"]{flex:0 0 100%;max-width:100%}.cms-site-footer .aj-footer-widget{min-height:0!important}}


/* ==============================================================
   FOOTER BUILDER V4 — TRUE FULL-WIDTH FRONTEND OUTPUT
   The footer builder remains the source of content; this removes
   legacy site-container/max-width constraints from footer rows.
============================================================== */
.cms-site-footer {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

.cms-site-footer .cms-footer-outer {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.cms-site-footer .cms-footer-box {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

.cms-site-footer .cms-footer-box > .container,
.cms-site-footer .cms-footer-box > .container-fluid,
.cms-site-footer .cms-footer-box > .container-xl,
.cms-site-footer .cms-footer-box > .container-xxl {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: clamp(20px, 5vw, 80px) !important;
    padding-right: clamp(20px, 5vw, 80px) !important;
}

.cms-site-footer .cms-footer-row {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.cms-site-footer .aj-footer-widget-copyright {
    width: 100% !important;
    text-align: center;
}

@media (max-width: 767.98px) {
    .cms-site-footer .cms-footer-box {
        width: 100% !important;
        max-width: none !important;
        border-radius: 0 !important;
    }
    .cms-site-footer .cms-footer-box > .container,
    .cms-site-footer .cms-footer-box > .container-fluid,
    .cms-site-footer .cms-footer-box > .container-xl,
    .cms-site-footer .cms-footer-box > .container-xxl {
        width: 100% !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}


/* ==============================================================
   FOOTER VISUAL SEPARATION V4
   Adds breathing room above the footer, a subtle divider, and
   spacing between the main footer content and copyright row.
============================================================== */
.cms-site-footer {
    margin-top: 25px !important;
    padding-top: 18px !important;
    border-top: 1px solid rgba(84, 57, 38, 0.20) !important;
    background: var(--aj-bg) !important;
}

.cms-site-footer .cms-footer-outer {
    margin-top: 0 !important;
}

.cms-site-footer .cms-footer-outer + .cms-footer-outer {
    margin-top: 12px !important;
}

.cms-site-footer .cms-footer-box {
    box-shadow: none !important;
}

@media (max-width: 767.98px) {
    .cms-site-footer {
        margin-top: 25px !important;
        padding-top: 14px !important;
    }

    .cms-site-footer .cms-footer-outer + .cms-footer-outer {
        margin-top: 10px !important;
    }
}

/* ==============================================================
   FOOTER V5 — FULL-WIDTH SHELL + ROUNDED INNER CONTENT BOUNDARY
   Keeps the footer visually wide while preventing widgets from
   touching/overflowing the browser edges.
============================================================== */
.cms-site-footer {
    box-sizing: border-box;
    width: 100% !important;
}

/* Main/footer rows keep a wide shell with soft rounded sides. */
.cms-site-footer .cms-footer-outer {
    box-sizing: border-box;
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
    overflow: hidden !important;
    border-radius: 18px !important;
}

/* The actual footer widgets live inside a controlled centered area. */
.cms-site-footer .cms-footer-box > .container,
.cms-site-footer .cms-footer-box > .container-fluid,
.cms-site-footer .cms-footer-box > .container-xl,
.cms-site-footer .cms-footer-box > .container-xxl {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 72px !important;
    padding-right: 72px !important;
}

.cms-site-footer .cms-footer-row {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.cms-site-footer .cms-footer-column,
.cms-site-footer .cms-layout-row > .row > [class*="col-"] {
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.cms-site-footer .aj-footer-widget {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-wrap: anywhere;
}

/* Copyright follows the same centered inner boundary. */
.cms-site-footer .aj-footer-bottom-row .cms-footer-row,
.cms-site-footer .aj-footer-widget-copyright {
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (max-width: 1199.98px) {
    .cms-site-footer .cms-footer-box > .container,
    .cms-site-footer .cms-footer-box > .container-fluid,
    .cms-site-footer .cms-footer-box > .container-xl,
    .cms-site-footer .cms-footer-box > .container-xxl {
        padding-left: 36px !important;
        padding-right: 36px !important;
    }
}

@media (max-width: 767.98px) {
    .cms-site-footer .cms-footer-outer {
        width: calc(100% - 20px) !important;
        margin-left: 10px !important;
        margin-right: 10px !important;
        border-radius: 14px !important;
    }

    .cms-site-footer .cms-footer-box > .container,
    .cms-site-footer .cms-footer-box > .container-fluid,
    .cms-site-footer .cms-footer-box > .container-xl,
    .cms-site-footer .cms-footer-box > .container-xxl {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}

/* ==============================================================
   FOOTER V6 — STABLE COLUMN + CONTACT/SOCIAL LINK WRAPPING FIX
   Prevent saved footer widgets from collapsing CTA/link text into
   a character-by-character vertical column.
============================================================== */
@media (min-width: 992px) {
    .cms-site-footer .cms-layout-row > .row {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
    }

    .cms-site-footer .cms-layout-row > .row > .cms-footer-column,
    .cms-site-footer .cms-layout-row > .row > [class*="col-"] {
        flex: 0 0 25% !important;
        max-width: 25% !important;
        width: 25% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .cms-site-footer .aj-footer-bottom-row .cms-layout-row > .row > .cms-footer-column,
    .cms-site-footer .aj-footer-bottom-row .cms-layout-row > .row > [class*="col-"] {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}

.cms-site-footer .aj-footer-widget,
.cms-site-footer .aj-footer-widget * {
    min-width: 0;
    box-sizing: border-box;
}

.cms-site-footer .aj-footer-widget h4,
.cms-site-footer .aj-footer-widget p,
.cms-site-footer .aj-footer-widget-subtitle,
.cms-site-footer .aj-footer-widget-contact,
.cms-site-footer .aj-footer-widget-contact-links,
.cms-site-footer .aj-footer-widget-actions,
.cms-site-footer .aj-footer-widget-social,
.cms-site-footer .aj-footer-widget-links {
    width: 100% !important;
    max-width: 100% !important;
}

.cms-site-footer .aj-footer-widget a,
.cms-site-footer .aj-footer-widget-contact a,
.cms-site-footer .aj-footer-widget-contact-links a,
.cms-site-footer .aj-footer-widget-actions a,
.cms-site-footer .aj-footer-widget-links a,
.cms-site-footer .aj-footer-widget-secondary,
.cms-site-footer .aj-footer-widget-button {
    word-break: normal !important;
    overflow-wrap: normal !important;
    white-space: normal !important;
}

.cms-site-footer .aj-footer-widget-contact-links,
.cms-site-footer .aj-footer-widget-contact,
.cms-site-footer .aj-footer-widget-actions {
    align-items: flex-start !important;
}

.cms-site-footer .aj-footer-widget-contact-links a,
.cms-site-footer .aj-footer-widget-contact a,
.cms-site-footer .aj-footer-widget-actions a {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    max-width: 100% !important;
    flex: 0 1 auto !important;
}

.cms-site-footer .aj-footer-widget-social {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
}

.cms-site-footer .aj-footer-widget-social a {
    flex: 0 0 auto !important;
    width: var(--footer-icon-box, 38px);
    min-width: 38px !important;
    white-space: nowrap !important;
}

@media (max-width: 991.98px) and (min-width: 768px) {
    .cms-site-footer .cms-layout-row > .row > .cms-footer-column,
    .cms-site-footer .cms-layout-row > .row > [class*="col-"] {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        width: 50% !important;
    }
}

@media (max-width: 767.98px) {
    .cms-site-footer .cms-layout-row > .row > .cms-footer-column,
    .cms-site-footer .cms-layout-row > .row > [class*="col-"] {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}


/* ==============================================================
   FOOTER V7 — CLEAN FOLLOW & CONTACT LINK STYLE
   Match contact/extra links visually with Useful/Important Links.
============================================================== */
.cms-site-footer .aj-footer-widget-contact-links {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
}

.cms-site-footer .aj-footer-widget-contact-links a,
.cms-site-footer .aj-footer-widget-social + .aj-footer-widget-contact-links a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 2px 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-decoration: none !important;
    line-height: 1.45 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.cms-site-footer .aj-footer-widget-contact-links a:hover {
    background: transparent !important;
    box-shadow: none !important;
    text-decoration: underline !important;
}

.cms-site-footer .aj-footer-widget-contact-links a i {
    flex: 0 0 auto !important;
    width: 16px !important;
    margin: 0 !important;
    text-align: center !important;
}

/* Defensive reset: footer-specific CTA classes must not create card/button
   visuals when links are being used as simple footer navigation. */
.cms-site-footer .aj-footer-widget-social .aj-footer-widget-button,
.cms-site-footer .aj-footer-widget-social .aj-footer-widget-secondary,
.cms-site-footer .aj-footer-widget-contact-links .aj-footer-widget-button,
.cms-site-footer .aj-footer-widget-contact-links .aj-footer-widget-secondary {
    min-height: 0 !important;
    padding: 2px 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}


/* ==============================================================
   FOOTER V8 — UNIFORM LINK TYPOGRAPHY
   Keep all footer navigation/contact links visually consistent.
============================================================== */
.cms-site-footer .aj-footer-widget-links a,
.cms-site-footer .aj-footer-widget-contact-links a,
.cms-site-footer .aj-footer-widget-contact a,
.cms-site-footer .aj-footer-widget-actions a,
.cms-site-footer .aj-footer-widget-secondary,
.cms-site-footer .aj-footer-widget-button {
    font-size: 14px !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
}

.cms-site-footer .aj-footer-widget-links a i,
.cms-site-footer .aj-footer-widget-contact-links a i,
.cms-site-footer .aj-footer-widget-contact a i,
.cms-site-footer .aj-footer-widget-actions a i {
    font-size: 14px !important;
    line-height: 1 !important;
}

@media (max-width: 767.98px) {
    .cms-site-footer .aj-footer-widget-links a,
    .cms-site-footer .aj-footer-widget-contact-links a,
    .cms-site-footer .aj-footer-widget-contact a,
    .cms-site-footer .aj-footer-widget-actions a,
    .cms-site-footer .aj-footer-widget-secondary,
    .cms-site-footer .aj-footer-widget-button {
        font-size: 14px !important;
    }
}


/* Footer link visual normalization v9 */
.cms-site-footer .footer-widget-links a,
.cms-site-footer .footer-widget-contact a,
.cms-site-footer .footer-widget-social a,
.cms-site-footer .footer-links a,
.cms-site-footer .footer-contact a,
.cms-site-footer .footer-contact-list a,
.cms-site-footer .footer-cta-link,
.cms-site-footer .footer-contact-link,
.cms-site-footer .footer-social-contact a {
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    width: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    text-decoration: none !important;
    white-space: normal !important;
}

.cms-site-footer .footer-widget-contact li,
.cms-site-footer .footer-widget-links li,
.cms-site-footer .footer-contact-list li,
.cms-site-footer .footer-links li {
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    line-height: 1.45 !important;
}

.cms-site-footer .footer-widget-contact a i,
.cms-site-footer .footer-widget-links a i,
.cms-site-footer .footer-contact-list a i,
.cms-site-footer .footer-links a i {
    font-size: 14px !important;
    line-height: 1 !important;
    width: 16px !important;
    flex: 0 0 16px !important;
    text-align: center !important;
}

/* Remove any CTA/button emphasis inherited by contact footer links */
.cms-site-footer .footer-widget-contact .btn,
.cms-site-footer .footer-widget-contact .button,
.cms-site-footer .footer-widget-contact [class*="btn"],
.cms-site-footer .footer-contact .btn,
.cms-site-footer .footer-contact .button,
.cms-site-footer .footer-contact [class*="btn"] {
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    min-height: 0 !important;
}

/* Footer exact social/contact link normalization v10 */
.cms-site-footer .aj-footer-widget-contact-links {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    align-items: flex-start !important;
}
.cms-site-footer .aj-footer-widget-contact-links a {
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    width: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-decoration: none !important;
    white-space: normal !important;
}
.cms-site-footer .aj-footer-widget-contact-links a i {
    font-size: 14px !important;
    line-height: 1 !important;
    width: 16px !important;
    flex: 0 0 16px !important;
    text-align: center !important;
    margin: 0 !important;
}
