@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600&display=swap');

/* FORCE ALL PAGE HEADINGS AWAY FROM GEORGIA */
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body .elementor-heading-title,
html body .elementor-widget-heading .elementor-heading-title,
html body .elementor-widget-text-editor h1,
html body .elementor-widget-text-editor h2,
html body .elementor-widget-text-editor h3 {
    font-family: "Barlow Condensed", "Arial Narrow", Arial, sans-serif !important;
    font-weight: 500 !important;
    font-style: normal !important;
}@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600&display=swap');/* Remove Astra’s outer page margins around Elementor */
.site-content > .ast-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: block !important;
}

.site-content #primary,
.site-content .content-area,
.site-content .site-main,
.site-content .elementor {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    flex: 0 0 100% !important;
}
.ast-primary-header-bar .site-primary-header-wrap {
    padding-left: 70px !important;
    padding-right: 70px !important;
}

@media (max-width: 1024px) {
    .ast-primary-header-bar .site-primary-header-wrap {
        padding-left: 36px !important;
        padding-right: 36px !important;
    }
}

@media (max-width: 767px) {
    .ast-primary-header-bar .site-primary-header-wrap {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}
/* ====================================
   APEX STUDENT LIVING — FULL FOOTER
   ==================================== */

/* Full-width main footer */
.site-primary-footer-wrap,
.site-footer-primary-section-1,
.site-footer-primary-section-2,
.site-footer-primary-section-3,
.site-footer-primary-section-4 {
    background: #16363d !important;
}

/* Main footer spacing */
.site-primary-footer-wrap {
    width: 100% !important;
    padding: 58px 0 48px !important;
    border: 0 !important;
}

/* Footer content width and columns */
.site-primary-footer-wrap .ast-builder-grid-row {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 32px !important;

    display: grid !important;
    grid-template-columns: repeat(
        auto-fit,
        minmax(180px, 1fr)
    ) !important;

    gap: 42px !important;
    align-items: start !important;
}

/* Remove unwanted widget spacing */
.site-footer .widget,
.site-footer .footer-widget-area,
.site-footer .site-footer-section {
    margin: 0 !important;
    padding: 0 !important;
}

/* Footer headings */
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer .widget-title {
    margin: 0 0 17px !important;
    color: #ffffff !important;
    font-family: Georgia, serif !important;
    font-size: 21px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
}

/* Footer paragraphs */
.site-footer,
.site-footer p,
.site-footer li,
.site-footer .ast-footer-html {
    color: rgba(255, 255, 255, 0.72) !important;
    font-family: Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
}

/* Footer menu */
.site-footer .menu,
.site-footer .footer-nav-wrap ul,
.site-footer .astra-footer-horizontal-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 9px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Remove Astra menu spacing */
.site-footer .menu-item,
.site-footer .footer-nav-wrap .menu-item {
    margin: 0 !important;
    padding: 0 !important;
}

/* Footer links */
.site-footer a,
.site-footer .menu-link {
    color: rgba(255, 255, 255, 0.8) !important;
    text-decoration: none !important;
    font-size: 14px !important;
    transition:
        color 0.2s ease,
        transform 0.2s ease !important;
}

.site-footer a:hover,
.site-footer .menu-link:hover {
    color: #e3b956 !important;
}

/* Logo */
.site-footer .custom-logo,
.site-footer img.custom-logo,
.site-footer .footer-widget-area img {
    width: 210px !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 0 19px !important;
}

/* Social icons */
.site-footer .ast-builder-social-element {
    width: 38px !important;
    height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
}

.site-footer .ast-builder-social-element:hover {
    background: #cf684b !important;
}

/* Optional footer enquiry button */
.site-footer a.footer-button,
.site-footer .wp-block-button__link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    margin-top: 15px !important;
    padding: 12px 20px !important;
    border-radius: 999px !important;
    background: #cf684b !important;
    color: #ffffff !important;
    font-weight: 700 !important;
}

.site-footer a.footer-button:hover,
.site-footer .wp-block-button__link:hover {
    color: #ffffff !important;
    transform: translateY(-2px);
}

/* Copyright section */
.site-below-footer-wrap {
    width: 100% !important;
    padding: 18px 0 !important;
    background: #102a30 !important;
    border-top: 1px solid
        rgba(255, 255, 255, 0.12) !important;
}

/* Copyright content alignment */
.site-below-footer-wrap .ast-builder-grid-row {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 32px !important;
}

/* Copyright text */
.site-below-footer-wrap,
.site-below-footer-wrap p,
.site-below-footer-wrap a,
.ast-footer-copyright {
    color: rgba(255, 255, 255, 0.6) !important;
    font-size: 12px !important;
}

/* Tablet */
@media (max-width: 1024px) {
    .site-primary-footer-wrap {
        padding: 48px 0 40px !important;
    }

    .site-primary-footer-wrap .ast-builder-grid-row {
        grid-template-columns: repeat(
            2,
            minmax(0, 1fr)
        ) !important;

        padding-left: 36px !important;
        padding-right: 36px !important;
        gap: 36px !important;
    }

    .site-below-footer-wrap .ast-builder-grid-row {
        padding-left: 36px !important;
        padding-right: 36px !important;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .site-primary-footer-wrap {
        padding: 40px 0 34px !important;
    }

    .site-primary-footer-wrap .ast-builder-grid-row {
        grid-template-columns: 1fr !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
        gap: 30px !important;
    }

    .site-below-footer-wrap .ast-builder-grid-row {
        padding-left: 20px !important;
        padding-right: 20px !important;
        text-align: left !important;
    }

    .site-footer .custom-logo,
    .site-footer img.custom-logo,
    .site-footer .footer-widget-area img {
        width: 180px !important;
    }
}
/* ==========================================
   APEX STUDENT LIVING — NEAT ASTRA FOOTER
   Main colour: #1c2421
   ========================================== */

/* Full-width main footer */
.site-footer,
.site-primary-footer-wrap,
.site-primary-footer-wrap .ast-builder-grid-row-container {
    width: 100% !important;
    max-width: 100% !important;
    background: #1c2421 !important;
    border: 0 !important;
}

/* Main footer content */
.site-primary-footer-wrap {
    padding: 58px 0 50px !important;
}

.site-primary-footer-wrap .ast-builder-grid-row {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 40px !important;

    display: grid !important;
    grid-template-columns: 1.2fr 0.75fr 1fr !important;
    gap: 64px !important;
    align-items: start !important;
}

/* Keep each footer column neatly stacked */
.site-primary-footer-wrap .site-footer-section {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove Astra's unwanted element spacing */
.site-footer .footer-widget-area,
.site-footer .widget,
.site-footer .ast-footer-html,
.site-footer .footer-navigation {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Logo */
.site-primary-footer-wrap .custom-logo,
.site-primary-footer-wrap img {
    display: block !important;
    width: 180px !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 0 12px !important;
}

/* Footer headings */
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer .widget-title {
    margin: 0 0 14px !important;
    color: #ffffff !important;
    font-family: Georgia, serif !important;
    font-size: 21px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
}

/* Footer text */
.site-footer,
.site-footer p,
.site-footer li,
.site-footer .ast-footer-html {
    color: rgba(255, 255, 255, 0.72) !important;
    font-family: Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
}

.site-footer p {
    margin: 0 0 12px !important;
}

/* Footer navigation */
.site-footer .footer-nav-wrap ul,
.site-footer .menu,
.site-footer .astra-footer-horizontal-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.site-footer .menu-item,
.site-footer .footer-nav-wrap .menu-item {
    margin: 0 !important;
    padding: 0 !important;
}

/* Footer links */
.site-footer a,
.site-footer .menu-link {
    color: rgba(255, 255, 255, 0.82) !important;
    font-size: 14px !important;
    text-decoration: none !important;
    transition: color 0.2s ease, transform 0.2s ease;
}

.site-footer a:hover,
.site-footer .menu-link:hover {
    color: #e3b956 !important;
}

/* Optional enquiry button */
.site-footer .footer-enquire,
.site-footer .wp-block-button__link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    margin-top: 8px !important;
    padding: 12px 20px !important;
    border-radius: 999px !important;
    background: #b9542f !important;
    color: #ffffff !important;
    font-weight: 700 !important;
}

.site-footer .footer-enquire:hover,
.site-footer .wp-block-button__link:hover {
    color: #ffffff !important;
    transform: translateY(-2px);
}

/* Copyright row */
.site-below-footer-wrap {
    width: 100% !important;
    background: #151c1a !important;
    border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
    padding: 18px 0 !important;
}

.site-below-footer-wrap .ast-builder-grid-row {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 40px !important;
}

.site-below-footer-wrap,
.site-below-footer-wrap p,
.site-below-footer-wrap a,
.ast-footer-copyright {
    color: rgba(255, 255, 255, 0.58) !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
}

/* Tablet */
@media (max-width: 1024px) {
    .site-primary-footer-wrap .ast-builder-grid-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 40px !important;
        padding: 0 36px !important;
    }

    .site-below-footer-wrap .ast-builder-grid-row {
        padding: 0 36px !important;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .site-primary-footer-wrap {
        padding: 42px 0 36px !important;
    }

    .site-primary-footer-wrap .ast-builder-grid-row {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
        padding: 0 20px !important;
    }

    .site-primary-footer-wrap .custom-logo,
    .site-primary-footer-wrap img {
        width: 160px !important;
    }

    .site-below-footer-wrap .ast-builder-grid-row {
        padding: 0 20px !important;
        text-align: left !important;
    }
}
/* ==================================
   APEX FOOTER — CLEAN AND ALIGNED
   ================================== */

.site-primary-footer-wrap {
    width: 100% !important;
    background: #1c2421 !important;
    border: 0 !important;
    padding: 48px 0 !important;
}

.site-primary-footer-wrap .ast-builder-grid-row {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 40px !important;

    display: grid !important;
    grid-template-columns:
        minmax(150px, 0.8fr)
        minmax(170px, 0.6fr)
        minmax(220px, 1fr) !important;

    gap: 56px !important;
    align-items: start !important;
}

/* Align every footer column from the top */
.site-footer .site-footer-section {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove Astra element spacing */
.site-footer .footer-widget-area,
.site-footer .widget,
.site-footer .ast-footer-html,
.site-footer .footer-navigation {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Smaller footer logo */
.site-footer .custom-logo,
.site-footer img.custom-logo,
.site-footer .widget_media_image img,
.site-footer .ast-footer-html img {
    display: block !important;
    width: 145px !important;
    max-width: 145px !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 0 18px !important;
}

/* Neat vertical footer menu */
.site-footer .footer-nav-wrap ul,
.site-footer .menu,
.site-footer .astra-footer-horizontal-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Keep Rooms aligned with every other link */
.site-footer .menu-item,
.site-footer .menu-item:first-child,
.site-footer .footer-nav-wrap .menu-item,
.site-footer .footer-nav-wrap .menu-item:first-child {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.site-footer .menu-link,
.site-footer .footer-nav-wrap a {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: rgba(255, 255, 255, 0.82) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    text-decoration: none !important;
}

.site-footer .menu-link:hover,
.site-footer .footer-nav-wrap a:hover {
    color: #b9542f !important;
}

/* Footer headings and text */
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer .widget-title {
    margin: 0 0 16px !important;
    color: #ffffff !important;
    font-family: Georgia, serif !important;
    font-size: 21px !important;
    font-weight: 400 !important;
}

.site-footer p {
    margin: 0 0 12px !important;
    color: rgba(255, 255, 255, 0.7) !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
}

/* Instagram/social icon */
.site-footer .ast-builder-social-element {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    margin: 6px 8px 0 0 !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
}

.site-footer .ast-builder-social-element:hover {
    background: #b9542f !important;
    color: #ffffff !important;
}

/* Copyright row */
.site-below-footer-wrap {
    width: 100% !important;
    padding: 17px 0 !important;
    background: #151c1a !important;
    border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}

.site-below-footer-wrap .ast-builder-grid-row {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 40px !important;
}

.site-below-footer-wrap,
.site-below-footer-wrap p,
.site-below-footer-wrap a,
.ast-footer-copyright {
    color: rgba(255, 255, 255, 0.58) !important;
    font-size: 12px !important;
}

/* Tablet */
@media (max-width: 1024px) {
    .site-primary-footer-wrap .ast-builder-grid-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        padding: 0 36px !important;
        gap: 38px !important;
    }

    .site-below-footer-wrap .ast-builder-grid-row {
        padding: 0 36px !important;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .site-primary-footer-wrap {
        padding: 38px 0 !important;
    }

    .site-primary-footer-wrap .ast-builder-grid-row {
        grid-template-columns: 1fr !important;
        padding: 0 20px !important;
        gap: 30px !important;
    }

    .site-footer .custom-logo,
    .site-footer img.custom-logo,
    .site-footer .widget_media_image img,
    .site-footer .ast-footer-html img {
        width: 125px !important;
        max-width: 125px !important;
    }

    .site-below-footer-wrap .ast-builder-grid-row {
        padding: 0 20px !important;
        text-align: left !important;
    }
}
<div class="apex-footer-contact">
    <h3>Contact</h3>

    <a class="apex-footer-email"
       href="mailto:hello@apexstudentliving.co.uk">
        hello@apexstudentliving.co.uk
    </a>

    <a class="apex-footer-instagram"
       href="https://www.instagram.com/YOURUSERNAME/"
       target="_blank"
       rel="noopener"
       aria-label="Visit our Instagram">

        <svg viewBox="0 0 24 24" aria-hidden="true">
            <rect x="3" y="3" width="18" height="18" rx="5"></rect>
            <circle cx="12" cy="12" r="4"></circle>
            <circle cx="17.5" cy="6.5" r="1"></circle>
        </svg>

        <span>Follow us on Instagram</span>
    </a>
</div>
					/* =====================================================
   APEX STUDENT LIVING — PROFESSIONAL ASTRA FOOTER
   ===================================================== */

:root {
    --apex-footer-bg: #1c2421;
    --apex-footer-bottom: #151c1a;
    --apex-footer-accent: #b9542f;
    --apex-footer-gold: #d5b66f;
    --apex-footer-text: rgba(255, 255, 255, 0.72);
    --apex-footer-link: rgba(255, 255, 255, 0.88);
    --apex-footer-line: rgba(255, 255, 255, 0.13);
}

/* Full-width footer background */
.site-footer,
.site-primary-footer-wrap,
.site-primary-footer-wrap .ast-builder-grid-row-container,
.site-primary-footer-wrap .site-footer-section {
    background: var(--apex-footer-bg) !important;
}

/* Remove coloured boxes from individual footer elements */
.site-primary-footer-wrap .site-footer-section,
.site-primary-footer-wrap .footer-widget-area,
.site-primary-footer-wrap .ast-builder-layout-element,
.site-primary-footer-wrap .ast-footer-html,
.site-primary-footer-wrap .footer-navigation,
.site-primary-footer-wrap .ast-footer-social-wrap {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Main footer spacing */
.site-primary-footer-wrap {
    width: 100% !important;
    padding: 58px 0 50px !important;
    border: 0 !important;
}

/* Desktop footer columns */
.site-primary-footer-wrap .ast-builder-grid-row {
    display: grid !important;
    grid-template-columns:
        minmax(190px, 1.15fr)
        minmax(150px, 0.65fr)
        minmax(200px, 0.85fr)
        minmax(170px, 0.7fr) !important;

    align-items: start !important;
    gap: 54px !important;

    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 40px !important;
}

/* Keep every footer column aligned from the top */
.site-primary-footer-wrap .site-footer-section {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove Astra’s default widget spacing */
.site-footer .widget,
.site-footer .footer-widget-area,
.site-footer .ast-footer-html,
.site-footer .footer-navigation {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Logo */
.site-primary-footer-wrap .custom-logo,
.site-primary-footer-wrap img.custom-logo,
.site-primary-footer-wrap .widget_media_image img,
.site-primary-footer-wrap .ast-footer-html img {
    display: block !important;
    width: 135px !important;
    max-width: 135px !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 0 20px !important;
}

/* Footer headings */
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer .widget-title {
    margin: 0 0 17px !important;
    color: #ffffff !important;
    font-family: Georgia, serif !important;
    font-size: 21px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
}

/* Normal footer text */
.site-footer,
.site-footer p,
.site-footer li,
.site-footer .ast-footer-html {
    color: var(--apex-footer-text) !important;
    font-family: Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
}

.site-footer p {
    margin: 0 0 12px !important;
}

/* Vertical footer navigation */
.site-footer .footer-nav-wrap ul,
.site-footer .menu,
.site-footer .astra-footer-horizontal-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;

    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Make Rooms align with all other menu links */
.site-footer .menu-item,
.site-footer .menu-item:first-child,
.site-footer .footer-nav-wrap .menu-item,
.site-footer .footer-nav-wrap .menu-item:first-child {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

/* Footer links */
.site-footer a,
.site-footer .menu-link,
.site-footer .footer-nav-wrap a {
    display: inline-flex !important;
    align-items: center !important;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--apex-footer-link) !important;
    font-family: Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    text-decoration: none !important;

    transition:
        color 0.2s ease,
        transform 0.2s ease !important;
}

.site-footer a:hover,
.site-footer .menu-link:hover,
.site-footer .footer-nav-wrap a:hover {
    color: var(--apex-footer-gold) !important;
    transform: translateX(2px);
}

.site-footer a:focus-visible {
    outline: 2px solid var(--apex-footer-gold) !important;
    outline-offset: 4px !important;
    border-radius: 3px;
}

/* Contact email */
.site-footer a[href^="mailto:"] {
    color: #ffffff !important;
    word-break: break-word;
}

.site-footer a[href^="mailto:"]:hover {
    color: var(--apex-footer-gold) !important;
}

/* Instagram and other social icons */
.site-footer .ast-builder-social-element {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 38px !important;
    height: 38px !important;
    margin: 5px 8px 0 0 !important;
    padding: 0 !important;

    border: 1px solid var(--apex-footer-line) !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.07) !important;
    color: #ffffff !important;

    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease !important;
}

.site-footer .ast-builder-social-element:hover {
    background: var(--apex-footer-accent) !important;
    border-color: var(--apex-footer-accent) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}

/* Optional enquiry button */
.site-footer .footer-enquire,
.site-footer .wp-block-button__link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-height: 44px !important;
    margin-top: 10px !important;
    padding: 11px 19px !important;

    border: 1px solid var(--apex-footer-accent) !important;
    border-radius: 999px !important;
    background: var(--apex-footer-accent) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
}

.site-footer .footer-enquire:hover,
.site-footer .wp-block-button__link:hover {
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}

/* Copyright/legal row */
.site-below-footer-wrap {
    width: 100% !important;
    padding: 18px 0 !important;
    background: var(--apex-footer-bottom) !important;
    border-top: 1px solid var(--apex-footer-line) !important;
}

.site-below-footer-wrap .ast-builder-grid-row {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 40px !important;
}

.site-below-footer-wrap,
.site-below-footer-wrap p,
.site-below-footer-wrap a,
.ast-footer-copyright {
    color: rgba(255, 255, 255, 0.58) !important;
    font-family: Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
}

/* Tablet */
@media (max-width: 1024px) {
    .site-primary-footer-wrap {
        padding: 48px 0 42px !important;
    }

    .site-primary-footer-wrap .ast-builder-grid-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 38px 46px !important;
        padding: 0 36px !important;
    }

    .site-below-footer-wrap .ast-builder-grid-row {
        padding: 0 36px !important;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .site-primary-footer-wrap {
        padding: 40px 0 34px !important;
    }

    .site-primary-footer-wrap .ast-builder-grid-row {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
        padding: 0 20px !important;
    }

    .site-primary-footer-wrap .custom-logo,
    .site-primary-footer-wrap img.custom-logo,
    .site-primary-footer-wrap .widget_media_image img,
    .site-primary-footer-wrap .ast-footer-html img {
        width: 120px !important;
        max-width: 120px !important;
    }

    .site-below-footer-wrap .ast-builder-grid-row {
        padding: 0 20px !important;
        text-align: left !important;
    }
}
/* =====================================================
   HORIZON HOMES — VITA-INSPIRED ASTRA FOOTER
   ===================================================== */

:root {
    --apex-footer-bg: #050706;
    --apex-footer-bottom: #000000;
    --apex-footer-white: #ffffff;
    --apex-footer-muted: rgba(255, 255, 255, 0.66);
    --apex-footer-soft: rgba(255, 255, 255, 0.82);
    --apex-footer-line: rgba(255, 255, 255, 0.14);
    --apex-footer-accent: #b9542f;
    --apex-footer-gold: #d2ac68;
}

/* -----------------------------------------------------
   REMOVE ALL ASTRA WHITE AND COLOURED BACKGROUNDS
   ----------------------------------------------------- */

#colophon.site-footer,
#colophon .site-primary-footer-wrap,
#colophon .site-primary-footer-wrap[data-section],
#colophon .site-primary-footer-wrap .ast-builder-grid-row-container,
#colophon .site-primary-footer-wrap .ast-builder-grid-row-container-inner,
#colophon .site-primary-footer-wrap .site-footer-section {
    background: var(--apex-footer-bg) !important;
}

#colophon .footer-widget-area,
#colophon .ast-builder-layout-element,
#colophon .ast-footer-html,
#colophon .footer-nav-wrap,
#colophon .ast-builder-menu,
#colophon .main-navigation,
#colophon .ast-footer-social-wrap,
#colophon .widget,
#colophon nav,
#colophon ul {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* -----------------------------------------------------
   PRIMARY FOOTER
   ----------------------------------------------------- */

#colophon .site-primary-footer-wrap {
    padding: 68px 0 58px !important;
    border: 0 !important;
}

#colophon .site-primary-footer-wrap .ast-builder-grid-row {
    display: grid !important;
    grid-template-columns:
        minmax(240px, 1.15fr)
        minmax(190px, 0.72fr)
        minmax(260px, 1fr) !important;

    align-items: start !important;
    gap: 72px !important;

    width: calc(100% - 80px) !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Align every column to the top */
#colophon .site-primary-footer-wrap .site-footer-section {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;

    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove Astra element spacing */
#colophon .site-primary-footer-wrap .widget,
#colophon .site-primary-footer-wrap .footer-widget-area,
#colophon .site-primary-footer-wrap .ast-footer-html,
#colophon .site-primary-footer-wrap .footer-navigation {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* -----------------------------------------------------
   LOGO AND BRAND COLUMN
   ----------------------------------------------------- */

#colophon .custom-logo-link {
    display: block !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
}

#colophon .custom-logo,
#colophon img.custom-logo,
#colophon .site-logo-img img {
    display: block !important;
    width: 220px !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
}

.apex-footer-brand-copy {
    width: 100%;
    max-width: 330px;
}

.apex-footer-brand-copy p {
    margin: 0 0 18px !important;
    color: var(--apex-footer-muted) !important;
    font-family: Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
}

.apex-footer-brand-copy .apex-footer-location {
    margin-top: 25px !important;
    padding-top: 18px !important;
    border-top: 1px solid var(--apex-footer-line) !important;

    color: var(--apex-footer-soft) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

/* -----------------------------------------------------
   FOOTER MENU
   ----------------------------------------------------- */

/* Creates a heading without another widget */
#colophon .footer-nav-wrap::before {
    content: "Explore";
    display: block;

    margin: 0 0 22px;
    color: var(--apex-footer-white);

    font-family: Georgia, serif;
    font-size: 23px;
    font-weight: 400;
    line-height: 1.2;
}

#colophon .footer-nav-wrap,
#colophon .footer-navigation {
    width: 100% !important;
}

/* Two-column link arrangement */
#colophon .footer-nav-wrap ul,
#colophon .footer-nav-wrap .astra-footer-horizontal-menu,
#colophon .footer-navigation ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px 26px !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

/* Remove Astra menu positioning */
#colophon .footer-nav-wrap li,
#colophon .footer-navigation li,
#colophon .menu-item,
#colophon .menu-item:first-child {
    display: block !important;
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    text-align: left !important;
}

