/* Scoped to the CF7 enquiry template; inherits Maison typography. */
body .maison-enquiry { --maison-gold:#806b45; max-width:1040px; margin:0 auto; text-align:left; }
body .maison-enquiry section { background:#f5f2ec; padding:clamp(22px,4vw,48px); margin:0 0 28px; }
body .maison-enquiry h2 { margin:0 0 28px; }
body .maison-enquiry label { display:block; min-width:0; font-size:14px; line-height:1.6; }
body .maison-enquiry .maison-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-bottom:22px; }
body .maison-enquiry .maison-grid--room { grid-template-columns:2fr 1fr 1fr; }
body .maison-enquiry .maison-ages { grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); }
body .maison-enquiry input:not([type=submit]):not([type=checkbox]):not([type=radio]),
body .maison-enquiry select, body .maison-enquiry textarea { display:block; box-sizing:border-box; width:100%; max-width:100%; min-width:0; min-height:48px; padding:12px 14px; margin:7px 0 0; border:1px solid var(--maison-gold); border-radius:0; background:#fff; color:#282923; box-shadow:none; font-family:inherit; font-size:16px; line-height:1.5; }
body .maison-enquiry select { padding-right:30px; }
body .maison-enquiry textarea { min-height:150px; resize:vertical; }
body .maison-enquiry input:focus-visible, body .maison-enquiry select:focus-visible, body .maison-enquiry textarea:focus-visible, body .maison-enquiry button:focus-visible { outline:2px solid var(--maison-gold); outline-offset:3px; }
body .maison-enquiry .maison-room { border:0; padding:0 0 24px; margin:0 0 24px; min-width:0; border-bottom:1px solid #d9ceba; }
body .maison-enquiry legend { font-size:18px; margin-bottom:16px; padding:0; }
body .maison-enquiry .maison-text-button { display:inline-block; border:0; border-bottom:1px solid currentColor; border-radius:0; padding:10px 0; min-height:44px; background:transparent; color:var(--maison-gold); font:inherit; font-size:13px; letter-spacing:.08em; cursor:pointer; text-align:left; }
body .maison-enquiry .maison-text-button:disabled { opacity:.5; cursor:default; }
body .maison-enquiry .maison-hint, body .maison-enquiry .maison-privacy { font-size:14px; line-height:1.7; margin:20px 0; }
body .maison-enquiry [hidden] { display:none!important; }
body .maison-enquiry .maison-stay, body .maison-enquiry [data-rooms] { display:block; }
body .maison-enquiry .maison-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
body .maison-enquiry .wpcf7-list-item { margin:0 24px 12px 0; }
body .maison-enquiry .wpcf7-list-item label { display:flex; gap:10px; align-items:center; min-height:44px; }
body .maison-enquiry input[type=checkbox] { width:18px; height:18px; accent-color:var(--maison-gold); }
body .maison-enquiry input[type=submit] { border:1px solid var(--maison-gold); border-radius:0; background:var(--maison-gold); color:#fff; min-height:50px; padding:16px 28px; text-transform:uppercase; letter-spacing:.14em; white-space:normal; max-width:100%; }
body .maison-enquiry .wpcf7-not-valid-tip { color:#9c2828; font-size:14px; margin:8px 0; }
@media(max-width:600px) {
 body .maison-enquiry .maison-grid, body .maison-enquiry .maison-grid--room { grid-template-columns:1fr; gap:18px; }
 body .maison-enquiry .maison-ages { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body .maison-enquiry section { padding:24px 18px; }
 body .maison-enquiry input[type=submit] { width:100%; }
}

/* Keep CF7 feedback aligned with this form, including non-JS and error feedback. */
body .wpcf7 form:has(.maison-enquiry) .wpcf7-response-output {
 box-sizing:border-box; max-width:1040px; margin:28px auto 0; padding:20px 24px;
 border:0; border-left:1px solid #aa9478; background:#f5f2ec;
 color:#282923; font:inherit; line-height:1.7; text-align:left;
}
body .wpcf7 form.invalid:has(.maison-enquiry) .wpcf7-response-output,
body .wpcf7 form.failed:has(.maison-enquiry) .wpcf7-response-output,
body .wpcf7 form.spam:has(.maison-enquiry) .wpcf7-response-output {
 border-left-color:#9c2828;
}
