/* ==========================================================================
   Beaver Dam Auto Sales — forms
   .bda-form / .bda-field system + WPForms skin (same visual language).
   Depends on tokens.css + base.css (+ components.css for .bda-btn look).
   ========================================================================== */

/* ---------- Theme form system ---------- */
.bda-form{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1rem}
.bda-form--stack{grid-template-columns:1fr}
.bda-field{grid-column:1/-1;display:grid;gap:.4rem;min-width:0}
.bda-field--half{grid-column:span 1}
.bda-field__label,.bda-field>label{font-weight:600;font-size:.92rem;line-height:1.3;color:var(--bda-text)}
.bda-field__label .req,.bda-field__req{color:var(--bda-red);font-weight:700;margin-left:.15rem}
.bda-field__hint{font-size:.85rem;color:var(--bda-text-muted);line-height:1.4}
.bda-field__error{font-size:.85rem;color:var(--bda-red);font-weight:600;display:flex;gap:.35rem;align-items:center}
.bda-field__input,
.bda-field input:not([type=checkbox]):not([type=radio]):not([type=range]),
.bda-field select,
.bda-field textarea{width:100%;height:48px;padding:0 .9rem;font-family:var(--bda-font-body);font-size:1rem;line-height:1.3;color:var(--bda-text);background:var(--bda-surface);border:1px solid var(--bda-line);border-radius:var(--bda-radius-sm);box-shadow:inset 0 1px 2px rgba(6,16,64,.04);appearance:none;-webkit-appearance:none;transition:border-color var(--bda-dur) var(--bda-ease),box-shadow var(--bda-dur) var(--bda-ease)}
.bda-field textarea,textarea.bda-field__input{height:auto;min-height:140px;padding:.8rem .9rem;resize:vertical;line-height:1.5}
.bda-field select,select.bda-field__input{padding-right:2.6rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B1C5C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;background-size:18px;cursor:pointer}
.bda-field__input::placeholder,.bda-field input::placeholder,.bda-field textarea::placeholder{color:#8A93A3;opacity:1}
.bda-field__input:hover,.bda-field input:hover,.bda-field select:hover,.bda-field textarea:hover{border-color:var(--bda-paper-300)}
.bda-field__input:focus,.bda-field input:focus,.bda-field select:focus,.bda-field textarea:focus{outline:none;border-color:var(--bda-gold-600);box-shadow:0 0 0 3px var(--bda-focus-field)}
.bda-field__input:focus-visible,.bda-field input:focus-visible,.bda-field select:focus-visible,.bda-field textarea:focus-visible{outline:none}
.bda-field--error .bda-field__input,.bda-field--error input,.bda-field--error select,.bda-field--error textarea,.bda-field__input[aria-invalid="true"]{border-color:var(--bda-red);box-shadow:0 0 0 3px rgba(192,57,43,.15)}
.bda-field__input:disabled,.bda-field input:disabled,.bda-field select:disabled{background:var(--bda-surface-2);color:var(--bda-text-muted);cursor:not-allowed}

/* Inline input with icon (search bars, keyword) */
.bda-field--icon{position:relative}
.bda-field--icon .bda-field__icon{position:absolute;left:.85rem;bottom:14px;width:20px;height:20px;color:var(--bda-text-muted);pointer-events:none}
.bda-field--icon .bda-field__input{padding-left:2.6rem}

/* Checks & radios */
.bda-field--check{grid-auto-flow:column;grid-template-columns:auto 1fr;align-items:start;gap:.7rem}
.bda-field--check input[type=checkbox],.bda-field--check input[type=radio],.bda-check input,.bda-radio input{width:20px;height:20px;margin:.15rem 0 0;accent-color:var(--bda-gold-700);flex:none;cursor:pointer}
.bda-field--check label,.bda-check,.bda-radio{font-weight:500;font-size:.95rem;line-height:1.45;color:var(--bda-text-2);cursor:pointer}
.bda-check,.bda-radio{display:flex;gap:.6rem;align-items:flex-start}
.bda-check__count{margin-left:auto;color:var(--bda-text-muted);font-size:.85rem}
.bda-choices{display:grid;gap:.55rem}
.bda-choices--row{grid-auto-flow:column;justify-content:start;gap:1.25rem}

/* Range */
.bda-field input[type=range]{width:100%;height:auto;padding:0;border:0;box-shadow:none;background:transparent;accent-color:var(--bda-gold-600)}

.bda-form__actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:.25rem}
.bda-form__note{grid-column:1/-1;font-size:.82rem;color:var(--bda-text-muted);line-height:1.45}
.bda-form__legend,.bda-form legend{grid-column:1/-1;font-family:var(--bda-font-display);font-weight:700;font-size:1.25rem;text-transform:uppercase;letter-spacing:.03em;padding:0;margin:.5rem 0 -.25rem;color:var(--bda-blue-900)}
.bda-form fieldset{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1rem;border:0;padding:0;margin:0;min-width:0}
.bda-form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Forms on dark surfaces (visit-us, hero panels) */
.bda-form--on-dark .bda-field__label,.bda-form--on-dark .bda-field>label,.bda-form--on-dark .bda-field--check label{color:var(--bda-on-dark)}
.bda-form--on-dark .bda-field__hint,.bda-form--on-dark .bda-form__note{color:var(--bda-on-dark-muted)}
.bda-form--on-dark .bda-field__input,.bda-form--on-dark .bda-field input:not([type=checkbox]):not([type=radio]),.bda-form--on-dark .bda-field select,.bda-form--on-dark .bda-field textarea{border-color:transparent}
.bda-form--on-dark .bda-form__legend{color:var(--bda-gold-500)}

