/* =========================================================
   PRESIDENCE PROPERTY — MODULAR CSS
   File: pp-contact-page.css
   Scope: /contact/ page only
   Required body class: pp-css-contact-page
   Baseline source: 00_PRESIDENCE_PROPERTY_ADDITIONAL_CSS_BASELINE_2026-08-05.css

   Status:
   - Modular CSS migration completed.
   - WordPress Additional CSS is disabled on /contact/.
========================================================= */

/* =========================================================
   CONTACT PAGE HERO BACKGROUND
========================================================= */

body.pp-css-contact-page .pp-page-hero-contact {
    background-image: url("/wp-content/uploads/2026/07/presidence-property-background-contact-2048x683px.webp");
}


/* =========================================================
   10 CONTACT PAGE
========================================================= */
/* =========================================================
   10.01 CONTACT - INTRO
   Narrative introduction aligned with ABOUT / SERVICES
========================================================= */

.pp-contact-intro {
    width: 100%;
    margin: 0;
    padding: 0;
    background-color: var(--pp-white);
    box-sizing: border-box;
}

.pp-contact-intro-inner {
    width: calc(100% - 48px);
    max-width: var(--pp-inner-width);
    margin: 0 auto;
    padding: 48px 0 60px;
    box-sizing: border-box;
}

.pp-contact-intro-content {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    padding: 0;
    text-align: left;
    box-sizing: border-box;
}


/* =========================================================
   10.01.01 Contact Intro Heading
========================================================= */

.pp-contact-intro-kicker {
    margin: 0 0 12px !important;
    padding: 0 !important;
    color: var(--pp-gold);
    font-family: Inter, sans-serif;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    letter-spacing: 0.10em;
    text-align: left;
    text-transform: uppercase;
    box-sizing: border-box;
}

.pp-contact-intro-title {
    margin: 0 0 24px !important;
    padding: 0 !important;
    color: var(--pp-navy);
    font-family: "Cormorant Garamond", serif;
    font-size: 42px;
    line-height: 48px;
    font-weight: 500;
    letter-spacing: 0.01em;
    text-align: left;
    box-sizing: border-box;
}


/* =========================================================
   10.01.02 Contact Intro Text
========================================================= */

.pp-contact-intro-text {
    width: 100%;
    max-width: none;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--pp-body);
    font-family: Inter, sans-serif;
    font-size: 18px;
    line-height: 30px;
    font-weight: 400;
    text-align: left;
    box-sizing: border-box;
}

/* =========================================================
   10.02 CONTACT - ENQUIRY FORM
========================================================= */


/* =========================================================
   10.02.00 Enquiry Section / Kadence Row Reset
========================================================= */

.pp-contact-enquiry {
    width: 100%;
    margin: 0;
    padding: 0;
    background-color: var(--pp-ivory);
    scroll-margin-top: 84px;
    box-sizing: border-box;
}

.pp-contact-enquiry > .kt-row-column-wrap {
    display: grid !important;
    grid-template-columns: 360px minmax(0, 1fr) !important;
    column-gap: 48px !important;
    row-gap: 0 !important;
    align-items: start !important;
    width: calc(100% - 48px);
    max-width: var(--pp-inner-width);
    margin: 0 auto !important;
    padding: 48px 0 72px !important;
    box-sizing: border-box;
}

