/* ------------------------------------------------------------------
   forms.css - the enquiry form (inc/contact-form.php) in the pink / lavender
   design: the card it sits in, its fields and the messages above it.

   The form's markup is its own and does not change; this only restyles it. A
   page asks for it with fr_modern_look( 'name', array( 'components', 'forms' ) ).
   ------------------------------------------------------------------ */

.form-card{padding:clamp(24px,3vw,36px);border:1px solid #e8e0ec;border-radius:23px;background:#fff;box-shadow:0 16px 45px rgba(59,28,73,.07)}
.enquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.enquiry-form .field{display:flex;flex-direction:column;gap:7px;margin:0}
.enquiry-form .field-full{grid-column:1/-1}
.enquiry-form label{color:#2a2236;font-size:12px;font-weight:800;letter-spacing:.01em}
.enquiry-form .req{margin-left:2px;color:#a5508b}
.enquiry-form .opt{margin-left:5px;color:#7b7385;font-size:11px;font-weight:600}
.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;min-height:48px;padding:12px 15px;border:1px solid #ddd3e6;border-radius:13px;background:#fff;color:var(--ink);font:inherit;font-size:14px;transition:border-color .18s,box-shadow .18s}
.enquiry-form textarea{min-height:132px;resize:vertical;line-height:1.6}
.enquiry-form select{appearance:none;cursor:pointer;padding-right:42px;background-image:linear-gradient(45deg,transparent 50%,#7d5390 50%),linear-gradient(135deg,#7d5390 50%,transparent 50%);background-position:calc(100% - 21px) 21px,calc(100% - 15px) 21px;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.enquiry-form input:hover,.enquiry-form select:hover,.enquiry-form textarea:hover{border-color:#c4b4d4}
.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{outline:none;border-color:#8a68d6;box-shadow:0 0 0 3px rgba(122,91,214,.16)}
.enquiry-form ::placeholder{color:#9a91a6}
.enquiry-form .field-error input,.enquiry-form .field-error select,.enquiry-form .field-error textarea{border-color:#d8284f;background:#fffafb}
.enquiry-form .field-msg{color:#c01d44;font-size:12px;font-weight:700}
.enquiry-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 20px;margin-top:24px}
.enquiry-actions .btn{cursor:pointer}
.enquiry-privacy{color:#6f6879;font-size:12px}

/* What the form says after a send, or when something is missing. */
.form-note{display:grid;gap:4px;margin-bottom:22px;padding:16px 18px;border-radius:14px;font-size:13px}
.form-note strong{font-size:14px}
.form-note-ok{border:1px solid #b7e8c8;background:#f0fbf4;color:#176b3a}
.form-note-bad{border:1px solid #f5c2cd;background:#fff2f5;color:#b3173f;font-weight:700}

/* Honeypot: off-screen rather than display:none, which some bots skip. */
.fr-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}


/* --- the form and what goes with it ----------------------------------
   The form card on the left; on the right a tinted card that says what to send
   or what comes back. On a narrow screen the card follows the form. */
.enquiry-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:clamp(28px,4vw,56px);align-items:start}
.enquiry-intro{margin:0 0 20px;color:#5d5568;font-size:15px;line-height:1.75}
.enquiry-intro p{margin:0}
.enquiry-intro p+p{margin-top:10px}
.enquiry-note{margin:18px 4px 0;color:#6a6270;font-size:12.5px;line-height:1.7}
.enquiry-aside{position:sticky;top:calc(var(--hh) + 18px)}
.aside-card{padding:28px 26px 30px;border:1px solid rgba(20,23,41,.07);border-radius:21px;background:#eeebff}
.aside-card h2{margin:0;color:#15192a;font-size:22px;font-weight:750;line-height:1.25;letter-spacing:-.04em}
.aside-card p{margin:8px 0 0;color:#566277;font-size:13.5px;line-height:1.7}
.check-list{display:grid;gap:12px;margin:20px 0 0;padding:0;list-style:none}
.check-list li{position:relative;padding-left:29px;color:#2c3550;font-size:13.5px;line-height:1.55}
.check-list li:before{content:"\2713";position:absolute;left:0;top:0;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#ffffffc8;color:#6253b6;font-size:10px;font-weight:900;line-height:1}
@media(max-width:960px){
  .enquiry-layout{grid-template-columns:1fr}
  .enquiry-aside{position:static}
}

@media(max-width:620px){
  .enquiry-grid{grid-template-columns:1fr}
  .form-card{padding:22px 18px}
}