/* Footer menu links */
#colophon .footer-nav-wrap a,
#colophon .footer-navigation a,
#colophon .footer-nav-wrap .menu-link {
    display: inline-flex !important;
    align-items: center !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    color: var(--apex-footer-soft) !important;

    font-family: Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    text-decoration: none !important;

    transition:
        color 0.2s ease,
        transform 0.2s ease !important;
}

#colophon .footer-nav-wrap a:hover,
#colophon .footer-navigation a:hover {
    color: var(--apex-footer-gold) !important;
    transform: translateX(3px);
}

/* -----------------------------------------------------
   CONTACT COLUMN
   ----------------------------------------------------- */

.apex-footer-contact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    width: 100%;
    max-width: 340px;
}

.apex-footer-kicker {
    margin: 0 0 13px !important;

    color: var(--apex-footer-gold) !important;
    font-family: Arial, sans-serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
}

.apex-footer-contact h3 {
    margin: 0 0 15px !important;

    color: var(--apex-footer-white) !important;
    font-family: Georgia, serif !important;
    font-size: 29px !important;
    font-weight: 400 !important;
    line-height: 1.12 !important;
}

.apex-footer-contact-copy {
    margin: 0 0 18px !important;

    color: var(--apex-footer-muted) !important;
    font-family: Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

.apex-footer-email {
    margin-bottom: 21px !important;

    color: var(--apex-footer-white) !important;
    font-family: Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    word-break: break-word;
}

.apex-footer-email:hover {
    color: var(--apex-footer-gold) !important;
}

/* Enquiry button */
.apex-footer-enquire {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 25px !important;

    min-width: 205px;
    min-height: 48px;
    margin: 0 0 21px !important;
    padding: 12px 20px !important;

    border: 1px solid var(--apex-footer-accent) !important;
    border-radius: 999px !important;
    background: var(--apex-footer-accent) !important;
    color: var(--apex-footer-white) !important;

    font-family: Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;

    transition:
        transform 0.2s ease,
        background 0.2s ease !important;
}

.apex-footer-enquire:hover {
    background: #a5482a !important;
    color: var(--apex-footer-white) !important;
    transform: translateY(-2px);
}

/* Instagram link */
.apex-footer-instagram {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;

    color: var(--apex-footer-soft) !important;
    font-family: Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.apex-footer-instagram svg {
    width: 34px;
    height: 34px;
    padding: 7px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;

    border: 1px solid var(--apex-footer-line);
    border-radius: 50%;

    transition:
        background 0.2s ease,
        border-color 0.2s ease !important;
}

.apex-footer-instagram:hover {
    color: var(--apex-footer-white) !important;
}

.apex-footer-instagram:hover svg {
    background: var(--apex-footer-accent);
    border-color: var(--apex-footer-accent);
}

/* -----------------------------------------------------
   COPYRIGHT BAR
   ----------------------------------------------------- */

#colophon .site-below-footer-wrap,
#colophon .site-below-footer-wrap[data-section],
#colophon .site-below-footer-wrap .ast-builder-grid-row-container,
#colophon .site-below-footer-wrap .ast-builder-grid-row-container-inner,
#colophon .site-below-footer-wrap .site-footer-section {
    background: var(--apex-footer-bottom) !important;
}

#colophon .site-below-footer-wrap {
    padding: 21px 0 !important;
    border-top: 1px solid var(--apex-footer-line) !important;
}

#colophon .site-below-footer-wrap .ast-builder-grid-row {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: calc(100% - 80px) !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

#colophon .site-below-footer-wrap .site-footer-section {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

#colophon .ast-footer-copyright,
#colophon .ast-footer-copyright p,
#colophon .site-below-footer-wrap,
#colophon .site-below-footer-wrap p,
#colophon .site-below-footer-wrap a {
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.53) !important;
    font-family: Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    text-align: left !important;
}

/* -----------------------------------------------------
   ACCESSIBILITY
   ----------------------------------------------------- */

#colophon a:focus-visible {
    outline: 2px solid var(--apex-footer-gold) !important;
    outline-offset: 4px !important;
    border-radius: 3px;
}

/* -----------------------------------------------------
   TABLET
   ----------------------------------------------------- */

@media (max-width: 1024px) {
    #colophon .site-primary-footer-wrap {
        padding: 52px 0 45px !important;
    }

    #colophon .site-primary-footer-wrap .ast-builder-grid-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 45px !important;
        width: calc(100% - 72px) !important;
    }

    /* Contact column uses full row */
    #colophon .site-primary-footer-wrap .site-footer-section:last-child {
        grid-column: 1 / -1 !important;
    }

    .apex-footer-contact {
        max-width: 580px;
    }

    #colophon .site-below-footer-wrap .ast-builder-grid-row {
        width: calc(100% - 72px) !important;
    }
}

/* -----------------------------------------------------
   MOBILE
   ----------------------------------------------------- */

@media (max-width: 767px) {
    #colophon .site-primary-footer-wrap {
        padding: 42px 0 37px !important;
    }

    #colophon .site-primary-footer-wrap .ast-builder-grid-row {
        grid-template-columns: 1fr !important;
        gap: 38px !important;
        width: calc(100% - 40px) !important;
    }

    #colophon .site-primary-footer-wrap .site-footer-section:last-child {
        grid-column: auto !important;
    }

    #colophon .custom-logo,
    #colophon img.custom-logo,
    #colophon .site-logo-img img {
        width: 185px !important;
    }

    #colophon .footer-nav-wrap ul,
    #colophon .footer-nav-wrap .astra-footer-horizontal-menu,
    #colophon .footer-navigation ul {
        grid-template-columns: 1fr 1fr !important;
        gap: 13px 22px !important;
    }

    .apex-footer-contact h3 {
        font-size: 27px !important;
    }

    .apex-footer-enquire {
        width: 100% !important;
    }

    #colophon .site-below-footer-wrap .ast-builder-grid-row {
        width: calc(100% - 40px) !important;
    }
}
/* =====================================================
   HORIZON HOMES FOOTER — ALIGNMENT FIX
   Paste below all previous footer CSS
   ===================================================== */

