/* Contact Us page styles.
   Shared: balance-cta-section, rule-gold (assets/css/custom.css). */

body.page-template-contact-us-page {
    --cu-rust: #7d4021;
    --cu-kicker: #805036;
    --cu-heading: #103a34;
    --cu-text: #5d656b;
    --cu-sage: #eaece1;
    --cu-paper: #f8f7f3;
    --cu-gutter: var(--container-edge);
}

/* ---- Shared bits ---- */
.cu-kicker {
    display: block;
    color: var(--cu-kicker);
    font-size: var(--fs-xs);
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}
.cu-kicker--center {
    text-align: center;
}
.cu-title {
    margin: 14px 0 10px;
    color: var(--cu-heading);
    font-family: var(--font-secondary);
    font-size: var(--fs-h2);
    font-weight: 600;
    line-height: 1.12;
}
.cu-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 24px;
    border: 0;
    border-radius: 3px;
    font-size: var(--fs-xs);
    font-weight: 700;
    letter-spacing: 1.4px;
    text-decoration: none;
    text-transform: uppercase;
    transition: background .2s ease, color .2s ease;
}
.cu-btn--rust {
    background: var(--cu-rust);
    color: #fff;
}
.cu-btn--rust:hover {
    background: #683418;
    color: #fff;
}

/* ---- Get in Touch / Send an Enquiry ---- */
.cu-enquiry {
    display: grid;
    grid-template-columns: 42% 58%;
}
.cu-enquiry__details {
    position: relative;
    overflow: hidden;
    padding: 58px 40px 70px var(--cu-gutter);
    background: var(--cu-sage);
}
.cu-enquiry__leaf {
    position: absolute;
    bottom: -40px;
    left: -30px;
    width: 220px;
    fill: #dfe3d2;
    stroke: #d2d8c4;
    stroke-width: 1.2;
    opacity: .7;
    pointer-events: none;
}
.cu-enquiry__leaf path:first-child {
    fill: none;
}
.cu-enquiry__details > *:not(svg) {
    position: relative;
}
.cu-enquiry__org {
    margin: 22px 0 8px;
    color: #113733;
    font-family: var(--font-secondary);
    font-size: var(--fs-h2);
    font-weight: 600;
}
.cu-enquiry__unit {
    margin: 0 0 12px;
    color: #253934;
    font-size: var(--fs-body);
    font-weight: 600;
    line-height: 1.45;
}
.cu-enquiry__address {
    margin: 0 0 18px;
    color: #636565;
    font-size: var(--fs-body);
    line-height: 1.5;
}
.cu-enquiry__line {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 6px;
    color: #253934;
    font-size: var(--fs-body);
}
.cu-enquiry__line i {
    width: 16px;
    color: var(--cu-rust);
}
.cu-enquiry__line a {
    color: inherit;
    text-decoration: none;
}
.cu-enquiry__hours-title {
    margin: 30px 0 8px;
    color: #243d38;
    font-family: var(--font-secondary);
    font-size: var(--fs-h4);
    font-weight: 600;
}
.cu-enquiry__hours {
    margin: 0 0 12px;
    color: #4e5552;
    font-size: var(--fs-body);
    line-height: 1.45;
}
.cu-enquiry__form {
    padding: 56px var(--cu-gutter) 64px clamp(32px, 3.5vw, 60px);
    background: var(--cu-paper);
}
.cu-enquiry__form .cu-title {
    margin-top: 12px;
}
.cu-enquiry__intro {
    margin: 0 0 22px;
    color: var(--cu-text);
    font-size: var(--fs-body);
}

