/* Page 23: editable WPBakery sections, desktop dimensions scale with viewport. */
.page-id-23 .contact-main { padding-block: 6vw 4vw; background: #efe4dd; }
.page-id-23 .contact-main h2 { font-size: 2.5vw; line-height: 1.2; }
.page-id-23 .contact-main p, .page-id-23 .contact-main a { font-size: 1.2vw; line-height: 1.65; }
.page-id-23 .contact-details { padding-right: 4vw; }
.page-id-23 .contact-details .w-iconbox { margin-block: 1.3vw; }
.page-id-23 .contact-notice { padding: 1.5vw; background: #ead5ca; margin-top: 3vw; }
.page-id-23 .contact-notice p { margin: 0; font-size: 1.35vw; }
.page-id-23 .contact-directions { padding-block: 0 3vw; background: #ead5ca; }
.page-id-23 .contact-directions .w-separator { transform: translateY(-50%); margin-block: 0 1vw; }
.page-id-23 .contact-directions h2 { font-size: 3.5vw; }
.page-id-23 .contact-directions .g-cols { align-items: center; }
.page-id-23 .contact-directions-actions { text-align: right; }
.page-id-23 .contact-directions-actions .wpb_text_column p {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 1rem;
}
.page-id-23 .contact-directions-actions .wpb_text_column p::before {
 content: "";
 display: block;
 flex: 0 0 1.1em;
 width: 1.1em;
 height: 1.5em;
 background: #b9826b;
 -webkit-mask: url("../../img/icons/marker.svg") center / contain no-repeat;
 mask: url("../../img/icons/marker.svg") center / contain no-repeat;
}
.page-id-23 .contact-map { padding: 0; }
.page-id-23 .contact-map .w-map { height: 38vw; min-height: 0 !important; }
.page-id-23 .contact-instagram { padding-block: 6vw; min-height: 40vw; background: #081533; color: #b9826b; text-align: center; }
.page-id-23 .contact-instagram h2 { color: inherit; font-size: 4vw; }
.page-id-23 .contact-ending { min-height: 47vw; }

/* Contact enquiry form: label column, pale fields and copper controls. */
.page-id-23 #gform_wrapper_1 {
 --inputs-background: #f5efeb;
 --inputs-focus-background: #f5efeb;
 --inputs-text-color: #081533;
 --inputs-focus-text-color: #081533;
 --inputs-border-width: 0px;
 --inputs-border-radius: 0px;
 --inputs-box-shadow: none;
 --inputs-height: 3.5rem;
 --inputs-padding: 1rem;
 color: #081533;
}
.page-id-23 #gform_wrapper_1 .gfield:is(.gfield--type-text, .gfield--type-email, .gfield--type-phone, .gfield--type-textarea) {
 display: grid;
 grid-template-columns: 4em minmax(0, 1fr);
 column-gap: 1rem;
 align-items: start;
}
.page-id-23 #gform_wrapper_1 .gfield > .gfield_label { margin: 0; padding-top: .75rem; font-weight: 400; }
.page-id-23 #gform_wrapper_1 .ginput_container { min-width: 0; margin: 0; }
.page-id-23 #gform_wrapper_1 .ginput_container :is(input:not([type=radio]):not([type=checkbox]), textarea) { width: 100%; }
.page-id-23 #gform_wrapper_1 .gfield :is(.gfield_description, .validation_message) { grid-column: 2; }
.page-id-23 #gform_wrapper_1 .gfield--type-radio { margin-top: 1.5rem; }
.page-id-23 #gform_wrapper_1 .gfield--type-radio legend.gfield_label {
 font-family: var(--h2-font-family, inherit);
 font-size: clamp(1.75rem, 2.5vw, 3rem) !important;
 line-height: 1.2 !important;
 padding: 0;
 margin-bottom: 1.5rem;
}
.page-id-23 #gform_wrapper_1 .gfield_radio { display: grid; gap: 1rem; }
.page-id-23 #gform_wrapper_1 .gchoice { display: flex; align-items: center; gap: .8rem; }
body.page-id-23 #gform_wrapper_1 input[type=radio] {
 appearance: none;
 flex: 0 0 1.6rem;
 width: 1.6rem !important;
 height: 1.6rem !important;
 min-height: 0 !important;
 padding: 0 !important;
 border: 4px solid #f5efeb !important;
 border-radius: 50% !important;
 background: transparent !important;
 box-shadow: 0 0 0 1px #bb826b !important;
 cursor: pointer;
}
body.page-id-23 #gform_wrapper_1 input[type=radio]:checked { background: #bb826b !important; }
body.page-id-23 #gform_wrapper_1 input[type=radio]::before { content: none !important; }
.page-id-23 #gform_wrapper_1 :is(input, textarea, button):focus-visible { outline: 2px solid #081533 !important; outline-offset: 3px; }
body.page-id-23 #gform_wrapper_1 .gform_footer :is(input[type=submit], button[type=submit]) {
 width: auto !important;
 min-height: 0 !important;
 padding: .65em 1.5em !important;
 border: 2px solid #bb826b !important;
 border-radius: 3px !important;
 background: transparent !important;
 color: #bb826b !important;
 box-shadow: none !important;
 font-weight: 700 !important;
 line-height: 1.2 !important;
 text-transform: uppercase !important;
 cursor: pointer;
}
body.page-id-23 #gform_wrapper_1 .gform_footer :is(input[type=submit], button[type=submit]):hover { background: #bb826b !important; color: #f4ece8 !important; }
@media (max-width: 480px) {
 .page-id-23 #gform_wrapper_1 .gfield:is(.gfield--type-text, .gfield--type-email, .gfield--type-phone, .gfield--type-textarea) { grid-template-columns: 1fr; gap: .5rem; }
 .page-id-23 #gform_wrapper_1 .gfield :is(.gfield_description, .validation_message) { grid-column: 1; }
 .page-id-23 #gform_wrapper_1 .gfield > .gfield_label { padding-top: 0; }
}
@media (max-width: 800px) {
 .page-id-23 .contact-main { padding-block: 40px; }
 .page-id-23 .contact-main h2 { font-size: 28px; }
 .page-id-23 .contact-main p, .page-id-23 .contact-main a { font-size: 16px; }
 .page-id-23 .contact-details { padding-right: 0; }
 .page-id-23 .contact-details .w-iconbox { margin-block: 18px; }
 .page-id-23 .contact-notice { padding: 20px; margin-top: 30px; }
 .page-id-23 .contact-directions { padding-bottom: 25px; }
 .page-id-23 .contact-directions h2 { font-size: 34px; }
 .page-id-23 .contact-directions-actions { text-align: left; }
 .page-id-23 .contact-map .w-map { height: 350px; }
 .page-id-23 .contact-instagram { padding-block: 45px; min-height: 300px; }
 .page-id-23 .contact-instagram h2 { font-size: 36px; }
 .page-id-23 .contact-ending { min-height: 320px; }
}
/* Keep the postcode above; place its existing SVG beside the directions link. */
.page-id-23 .contact-directions-actions > .vc_column-inner > .wpb_wrapper {
 display: grid; grid-template-columns: auto auto; align-items: center; justify-content: end; gap: .6em 1em;
}
.page-id-23 .contact-directions-actions .w-iconbox { display: contents; }
.page-id-23 .contact-directions-actions .w-iconbox-meta { grid-column: 1 / -1; grid-row: 1; }
.page-id-23 .contact-directions-actions .w-iconbox-icon { grid-column: 1; grid-row: 2; margin: 0 !important; }
.page-id-23 .contact-directions-actions .w-btn-wrapper { grid-column: 2; grid-row: 2; margin: 0; }