/* Form card wrapper */
.bda-form-card{background:var(--bda-surface);border:1px solid var(--bda-line);border-radius:var(--bda-radius-lg);padding:clamp(1.5rem,3vw,2.25rem);box-shadow:var(--bda-shadow)}
.bda-form-card__title{font-size:1.5rem;margin-bottom:.35rem}
.bda-form-card__intro{color:var(--bda-text-muted);font-size:.97rem;margin-bottom:1.5rem}
.bda-section--dark .bda-form-card,.bda-section--brown .bda-form-card{color:var(--bda-text)}
.bda-section--dark .bda-form-card a:not([class]),.bda-section--brown .bda-form-card a:not([class]){color:var(--bda-link)}
.bda-section--dark .bda-form-card a:not([class]):hover,.bda-section--brown .bda-form-card a:not([class]):hover{color:var(--bda-blue-600)}
.bda-section--dark .bda-form-card .bda-form-card__title{color:var(--bda-blue-900)}

@media (max-width:599.98px){
  .bda-form,.bda-form fieldset{grid-template-columns:1fr}
  .bda-field--half{grid-column:1/-1}
  .bda-form__actions .bda-btn{width:100%}
  .bda-choices--row{grid-auto-flow:row}
}

/* ---------- WPForms skin (Lite-compatible; 0,3,x specificity, no !important) ---------- */
body .wpforms-container-full{margin:0}
body .wpforms-container-full .wpforms-form{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1rem}
body .wpforms-container-full .wpforms-form .wpforms-field-container{display:contents}
body .wpforms-container-full .wpforms-form .wpforms-field{grid-column:1/-1;padding:0;margin:0;display:grid;gap:.4rem;min-width:0}
body .wpforms-container-full .wpforms-form .wpforms-field.wpforms-one-half,body .wpforms-container-full .wpforms-form .wpforms-field.bda-half{grid-column:span 1;width:auto;margin-left:0;float:none}
body .wpforms-container-full .wpforms-form .wpforms-field.wpforms-first{clear:none}
body .wpforms-container-full .wpforms-form .wpforms-field-label{display:block;font-family:var(--bda-font-body);font-weight:600;font-size:.92rem;line-height:1.3;color:var(--bda-text);margin:0;float:none}
body .wpforms-container-full .wpforms-form .wpforms-required-label{color:var(--bda-red);font-weight:700}
body .wpforms-container-full .wpforms-form .wpforms-field-sublabel{font-size:.82rem;color:var(--bda-text-muted);margin:.25rem 0 0;font-weight:500}
body .wpforms-container-full .wpforms-form .wpforms-field-description{font-size:.85rem;color:var(--bda-text-muted);line-height:1.4;margin:.15rem 0 0;font-style:normal}
body .wpforms-container-full .wpforms-form .wpforms-field-description.wpforms-disclaimer-description{background:var(--bda-surface-2);border:1px solid var(--bda-line);border-radius:var(--bda-radius-sm);padding:.75rem .9rem;max-height:160px;overflow:auto}
body .wpforms-container-full .wpforms-form .wpforms-field-divider{border-top:1px solid var(--bda-line);padding-top:1rem;margin-top:.5rem}
body .wpforms-container-full .wpforms-form .wpforms-field-divider h3{font-family:var(--bda-font-display);font-weight:700;font-size:1.25rem;text-transform:uppercase;letter-spacing:.03em;color:var(--bda-blue-900);margin:0}