/* Balance the three footer columns */
#colophon .site-primary-footer-wrap .ast-builder-grid-row {
    display: grid !important;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 0.8fr)
        minmax(0, 1.05fr) !important;
    align-items: start !important;
    gap: 60px !important;

    width: calc(100% - 80px) !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

/* Align every column and element to the left */
#colophon .site-primary-footer-wrap .site-footer-section,
#colophon .site-primary-footer-wrap .footer-widget-area,
#colophon .site-primary-footer-wrap .ast-builder-layout-element,
#colophon .site-primary-footer-wrap .ast-footer-html {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;

    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

/* Keep headings at the top */
#colophon .footer-nav-wrap::before,
.apex-footer-kicker,
.apex-footer-contact h3 {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Brand column */
.apex-footer-brand-copy {
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 !important;
    text-align: left !important;
}

.apex-footer-brand-copy p,
.apex-footer-brand-copy .apex-footer-location {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
}

/* Stop the brand paragraph being centred or cut off */
#colophon .site-footer-section:first-child p {
    text-align: left !important;
    transform: none !important;
}

/* Explore menu */
#colophon .footer-nav-wrap {
    width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
}

#colophon .footer-nav-wrap ul,
#colophon .footer-navigation ul {
    justify-items: start !important;
    align-items: start !important;
}

#colophon .footer-nav-wrap li,
#colophon .footer-nav-wrap a {
    text-align: left !important;
}

/* Contact column */
.apex-footer-contact {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    width: 100% !important;
    max-width: 370px !important;
    margin: 0 !important;
    text-align: left !important;
}

.apex-footer-contact h3 {
    width: 100% !important;
    max-width: 350px !important;
    margin: 0 0 16px !important;
    text-align: left !important;
}

.apex-footer-contact-copy {
    width: 100% !important;
    max-width: 340px !important;
    margin: 0 0 18px !important;
    color: rgba(255, 255, 255, 0.68) !important;
    text-align: left !important;
}

.apex-footer-email {
    margin: 0 0 22px !important;
    color: #ffffff !important;
    text-align: left !important;
}

/* Fix enquiry-button alignment and colour */
.apex-footer-enquire {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;

    width: auto !important;
    min-width: 220px !important;
    margin: 0 0 20px !important;

    color: #ffffff !important;
    text-align: center !important;
}

.apex-footer-enquire,
.apex-footer-enquire span {
    color: #ffffff !important;
}

/* Instagram stays underneath the button */
.apex-footer-instagram {
    margin: 0 !important;
    text-align: left !important;
}

/* Tablet */
@media (max-width: 1024px) {
    #colophon .site-primary-footer-wrap .ast-builder-grid-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 45px !important;
        width: calc(100% - 72px) !important;
    }

    #colophon .site-primary-footer-wrap .site-footer-section:last-child {
        grid-column: 1 / -1 !important;
    }
}

/* Mobile */
@media (max-width: 767px) {
    #colophon .site-primary-footer-wrap .ast-builder-grid-row {
        grid-template-columns: 1fr !important;
        gap: 38px !important;
        width: calc(100% - 40px) !important;
    }

    #colophon .site-primary-footer-wrap .site-footer-section:last-child {
        grid-column: auto !important;
    }

    .apex-footer-brand-copy,
    .apex-footer-contact {
        max-width: 100% !important;
    }

    .apex-footer-enquire {
        width: 100% !important;
    }
}
/* =====================================================
   HORIZON HOMES FOOTER — FINAL LAYOUT
   ===================================================== */

/* Two-column footer */
#colophon .site-primary-footer-wrap .ast-builder-grid-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr) !important;
    gap: 90px !important;
    align-items: start !important;

    width: calc(100% - 80px) !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Align both footer sections */
#colophon .site-primary-footer-wrap .site-footer-section {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

/* Remove the unwanted contact heading and paragraph */
#colophon .apex-footer-kicker,
#colophon .apex-footer-contact h3,
#colophon .apex-footer-contact-copy {
    display: none !important;
}

/* Explore heading */
#colophon .footer-nav-wrap::before {
    content: "Explore";
    display: block;

    margin: 0 0 24px !important;
    color: #ffffff !important;

    font-family: Georgia, serif !important;
    font-size: 34px !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;
    text-align: left !important;
}

/* Menu sits on the left */
#colophon .footer-nav-wrap,
#colophon .footer-navigation {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

#colophon .footer-nav-wrap ul,
#colophon .footer-navigation ul,
#colophon .astra-footer-horizontal-menu {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(120px, 1fr)) !important;
    gap: 14px 40px !important;

    width: 100% !important;
    max-width: 380px !important;
    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

#colophon .footer-nav-wrap li,
#colophon .footer-navigation li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

#colophon .footer-nav-wrap a,
#colophon .footer-navigation a {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    color: rgba(255, 255, 255, 0.84) !important;

    font-family: Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    text-align: left !important;
    text-decoration: none !important;
}

#colophon .footer-nav-wrap a:hover,
#colophon .footer-navigation a:hover {
    color: #d2ac68 !important;
}

/* Logo underneath the menu */
#colophon .site-logo-img,
#colophon .custom-logo-link {
    display: block !important;
    margin: 38px 0 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

#colophon .custom-logo,
#colophon img.custom-logo,
#colophon .site-logo-img img {
    display: block !important;
    width: 230px !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
}

/* Contact column */
#colophon .apex-footer-contact {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    width: 100% !important;
    max-width: 350px !important;
    margin: 0 !important;
    padding-top: 8px !important;
    text-align: left !important;
}

#colophon .apex-footer-email {
    display: inline-block !important;
    margin: 0 0 24px !important;

    color: #ffffff !important;
    font-family: Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* Enquiry button */
#colophon .apex-footer-enquire {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 30px !important;

    width: 100% !important;
    max-width: 300px !important;
    min-height: 50px !important;
    margin: 0 0 24px !important;
    padding: 12px 21px !important;

    border-radius: 999px !important;
    background: #b9542f !important;
    color: #ffffff !important;

    font-family: Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

#colophon .apex-footer-enquire span {
    color: #ffffff !important;
}

/* Instagram */
#colophon .apex-footer-instagram {
    display: inline-block !important;
    margin: 0 !important;

    color: rgba(255, 255, 255, 0.76) !important;
    font-family: Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

#colophon .apex-footer-instagram:hover,
#colophon .apex-footer-email:hover {
    color: #d2ac68 !important;
}

/* Centre the copyright */
#colophon .site-below-footer-wrap .ast-builder-grid-row {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

#colophon .site-below-footer-wrap .site-footer-section,
#colophon .ast-footer-copyright,
#colophon .ast-footer-copyright p {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    justify-content: center !important;
}

/* Tablet */
@media (max-width: 1024px) {
    #colophon .site-primary-footer-wrap .ast-builder-grid-row {
        grid-template-columns: 1fr 1fr !important;
        gap: 50px !important;
        width: calc(100% - 72px) !important;
    }
}

/* Mobile */
@media (max-width: 767px) {
    #colophon .site-primary-footer-wrap .ast-builder-grid-row {
        grid-template-columns: 1fr !important;
        gap: 42px !important;
        width: calc(100% - 40px) !important;
    }

    #colophon .footer-nav-wrap ul,
    #colophon .footer-navigation ul,
    #colophon .astra-footer-horizontal-menu {
        grid-template-columns: 1fr 1fr !important;
        gap: 13px 24px !important;
    }

    #colophon .apex-footer-contact {
        max-width: 100% !important;
    }

    #colophon .apex-footer-enquire {
        max-width: 100% !important;
    }

    #colophon .custom-logo,
    #colophon img.custom-logo,
    #colophon .site-logo-img img {
        width: 200px !important;
    }
}
/* =====================================================
   HORIZON HOMES FOOTER — COMPACT CENTRED FIX
   ===================================================== */

/* Reduce overall footer height */
#colophon .site-primary-footer-wrap {
    padding: 34px 0 30px !important;
}

/* Two equal, centred columns */
#colophon .site-primary-footer-wrap .ast-builder-grid-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: 50px !important;

    width: calc(100% - 48px) !important;
    max-width: 1050px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Centre every footer element */
#colophon .site-primary-footer-wrap .site-footer-section,
#colophon .site-primary-footer-wrap .footer-widget-area,
#colophon .site-primary-footer-wrap .ast-builder-layout-element,
#colophon .site-primary-footer-wrap .ast-footer-html {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

/* Explore heading */
#colophon .footer-nav-wrap::before {
    content: "Explore";
    display: block;

    margin: 0 0 18px !important;
    color: #ffffff !important;
    font-family: Georgia, serif !important;
    font-size: 30px !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;
    text-align: center !important;
}

/* Centre the navigation */
#colophon .footer-nav-wrap,
#colophon .footer-navigation {
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
}

#colophon .footer-nav-wrap ul,
#colophon .footer-navigation ul,
#colophon .astra-footer-horizontal-menu {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(100px, 1fr)) !important;
    gap: 10px 26px !important;

    width: 100% !important;
    max-width: 340px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    list-style: none !important;
}

#colophon .footer-nav-wrap li,
#colophon .footer-navigation li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

#colophon .footer-nav-wrap a,
#colophon .footer-navigation a {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: rgba(255, 255, 255, 0.84) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    text-align: center !important;
}

/* Logo centred beneath menu */
#colophon .site-logo-img,
#colophon .custom-logo-link {
    display: block !important;
    margin: 24px auto 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

#colophon .custom-logo,
#colophon img.custom-logo,
#colophon .site-logo-img img {
    display: block !important;
    width: 190px !important;
    max-width: 190px !important;
    height: auto !important;
    margin: 0 auto !important;
}

/* Right contact column */
#colophon .apex-footer-contact {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;

    width: 100% !important;
    max-width: 380px !important;
    margin: 0 auto !important;
    padding: 8px 0 0 !important;
    text-align: center !important;
}

#colophon .apex-footer-email {
    margin: 0 0 18px !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-align: center !important;
}

/* Completely remove the orange enquiry button */
#colophon .apex-footer-enquire,
#colophon .apex-footer-contact a[href*="make-an-enquiry"] {
    display: none !important;
}

/* Instagram centred */
#colophon .apex-footer-instagram {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 auto !important;
    color: rgba(255, 255, 255, 0.78) !important;
    font-size: 14px !important;
    text-align: center !important;
}

/* Compact copyright row */
#colophon .site-below-footer-wrap {
    padding: 14px 0 !important;
}

/* Force copyright into the actual centre */
#colophon .site-below-footer-wrap .ast-builder-grid-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    place-items: center !important;

    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 20px !important;
}

#colophon .site-below-footer-wrap .site-footer-section,
#colophon .site-below-footer-wrap .ast-builder-layout-element,
#colophon .ast-footer-copyright,
#colophon .ast-footer-copyright p {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
}

/* Tablet and mobile */
@media (max-width: 767px) {
    #colophon .site-primary-footer-wrap {
        padding: 30px 0 26px !important;
    }

    #colophon .site-primary-footer-wrap .ast-builder-grid-row {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
        width: calc(100% - 40px) !important;
    }

    #colophon .footer-nav-wrap ul,
    #colophon .footer-navigation ul,
    #colophon .astra-footer-horizontal-menu {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    #colophon .custom-logo,
    #colophon img.custom-logo,
    #colophon .site-logo-img img {
        width: 170px !important;
        max-width: 170px !important;
    }
}
/* =====================================================
   HORIZON HOMES FOOTER — FINAL ALIGNMENT OVERRIDE
   ===================================================== */

/* Make the main footer more compact */
#colophon .site-primary-footer-wrap {
    padding: 34px 0 32px !important;
}

/* Main two-column layout */
#colophon .site-primary-footer-wrap .ast-builder-grid-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 380px) !important;
    align-items: start !important;
    gap: 70px !important;

    width: calc(100% - 48px) !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Left footer column */
#colophon .site-primary-footer-wrap .site-footer-section:first-child {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;

    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

/* Explore heading aligned with first menu item */
#colophon .footer-nav-wrap::before {
    content: "Explore" !important;
    display: block !important;

    width: 100% !important;
    max-width: 380px !important;
    margin: 0 0 20px !important;
    padding: 0 !important;

    color: #ffffff !important;
    font-family: Georgia, serif !important;
    font-size: 34px !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;
    text-align: left !important;
}

/* Footer menu wrapper */
#colophon .footer-nav-wrap,
#colophon .footer-navigation {
    display: block !important;
    width: 100% !important;
    max-width: 380px !important;

    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

/* Two evenly aligned menu columns */
#colophon .footer-nav-wrap ul,
#colophon .footer-navigation ul,
#colophon .astra-footer-horizontal-menu {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(120px, 1fr)) !important;
    justify-items: start !important;
    align-items: start !important;
    gap: 12px 42px !important;

    width: 100% !important;
    max-width: 380px !important;
    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

/* Align every menu item */
#colophon .footer-nav-wrap li,
#colophon .footer-navigation li,
#colophon .astra-footer-horizontal-menu li {
    display: block !important;
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

/* Align every menu link */
#colophon .footer-nav-wrap a,
#colophon .footer-navigation a,
#colophon .astra-footer-horizontal-menu a {
    display: inline-block !important;

    margin: 0 !important;
    padding: 0 !important;

    color: rgba(255, 255, 255, 0.84) !important;
    font-family: Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    text-align: left !important;
    text-decoration: none !important;
}

#colophon .footer-nav-wrap a:hover,
#colophon .footer-navigation a:hover {
    color: #d2ac68 !important;
}

/* Logo aligned beneath the menu */
#colophon .site-logo-img,
#colophon .custom-logo-link {
    display: block !important;

    margin: 24px 0 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

#colophon .custom-logo,
#colophon img.custom-logo,
#colophon .site-logo-img img {
    display: block !important;
    width: 190px !important;
    max-width: 190px !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* Right contact column */
#colophon .apex-footer-contact {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;

    width: 100% !important;
    max-width: 380px !important;
    margin: 0 auto !important;
    padding-top: 8px !important;

    text-align: center !important;
}

#colophon .apex-footer-email,
#colophon .apex-footer-instagram {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

/* Copyright bar */
#colophon .site-below-footer-wrap {
    padding: 14px 0 !important;
}

/* Force one centred copyright column */
#colophon .site-below-footer-wrap .ast-builder-grid-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    place-items: center !important;

    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 20px !important;
}

/* Override Astra's left/right footer positioning */
#colophon .site-below-footer-wrap .site-footer-section,
#colophon .site-below-footer-wrap .ast-builder-layout-element,
#colophon .site-below-footer-wrap .ast-footer-copyright {
    grid-column: 1 / -1 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;

    text-align: center !important;
}

/* Copyright text */
#colophon .ast-footer-copyright p,
#colophon .site-below-footer-wrap p {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