.pp-contact-enquiry-intro,
.pp-contact-enquiry-form {
    min-width: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.pp-contact-enquiry-intro > .kt-inside-inner-col,
.pp-contact-enquiry-form > .kt-inside-inner-col {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    box-sizing: border-box;
}


/* =========================================================
   10.02.01 Enquiry Intro Column
========================================================= */

.pp-contact-enquiry-intro {
    position: relative;
    align-self: stretch;
    border-right: 1px solid rgba(176, 141, 87, 0.36);
}

.pp-contact-enquiry-intro > .kt-inside-inner-col {
    padding-right: 36px !important;
}

.pp-contact-enquiry-intro-content {
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.pp-contact-enquiry-kicker {
    margin: 0 0 12px !important;
    padding: 0 !important;
    color: var(--pp-gold);
    font-family: Inter, sans-serif;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    box-sizing: border-box;
}

.pp-contact-enquiry-title {
    width: 100%;
    margin: 0 !important;
    padding: 0 0 24px !important;
    color: var(--pp-navy);
    font-family: "Cormorant Garamond", serif;
    font-size: 36px;
    line-height: 42px;
    font-weight: 500;
    letter-spacing: 0.01em;
    box-sizing: border-box;
}

.pp-contact-enquiry-divider {
    display: block;
    width: 72px;
    height: 2px;
    margin: 0 0 24px;
    padding: 0;
    background-color: var(--pp-gold);
    box-sizing: border-box;
}

.pp-contact-enquiry-text {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--pp-body);
    font-family: Inter, sans-serif;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    box-sizing: border-box;
}


/* =========================================================
   10.02.02 Confidentiality Note
========================================================= */

.pp-contact-enquiry-trust {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    column-gap: 18px;
    align-items: center;
    width: 100%;
    margin: 42px 0 0;
    padding: 0;
    box-sizing: border-box;
}

.pp-contact-enquiry-trust-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0;
    padding: 0;
    color: var(--pp-gold);
    box-sizing: border-box;
}

.pp-contact-enquiry-trust-icon svg {
    display: block;
    width: 48px;
    height: 48px;
    margin: 0;
    padding: 0;
}

.pp-contact-enquiry-trust-text {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--pp-body);
    font-family: Inter, sans-serif;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    box-sizing: border-box;
}


/* =========================================================
   10.02.03 Fluent Forms Reset
========================================================= */

.pp-contact-enquiry-form .fluentform,
.pp-contact-enquiry-form .fluentform_wrapper_3,
.pp-contact-enquiry-form form.fluent_form_3,
.pp-contact-enquiry-form form.fluent_form_3 fieldset {
    width: 100%;
    max-width: none;
    margin: 0 !important;
    padding: 0 !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box;
}

.pp-contact-enquiry-form form.fluent_form_3 {
    color: var(--pp-body);
    font-family: Inter, sans-serif;
}

.pp-contact-enquiry-form form.fluent_form_3 .ff-t-container {
    display: flex !important;
    gap: 12px !important;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
}

.pp-contact-enquiry-form form.fluent_form_3 .ff-t-cell {
    flex: 1 1 0 !important;
    flex-basis: 0 !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
}

.pp-contact-enquiry-form form.fluent_form_3 .ff-el-group {
    width: 100%;
    margin: 0 0 18px !important;
    padding: 0 !important;
    box-sizing: border-box;
}


/* =========================================================
   10.02.04 Form Labels
========================================================= */

.pp-contact-enquiry-form form.fluent_form_3 .ff-el-input--label {
    margin: 0 0 6px !important;
    padding: 0 !important;
}

.pp-contact-enquiry-form form.fluent_form_3
    .ff-el-input--label label {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--pp-navy);
    font-family: Inter, sans-serif;
    font-size: 12px;
    line-height: 18px;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.pp-contact-enquiry-form form.fluent_form_3
    .ff-el-is-required.asterisk-right
    label::after {
    color: var(--pp-gold) !important;
}


/* =========================================================
   10.02.05 Text, Email and Select Fields
========================================================= */

.pp-contact-enquiry-form form.fluent_form_3
    input[type="text"].ff-el-form-control,
.pp-contact-enquiry-form form.fluent_form_3
    input[type="email"].ff-el-form-control,
.pp-contact-enquiry-form form.fluent_form_3
    select.ff-el-form-control {
    display: block;
    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    background-color: var(--pp-white) !important;
    border: 1px solid var(--pp-border) !important;
    border-radius: 0 !important;
    color: var(--pp-body) !important;
    font-family: Inter, sans-serif !important;
    font-size: 16px !important;
    line-height: 24px !important;
    font-weight: 400 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    transition:
        border-color var(--pp-transition-fast),
        background-color var(--pp-transition-fast);
}