/* Contact Form 7 fields */
.cu-enquiry__form .acf-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 26px;
    max-width: 640px;
}
.cu-enquiry__form .acf-field {
    margin: 0;
}
.cu-enquiry__form .acf-field--full {
    grid-column: 1 / -1;
}
.cu-enquiry__form label,
.cu-enquiry__form .acf-label-block {
    display: block;
    width: 100%;
    margin-bottom: 6px;
    color: #39393c;
    font-size: var(--fs-small);
    font-weight: 600;
}
.cu-enquiry__form .acf-req {
    color: var(--cu-rust);
}
.cu-enquiry__form input[type="text"],
.cu-enquiry__form input[type="tel"],
.cu-enquiry__form input[type="email"],
.cu-enquiry__form textarea {
    width: 100%;
    margin-top: 6px;
    padding: 10px 12px;
    border: 1px solid #dedcd4;
    border-radius: 3px;
    background: #fff;
    color: #2d2d2d;
    font-size: var(--fs-small);
    font-weight: 400;
}
.cu-enquiry__form textarea {
    height: 92px;
    resize: vertical;
}
.cu-enquiry__form input:focus,
.cu-enquiry__form textarea:focus {
    border-color: #b98a6d;
    outline: none;
    box-shadow: 0 0 0 3px rgb(125 64 33 / 12%);
}
/* "I am interested in" - square-cornered chips, radio circle hidden */
.cu-enquiry__form .wpcf7-radio {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.cu-enquiry__form .wpcf7-list-item {
    margin: 0;
}
.cu-enquiry__form .wpcf7-list-item label {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 7px 14px;
    border: 1px solid #d5c7bc;
    border-radius: 2px;
    background: #fff;
    color: #8a6959;
    font-size: var(--fs-xs);
    font-weight: 500;
    cursor: pointer;
    transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.cu-enquiry__form .wpcf7-list-item input[type="radio"] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}
.cu-enquiry__form .wpcf7-list-item label:has(input:checked) {
    border-color: var(--cu-rust);
    background: var(--cu-rust);
    color: #fff;
}
.cu-enquiry__form .wpcf7-list-item label:has(input:focus-visible) {
    box-shadow: 0 0 0 3px rgb(125 64 33 / 20%);
}
.cu-enquiry__form .acf-submit-row {
    display: flex;
    align-items: center;
    gap: 18px;
}
.cu-enquiry__form input.wpcf7-submit {
    width: auto;
    padding: 13px 28px;
    border: 0;
    border-radius: 3px;
    background: var(--cu-rust);
    color: #fff;
    font-size: var(--fs-xs);
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    cursor: pointer;
}
.cu-enquiry__form input.wpcf7-submit:hover {
    background: #683418;
}
.cu-enquiry__form .acf-privacy-note {
    color: #959596;
    font-size: var(--fs-xs);
    line-height: 1.4;
}

/* ---- Find Us ---- */
.cu-map {
    display: grid;
    grid-template-columns: 61% 39%;
    background: #faf9f5;
}
.cu-map__frame {
    position: relative;
    min-height: 460px;
    background-position: center;
    background-size: cover;
}
.cu-map__frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
.cu-map__content {
    padding: 40px var(--cu-gutter) 40px 50px;
}
.cu-map__content .cu-title {
    font-size: var(--fs-h3);
}
.cu-map__desc {
    margin: 0 0 20px;
    color: var(--cu-text);
    font-size: var(--fs-body);
    line-height: 1.55;
}
.cu-map__features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
}
.cu-map__features li {
    padding: 0 14px;
    color: #726661;
    font-size: var(--fs-xs);
    line-height: 1.4;
}
.cu-map__features li:first-child {
    padding-left: 0;
}
.cu-map__features li + li {
    border-left: 1px solid #e0d6cd;
}
.cu-map__features svg {
    display: block;
    width: 30px;
    height: 30px;
    margin-bottom: 8px;
    fill: none;
    stroke: var(--cu-rust);
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* ---- Connect With Us ---- */
.cu-connect {
    display: grid;
    grid-template-columns: minmax(280px, 25%) 1fr;
    gap: 30px;
    align-items: center;
    padding: 40px var(--cu-gutter) 48px;
    background: #fcfcfc;
}
.cu-connect__desc {
    margin: 0 0 18px;
    color: var(--cu-text);
    font-size: var(--fs-small);
    line-height: 1.5;
}
.cu-connect__also {
    margin: 26px 0 10px;
    color: #6b6b6b;
    font-size: var(--fs-xs);
    text-align: center;
}
.cu-connect__socials {
    display: flex;
    justify-content: space-between;
    max-width: 260px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}
.cu-connect__socials a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    color: #4c4c4c;
    font-size: var(--fs-xs);
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
}
.cu-connect__socials i {
    color: #7d3d1c;
    font-size: 22px;
}
.cu-connect__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}
.cu-connect__photo {
    display: block;
    overflow: hidden;
    border-radius: 2px;
}
.cu-connect__photo img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    transition: transform .4s ease;
}
.cu-connect__photo:hover img {
    transform: scale(1.04);
}

/* ---- Responsive ---- */
@media (max-width: 991px) {
    .cu-enquiry,
    .cu-map,
    .cu-connect {
        grid-template-columns: 1fr;
    }
    .cu-enquiry__details,
    .cu-enquiry__form,
    .cu-map__content {
        padding: 48px 24px;
    }
    .cu-map__frame {
        min-height: 340px;
    }
    .cu-connect {
        padding: 40px 24px;
    }
    .cu-connect__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 575px) {
    .cu-enquiry__form .acf-grid {
        grid-template-columns: 1fr;
    }
    .cu-enquiry__form .acf-submit-row {
        flex-direction: column;
        align-items: flex-start;
    }
    .cu-map__features {
        grid-template-columns: 1fr;
        row-gap: 18px;
    }
    .cu-map__features li,
    .cu-map__features li:first-child {
        padding: 0;
    }
    .cu-map__features li + li {
        border-left: 0;
    }
}

/* Overrides for older shared rules in six-pages-polish.css. */
body.page-template-contact-us-page .cu-connect__photo {
    max-height: none;
}
body.page-template-contact-us-page .cu-connect {
    grid-template-columns: minmax(300px, 28%) 1fr;
    padding-top: 44px;
    padding-bottom: 52px;
}
body.page-template-contact-us-page .cu-connect .cu-title {
    font-size: var(--fs-h3);
}
.cu-enquiry__form input.wpcf7-submit {
    padding-right: 46px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 8h11M9 4l4 4-4 4'/%3E%3C/svg%3E");
    background-position: right 20px center;
    background-repeat: no-repeat;
    background-size: 14px;
}
@media (max-width: 991px) {
    body.page-template-contact-us-page .cu-connect {
        grid-template-columns: 1fr;
    }
}
body.page-template-contact-us-page .cu-enquiry__form input.wpcf7-submit {
    padding: 13px 46px 13px 28px;
}