/* Mobile */
@media (max-width: 767px) {
    #colophon .site-primary-footer-wrap .ast-builder-grid-row {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
        width: calc(100% - 40px) !important;
    }

    #colophon .site-primary-footer-wrap .site-footer-section:first-child {
        align-items: center !important;
    }

    #colophon .footer-nav-wrap::before {
        text-align: center !important;
    }

    #colophon .footer-nav-wrap ul,
    #colophon .footer-navigation ul,
    #colophon .astra-footer-horizontal-menu {
        justify-items: center !important;
    }

    #colophon .footer-nav-wrap li,
    #colophon .footer-navigation li {
        text-align: center !important;
    }

    #colophon .site-logo-img,
    #colophon .custom-logo-link,
    #colophon .custom-logo,
    #colophon img.custom-logo,
    #colophon .site-logo-img img {
        margin-left: auto !important;
        margin-right: auto !important;
    }
}
/* SIMPLE FOOTER ALIGNMENT FIX */

/* Keep footer compact */
#colophon .site-primary-footer-wrap {
    padding: 28px 0 !important;
}

/* Two balanced sides */
#colophon .site-primary-footer-wrap .ast-builder-grid-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    align-items: start !important;
    gap: 70px !important;

    width: calc(100% - 48px) !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Left side: Explore, menu and logo */
#colophon .site-primary-footer-wrap .site-footer-section:first-child {
    align-items: flex-start !important;
    text-align: left !important;
}

#colophon .footer-nav-wrap::before {
    width: 100% !important;
    max-width: 360px !important;
    margin: 0 0 16px !important;
    text-align: left !important;
}

#colophon .footer-nav-wrap,
#colophon .footer-navigation {
    width: 100% !important;
    max-width: 360px !important;
    margin: 0 !important;
    text-align: left !important;
}

#colophon .footer-nav-wrap ul,
#colophon .footer-navigation ul,
#colophon .astra-footer-horizontal-menu {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(110px, 1fr)) !important;
    gap: 10px 36px !important;
    justify-items: start !important;

    width: 100% !important;
    max-width: 360px !important;
    margin: 0 !important;
    padding: 0 !important;
}

#colophon .footer-nav-wrap li,
#colophon .footer-navigation li,
#colophon .footer-nav-wrap a,
#colophon .footer-navigation a {
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

/* Logo directly beneath menu */
#colophon .custom-logo-link,
#colophon .site-logo-img {
    margin: 20px 0 0 !important;
    text-align: left !important;
}

#colophon .custom-logo,
#colophon img.custom-logo,
#colophon .site-logo-img img {
    width: 190px !important;
    max-width: 190px !important;
    margin: 0 !important;
}

/* Right side: email and Instagram */
#colophon .site-primary-footer-wrap .site-footer-section:last-child {
    align-items: flex-end !important;
    text-align: left !important;
}

#colophon .apex-footer-contact {
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 340px !important;
    margin: 0 !important;
    text-align: left !important;
}

#colophon .apex-footer-email,
#colophon .apex-footer-instagram {
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
}

/* Force copyright into the true centre */
#colophon .site-below-footer-wrap {
    padding: 13px 0 !important;
}

#colophon .site-below-footer-wrap .ast-builder-grid-row {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 20px !important;
}

#colophon .site-below-footer-wrap .site-footer-section {
    display: none !important;
}

#colophon .site-below-footer-wrap .site-footer-section:has(.ast-footer-copyright) {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
}

#colophon .ast-footer-copyright,
#colophon .ast-footer-copyright p {
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
}

/* Mobile */
@media (max-width: 767px) {
    #colophon .site-primary-footer-wrap .ast-builder-grid-row {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    #colophon .site-primary-footer-wrap .site-footer-section,
    #colophon .site-primary-footer-wrap .site-footer-section:last-child {
        align-items: center !important;
    }

    #colophon .footer-nav-wrap::before {
        text-align: center !important;
    }

    #colophon .footer-nav-wrap ul,
    #colophon .footer-navigation ul {
        justify-items: center !important;
    }

    #colophon .custom-logo-link,
    #colophon .site-logo-img,
    #colophon .custom-logo,
    #colophon img.custom-logo {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    #colophon .apex-footer-contact {
        align-items: center !important;
        text-align: center !important;
    }
}
/* FIX GIANT BLUE FOOTER MENU */

#colophon,
#colophon .site-primary-footer-wrap,
#colophon .site-primary-footer-wrap .site-footer-section {
    background: #0d0f0e !important;
}

/* Remove coloured boxes */
#colophon .footer-nav-wrap,
#colophon .footer-navigation,
#colophon .footer-nav-wrap ul,
#colophon .footer-navigation ul,
#colophon .astra-footer-horizontal-menu,
#colophon .footer-widget-area,
#colophon .ast-footer-html {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Explore heading */
#colophon .apex-footer-heading,
#colophon .footer-nav-wrap::before {
    color: #ffffff !important;
    font-family: Georgia, serif !important;
    font-size: 30px !important;
    font-weight: 400 !important;
    line-height: 1.15 !important;
    margin: 0 0 18px !important;
}

/* Compact two-column menu */
#colophon .footer-nav-wrap ul,
#colophon .footer-navigation ul,
#colophon .astra-footer-horizontal-menu {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(110px, 1fr)) !important;
    gap: 10px 30px !important;
    width: 100% !important;
    max-width: 340px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Reset every menu item */
#colophon .footer-nav-wrap li,
#colophon .footer-navigation li,
#colophon .astra-footer-horizontal-menu li,
#colophon .menu-item {
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Force normal white menu text */
#colophon .footer-nav-wrap a,
#colophon .footer-navigation a,
#colophon .astra-footer-horizontal-menu a,
#colophon .footer-nav-wrap .menu-link,
#colophon .footer-navigation .menu-link {
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    color: #ffffff !important;

    font-family: Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
    text-decoration: none !important;
    text-transform: none !important;
}

/* Stop active and hover links turning blue */
#colophon .footer-nav-wrap a:hover,
#colophon .footer-navigation a:hover,
#colophon .current-menu-item > a,
#colophon .current_page_item > a {
    background: transparent !important;
    color: #ffffff !important;
}

/* Email and Instagram */
#colophon .apex-footer-contact {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
    text-align: left !important;
}

#colophon .apex-footer-contact a,
#colophon a[href^="mailto:"],
#colophon a[href*="instagram"] {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: #ffffff !important;
    font-family: Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    text-decoration: none !important;
}

/* Keep all other footer text white */
#colophon p,
#colophon h1,
#colophon h2,
#colophon h3,
#colophon h4,
#colophon .ast-footer-copyright,
#colophon .ast-footer-copyright p {
    color: #ffffff !important;
}
/* FINAL SMALL FOOTER POSITION FIX */

/* Move email down so it lines up with Amenities */
#colophon .apex-footer-contact {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding-top: 36px !important;
    margin: 0 !important;
    text-align: left !important;
}

/* Bring Instagram closer to the email */
#colophon .apex-footer-email,
#colophon .apex-footer-instagram {
    display: inline-flex !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

/* Centre copyright across the entire footer */
#colophon .site-below-footer-wrap {
    position: relative !important;
    min-height: 58px !important;
    padding: 0 !important;
}

#colophon .site-below-footer-wrap .ast-builder-grid-row-container,
#colophon .site-below-footer-wrap .ast-builder-grid-row-container-inner,
#colophon .site-below-footer-wrap .ast-builder-grid-row {
    width: 100% !important;
    max-width: none !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
}

#colophon .site-below-footer-wrap .ast-footer-copyright {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: max-content !important;
    max-width: calc(100% - 40px) !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translate(-50%, -50%) !important;
    text-align: center !important;
}

#colophon .site-below-footer-wrap .ast-footer-copyright p {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}
/* ALIGN INSTAGRAM + CENTRE COPYRIGHT */

/* Instagram lines up with Location */
#colophon .apex-footer-contact {
    gap: 30px !important;
}

#colophon .apex-footer-email,
#colophon .apex-footer-instagram {
    margin: 0 !important;
}

/* Make the copyright section cover the full footer width */
#colophon .site-below-footer-wrap .ast-builder-grid-row {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Position the section containing Copyright across the whole row */
#colophon .site-below-footer-wrap
.site-footer-section:has(.ast-footer-copyright) {
    position: absolute !important;
    inset: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 20px !important;
}

/* Centre the actual text */
#colophon .site-below-footer-wrap .ast-footer-copyright,
#colophon .site-below-footer-wrap .ast-footer-copyright p {
    position: static !important;
    width: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
    transform: none !important;
    text-align: center !important;
}
/* FOOTER RESET — KEEP CURRENT ELEMENT PLACEMENT */

/* Keep the footer compact */
#colophon .site-primary-footer-wrap {
    padding: 30px 0 !important;
}

/* Remove all blue/coloured menu backgrounds */
#colophon .footer-nav-wrap,
#colophon .footer-navigation,
#colophon #astra-footer-menu,
#colophon #astra-footer-menu li,
#colophon #astra-footer-menu a {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Reset the footer menu completely */
#colophon #astra-footer-menu,
#colophon .footer-nav-wrap ul,
#colophon .footer-navigation ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(110px, 1fr)) !important;
    gap: 12px 38px !important;

    width: 100% !important;
    max-width: 360px !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Reset each footer menu item */
#colophon #astra-footer-menu > li,
#colophon .footer-nav-wrap li,
#colophon .footer-navigation li {
    display: block !important;

    width: auto !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* Force normal-sized white links */
#colophon #astra-footer-menu > li > a,
#colophon .footer-nav-wrap .menu-link,
#colophon .footer-navigation .menu-link {
    display: inline-block !important;

    width: auto !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    color: #ffffff !important;

    font-family: Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;

    text-align: left !important;
    text-decoration: none !important;
    text-transform: none !important;
}

/* Prevent active or hover links turning blue */
#colophon #astra-footer-menu a:hover,
#colophon #astra-footer-menu .current-menu-item > a,
#colophon #astra-footer-menu .current_page_item > a {
    background: transparent !important;
    color: #ffffff !important;
}

/* Explore heading */
#colophon .apex-footer-heading {
    margin: 0 0 18px !important;
    color: #ffffff !important;
    font-family: Georgia, serif !important;
    font-size: 30px !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;
}

/* Align email and Instagram */
#colophon .apex-footer-contact {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 27px !important;

    margin: 0 !important;
    padding-top: 38px !important;
    text-align: left !important;
}

#colophon .apex-footer-contact a,
#colophon a[href^="mailto:"],
#colophon a[href*="instagram"] {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: #ffffff !important;

    font-family: Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;

    text-align: left !important;
    text-decoration: none !important;
}

/* Centre the copyright in the one-column lower footer */
#colophon .site-below-footer-wrap .ast-builder-grid-row,
#colophon .site-below-footer-wrap .site-footer-section,
#colophon .site-below-footer-wrap .ast-footer-copyright {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;

    text-align: center !important;
}

#colophon .ast-footer-copyright p {
    width: 100% !important;
    margin: 0 !important;
    color: #ffffff !important;
    text-align: center !important;
}
/* COPYRIGHT ONLY — DOES NOT CHANGE THE MENU */

#colophon .site-below-footer-wrap,
#colophon .site-below-footer-wrap .ast-builder-grid-row-container,
#colophon .site-below-footer-wrap .ast-builder-grid-row-container-inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

#colophon .site-below-footer-wrap .ast-builder-grid-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 20px !important;
}

#colophon .site-below-footer-wrap .site-footer-section,
#colophon .site-below-footer-wrap .site-footer-section-1 {
    position: static !important;
    display: flex !important;
    grid-column: 1 / -1 !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

#colophon .site-below-footer-wrap .ast-footer-copyright {
    position: static !important;
    display: block !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
}

#colophon .site-below-footer-wrap .ast-footer-copyright p {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}
/* COPYRIGHT — FORCE TRUE CENTRE WITHOUT CHANGING MAIN FOOTER */

#colophon .site-below-footer-wrap[data-section="section-below-footer-builder"] {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 64px !important;
    margin: 0 !important;
    padding: 0 !important;
}

#colophon .site-below-footer-wrap
.ast-builder-grid-row-container-inner {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 64px !important;
    margin: 0 !important;
    padding: 0 !important;
}

#colophon .site-below-footer-wrap
.site-below-footer-inner-wrap {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 64px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Target the exact copyright column shown in your screenshot */
#colophon .site-below-footer-wrap
.site-footer-below-section-1 {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 20px !important;
    text-align: center !important;
}

/* Centre the actual copyright element and text */
#colophon .site-below-footer-wrap .ast-footer-copyright,
#colophon .site-below-footer-wrap .ast-footer-copyright p {
    position: static !important;
    float: none !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;

    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;
    text-align: center !important;
}
/* Align contact links with footer menu rows */

#colophon .apex-footer-email {
    position: relative !important;
    top: 22px !important;
}

#colophon .apex-footer-instagram {
    position: relative !important;
    top: 3px !important;
}
/* Align footer contact links with the menu rows */

#colophon .apex-footer-contact a[href^="mailto:"] {
    transform: translateY(22px) !important;
}

#colophon .apex-footer-contact a[href*="instagram"] {
    transform: translateY(2px) !important;
}
#colophon .apex-footer-contact a[href^="mailto:"] {
    transform: translateY(10px) !important;
}
/* Bring Rooms and Amenities menu columns closer together */

#colophon #astra-footer-menu,
#colophon .footer-nav-wrap ul,
#colophon .footer-navigation ul,
#colophon .astra-footer-horizontal-menu {
    grid-template-columns: 110px 120px !important;
    column-gap: 28px !important;
    row-gap: 12px !important;

    width: max-content !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
    justify-content: start !important;
}

/* Keep Explore aligned with Rooms */
#colophon .apex-footer-heading,
#colophon .footer-nav-wrap::before {
    margin-left: 0 !important;
    text-align: left !important;
}
#colophon #astra-footer-menu,
#colophon .footer-nav-wrap ul,
#colophon .footer-navigation ul,
#colophon .astra-footer-horizontal-menu {
    grid-template-columns: 105px 115px !important;
    column-gap: 14px !important;
}
/* REMOVE THE EXPLORE BLOCK */
#colophon .site-primary-footer-wrap
.site-footer-primary-section-1 > .ast-builder-layout-element:first-child,

#colophon .site-primary-footer-wrap
.site-footer-primary-section-1 .footer-widget-area:first-child,

#colophon .site-primary-footer-wrap
.site-footer-primary-section-1 .ast-builder-html-element:first-child {
    display: none !important;
}

/* ALIGN FOOTER EDGES WITH THE HEADER */
#colophon .site-primary-footer-wrap .ast-builder-grid-row {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

/* LEFT MENU — SAME LINE AS LOGO */
#colophon .site-primary-footer-wrap
.site-footer-section:first-child {
    padding-left: 28px !important;
    margin-left: 0 !important;
    justify-content: flex-start !important;
    text-align: left !important;
}

/* RIGHT CONTACT — SAME LINE AS HEADER BUTTON */
#colophon .site-primary-footer-wrap
.site-footer-section:last-child {
    padding-right: 28px !important;
    margin-right: 0 !important;
    justify-content: flex-end !important;
}