.pp-contact-enquiry-form form.fluent_form_3
    select.ff-el-form-control {
    padding-right: 48px !important;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image:
        linear-gradient(
            45deg,
            transparent 50%,
            var(--pp-navy) 50%
        ),
        linear-gradient(
            135deg,
            var(--pp-navy) 50%,
            transparent 50%
        ) !important;
    background-position:
        calc(100% - 18px) 20px,
        calc(100% - 12px) 20px !important;
    background-size:
        6px 6px,
        6px 6px !important;
    background-repeat: no-repeat !important;
}


/* =========================================================
   10.02.06 Message Field
========================================================= */

.pp-contact-enquiry-form form.fluent_form_3
    textarea.ff-el-form-control {
    display: block;
    width: 100% !important;
    min-height: 144px !important;
    margin: 0 !important;
    padding: 12px 18px !important;
    background-color: var(--pp-white) !important;
    border: 1px solid var(--pp-border) !important;
    border-radius: 0 !important;
    color: var(--pp-body) !important;
    font-family: Inter, sans-serif !important;
    font-size: 16px !important;
    line-height: 24px !important;
    font-weight: 400 !important;
    resize: vertical;
    box-shadow: none !important;
    box-sizing: border-box !important;
    transition:
        border-color var(--pp-transition-fast),
        background-color var(--pp-transition-fast);
}


/* =========================================================
   10.02.07 Placeholder, Hover and Focus
========================================================= */

.pp-contact-enquiry-form form.fluent_form_3
    .ff-el-form-control::placeholder {
    color: var(--pp-muted) !important;
    opacity: 0.72;
}

.pp-contact-enquiry-form form.fluent_form_3
    .ff-el-form-control:hover {
    border-color: #D8C7A3 !important;
}

.pp-contact-enquiry-form form.fluent_form_3
    .ff-el-form-control:focus {
    outline: none !important;
    border-color: var(--pp-gold) !important;
    box-shadow: 0 0 0 1px rgba(176, 141, 87, 0.18) !important;
}


/* =========================================================
   10.02.08 Preferred Contact Method
========================================================= */

.pp-contact-enquiry-form form.fluent_form_3
    .ff-el-input--content:has(input[type="radio"]) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    width: 100%;
}

.pp-contact-enquiry-form form.fluent_form_3
    .ff-el-input--content:has(input[type="radio"])
    .ff-el-form-check {
    display: inline-flex;
    margin: 0 !important;
    padding: 0 !important;
}

.pp-contact-enquiry-form form.fluent_form_3
    .ff-el-form-check-label:has(input[type="radio"]) {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 120px;
    height: 42px;
    margin: 0;
    padding: 0 18px;
    background-color: var(--pp-white);
    border: 1px solid var(--pp-border);
    border-radius: 0;
    color: var(--pp-body);
    font-family: Inter, sans-serif;
    font-size: 12px;
    line-height: 18px;
    font-weight: 600;
    cursor: pointer;
    box-sizing: border-box;
    transition:
        color var(--pp-transition-fast),
        background-color var(--pp-transition-fast),
        border-color var(--pp-transition-fast);
}

.pp-contact-enquiry-form form.fluent_form_3
    input[type="radio"] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
}

.pp-contact-enquiry-form form.fluent_form_3
    .ff-el-form-check-label:has(input[type="radio"]):hover {
    border-color: var(--pp-gold);
    color: var(--pp-navy);
}

.pp-contact-enquiry-form form.fluent_form_3
    .ff-el-form-check-label:has(input[type="radio"]:checked) {
    background-color: var(--pp-navy);
    border-color: var(--pp-navy);
    color: var(--pp-gold);
}