body .wpforms-container-full .wpforms-form input[type=text],
body .wpforms-container-full .wpforms-form input[type=email],
body .wpforms-container-full .wpforms-form input[type=tel],
body .wpforms-container-full .wpforms-form input[type=number],
body .wpforms-container-full .wpforms-form input[type=url],
body .wpforms-container-full .wpforms-form input[type=date],
body .wpforms-container-full .wpforms-form input[type=password],
body .wpforms-container-full .wpforms-form input[type=search],
body .wpforms-container-full .wpforms-form select,
body .wpforms-container-full .wpforms-form textarea{width:100%;max-width:none;height:48px;min-height:0;padding:0 .9rem;margin:0;font-family:var(--bda-font-body);font-size:1rem;line-height:1.3;color:var(--bda-text);background:var(--bda-surface);border:1px solid var(--bda-line);border-radius:var(--bda-radius-sm);box-shadow:inset 0 1px 2px rgba(6,16,64,.04);appearance:none;-webkit-appearance:none;transition:border-color var(--bda-dur) var(--bda-ease),box-shadow var(--bda-dur) var(--bda-ease)}
body .wpforms-container-full .wpforms-form textarea{height:auto;min-height:140px;padding:.8rem .9rem;resize:vertical;line-height:1.5}
body .wpforms-container-full .wpforms-form select{padding-right:2.6rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B1C5C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;background-size:18px;cursor:pointer}
body .wpforms-container-full .wpforms-form input::placeholder,body .wpforms-container-full .wpforms-form textarea::placeholder{color:#8A93A3;opacity:1}
body .wpforms-container-full .wpforms-form input:focus,body .wpforms-container-full .wpforms-form select:focus,body .wpforms-container-full .wpforms-form textarea:focus{outline:none;border-color:var(--bda-gold-600);box-shadow:0 0 0 3px var(--bda-focus-field)}
body .wpforms-container-full .wpforms-form input.wpforms-error,body .wpforms-container-full .wpforms-form select.wpforms-error,body .wpforms-container-full .wpforms-form textarea.wpforms-error{border-color:var(--bda-red);box-shadow:0 0 0 3px rgba(192,57,43,.15)}
body .wpforms-container-full .wpforms-form .wpforms-field-row.wpforms-field-medium,body .wpforms-container-full .wpforms-form .wpforms-field-row.wpforms-field-large,body .wpforms-container-full .wpforms-form .wpforms-field-row.wpforms-field-small{max-width:none}
body .wpforms-container-full .wpforms-form .wpforms-field-medium,body .wpforms-container-full .wpforms-form .wpforms-field-large,body .wpforms-container-full .wpforms-form .wpforms-field-small{max-width:none}

/* choices */
body .wpforms-container-full .wpforms-form ul{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}
body .wpforms-container-full .wpforms-form ul.wpforms-list-inline{grid-auto-flow:column;justify-content:start;gap:1.25rem}
body .wpforms-container-full .wpforms-form ul li{display:flex;align-items:flex-start;gap:.6rem;margin:0;padding:0;font-size:.95rem;line-height:1.45;color:var(--bda-text-2)}
body .wpforms-container-full .wpforms-form ul li label{font-weight:500;margin:0;display:inline;cursor:pointer;float:none}
body .wpforms-container-full .wpforms-form input[type=checkbox],body .wpforms-container-full .wpforms-form input[type=radio]{width:20px;height:20px;margin:.15rem 0 0;accent-color:var(--bda-gold-700);flex:none;cursor:pointer;appearance:auto;-webkit-appearance:auto}
body .wpforms-container-full .wpforms-form input[type=checkbox]:focus-visible,body .wpforms-container-full .wpforms-form input[type=radio]:focus-visible{outline:3px solid var(--bda-focus);outline-offset:2px;box-shadow:none}

/* file upload */
body .wpforms-container-full .wpforms-form .wpforms-uploader{border:2px dashed var(--bda-paper-300);border-radius:var(--bda-radius);background:var(--bda-surface-2);padding:1.5rem;text-align:center;color:var(--bda-text-muted)}
body .wpforms-container-full .wpforms-form .wpforms-uploader:hover{border-color:var(--bda-gold-600)}

/* submit = gold primary button */
body .wpforms-container-full .wpforms-form .wpforms-submit-container{grid-column:1/-1;padding:0;margin:.25rem 0 0;display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
body .wpforms-container-full .wpforms-form button[type=submit],body .wpforms-container-full .wpforms-form .wpforms-submit,body .wpforms-container-full .wpforms-form .wpforms-page-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:auto;min-height:0;padding:1rem 1.75rem;margin:0;font-family:var(--bda-font-body);font-weight:700;font-size:.95rem;line-height:1;letter-spacing:.04em;text-transform:uppercase;color:var(--bda-primary-ink);background:var(--bda-primary);border:2px solid transparent;border-radius:var(--bda-radius-sm);box-shadow:none;cursor:pointer;transition:background-color var(--bda-dur) var(--bda-ease),transform var(--bda-dur) var(--bda-ease),box-shadow var(--bda-dur) var(--bda-ease)}
body .wpforms-container-full .wpforms-form button[type=submit]:hover,body .wpforms-container-full .wpforms-form .wpforms-submit:hover,body .wpforms-container-full .wpforms-form .wpforms-page-button:hover{background:var(--bda-primary-hover);color:var(--bda-primary-ink);transform:translateY(-1px);box-shadow:var(--bda-shadow)}
body .wpforms-container-full .wpforms-form button[type=submit]:focus-visible,body .wpforms-container-full .wpforms-form .wpforms-submit:focus-visible{outline:3px solid var(--bda-focus);outline-offset:3px}
body .wpforms-container-full .wpforms-form .wpforms-submit-spinner{margin-left:.5rem}

/* validation + confirmation */
body .wpforms-container-full .wpforms-form label.wpforms-error,body .wpforms-container-full .wpforms-form em.wpforms-error{display:block;font-size:.85rem;font-weight:600;font-style:normal;color:var(--bda-red);margin:.1rem 0 0}
body .wpforms-container-full .wpforms-form .wpforms-error-container,body div.wpforms-container-full .wpforms-form .wpforms-error-alert{grid-column:1/-1;background:#FBEAE7;border:1px solid rgba(192,57,43,.35);border-left:4px solid var(--bda-red);border-radius:var(--bda-radius-sm);color:#7A2118;padding:.9rem 1.1rem;font-size:.95rem}
body .wpforms-container-full .wpforms-confirmation-container-full,body div.wpforms-container-full .wpforms-confirmation-container-full{background:#E8F4EC;border:1px solid rgba(31,122,69,.35);border-left:4px solid var(--bda-green);border-radius:var(--bda-radius-sm);color:#14532D;padding:1.1rem 1.25rem;font-size:1rem;line-height:1.5;margin:0}
body .wpforms-container-full .wpforms-confirmation-container-full p{margin:0}
body .wpforms-container-full .wpforms-confirmation-container-full p+p{margin-top:.5rem}
body .wpforms-container-full .wpforms-form .wpforms-field-hp{position:absolute;left:-9999px}

/* WPForms inside dark theme sections */
.bda-section--dark .wpforms-container-full .wpforms-form .wpforms-field-label,.bda-section--brown .wpforms-container-full .wpforms-form .wpforms-field-label,.bda-section--dark .wpforms-container-full .wpforms-form ul li,.bda-section--brown .wpforms-container-full .wpforms-form ul li{color:var(--bda-on-dark)}
.bda-section--dark .wpforms-container-full .wpforms-form .wpforms-field-description,.bda-section--dark .wpforms-container-full .wpforms-form .wpforms-field-sublabel{color:var(--bda-on-dark-muted)}
.bda-section--dark .bda-form-card .wpforms-container-full .wpforms-form .wpforms-field-label,.bda-section--dark .bda-form-card .wpforms-container-full .wpforms-form ul li{color:var(--bda-text)}
.bda-section--dark .bda-form-card .wpforms-container-full .wpforms-form .wpforms-field-description,.bda-section--dark .bda-form-card .wpforms-container-full .wpforms-form .wpforms-field-sublabel{color:var(--bda-text-muted)}

@media (max-width:599.98px){
  body .wpforms-container-full .wpforms-form{grid-template-columns:1fr}
  body .wpforms-container-full .wpforms-form .wpforms-field.wpforms-one-half{grid-column:1/-1}
  body .wpforms-container-full .wpforms-form .wpforms-submit{width:100%}
}

/* Sub-field rows (name first/last, address, date-time): defeat WPForms' float/percent layout. */
body .wpforms-container-full .wpforms-form .wpforms-field-row .wpforms-field-row-block input,body .wpforms-container-full .wpforms-form .wpforms-field-row .wpforms-field-row-block select{width:100%;max-width:none}
body .wpforms-container-full .wpforms-form .wpforms-field-row.wpforms-field-large,body .wpforms-container-full .wpforms-form .wpforms-field-row.wpforms-field-medium,body .wpforms-container-full .wpforms-form .wpforms-field-row.wpforms-field-small{max-width:none;width:100%}
/* Two-up fields inside narrow sidebars stack. */
.bda-inquiry .wpforms-container-full .wpforms-form .wpforms-field.wpforms-one-half,.bda-vehicle__aside .wpforms-container-full .wpforms-form .wpforms-field.wpforms-one-half{grid-column:1/-1}

/* Let WPForms lay out sub-field rows (flex + container queries); we only normalise the inputs. */
body .wpforms-container-full .wpforms-form .wpforms-field-row .wpforms-field-row-block input,body .wpforms-container-full .wpforms-form .wpforms-field-row .wpforms-field-row-block select{width:100%;max-width:none}
body .wpforms-container-full .wpforms-form .wpforms-field-row{margin-bottom:0}