/* REMOVE SPACE LEFT BY EXPLORE */
#colophon .site-primary-footer-wrap
.site-footer-primary-section-1 .footer-nav-wrap,
#colophon .site-primary-footer-wrap
.site-footer-primary-section-1 nav {
    margin-top: 0 !important;
}

/* TABLET */
@media (max-width: 1024px) {
    #colophon .site-primary-footer-wrap
    .site-footer-section:first-child {
        padding-left: 28px !important;
    }

    #colophon .site-primary-footer-wrap
    .site-footer-section:last-child {
        padding-right: 28px !important;
    }
}

/* PHONE */
@media (max-width: 767px) {
    #colophon .site-primary-footer-wrap
    .site-footer-section:first-child,
    #colophon .site-primary-footer-wrap
    .site-footer-section:last-child {
        padding-left: 20px !important;
        padding-right: 20px !important;
        justify-content: flex-start !important;
    }
}
/* REMOVE EXPLORE HEADING ONLY */
#colophon .site-primary-footer-wrap
.site-footer-primary-section-1 .ast-builder-html-element,

#colophon .site-primary-footer-wrap
.site-footer-primary-section-1 .widget-title,

#colophon .site-primary-footer-wrap
.site-footer-primary-section-1 h1,

#colophon .site-primary-footer-wrap
.site-footer-primary-section-1 h2,

#colophon .site-primary-footer-wrap
.site-footer-primary-section-1 h3,

#colophon .site-primary-footer-wrap
.site-footer-primary-section-1 .footer-nav-wrap::before,

#colophon .site-primary-footer-wrap
.site-footer-primary-section-1 .footer-navigation::before {
    display: none !important;
    content: none !important;
}
/* REMOVE THE WORD EXPLORE */
#colophon .footer-nav-wrap::before,
#colophon .footer-navigation::before,
#colophon #astra-footer-menu::before,
#colophon .widget_nav_menu::before {
    content: "" !important;
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
/* MOVE EMAIL AND INSTAGRAM UP */
#colophon [data-section="section-fb-html-2"],
#colophon .site-primary-footer-wrap .site-footer-section:last-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
    align-self: flex-start !important;
    transform: translateY(-55px) !important;
}
transform: translateY(-40px) !important;
/* LOWER EMAIL ONLY */
#colophon [data-section="section-fb-html-2"] a:first-of-type {
    position: relative !important;
    top: 12px !important;
}
transform: translateY(-32px) !important;
/* LOWER EMAIL AND INSTAGRAM SLIGHTLY */
#colophon .ast-footer-html-2 {
    position: relative !important;
    top: 10px !important;
}s
/* FINAL EMAIL + INSTAGRAM ALIGNMENT */
#colophon .site-primary-footer-wrap .site-footer-section:last-child {
    transform: translateY(-35px) !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

#colophon .ast-footer-html-2 {
    position: static !important;
    top: auto !important;
    transform: none !important;
}

#colophon .ast-footer-html-2 .ast-builder-html-element {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 28px !important;
}

#colophon .ast-footer-html-2 .ast-builder-html-element p {
    margin: 0 !important;
    padding: 0 !important;
}
/* RESET THE INCORRECT CONTACT ALIGNMENT */
#colophon .site-primary-footer-wrap .site-footer-section:last-child {
    transform: translateY(-40px) !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

#colophon .ast-footer-html-2 {
    position: relative !important;
    top: 10px !important;
    transform: none !important;
}

/* REMOVE THE FLEX LAYOUT ADDED BY THE LAST CODE */
#colophon .ast-footer-html-2 .ast-builder-html-element {
    display: block !important;
}

/* LOWER ONLY THE EMAIL */
#colophon .ast-footer-html-2 .ast-builder-html-element > *:first-child {
    position: relative !important;
    top: 10px !important;
}
/* ALIGN EMAIL + INSTAGRAM WITH THE FOOTER MENU */
#colophon .site-primary-footer-wrap .ast-builder-grid-row {
    align-items: flex-start !important;
}

#colophon .site-footer-primary-section-2,
#colophon .site-primary-footer-wrap .site-footer-section:last-child {
    align-self: flex-start !important;
    align-items: flex-start !important;
    justify-content: flex-end !important;
    margin: 0 !important;
    padding-top: 0 !important;
    transform: none !important;
}

#colophon .ast-footer-html-2,
#colophon [data-section="section-fb-html-2"] {
    position: relative !important;
    top: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(-1px) !important;
}

#colophon .ast-footer-html-2 .ast-builder-html-element {
    margin: 0 !important;
    padding: 0 !important;
}

#colophon .ast-footer-html-2 p {
    margin: 0 0 25px 0 !important;
    padding: 0 !important;
}
/* MOVE CONTACT DETAILS INTO LINE WITH FOOTER MENU */
#colophon .site-primary-footer-wrap .site-footer-primary-section-2,
#colophon .site-primary-footer-wrap .site-footer-section:last-child {
    transform: translateY(-84px) !important;
}

/* CANCEL ALL EARLIER MOVEMENT ON THE INNER BLOCK */
#colophon .ast-footer-html-2,
#colophon [data-section="section-fb-html-2"] {
    position: static !important;
    top: auto !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* MATCH THE SPACE BETWEEN AMENITIES AND LOCATION */
#colophon .ast-footer-html-2 .ast-builder-html-element {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 27px !important;
    margin: 0 !important;
    padding: 0 !important;
}

#colophon .ast-footer-html-2 p {
    margin: 0 !important;
    padding: 0 !important;
}
/* FORCE EMAIL AND INSTAGRAM TO MATCH FOOTER MENU ROWS */
html body #colophon .site-primary-footer-wrap .ast-footer-html-2 {
    position: relative !important;
    top: -86px !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body #colophon .ast-footer-html-2 .ast-builder-html-element {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body #colophon .ast-footer-html-2 p {
    margin: 0 !important;
    padding: 0 !important;
}

html body #colophon .ast-footer-html-2 p + p {
    margin-top: 27px !important;
}
/* EXACTLY ALIGN CONTACT LINKS WITH FOOTER MENU */
html body #colophon .site-footer-primary-section-2 {
    position: relative !important;
    top: -85px !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body #colophon .site-footer-primary-section-2 .ast-builder-html-element {
    position: relative !important;
    min-height: 110px !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body #colophon .site-footer-primary-section-2 a:first-of-type {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    margin: 0 !important;
}

html body #colophon .site-footer-primary-section-2 a:last-of-type {
    position: absolute !important;
    top: 53px !important;
    left: 0 !important;
    margin: 0 !important;
}

html body #colophon .site-footer-primary-section-2 br {
    display: none !important;
}
/* MOVE THE RIGHT CONTACT COLUMN UP TO THE MENU */
html body #colophon .site-footer-primary-section-3 {
    position: relative !important;
    top: -84px !important;
    transform: none !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* REMOVE EARLIER MOVEMENT FROM THE INNER CONTACT BLOCK */
html body #colophon .site-footer-primary-section-3 .ast-footer-html-2,
html body #colophon .site-footer-primary-section-3 .ast-builder-html-element {
    position: static !important;
    top: auto !important;
    transform: none !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}
/* ALIGN THE ACTUAL EMAIL AND INSTAGRAM LINKS */
#colophon a[href^="mailto:"] {
    position: relative !important;
    top: -86px !important;
    transform: none !important;
}

#colophon a[href*="instagram"] {
    position: relative !important;
    top: -94px !important;
    transform: none !important;
}
/* LOWER EMAIL AND INSTAGRAM INTO ALIGNMENT */
#colophon a[href^="mailto:"] {
    position: relative !important;
    top: -56px !important;
}

#colophon a[href*="instagram"] {
    position: relative !important;
    top: -60px !important;
}
/* ALIGN FOOTTER CONTENT WITH THE HEADER LOGO */
html body #colophon .site-primary-footer-wrap
.ast-builder-grid-row-container-inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body #colophon .site-primary-footer-wrap
.site-primary-footer-inner-wrap {
    width: calc(100% - 64px) !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

/* TABLET */
@media (max-width: 1024px) {
    html body #colophon .site-primary-footer-wrap
    .site-primary-footer-inner-wrap {
        width: calc(100% - 72px) !important;
    }
}

/* PHONE */
@media (max-width: 767px) {
    html body #colophon .site-primary-footer-wrap
    .site-primary-footer-inner-wrap {
        width: calc(100% - 40px) !important;
    }
}
/* MOVE THE FOOTER MENU ONTO THE SAME LEFT LINE AS THE LOGO */
#colophon #astra-footer-menu {
    transform: translateX(50px) !important;
}

@media (max-width: 767px) {
    #colophon #astra-footer-menu {
        transform: none !important;
    }
}
/* CHANGE ALL WEBSITE HEADINGS TO ANTON */
@import url('https://fonts.googleapis.com/css2?family=Anton&display=swap');

h1,
h2,
h3,
h4,
h5,
h6,
.elementor-heading-title {
    font-family: "Anton", sans-serif !important;
    font-weight: 400 !important;
}
<a href="mailto:Info@apexstu.com">Info@apexstu.com</a>
<a href="https://www.instagram.com/YOURUSERNAME/" target="_blank">Instagram</a>
	/* RESET OLD FOOTER CONTACT MOVEMENT */
#colophon a[href^="mailto:"],
#colophon a[href*="instagram"] {
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

/* EMAIL FIRST, INSTAGRAM UNDERNEATH */
#colophon .ast-footer-html-2,
#colophon [data-section="section-fb-html-2"] {
    position: static !important;
    top: auto !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#colophon .ast-footer-html-2 .ast-builder-html-element {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ALIGN CONTACT COLUMN WITH TOP FOOTER MENU ROW */
#colophon .site-footer-section:has(.ast-footer-html-2) {
    align-self: flex-start !important;
    justify-content: flex-end !important;
    align-items: flex-start !important;
    position: static !important;
    top: auto !important;
    transform: none !important;
    margin: 0 !important;
    padding-top: 0 !important;
}

#colophon .site-primary-footer-wrap .ast-builder-grid-row {
    align-items: flex-start !important;
}
/* FINAL FOOTER CONTACT ALIGNMENT — OVERRIDES OLD RULES */

html body #colophon .ast-footer-html-2,
html body #colophon [data-section="section-fb-html-2"] {
    position: relative !important;
    top: -58px !important;
    left: auto !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body #colophon .ast-footer-html-2 .ast-builder-html-element,
html body #colophon [data-section="section-fb-html-2"] .ast-builder-html-element {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    row-gap: 27px !important;
    align-items: start !important;
    justify-items: start !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove paragraph wrappers causing overlap */
html body #colophon .ast-footer-html-2 p,
html body #colophon [data-section="section-fb-html-2"] p {
    display: contents !important;
}

/* Reset all previous movement on the links */
html body #colophon a[href^="mailto:"],
html body #colophon a[href*="instagram"] {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
    display: block !important;
}

/* Email level with Rooms / Amenities */
html body #colophon a[href^="mailto:"] {
    grid-row: 1 !important;
}

/* Instagram level with Gallery / Location */
html body #colophon a[href*="instagram"] {
    grid-row: 2 !important;
}

html body #colophon .ast-footer-html-2 br {
    display: none !important;
}
/* REPAIR FOOTER CONTACT DETAILS */
html body #colophon .site-primary-footer-wrap .ast-builder-grid-row {
    align-items: flex-start !important;
}

html body #colophon .site-primary-footer-wrap .site-footer-section:last-child {
    align-self: flex-start !important;
    align-items: flex-start !important;
    justify-content: flex-end !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
}

/* RESET THE EMAIL/INSTAGRAM BLOCK */
html body #colophon .ast-footer-html-2,
html body #colophon [data-section="section-fb-html-2"],
html body #colophon .ast-footer-html-2 .ast-builder-html-element,
html body #colophon [data-section="section-fb-html-2"] .ast-builder-html-element {
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;

    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;

    font-family: Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    color: #ffffff !important;

    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

/* REMOVE THE HUGE TEXT SETTINGS FROM EVERYTHING INSIDE */
html body #colophon .ast-footer-html-2 *,
html body #colophon [data-section="section-fb-html-2"] * {
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;

    font-family: Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    color: #ffffff !important;

    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

/* EMAIL FIRST, INSTAGRAM BELOW */
html body #colophon .ast-footer-html-2 p,
html body #colophon [data-section="section-fb-html-2"] p {
    margin: 0 !important;
    padding: 0 !important;
}

html body #colophon .ast-footer-html-2 a,
html body #colophon [data-section="section-fb-html-2"] a {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    text-decoration: none !important;
}

html body #colophon .ast-footer-html-2 a + a,
html body #colophon [data-section="section-fb-html-2"] a + a {
    margin-top: 28px !important;
}

html body #colophon .ast-footer-html-2 br,
html body #colophon [data-section="section-fb-html-2"] br {
    display: none !important;
}
/* ALIGN THE WHOLE FOOTER WITH THE HEADER LOGO */
html body #page #colophon .site-primary-footer-inner-wrap,
html body #page #colophon .site-primary-footer-wrap .ast-builder-grid-row {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
    align-items: flex-start !important;
}

/* RESET FOOTER MENU POSITION */
html body #page #colophon #astra-footer-menu,
html body #page #colophon .footer-navigation {
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
}

/* PLACE CONTACT COLUMN LEVEL WITH THE MENU */
html body #page #colophon .site-footer-section:has(.ast-footer-html-2) {
    align-self: flex-start !important;
    align-items: flex-start !important;
    justify-content: flex-end !important;
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
}

/* EMAIL LEVEL WITH ROOMS/AMENITIES */
html body #page #colophon .ast-footer-html-2,
html body #page #colophon [data-section="section-fb-html-2"] {
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
}

/* INSTAGRAM LEVEL WITH GALLERY/LOCATION */
html body #page #colophon .ast-footer-html-2 .ast-builder-html-element {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body #page #colophon .ast-footer-html-2 p {
    display: contents !important;
}

html body #page #colophon .ast-footer-html-2 a {
    display: block !important;
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
}

html body #page #colophon .ast-footer-html-2 br {
    display: none !important;
}

/* PHONE */
@media (max-width: 767px) {
    html body #page #colophon .site-primary-footer-inner-wrap,
    html body #page #colophon .site-primary-footer-wrap .ast-builder-grid-row {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    html body #page #colophon .site-footer-section:has(.ast-footer-html-2) {
        justify-content: flex-start !important;
    }
}
/* ALIGN EMAIL + INSTAGRAM WITH FOOTER MENU ROWS */
html body #colophon .ast-footer-html-2 {
    position: relative !important;
    top: -2px !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body #colophon .ast-footer-html-2 .ast-builder-html-element {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 27px !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body #colophon .ast-footer-html-2 p {
    display: contents !important;
}

html body #colophon .ast-footer-html-2 a {
    display: block !important;
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    line-height: 1.2 !important;
}

html body #colophon .ast-footer-html-2 br {
    display: none !important;
}
/* EXACT FOOTER CONTACT POSITION */
html body #page #colophon .ast-footer-html-2 a[href^="mailto:"] {
    position: relative !important;
    top: -68px !important;
    transform: none !important;
}