.pp-contact-enquiry-form form.fluent_form_3
    .ff-el-form-check-label:has(input[type="radio"]:focus-visible) {
    outline: 2px solid var(--pp-gold);
    outline-offset: 2px;
}


/* =========================================================
   10.02.09 GDPR Agreement
========================================================= */ 

.pp-contact-enquiry-form form.fluent_form_3
    .ff-el-input--content:has(input[type="checkbox"]) {
    width: 100%;
    max-width: 690px;
}

.pp-contact-enquiry-form form.fluent_form_3
    .ff-el-input--content:has(input[type="checkbox"])
    .ff-el-form-check-label {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    column-gap: 12px;
    align-items: start;
    margin: 0;
    padding: 0;
    color: var(--pp-body);
    font-family: Inter, sans-serif;
    font-size: 12px;
    line-height: 18px;
    font-weight: 400;
    cursor: pointer;
}

.pp-contact-enquiry-form form.fluent_form_3
    input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
    padding: 0;
    accent-color: var(--pp-gold);
}


/* =========================================================
   10.02.10 Validation Messages
========================================================= */

.pp-contact-enquiry-form form.fluent_form_3
    .ff-el-is-error
    .ff-el-form-control {
    border-color: #B82105 !important;
}

.pp-contact-enquiry-form form.fluent_form_3
    .error,
.pp-contact-enquiry-form form.fluent_form_3
    .text-danger {
    margin: 6px 0 0 !important;
    color: #B82105 !important;
    font-family: Inter, sans-serif;
    font-size: 12px !important;
    line-height: 18px !important;
    font-weight: 400;
}


/* =========================================================
   10.02.11 Submit Button
========================================================= */

.pp-contact-enquiry-form form.fluent_form_3
    .ff_submit_btn_wrapper {
    margin: 24px 0 0 !important;
    padding: 0 !important;
}

.pp-contact-enquiry-form form.fluent_form_3
    .ff-btn-submit:not(.ff_btn_no_style) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 216px !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 24px !important;
    background-color: var(--pp-navy) !important;
    border: 1px solid var(--pp-navy) !important;
    border-radius: 0 !important;
    color: var(--pp-gold) !important;
    font-family: Inter, sans-serif !important;
    font-size: 12px !important;
    line-height: 18px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-align: center !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
    cursor: pointer;
    box-sizing: border-box !important;
    transition:
        color var(--pp-transition-fast),
        background-color var(--pp-transition-fast),
        border-color var(--pp-transition-fast) !important;
}

.pp-contact-enquiry-form form.fluent_form_3
    .ff-btn-submit:not(.ff_btn_no_style):hover,
.pp-contact-enquiry-form form.fluent_form_3
    .ff-btn-submit:not(.ff_btn_no_style):focus {
    background-color: var(--pp-gold) !important;
    border-color: var(--pp-gold) !important;
    color: var(--pp-navy) !important;
    box-shadow: none !important;
    outline: none !important;
}

.pp-contact-enquiry-form form.fluent_form_3
    .ff-btn-submit:not(.ff_btn_no_style):focus-visible {
    outline: 2px solid var(--pp-navy) !important;
    outline-offset: 3px !important;
} 

/* =========================================================
   10.03 CONTACT - OFFICE MAP + DIRECT CONTACT
========================================================= */


/* =========================================================
   10.03.00 Office Section / Kadence Row Reset
========================================================= */

.pp-contact-office {
    width: 100%;
    margin: 0;
    padding: 0;
    background-color: var(--pp-white);
    scroll-margin-top: 84px;
    box-sizing: border-box;
}

.pp-contact-office > .kt-row-column-wrap {
    display: grid !important;
    grid-template-columns: minmax(0, 792px) 360px !important;
    column-gap: 48px !important;
    row-gap: 0 !important;
    align-items: stretch !important;
    width: calc(100% - 48px);
    max-width: var(--pp-inner-width);
    margin: 0 auto !important;
    padding: 48px 0 60px !important;
    box-sizing: border-box;
}

.pp-contact-office-map,
.pp-contact-office-details {
    min-width: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.pp-contact-office-map > .kt-inside-inner-col,
.pp-contact-office-details > .kt-inside-inner-col {
    width: 100%;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    box-sizing: border-box;
}


/* =========================================================
   10.03.01 Office Map
========================================================= */

.pp-contact-map-frame {
    width: 100%;
    height: 100%;
    min-height: 480px;
    margin: 0;
    padding: 0;
    background-color: var(--pp-ivory);
    border: 1px solid var(--pp-border);
    overflow: hidden;
    box-sizing: border-box;
} 

.pp-contact-map-image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 478px;
    margin: 0;
    padding: 0;
    object-fit: cover;
    object-position: center center;
    border: 0;
    box-sizing: border-box;
}

.pp-contact-map-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 478px;
    margin: 0;
    padding: 24px;
    background-color: var(--pp-ivory);
    background-image:
        linear-gradient(
            90deg,
            rgba(176, 141, 87, 0.06) 1px,
            transparent 1px
        ),
        linear-gradient(
            rgba(176, 141, 87, 0.06) 1px,
            transparent 1px
        );
    background-size: 48px 48px;
    color: var(--pp-gold);
    text-align: center;
    box-sizing: border-box;
}

.pp-contact-map-placeholder-text {
    display: inline-block;
    margin: 0;
    padding: 12px 18px;
    background-color: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(176, 141, 87, 0.42);
    color: var(--pp-navy);
    font-family: Inter, sans-serif;
    font-size: 12px;
    line-height: 18px;
    font-weight: 600;
    letter-spacing: 0.10em;
    text-transform: uppercase;
}


/* =========================================================
   10.03.02 Direct Contact Panel
========================================================= */

.pp-contact-office-details-content {
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.pp-contact-office-kicker {
    margin: 0 0 12px !important;
    padding: 0 !important;
    color: var(--pp-gold);
    font-family: Inter, sans-serif;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    box-sizing: border-box;
}

.pp-contact-office-title {
    margin: 0 !important;
    padding: 0 0 24px !important;
    color: var(--pp-navy);
    font-family: "Cormorant Garamond", serif;
    font-size: 36px;
    line-height: 42px;
    font-weight: 500;
    letter-spacing: 0.01em;
    box-sizing: border-box;
}

.pp-contact-office-divider {
    display: block;
    width: 72px;
    height: 2px;
    margin: 0 0 30px;
    padding: 0;
    background-color: var(--pp-gold);
    box-sizing: border-box;
}


/* =========================================================
   10.03.03 Contact Detail Items
========================================================= */

.pp-contact-detail-item {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    column-gap: 18px;
    align-items: start;
    width: 100%;
    margin: 0 0 30px;
    padding: 0;
    box-sizing: border-box;
}

.pp-contact-detail-item:last-of-type {
    margin-bottom: 0;
}

.pp-contact-detail-icon {
    display: inline-flex;
    align-items: flex-start;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    color: var(--pp-gold);
    box-sizing: border-box;
}

.pp-contact-detail-icon svg {
    display: block;
    width: 30px;
    height: 30px;
    margin: 0;
    padding: 0;
}

.pp-contact-detail-content {
    min-width: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.pp-contact-detail-title {
    margin: 0 0 6px !important;
    padding: 0 !important;
    color: var(--pp-navy);
    font-family: Inter, sans-serif;
    font-size: 12px;
    line-height: 18px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-sizing: border-box;
}


/* =========================================================
   10.03.04 Contact Links and Address
========================================================= */

.pp-contact-detail-link,
.pp-contact-detail-address {
    display: block;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--pp-body);
    font-family: Inter, sans-serif;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    overflow-wrap: anywhere;
    box-sizing: border-box;
}

.pp-contact-detail-link:hover,
.pp-contact-detail-link:focus {
    color: var(--pp-gold);
    text-decoration: none;
}

.pp-contact-maps-link {
    display: inline-flex;
    align-items: center;
    margin: 18px 0 0;
    padding: 0;
    color: var(--pp-gold);
    font-family: Inter, sans-serif;
    font-size: 12px;
    line-height: 18px;
    font-weight: 700;
    letter-spacing: 0.10em;
    text-decoration: none;
    text-transform: uppercase;
    box-sizing: border-box;
}

.pp-contact-maps-link:hover,
.pp-contact-maps-link:focus {
    color: var(--pp-navy);
    text-decoration: none;
}


/* =========================================================
   11.40 CONTACT PAGE - RESPONSIVE RULES
========================================================= */


/* =========================================================
   11.40.01 Contact - Tablet
========================================================= */

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

    /* =====================================================
       11.40.01.01 Preferred Contact Method
    ===================================================== */

    .pp-contact-enquiry-form form.fluent_form_3
        .ff-el-input--content:has(input[type="radio"]) {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
        width: 100%;
    }

    .pp-contact-enquiry-form form.fluent_form_3
        .ff-el-input--content:has(input[type="radio"])
        .ff-el-form-check {
        display: block;
        width: 100%;
        min-width: 0;
        margin: 0 !important;
        padding: 0 !important;
    }

    .pp-contact-enquiry-form form.fluent_form_3
        .ff-el-form-check-label:has(input[type="radio"]) {
        width: 100%;
        min-width: 0;
        padding-right: 6px;
        padding-left: 6px;
        white-space: nowrap;
    }

}