html body #page #colophon .ast-footer-html-2 a[href*="instagram"] {
    position: relative !important;
    top: -91px !important;
    transform: none !important;
}
/* REGULAR FOOTER CONTENT ALIGNMENT */

/* Move menu onto the same left line as the page content */
html body #colophon #astra-footer-menu {
    margin-left: 23px !important;
    transform: none !important;
}

/* Reset email and Instagram movement */
html body #colophon a[href^="mailto:"],
html body #colophon a[href*="instagram"] {
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Align contact details with the menu */
html body #colophon .ast-footer-html-2 {
    position: static !important;
    top: auto !important;
    transform: none !important;
    margin-right: 23px !important;
    padding: 0 !important;
}

html body #colophon .ast-footer-html-2 .ast-builder-html-element {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 27px !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body #colophon .site-footer-section:last-child {
    align-items: flex-start !important;
    justify-content: flex-end !important;
}
/* FINAL DESKTOP FOOTER CONTENT ALIGNMENT */
@media (min-width: 768px) {

    /* Move only the footer menu right — not the footer border */
    html body #page #colophon .footer-navigation,
    html body #page #colophon #astra-footer-menu {
        position: relative !important;
        left: 40px !important;
        transform: none !important;
        margin: 0 !important;
    }

    /* Keep the contact block level with the first menu row */
    html body #page #colophon .ast-footer-html-2,
    html body #page #colophon [data-section="section-fb-html-2"] {
        position: relative !important;
        top: 0 !important;
        transform: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Make email row 1 and Instagram row 2 */
    html body #page #colophon .ast-footer-html-2 .ast-builder-html-element {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 28px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body #page #colophon .ast-footer-html-2 p {
        display: contents !important;
    }

    html body #page #colophon .ast-footer-html-2 a {
        position: static !important;
        top: auto !important;
        transform: none !important;
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body #page #colophon a[href^="mailto:"] {
        order: 1 !important;
    }

    html body #page #colophon a[href*="instagram"] {
        order: 2 !important;
    }

    html body #page #colophon .ast-footer-html-2 br {
        display: none !important;
    }
}
@media (min-width: 768px) {
    html body #page #colophon .footer-navigation {
        transform: translateX(-50px) !important;
    }
}
/* TABLET ONLY — EQUAL BUTTON WIDTH AND HEIGHT */
@media (min-width: 768px) and (max-width: 1024px) {

    .apex-tablet-buttons {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 18px !important;
        width: 100% !important;
        justify-content: flex-start !important;
    }

    .apex-tablet-buttons .elementor-widget-button {
        flex: 1 1 0 !important;
        width: auto !important;
        max-width: 190px !important;
        margin: 0 !important;
    }

    .apex-tablet-buttons .elementor-button {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-height: 64px !important;
        padding: 12px 14px !important;
        text-align: center !important;
        line-height: 1.15 !important;
    }
}
/* MAKE TABLET BUTTONS THINNER */
@media (min-width: 768px) and (max-width: 1024px) {

    .apex-tablet-buttons .elementor-button {
        min-height: 52px !important;
        padding: 7px 12px !important;
    }

    .apex-tablet-buttons .elementor-button-text {
        line-height: 1.05 !important;
    }
}
/* TABLET ONLY — MAKE BOTH BUTTONS EXACTLY THE SAME SIZE */
@media (min-width: 768px) and (max-width: 1024px) {

    .apex-tablet-buttons .elementor-widget-button {
        width: 180px !important;
        max-width: 180px !important;
        flex: 0 0 180px !important;
    }

    .apex-tablet-buttons .elementor-button {
        width: 180px !important;
        height: 58px !important;
        min-height: 58px !important;
        padding: 0 12px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .apex-tablet-buttons .elementor-button-text {
        white-space: nowrap !important;
        line-height: 1 !important;
        font-size: 16px !important;
    }
}
/* TABLET ONLY — FORCE BOTH BUTTONS TO IDENTICAL SIZE */
@media (min-width: 768px) and (max-width: 1024px) {

    .apex-tablet-buttons {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 18px !important;
    }

    .apex-tablet-buttons .elementor-widget-button {
        flex: 0 0 180px !important;
        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;
        margin: 0 !important;
    }

    .apex-tablet-buttons .elementor-widget-container,
    .apex-tablet-buttons .elementor-button-wrapper {
        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;
    }

    .apex-tablet-buttons .elementor-button {
        box-sizing: border-box !important;
        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;
        height: 58px !important;
        min-height: 58px !important;
        padding: 0 10px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .apex-tablet-buttons .elementor-button-text {
        white-space: nowrap !important;
        line-height: 1 !important;
    }
}
/* TABLET ONLY — MAKE BOOK BUTTON AS THIN AS VIEW ROOMS */
@media (min-width: 768px) and (max-width: 1024px) {
    .apex-book-tablet .elementor-button {
        box-sizing: border-box !important;
        height: 60px !important;
        min-height: 60px !important;
        padding: 0 28px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }
}
/* TABLET — FORCE BOTH BUTTONS TO THE SAME THIN SIZE */
@media (min-width: 700px) and (max-width: 1200px) {

    html body .apex-tablet-buttons .elementor-widget-button,
    html body .apex-tablet-buttons .elementor-widget-container,
    html body .apex-tablet-buttons .elementor-button-wrapper {
        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;
        height: 58px !important;
        min-height: 58px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body .apex-tablet-buttons a.elementor-button {
        box-sizing: border-box !important;
        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;
        height: 58px !important;
        min-height: 58px !important;
        max-height: 58px !important;
        padding: 0 12px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        line-height: 1 !important;
    }

    html body .apex-tablet-buttons .elementor-button-text {
        white-space: nowrap !important;
        line-height: 1 !important;
    }
}
/* TABLET ONLY — MOVE BOOK BUTTON CLOSER */
@media (min-width: 768px) and (max-width: 1024px) {
    #book-viewing-tablet {
        transform: translateX(-55px) !important;
    }
}
/* PHONE ONLY — PLACE BOOK A VIEWING BESIDE VIEW ROOMS */
@media (max-width: 767px) {

    #book-viewing-phone {
        transform: translate(205px, -74px) !important;
        margin: 0 !important;
        z-index: 10 !important;
    }

    #book-viewing-phone .elementor-button {
        box-sizing: border-box !important;
        width: 180px !important;
        height: 58px !important;
        padding: 0 10px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        white-space: nowrap !important;
        line-height: 1 !important;
    }
}
/* PHONE ONLY — MATCH BOTH BUTTON SIZES */
@media only screen and (max-width: 767px) {

    .apex-phone-button {
        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;
    }

    .apex-phone-button .elementor-widget-container,
    .apex-phone-button .elementor-button-wrapper {
        width: 180px !important;
    }

    .apex-phone-button .elementor-button {
        box-sizing: border-box !important;
        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;
        height: 60px !important;
        min-height: 60px !important;
        padding: 0 10px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        font-size: 17px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        text-align: center !important;
    }
}
/* PHONE ONLY — FORCE BOTH BUTTONS TO EXACTLY THE SAME SIZE */
@media screen and (max-width: 767px) {

    html body #view-rooms-phone,
    html body #book-viewing-phone {
        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;
        --container-widget-width: 180px !important;
        --container-widget-flex-grow: 0 !important;
    }

    html body #view-rooms-phone .elementor-widget-container,
    html body #book-viewing-phone .elementor-widget-container,
    html body #view-rooms-phone .elementor-button-wrapper,
    html body #book-viewing-phone .elementor-button-wrapper {
        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;
        padding: 0 !important;
    }

    html body #view-rooms-phone a.elementor-button,
    html body #book-viewing-phone a.elementor-button {
        box-sizing: border-box !important;
        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;
        height: 60px !important;
        min-height: 60px !important;
        max-height: 60px !important;
        padding: 0 12px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        font-size: 18px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        border-radius: 999px !important;
    }
}
/* PHONE ONLY — FORCE BOTH BUTTONS TO EXACTLY THE SAME SIZE */
@media screen and (max-width: 767px) {

    html body #view-rooms-phone,
    html body #book-viewing-phone {
        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;
        --container-widget-width: 180px !important;
        --container-widget-flex-grow: 0 !important;
    }

    html body #view-rooms-phone .elementor-widget-container,
    html body #book-viewing-phone .elementor-widget-container,
    html body #view-rooms-phone .elementor-button-wrapper,
    html body #book-viewing-phone .elementor-button-wrapper {
        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;
        padding: 0 !important;
    }

    html body #view-rooms-phone a.elementor-button,
    html body #book-viewing-phone a.elementor-button {
        box-sizing: border-box !important;
        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;
        height: 60px !important;
        min-height: 60px !important;
        max-height: 60px !important;
        padding: 0 12px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        font-size: 18px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        border-radius: 999px !important;
    }
}
/* PHONE ONLY — SMALL TABLET-STYLE BUTTONS */
@media only screen and (max-width: 767px) {

    html body #view-rooms-phone,
    html body #book-viewing-phone {
        width: 160px !important;
        min-width: 160px !important;
        max-width: 160px !important;
        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;
        --container-widget-width: 160px !important;
        --container-widget-flex-grow: 0 !important;
    }

    html body #view-rooms-phone .elementor-widget-container,
    html body #book-viewing-phone .elementor-widget-container,
    html body #view-rooms-phone .elementor-button-wrapper,
    html body #book-viewing-phone .elementor-button-wrapper {
        width: 160px !important;
        min-width: 160px !important;
        max-width: 160px !important;
        height: 52px !important;
        padding: 0 !important;
    }

    html body #view-rooms-phone a.elementor-button,
    html body #book-viewing-phone a.elementor-button {
        box-sizing: border-box !important;
        width: 160px !important;
        min-width: 160px !important;
        max-width: 160px !important;
        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;
        padding: 0 10px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        font-size: 16px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        border-radius: 999px !important;
    }
}
/* PHONE ONLY — THIN, EQUAL, SIDE-BY-SIDE BUTTONS */
@media screen and (max-width: 767px) {

    html body #view-rooms-phone,
    html body #book-viewing-phone {
        width: 160px !important;
        min-width: 160px !important;
        max-width: 160px !important;
        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;
        --container-widget-width: 160px !important;
        --container-widget-flex-grow: 0 !important;
    }

    html body #view-rooms-phone .elementor-widget-container,
    html body #book-viewing-phone .elementor-widget-container,
    html body #view-rooms-phone .elementor-button-wrapper,
    html body #book-viewing-phone .elementor-button-wrapper {
        box-sizing: border-box !important;
        width: 160px !important;
        min-width: 160px !important;
        max-width: 160px !important;
        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;
        padding: 0 !important;
    }

    html body #view-rooms-phone a.elementor-button,
    html body #book-viewing-phone a.elementor-button {
        box-sizing: border-box !important;
        width: 160px !important;
        min-width: 160px !important;
        max-width: 160px !important;
        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;
        padding: 0 10px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        font-size: 16px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        border-radius: 999px !important;
    }
}
/* PHONE ONLY — MATCH THE TABLET BUTTON SHAPE */
@media (max-width: 767px) {

    /* VIEW ROOMS */
    html body #view-rooms-phone,
    html body #view-rooms-phone .elementor-widget-container,
    html body #view-rooms-phone .elementor-button-wrapper,
    html body #view-rooms-phone .elementor-button {
        box-sizing: border-box !important;
        width: 170px !important;
        min-width: 170px !important;
        max-width: 170px !important;
    }

    /* BOOK A VIEWING — SLIGHTLY WIDER */
    html body #book-viewing-phone,
    html body #book-viewing-phone .elementor-widget-container,
    html body #book-viewing-phone .elementor-button-wrapper,
    html body #book-viewing-phone .elementor-button {
        box-sizing: border-box !important;
        width: 205px !important;
        min-width: 205px !important;
        max-width: 205px !important;
    }

    /* SAME THIN HEIGHT FOR BOTH */
    html body #view-rooms-phone .elementor-button,
    html body #book-viewing-phone .elementor-button {
        height: 56px !important;
        min-height: 56px !important;
        max-height: 56px !important;
        padding: 0 12px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        font-size: 16px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        border-radius: 999px !important;
    }
}
/* FINAL PHONE BUTTON FIX */
@media only screen and (max-width: 767px) {

    html body #page .apex-phone-row {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        align-items: center !important;
        gap: 10px !important;
        width: 100% !important;
    }

    /* Reset all old button positioning and widths */
    html body #page .apex-phone-row > .elementor-element,
    html body #page .apex-phone-row #view-rooms-phone,
    html body #page .apex-phone-row #book-viewing-phone {
        position: static !important;
        inset: auto !important;
        transform: none !important;
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* View rooms */
    html body #page .apex-phone-row > .elementor-element:first-child a.elementor-button {
        width: 140px !important;
    }

    /* Book a viewing */
    html body #page .apex-phone-row > .elementor-element:last-child a.elementor-button {
        width: 170px !important;
    }

    /* Same thin shape and height */
    html body #page .apex-phone-row a.elementor-button {
        box-sizing: border-box !important;
        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;
        padding: 0 10px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        border-radius: 999px !important;
        font-size: 14px !important;
        line-height: 1 !important;
        text-align: center !important;
    }

    /* Force wording onto one line */
    html body #page .apex-phone-row .elementor-button-text {
        display: block !important;
        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        line-height: 1 !important;
    }
}
/* CLEAN MOBILE FOOTER */
@media only screen and (max-width: 767px) {

    /* Remove the oversized footer height */
    html body #colophon .site-primary-footer-wrap,
    html body #colophon .site-primary-footer-inner-wrap,
    html body #colophon .site-primary-footer-wrap
    .ast-builder-grid-row-container-inner {
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Stack menu and contact details neatly */
    html body #colophon .site-primary-footer-wrap
    .ast-builder-grid-row {
        display: grid !important;
        grid-template-columns: 1fr !important;
        row-gap: 25px !important;

        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 28px 24px !important;
        box-sizing: border-box !important;
    }

    html body #colophon .site-primary-footer-wrap
    .site-footer-section {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;

        justify-content: flex-start !important;
        align-items: flex-start !important;
        text-align: left !important;

        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
    }

    /* Two-column footer menu */
    html body #colophon .footer-navigation,
    html body #colophon #astra-footer-menu {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 32px !important;
        row-gap: 17px !important;

        width: 100% !important;
        max-width: 310px !important;

        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
    }

    html body #colophon #astra-footer-menu li {
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
    }

    /* Reset the Instagram and email positioning */
    html body #colophon .ast-footer-html-2,
    html body #colophon [data-section="section-fb-html-2"] {
        position: static !important;
        inset: auto !important;
        transform: none !important;

        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
    }

    html body #colophon .ast-footer-html-2
    .ast-builder-html-element {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 18px !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    html body #colophon .ast-footer-html-2 p {
        display: contents !important;
    }

    html body #colophon .ast-footer-html-2 a {
        position: static !important;
        transform: none !important;

        margin: 0 !important;
        padding: 0 !important;

        font-size: 18px !important;
        line-height: 1.2 !important;
        white-space: normal !important;
    }

    /* Compact copyright row */
    html body #colophon .site-below-footer-wrap {
        height: auto !important;
        min-height: 0 !important;
        padding: 14px 20px !important;
    }

    html body #colophon .site-below-footer-wrap
    .ast-builder-grid-row-container-inner,
    html body #colophon .site-below-footer-wrap
    .ast-builder-grid-row {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body #colophon .ast-footer-copyright {
        max-width: 320px !important;
        margin: 0 auto !important;
        padding: 0 !important;

        font-size: 12px !important;
        line-height: 1.4 !important;
        text-align: center !important;
    }
}
/* PHONE FOOTER — STOP MENU WORDS BREAKING */
@media only screen and (max-width: 767px) {

    html body #colophon .footer-navigation,
    html body #colophon #astra-footer-menu {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
    }

    html body #colophon #astra-footer-menu {
        display: grid !important;
        grid-template-columns: max-content max-content !important;
        column-gap: 42px !important;
        row-gap: 20px !important;
        justify-content: start !important;
    }

    html body #colophon #astra-footer-menu li {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        flex: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body #colophon #astra-footer-menu a {
        display: block !important;
        width: auto !important;
        font-size: 16px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }
}
/* PHONE ONLY — LOWER INSTAGRAM AND EMAIL */
@media only screen and (max-width: 767px) {

    html body #colophon .ast-footer-html-2,
    html body #colophon [data-section="section-fb-html-2"] {
        margin-top: 28px !important;
    }

    html body #colophon .ast-footer-html-2 .ast-builder-html-element {
        gap: 24px !important;
    }
}
/* PHONE ONLY — MOVE INSTAGRAM AND EMAIL DOWN */
@media only screen and (max-width: 767px) {

    html body #page #colophon a[href*="instagram"],
    html body #page #colophon a[href^="mailto:"] {
        position: relative !important;
        top: 45px !important;
        transform: none !important;
    }
}
/* PHONE ONLY — LOWER THE ACTUAL CONTACT TEXT BLOCK */
@media only screen and (max-width: 767px) {
    html body #colophon .site-primary-footer-wrap .ast-builder-html-element {
        position: relative !important;
        top: 35px !important;
        transform: none !important;
    }
}
/* PHONE ONLY — MOVE HTML 2 CONTACT DETAILS DOWN */
@media only screen and (max-width: 767px) {
    html body #page #colophon
    .site-primary-footer-wrap
    [data-section="section-fb-html-2"] {
        position: relative !important;
        top: 35px !important;
        transform: translateY(35px) !important;
        margin-top: 0 !important;
    }
}
/* FOOTER CONTACT — NORMAL ON DESKTOP/TABLET */
#apex-footer-contact {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 24px !important;
    padding-top: 0 !important;
}