/* =========================================================
   11.40.02 Contact - Mobile
========================================================= */

@media screen and (max-width: 767px) {

    /* =====================================================
       11.40.02.01 Contact Enquiry - Single Column
    ===================================================== */

    .pp-contact-enquiry > .kt-row-column-wrap {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        column-gap: 0 !important;
        row-gap: 42px !important;
        align-items: start !important;
        width: calc(100% - 48px);
        max-width: none;
        margin: 0 auto !important;
        padding: 42px 0 48px !important;
        box-sizing: border-box;
    }

    .pp-contact-enquiry-intro,
    .pp-contact-enquiry-form {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        box-sizing: border-box;
    }

    .pp-contact-enquiry-intro {
        padding-bottom: 42px !important;
        border-right: none;
        border-bottom: 1px solid rgba(176, 141, 87, 0.36);
    }

    .pp-contact-enquiry-intro > .kt-inside-inner-col {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .pp-contact-enquiry-form > .kt-inside-inner-col {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }


    /* =====================================================
       11.40.02.02 Fluent Forms - Full Mobile Width
    ===================================================== */

    .pp-contact-enquiry-form .fluentform,
    .pp-contact-enquiry-form .fluentform_wrapper_3,
    .pp-contact-enquiry-form form.fluent_form_3,
    .pp-contact-enquiry-form form.fluent_form_3 fieldset {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    .pp-contact-enquiry-form form.fluent_form_3 .ff-t-container {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .pp-contact-enquiry-form form.fluent_form_3 .ff-t-cell {
        flex: 0 0 auto !important;
        flex-basis: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    .pp-contact-enquiry-form form.fluent_form_3 .ff-el-group,
    .pp-contact-enquiry-form form.fluent_form_3 .ff-el-input--content {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none;
        box-sizing: border-box;
    }


    /* =====================================================
       11.40.02.03 Preferred Contact Method
    ===================================================== */

    .pp-contact-enquiry-form form.fluent_form_3
        .ff-el-input--content:has(input[type="radio"]) {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
        width: 100%;
    }

    .pp-contact-enquiry-form form.fluent_form_3
        .ff-el-input--content:has(input[type="radio"])
        .ff-el-form-check {
        display: block;
        width: 100%;
        min-width: 0;
        margin: 0 !important;
        padding: 0 !important;
    }

    .pp-contact-enquiry-form form.fluent_form_3
        .ff-el-form-check-label:has(input[type="radio"]) {
        width: 100%;
        min-width: 0;
        padding-right: 6px;
        padding-left: 6px;
        white-space: nowrap;
    } 

/* =====================================================
   11.40.02.04 Consent, Turnstile and Submit
===================================================== */


/* =====================================================
   Privacy Policy Acknowledgement
===================================================== */

.pp-contact-enquiry-form form.fluent_form_3
    .ff-el-group.ff-el-input--content:has(.ff_tc_label) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.pp-contact-enquiry-form form.fluent_form_3
    .ff-el-tc {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.pp-contact-enquiry-form form.fluent_form_3
    .ff_tc_label {
    display: inline-grid !important;
    grid-template-columns: 18px auto !important;
    column-gap: 12px !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    color: var(--pp-body) !important;
    font-family: Inter, sans-serif !important;
    font-size: 12px !important;
    line-height: 18px !important;
    font-weight: 400 !important;
    text-align: left !important;
    cursor: pointer;
    box-sizing: border-box !important;
}

.pp-contact-enquiry-form form.fluent_form_3
    .ff_tc_checkbox {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: stretch !important;
    width: 18px !important;
    min-width: 18px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.pp-contact-enquiry-form form.fluent_form_3
    .ff_tc_checkbox input[type="checkbox"] {
    display: block !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    min-width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pp-contact-enquiry-form form.fluent_form_3
    .ff_t_c {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: Inter, sans-serif !important;
    font-size: 12px !important;
    line-height: 18px !important;
    font-weight: 400 !important;
    text-align: left !important;
    white-space: normal !important;
    box-sizing: border-box !important;
}


/* =====================================================
   Cloudflare Turnstile
===================================================== */

.pp-contact-enquiry-form form.fluent_form_3
    .ff-el-group:has(.cf-turnstile),

.pp-contact-enquiry-form form.fluent_form_3
    .ff-el-input--content:has(.cf-turnstile) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.pp-contact-enquiry-form form.fluent_form_3
    .cf-turnstile {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

.pp-contact-enquiry-form form.fluent_form_3
    .cf-turnstile > div,

.pp-contact-enquiry-form form.fluent_form_3
    .cf-turnstile iframe {
    display: block !important;
    margin-right: auto !important;
    margin-left: auto !important;
}


/* =====================================================
   Submit Button
===================================================== */

.pp-contact-enquiry-form form.fluent_form_3
    .ff_submit_btn_wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 24px 0 0 !important;
    padding: 0 !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.pp-contact-enquiry-form form.fluent_form_3
    .ff-btn-submit:not(.ff_btn_no_style) {
    display: inline-flex !important;
    width: auto !important;
    min-width: 216px !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

    /* =====================================================
       11.40.02.05 Office Map and Contact Details
    ===================================================== */

    .pp-contact-office > .kt-row-column-wrap {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        column-gap: 0 !important;
        row-gap: 42px !important;
        align-items: start !important;
        width: calc(100% - 48px);
        max-width: none;
        margin: 0 auto !important;
        padding: 42px 0 48px !important;
        box-sizing: border-box;
    }

    .pp-contact-office-map,
    .pp-contact-office-details {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box;
    }

    .pp-contact-office-map {
        order: 1;
    }

    .pp-contact-office-details {
        order: 2;
    }

    .pp-contact-office-map > .kt-inside-inner-col,
    .pp-contact-office-details > .kt-inside-inner-col {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .pp-contact-map-frame {
        display: block !important;
        width: 100% !important;
        height: 300px !important;
        min-height: 300px !important;
        margin: 0 !important;
    }

    .pp-contact-map-image {
        display: block !important;
        width: 100% !important;
        height: 298px !important;
        min-height: 298px !important;
        object-fit: cover;
        object-position: center center;
    }

    .pp-contact-map-placeholder {
        width: 100% !important;
        height: 298px !important;
        min-height: 298px !important;
    }

}