#apex-footer-contact a {
    display: block !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    margin: 0 !important;
}

/* LOWER IT ON PHONE ONLY */
@media only screen and (max-width: 767px) {
    #apex-footer-contact {
        padding-top: 35px !important;
    }
}
/* RESET HTML 2 AND RESTORE CONTACT POSITION */
html body #page #colophon
.site-footer-section:has(#apex-footer-contact),
html body #page #colophon
[data-section="section-fb-html-2"],
html body #page #colophon
.ast-footer-html-2 {
    position: static !important;
    inset: auto !important;
    top: auto !important;
    transform: none !important;
    align-self: flex-start !important;
    align-items: flex-start !important;
    justify-content: flex-end !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body #page #colophon #apex-footer-contact {
    position: static !important;
    inset: auto !important;
    transform: none !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 24px !important;

    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body #page #colophon #apex-footer-contact a {
    position: static !important;
    inset: auto !important;
    top: auto !important;
    transform: none !important;

    display: block !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
}

/* PHONE ONLY — LEAVE A GAP BELOW THE MENU */
@media only screen and (max-width: 767px) {
    html body #page #colophon #apex-footer-contact {
        padding-top: 35px !important;
    }
}
/* TABLET ONLY — SHOW THE DESKTOP HEADER */
@media (min-width: 768px) and (max-width: 1024px) {

    /* Hide Astra's tablet dropdown header */
    #ast-mobile-header,
    .ast-mobile-header-wrap {
        display: none !important;
    }

    /* Show the normal desktop header */
    #ast-desktop-header {
        display: block !important;
    }

    #ast-desktop-header .main-header-bar-navigation,
    #ast-desktop-header .main-header-menu {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    #ast-desktop-header .main-header-menu {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
    }

    /* Make everything fit neatly on tablet */
    #ast-desktop-header .main-header-menu > .menu-item > .menu-link {
        padding-left: 12px !important;
        padding-right: 12px !important;
        font-size: 15px !important;
        white-space: nowrap !important;
    }

    #ast-desktop-header .ast-builder-button-wrap .ast-custom-button {
        padding: 13px 24px !important;
        white-space: nowrap !important;
    }

    #ast-desktop-header .site-logo-img img {
        max-width: 100px !important;
    }
}
/* RESTORE ASTRA DROPDOWN HEADER ON TABLET */
@media (min-width: 768px) and (max-width: 1024px) {

    #ast-desktop-header {
        display: none !important;
    }

    #ast-mobile-header,
    .ast-mobile-header-wrap {
        display: block !important;
    }
}
@media (min-width: 768px) and (max-width: 921px) {
  .ast-site-identity {
    transform: translateX(20px);
  }
}
/* Move logo on phone only */
@media (max-width: 767px) {
  .ast-site-identity {
    transform: translateX(-40px);
  }
}
/* Align logo with hero text on phone */
@media (max-width: 767px) {
  .ast-site-identity {
    transform: translateX(21px);
  }
}
/* Align logo with hero text on phone */
@media (max-width: 767px) {
  .ast-site-identity {
    transform: translateX(-0px);
  }
}
/* Align mobile logo with the hero text */
@media (max-width: 767px) {

  .ast-builder-layout-element[data-section="title_tagline"] {
    position: relative !important;
    left: -40px !important;
    transform: none !important;
    margin-left: 0 !important;
  }

  .ast-builder-layout-element[data-section="title_tagline"] .ast-site-identity {
    transform: none !important;
    margin-left: 0 !important;
  }
}
/* Phone only — align logo with hero text */
@media (max-width: 767px) {

  .ast-builder-layout-element[data-section="title_tagline"] {
    position: relative !important;
    left: -5px !important;
    transform: none !important;
    margin-left: 0 !important;
  }

  .ast-site-identity {
    transform: none !important;
    margin-left: 0 !important;
  }
}
@media (max-width: 767px) {
  .room-gallery-mobile,
  .room-gallery-mobile .elementor-widget-container,
  .room-gallery-mobile .gallery,
  .room-gallery-mobile .gallery-item,
  .room-gallery-mobile figure {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .room-gallery-mobile img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}
.apex-enquiry-form,
.apex-enquiry-form .elementor-widget-container,
.apex-enquiry-form .wpforms-container {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.apex-enquiry-form form {
    width: 100% !important;
    margin-left: 0 !important;
}
@media (max-width: 767px) {
  .apex-phone-buttons .elementor-button-text {
    white-space: nowrap !important;
  }

  .apex-phone-buttons .elementor-button {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}
/* ENQUIRY SECTION — TABLET ONLY */
@media (min-width: 768px) and (max-width: 1024px) {

  /* Keep the text and form beside each other */
  .elementor-element.e-con:has(
    > .elementor-element.e-con .apex-enquiry-form
  ) {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 28px !important;
  }

  /* Left text and buttons column */
  .elementor-element.e-con:has(
    > .elementor-element.e-con .apex-enquiry-form
  ) > .elementor-element.e-con:not(:has(.apex-enquiry-form)) {
    flex: 0 0 38% !important;
    width: 38% !important;
    max-width: 38% !important;
  }

  /* Make the form column wider */
  .elementor-element.e-con:has(
    > .elementor-element.e-con .apex-enquiry-form
  ) > .elementor-element.e-con:has(.apex-enquiry-form) {
    flex: 0 0 59% !important;
    width: 59% !important;
    max-width: 59% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .apex-enquiry-form,
  .apex-enquiry-form .elementor-widget-container,
  .apex-enquiry-form .wpforms-container,
  .apex-enquiry-form form {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Keep First and Last name fields beside each other */
  .apex-enquiry-form .wpforms-field-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 18px !important;
    max-width: 100% !important;
  }

  .apex-enquiry-form .wpforms-one-half {
    width: calc(50% - 9px) !important;
    margin-left: 0 !important;
  }

  /* Keep the two navigation buttons beside each other */
  .elementor-element.e-con:has(.apex-enquiry-form)
  .elementor-element.e-con:has(
    > .elementor-widget-button ~ .elementor-widget-button
  ) {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .elementor-element.e-con:has(.apex-enquiry-form)
  .elementor-element.e-con:has(
    > .elementor-widget-button ~ .elementor-widget-button
  ) > .elementor-widget-button {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
  }

  .elementor-element.e-con:has(.apex-enquiry-form)
  .elementor-element.e-con:has(
    > .elementor-widget-button ~ .elementor-widget-button
  ) .elementor-button {
    width: auto !important;
    padding: 15px 13px !important;
    font-size: 14px !important;
    white-space: nowrap !important;
  }

  .elementor-element.e-con:has(.apex-enquiry-form)
  .elementor-button-text {
    white-space: nowrap !important;
  }
}
/* FIX BROKEN ENQUIRY TABLET LAYOUT — OVERRIDES EARLIER CSS */
@media (min-width: 768px) and (max-width: 1024px) {

  /* Reset widths incorrectly applied by the earlier CSS */
  html body .elementor
  .apex-enquiry-reset.apex-enquiry-reset.apex-enquiry-reset
  .elementor-element.e-con {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  /* Main beige section */
  html body .elementor
  .apex-enquiry-reset.apex-enquiry-reset.apex-enquiry-reset {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 30px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Left text and buttons column */
  html body .elementor
  .apex-enquiry-reset.apex-enquiry-reset.apex-enquiry-reset
  > .elementor-element.e-con:first-child {
    flex: 0 0 40% !important;
    width: 40% !important;
    max-width: 40% !important;
  }

  /* Right form column — slightly wider */
  html body .elementor
  .apex-enquiry-reset.apex-enquiry-reset.apex-enquiry-reset
  > .elementor-element.e-con:last-child {
    flex: 1 1 60% !important;
    width: 60% !important;
    max-width: 60% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Restore the form to full width */
  html body .elementor
  .apex-enquiry-reset.apex-enquiry-reset
  .apex-enquiry-form,
  html body .elementor
  .apex-enquiry-reset.apex-enquiry-reset
  .apex-enquiry-form .elementor-widget-container,
  html body .elementor
  .apex-enquiry-reset.apex-enquiry-reset
  .wpforms-container,
  html body .elementor
  .apex-enquiry-reset.apex-enquiry-reset
  form {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* First and last name fields */
  html body .elementor
  .apex-enquiry-reset.apex-enquiry-reset
  .wpforms-field-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  html body .elementor
  .apex-enquiry-reset.apex-enquiry-reset
  .wpforms-field-row-block {
    flex: 1 1 50% !important;
    width: calc(50% - 8px) !important;
    max-width: calc(50% - 8px) !important;
    margin-left: 0 !important;
  }

  /* Keep the two navigation buttons next to each other */
  html body .elementor
  .apex-enquiry-reset.apex-enquiry-reset
  .e-con:has(> .elementor-widget-button ~ .elementor-widget-button) {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  html body .elementor
  .apex-enquiry-reset.apex-enquiry-reset
  .e-con:has(> .elementor-widget-button ~ .elementor-widget-button)
  > .elementor-widget-button {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
  }

  html body .elementor
  .apex-enquiry-reset.apex-enquiry-reset
  .elementor-button {
    width: auto !important;
    padding: 14px 10px !important;
    font-size: 13px !important;
  }

  html body .elementor
  .apex-enquiry-reset.apex-enquiry-reset
  .elementor-button-text {
    white-space: nowrap !important;
  }
}
/* RESTORE APEX ENQUIRY TABLET LAYOUT */
@media (min-width: 768px) and (max-width: 1024px) {

  /* Cancel the narrow widths applied by the earlier broken CSS */
  .elementor-element.e-con:has(
    > .elementor-element.e-con .apex-enquiry-form
  ) > .elementor-element.e-con {
    flex: initial !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  /* Exact main enquiry section */
  .elementor-element.e-con:has(
    > .elementor-element.e-con > .apex-enquiry-form
  ) {
    display: grid !important;
    grid-template-columns: minmax(0, 42%) minmax(0, 1fr) !important;
    column-gap: 32px !important;
    align-items: start !important;

    width: 100% !important;
    max-width: 100% !important;
  }

  /* Restore both main columns */
  .elementor-element.e-con:has(
    > .elementor-element.e-con > .apex-enquiry-form
  ) > .elementor-element.e-con {
    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
  }

  /* Make the form fill its wider column */
  .apex-enquiry-form,
  .apex-enquiry-form > .elementor-widget-container,
  .apex-enquiry-form .wpforms-container,
  .apex-enquiry-form form {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Restore normal field widths */
  .apex-enquiry-form input,
  .apex-enquiry-form textarea,
  .apex-enquiry-form select {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* First and Last stay beside each other */
  .apex-enquiry-form .wpforms-field-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;

    width: 100% !important;
    max-width: 100% !important;
  }

  .apex-enquiry-form .wpforms-field-row-block {
    flex: 1 1 0 !important;
    width: 50% !important;
    max-width: none !important;
    margin-left: 0 !important;
  }

  /* Keep the two left-side buttons beside each other */
  .elementor-element.e-con:has(
    > .elementor-element.e-con > .apex-enquiry-form
  )
  > .elementor-element.e-con:first-child
  .elementor-element.e-con:has(
    > .elementor-widget-button ~ .elementor-widget-button
  ) {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 12px !important;

    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-element.e-con:has(
    > .elementor-element.e-con > .apex-enquiry-form
  )
  > .elementor-element.e-con:first-child
  .elementor-element.e-con:has(
    > .elementor-widget-button ~ .elementor-widget-button
  )
  > .elementor-widget-button {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
  }

  .elementor-element.e-con:has(
    > .elementor-element.e-con > .apex-enquiry-form
  )
  > .elementor-element.e-con:first-child
  .elementor-button {
    width: auto !important;
    padding: 15px 14px !important;
    font-size: 14px !important;
  }

  .elementor-element.e-con:has(
    > .elementor-element.e-con > .apex-enquiry-form
  )
  > .elementor-element.e-con:first-child
  .elementor-button-text {
    white-space: nowrap !important;
  }
}
/* FINAL TABLET ENQUIRY LAYOUT */
@media (min-width: 768px) and (max-width: 1024px) {

  /* Match the laptop two-column layout */
  html body .elementor .apex-enquiry-layout,
  html body .elementor .apex-enquiry-layout > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 28px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Left heading, paragraph and buttons column */
  html body .elementor .apex-enquiry-layout > .e-con:first-child,
  html body .elementor .apex-enquiry-layout > .e-con-inner > .e-con:first-child {
    flex: 0 0 42% !important;
    width: 42% !important;
    max-width: 42% !important;
    min-width: 0 !important;
  }

  /* Right form column */
  html body .elementor .apex-enquiry-layout > .e-con:last-child,
  html body .elementor .apex-enquiry-layout > .e-con-inner > .e-con:last-child {
    flex: 1 1 58% !important;
    width: 58% !important;
    max-width: 58% !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Prevent the tablet heading splitting into too many lines */
  html body .elementor
  .apex-enquiry-layout
  > .e-con:first-child
  .elementor-heading-title,
  html body .elementor
  .apex-enquiry-layout
  > .e-con-inner
  > .e-con:first-child
  .elementor-heading-title {
    font-size: 48px !important;
    line-height: 1.05 !important;
    letter-spacing: -1px !important;
  }

  /* Keep the two buttons next to each other */
  html body .elementor .apex-enquiry-buttons,
  html body .elementor .apex-enquiry-buttons > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
  }

  html body .elementor
  .apex-enquiry-buttons
  > .elementor-widget-button,
  html body .elementor
  .apex-enquiry-buttons
  > .e-con-inner
  > .elementor-widget-button {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
  }

  html body .elementor .apex-enquiry-buttons .elementor-button {
    width: auto !important;
    padding: 14px 13px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  html body .elementor
  .apex-enquiry-buttons
  .elementor-button-text {
    white-space: nowrap !important;
  }

  /* Make the form use the whole right column */
  html body .elementor .apex-enquiry-form,
  html body .elementor .apex-enquiry-form .elementor-widget-container,
  html body .elementor .apex-enquiry-form .wpforms-container,
  html body .elementor .apex-enquiry-form form {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  html body .elementor .apex-enquiry-form input,
  html body .elementor .apex-enquiry-form textarea,
  html body .elementor .apex-enquiry-form select {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* First and Last name fields beside each other */
  html body .elementor
  .apex-enquiry-form
  .wpforms-field-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  html body .elementor
  .apex-enquiry-form
  .wpforms-field-row-block {
    flex: 1 1 0 !important;
    width: calc(50% - 8px) !important;
    max-width: calc(50% - 8px) !important;
    margin-left: 0 !important;
  }
}
/* REBUILD ENQUIRY SECTION ON TABLET ONLY */
@media (min-width: 700px) and (max-width: 1199px) {

  /* Exact two-column container: text on left, WPForms on right */
  html body .elementor .elementor-element.e-con:has(> .elementor-element.e-con:first-child + .elementor-element.e-con):has(> .elementor-element.e-con:first-child .elementor-heading-title):has(> .elementor-element.e-con:last-child .wpforms-container) {
    display: grid !important;
    grid-template-columns: minmax(0, 40%) minmax(0, 60%) !important;
    align-items: start !important;
    gap: 32px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Restore both main columns */
  html body .elementor .elementor-element.e-con:has(> .elementor-element.e-con:first-child + .elementor-element.e-con):has(> .elementor-element.e-con:first-child .elementor-heading-title):has(> .elementor-element.e-con:last-child .wpforms-container) > .elementor-element.e-con {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Left-column heading */
  html body .elementor .elementor-element.e-con:has(> .elementor-element.e-con:first-child + .elementor-element.e-con):has(> .elementor-element.e-con:first-child .elementor-heading-title):has(> .elementor-element.e-con:last-child .wpforms-container) > .elementor-element.e-con:first-child .elementor-heading-title {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 48px !important;
    line-height: 1.08 !important;
    white-space: normal !important;
  }

  /* Restore the form to the full right-column width */
  html body .elementor .elementor-element.e-con:has(> .elementor-element.e-con:first-child + .elementor-element.e-con):has(> .elementor-element.e-con:first-child .elementor-heading-title):has(> .elementor-element.e-con:last-child .wpforms-container) .wpforms-container,
  html body .elementor .elementor-element.e-con:has(> .elementor-element.e-con:first-child + .elementor-element.e-con):has(> .elementor-element.e-con:first-child .elementor-heading-title):has(> .elementor-element.e-con:last-child .wpforms-container) .wpforms-container form,
  html body .elementor .elementor-element.e-con:has(> .elementor-element.e-con:first-child + .elementor-element.e-con):has(> .elementor-element.e-con:first-child .elementor-heading-title):has(> .elementor-element.e-con:last-child .wpforms-container) .wpforms-field {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Restore normal labels and fields */
  html body .elementor .wpforms-container label {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: normal !important;
  }

  html body .elementor .wpforms-container input,
  html body .elementor .wpforms-container textarea,
  html body .elementor .wpforms-container select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* First and Last name fields side by side */
  html body .elementor .wpforms-container .wpforms-field-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  html body .elementor .wpforms-container .wpforms-field-row-block {
    display: block !important;
    flex: 1 1 0 !important;
    width: calc(50% - 8px) !important;
    max-width: calc(50% - 8px) !important;
    min-width: 0 !important;
    margin-left: 0 !important;
  }

  /* Two navigation buttons beside each other */
  html body .elementor .elementor-element.e-con:has(> .elementor-element.e-con:first-child + .elementor-element.e-con):has(> .elementor-element.e-con:first-child .elementor-heading-title):has(> .elementor-element.e-con:last-child .wpforms-container) > .elementor-element.e-con:first-child .elementor-element.e-con:has(> .elementor-widget-button + .elementor-widget-button) {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  html body .elementor .elementor-element.e-con:has(> .elementor-element.e-con:first-child + .elementor-element.e-con):has(> .elementor-element.e-con:first-child .elementor-heading-title):has(> .elementor-element.e-con:last-child .wpforms-container) > .elementor-element.e-con:first-child .elementor-widget-button {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  html body .elementor .elementor-element.e-con:has(> .elementor-element.e-con:first-child + .elementor-element.e-con):has(> .elementor-element.e-con:first-child .elementor-heading-title):has(> .elementor-element.e-con:last-child .wpforms-container) > .elementor-element.e-con:first-child .elementor-button {
    width: auto !important;
    min-width: 0 !important;
    padding: 15px 14px !important;
    font-size: 14px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  html body .elementor .elementor-element.e-con:has(> .elementor-element.e-con:first-child + .elementor-element.e-con):has(> .elementor-element.e-con:first-child .elementor-heading-title):has(> .elementor-element.e-con:last-child .wpforms-container) .elementor-button-text {
    white-space: nowrap !important;
  }
}
/* APEX ENQUIRY — EXACT TABLET REPAIR */
@media (min-width: 768px) and (max-width: 1024px) {

  /*
   * Restore the main layout.
   * Works whether Elementor uses direct children
   * or an additional .e-con-inner wrapper.
   */
  html body #apex-enquiry-layout:has(> .e-con-inner) {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  html body #apex-enquiry-layout > .e-con-inner,
  html body #apex-enquiry-layout:not(:has(> .e-con-inner)) {
    display: grid !important;
    grid-template-columns: minmax(0, 40%) minmax(0, 1fr) !important;
    column-gap: 32px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Restore the two main columns */
  html body #apex-enquiry-copy,
  html body #apex-enquiry-form-wrap {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
  }

  /* Restore heading and paragraph widths */
  html body #apex-enquiry-copy .elementor-widget-heading,
  html body #apex-enquiry-copy .elementor-widget-text-editor {
    width: 100% !important;
    max-width: 100% !important;
  }

  html body #apex-enquiry-copy .elementor-heading-title {
    font-size: 48px !important;
    line-height: 1.05 !important;
    letter-spacing: -1px !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  html body #apex-enquiry-copy p {
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  /* Put both buttons beside each other */
  html body #apex-enquiry-buttons,
  html body #apex-enquiry-buttons > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  html body #apex-enquiry-buttons > .e-con-inner {
    flex: 1 1 auto !important;
  }

  html body #apex-enquiry-buttons .elementor-widget-button {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  html body #apex-enquiry-buttons .elementor-button {
    width: auto !important;
    min-width: 0 !important;
    padding: 15px 17px !important;
    font-size: 14px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  html body #apex-enquiry-buttons .elementor-button-text {
    white-space: nowrap !important;
    word-break: normal !important;
  }

  /* Make the form fill the wider right column */
  html body #apex-enquiry-form-wrap,
  html body #apex-enquiry-form,
  html body #apex-enquiry-form .elementor-widget-container,
  html body #apex-enquiry-form .wpforms-container,
  html body #apex-enquiry-form form {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
  }

  /* Restore labels */
  html body #apex-enquiry-form label {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  /* Restore all form fields */
  html body #apex-enquiry-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
  html body #apex-enquiry-form textarea,
  html body #apex-enquiry-form select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* First and Last name beside each other */
  html body #apex-enquiry-form .wpforms-field-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  html body #apex-enquiry-form .wpforms-field-row-block,
  html body #apex-enquiry-form .wpforms-one-half {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}
/* =====================================================
   APEX ENQUIRY — TABLET LAYOUT REPAIR
   No CSS classes or IDs required
   ===================================================== */

@media (min-width: 768px) and (max-width: 1200px) {

  /* TWO-COLUMN ENQUIRY LAYOUT */
  html body .elementor
  .e-con:has(> .e-con:first-child .elementor-heading-title)
  :not(.ignore-this-rule) {
    min-width: 0 !important;
  }

  html body .elementor
  .e-con:has(> .e-con:first-child .elementor-heading-title)
  :has(> .e-con:last-child .wpforms-container) {
    display: grid !important;
    grid-template-columns: minmax(0, 40%) minmax(0, 60%) !important;
    column-gap: 32px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* VERSION WITH ELEMENTOR INNER WRAPPER */
  html body .elementor
  .e-con:has(> .e-con-inner > .e-con:first-child .elementor-heading-title)
  :has(> .e-con-inner > .e-con:last-child .wpforms-container)
  > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 40%) minmax(0, 60%) !important;
    column-gap: 32px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* RESTORE BOTH MAIN COLUMNS */
  html body .elementor
  .e-con:has(> .e-con:first-child .elementor-heading-title)
  :has(> .e-con
	/* Tablet only — align Name boxes with the rest of the form */
@media (min-width: 768px) and (max-width: 1024px) {

  body .wpforms-container .wpforms-field-name .wpforms-field-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body .wpforms-container .wpforms-field-name .wpforms-field-row-block {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body .wpforms-container .wpforms-field-name input {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
}
	/* TABLET ONLY — make Name fields align with Email field */
@media (min-width: 768px) and (max-width: 1200px) {

  body .wpforms-container .wpforms-field-name .wpforms-field-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;

    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body .wpforms-container .wpforms-field-name .wpforms-field-row-block,
  body .wpforms-container .wpforms-field-name .wpforms-one-half {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body .wpforms-container .wpforms-field-name input {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
}
	/* Tablet only — Name row same total width as Email */
@media (min-width: 768px) and (max-width: 1200px) {

  .wpforms-container .wpforms-field-name .wpforms-field-row,
  .wpforms-container .wpforms-field-name .wpforms-field-row.wpforms-field-medium {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 24px !important;
    margin: 0 !important;
  }

  .wpforms-container .wpforms-field-name .wpforms-field-row-block {
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .wpforms-container .wpforms-field-name input {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}
	/* FORCE NAME ROW TO MATCH EMAIL WIDTH */
body .wpforms-container .wpforms-field-name .wpforms-field-row,
body .wpforms-container .wpforms-field-name .wpforms-field-row.wpforms-field-medium,
body div.wpforms-container-full .wpforms-field-name .wpforms-field-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 24px !important;

    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body .wpforms-container .wpforms-field-name .wpforms-field-row-block,
body .wpforms-container .wpforms-field-name .wpforms-one-half,
body div.wpforms-container-full .wpforms-field-name .wpforms-field-row-block {
    display: block !important;
    float: none !important;

    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body .wpforms-container .wpforms-field-name input,
body div.wpforms-container-full .wpforms-field-name input {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}
	/* Phone only — align the whole logo with the heading */
@media (max-width: 767px) {
  header .custom-logo-link img.custom-logo {
    transform: translateX(8px) !important;
  }
}
	@media (max-width: 767px) {
  header .custom-logo-link img.custom-logo {
    transform: translateX(30px) !important;
  }
}
	/* PHONE ONLY — reset old logo movement and align with page text */
@media (max-width: 767px) {

  body header
  .ast-builder-layout-element[data-section="title_tagline"] {
    position: relative !important;
    left: 0 !important;
    right: auto !important;
    margin-left: 0 !important;
    transform: translateX(8px) !important;
  }

  body header
  .ast-builder-layout-element[data-section="title_tagline"]
  .ast-site-identity,

  body header
  .ast-builder-layout-element[data-section="title_tagline"]
  .custom-logo-link,

  body header
  .ast-builder-layout-element[data-section="title_tagline"]
  img {
    left: auto !important;
    margin-left: 0 !important;
    transform: none !important;
  }
}
	/* Phone only — align logo with page text */
@media (max-width: 767px) {

  /* Remove previous movement from the inner logo elements */
  html body #masthead .site-header-primary-section-left
  .ast-builder-layout-element[data-section="title_tagline"],
  html body #masthead .site-header-primary-section-left .ast-site-identity,
  html body #masthead .site-header-primary-section-left .custom-logo-link,
  html body #masthead .site-header-primary-section-left img.custom-logo {
    left: auto !important;
    margin-left: 0 !important;
    transform: none !important;
  }

  /* Move the complete logo area 9px right */
  html body #masthead .site-header-primary-section-left {
    transform: translateX(9px) !important;
  }
}
	/* ALIGN APEX LOGO WITH PAGE TEXT — ALL DEVICES */

/* Cancel earlier movement without deleting any old CSS */
#masthead .site-header-primary-section-left,
#masthead [data-section="title_tagline"],
#masthead .ast-site-identity,
#masthead .site-logo-img,
#masthead .custom-logo-link,
#masthead img.custom-logo {
    left: 0 !important;
    margin-left: 0 !important;
    transform: none !important;
}

/* Desktop and tablet */
#ast-desktop-header .site-primary-header-wrap.ast-container,
#ast-mobile-header .site-primary-header-wrap.ast-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 44px !important;
    padding-right: 44px !important;
}

/* Phone */
@media (max-width: 767px) {
    #ast-mobile-header .site-primary-header-wrap.ast-container {
        padding-left: 48px !important;
        padding-right: 48px !important;
    }
}
	/* FINAL APEX LOGO ALIGNMENT */

/* Website / desktop */
html body #page #masthead
.ast-builder-layout-element[data-section="title_tagline"] {
    position: relative !important;
    left: -30px !important;
    transform: none !important;
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1024px) {
    html body #page #masthead
    .ast-builder-layout-element[data-section="title_tagline"] {
        left: -21px !important;
    }
}

/* Phone */
@media (max-width: 767px) {
    html body #page #masthead
    .ast-builder-layout-element[data-section="title_tagline"] {
        left: 5px !important;
    }
}