/* Shared controls inspired by the supplied component and form references. */
.inquiry-form,
.admin-body form:not(#design-form),
.auth-body .stack-form {
  --field-accent: #3767df;
  --field-ring: #3767df20;
  --field-surface: #f8f9fc;
  --field-text: #263a4b;
  --field-muted: #7b8798;
  --field-border: #dfe4ec;
  --field-radius: 7px;
  --field-success: #258662;
  --field-danger: #c3463a;
  --field-warning: #af7b18;
}
.inquiry-form {
  --field-accent: var(--accent, #3767df);
  --field-text: var(--ink, #263a4b);
  --field-muted: var(--muted, #7b8798);
  --field-surface: var(--skin-card, #f8f9fc);
  --field-border: color-mix(in srgb, var(--field-text) 17%, var(--field-surface));
  --field-ring: color-mix(in srgb, var(--field-accent) 15%, transparent);
  padding: 30px;
  border-radius: 18px;
  color: var(--field-text);
  font-size: 13px;
}
.inquiry-form .inquiry-form-heading { display: flex; align-items: flex-start; gap: 12px; padding-bottom: 23px; margin-bottom: 23px; border-bottom: 1px solid var(--field-border); }
.inquiry-form .form-heading-icon { display: grid; place-items: center; width: 41px; height: 41px; flex-shrink: 0; color: var(--field-accent); border: 1px solid var(--field-border); background: var(--field-surface); border-radius: 11px; }
.inquiry-form .form-heading-icon svg { width: 22px; height: 22px; }
.inquiry-form .form-kicker { font-size: 8px; letter-spacing: .13em; color: var(--field-accent); margin: 0 0 5px; font-weight: 700; }
.inquiry-form .inquiry-form-heading h3 { margin: 0; color: var(--field-text); font-size: 21px; font-weight: 650; letter-spacing: -.05em; line-height: 1.3; }
.inquiry-form .inquiry-form-heading p:not(.form-kicker) { margin: 6px 0 0; color: var(--field-muted); font-size: 11px; line-height: 1.6; }
.inquiry-form .form-required-note { margin-left: auto; white-space: nowrap; font-size: 9px; color: var(--field-muted); padding-top: 2px; }
.inquiry-form .form-required-note b, .inquiry-form .form-field>label>span:not(.field-optional), .inquiry-form .consent b { color: var(--coral, #c3463a); font-weight: 600; }
.inquiry-form .inquiry-fieldset { border: 0; min-width: 0; padding: 0; margin: 0 0 24px; }
.inquiry-form .inquiry-fieldset legend { width: 100%; font-size: 12px; line-height: 1.5; font-weight: 650; color: var(--field-text); padding: 0 0 12px; margin: 0 0 17px; border-bottom: 1px solid var(--field-border); }
.inquiry-form .inquiry-fieldset legend>span { display: inline-block; position: relative; color: var(--field-accent); margin-right: 8px; font-size: 10px; letter-spacing: .03em; }
.inquiry-form .inquiry-fieldset legend>span:after { content: ''; position: absolute; left: 0; right: 0; height: 2px; bottom: -13px; background: var(--field-accent); border-radius: 1px; }
.inquiry-form .form-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.inquiry-form .form-field { min-width: 0; margin-bottom: 17px; }
.inquiry-form .inquiry-fieldset>.form-row:last-child>.form-field, .inquiry-form .message-field { margin-bottom: 0; }
.inquiry-form .form-field>label { display: flex; align-items: center; gap: 4px; color: var(--field-text); font-size: 12px; font-weight: 550; line-height: 1.5; margin: 0 0 8px; }
.inquiry-form .form-field>label>.field-optional { margin-left: 2px; color: var(--field-muted); font-size: 10px; font-weight: 400; }
.inquiry-form .field-control, .auth-body .field-control { position: relative; min-width: 0; }
.inquiry-form .field-icon, .auth-body .field-icon { position: absolute; top: 50%; left: 14px; transform: translateY(-50%); width: 18px; height: 18px; color: var(--field-muted); pointer-events: none; display: flex; align-items: center; justify-content: center; z-index: 1; }
.inquiry-form .field-icon svg, .auth-body .field-icon svg { width: 18px; height: 18px; }
.inquiry-form :is(input:not([type=checkbox]):not([type=hidden]),textarea,select),
:is(.admin-body,.auth-body) form:not(#design-form) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=color]):not([type=file]):not([type=submit]):not([type=button]),textarea,select) {
  display: block; width: 100%; max-width: 100%; min-height: 48px; margin: 0; padding: 12px 14px; border: 1px solid var(--field-border); border-radius: var(--field-radius); background: var(--field-surface); color: var(--field-text); font-size: 13px; font-weight: 400; line-height: 1.5; box-shadow: none; transition: border-color .18s, background-color .18s, box-shadow .18s; outline-offset: 2px;
}
/* Keep icon clearance above the shared control shorthand's type exclusions. */
.inquiry-form .has-field-icon :is(input,select), .auth-body .has-field-icon input { padding-left: 42px !important; }
.inquiry-form :is(input,textarea)::placeholder,
:is(.admin-body,.auth-body) form:not(#design-form) :is(input,textarea)::placeholder { color: var(--field-muted); opacity: .85; }
.inquiry-form :is(input,textarea,select):hover:not(:disabled):not([aria-invalid=true]),
:is(.admin-body,.auth-body) form:not(#design-form) :is(input:not([type=color]):not([type=file]):not([type=checkbox]):not([type=radio]),textarea,select):hover:not(:disabled):not([aria-invalid=true]) { border-color: color-mix(in srgb, var(--field-accent) 55%, var(--field-border)); }
.inquiry-form :is(input,textarea,select):focus,
:is(.admin-body,.auth-body) form:not(#design-form) :is(input:not([type=color]):not([type=file]),textarea,select):focus { border-color: var(--field-accent); outline: none; box-shadow: 0 0 0 3px var(--field-ring); }
.inquiry-form .field-control:focus-within>.field-icon, .auth-body .field-control:focus-within>.field-icon { color: var(--field-accent); }
.inquiry-form textarea { min-height: 132px; resize: vertical; padding: 13px 14px; }
.inquiry-form .field-select:after { content: ''; position: absolute; right: 17px; top: calc(50% - 5px); width: 7px; height: 7px; border-right: 1.5px solid var(--field-muted); border-bottom: 1.5px solid var(--field-muted); transform: rotate(45deg); pointer-events: none; }
.inquiry-form select { appearance: none; -webkit-appearance: none; padding-right: 38px; cursor: pointer; }
.inquiry-form select option { background: var(--field-surface); color: var(--field-text); }
.inquiry-form .field-meta { display: flex; justify-content: space-between; gap: 10px; padding-top: 7px; color: var(--field-muted); font-size: 10px; line-height: 1.6; }
.inquiry-form .field-meta small { font-size: inherit; }
.inquiry-form .character-count { white-space: nowrap; font-variant-numeric: tabular-nums; }
.inquiry-form .character-count.is-near-limit { color: var(--field-warning); }
.inquiry-form .consent-field { margin: 0 0 21px; padding-top: 18px; border-top: 1px solid var(--field-border); }
.inquiry-form .form-field>.consent { display: flex; align-items: flex-start; gap: 10px; color: var(--field-text); font-size: 11px; font-weight: 400; line-height: 1.8; margin: 0; }
.inquiry-form .consent>span:first-of-type { color: var(--field-text); }
.inquiry-form .consent small { font-size: 9px; color: var(--field-muted); margin: 5px 0 0; line-height: 1.75; }
.inquiry-form .consent a { color: var(--field-text); text-decoration: underline; text-underline-offset: 3px; }
.inquiry-form input[type=checkbox],
:is(.admin-body,.auth-body) form:not(#design-form) :is(input[type=checkbox],input[type=radio]) { width: 17px; height: 17px; min-height: 0; flex-shrink: 0; accent-color: var(--field-accent); margin: 2px 0 0; cursor: pointer; border-radius: 3px; }
:is(.admin-body,.auth-body) form:not(#design-form) input[type=checkbox][role=switch] { width: 34px; height: 19px; border-radius: 20px; }
.inquiry-form .button[type=submit] { background: var(--field-accent); color: var(--on-accent,#fff); border: 1px solid var(--field-accent); min-height: 50px; width: 100%; border-radius: var(--field-radius); font-size: 13px; font-weight: 550; box-shadow: 0 4px 10px color-mix(in srgb,var(--field-accent) 14%,transparent); }
.inquiry-form .button[type=submit]:hover { filter: brightness(.94); }
.inquiry-form .button[type=submit]:focus-visible { outline: 2px solid var(--field-accent); outline-offset: 4px; }
.inquiry-form .button[type=submit]:disabled,
:is(.admin-body,.auth-body) form:not(#design-form) button:disabled { opacity: .6; cursor: not-allowed; box-shadow: none; }
.inquiry-form[aria-busy=true] .button[type=submit]:disabled,
:is(.admin-body,.auth-body) form[aria-busy=true]:not(#design-form) button:disabled { cursor: wait; }
.inquiry-form .field-error,
:is(.admin-body,.auth-body) form:not(#design-form) .field-error { color: var(--field-danger); font-size: 10px; line-height: 1.7; margin: 6px 0 0; font-weight: 400; }
.inquiry-form .field-error:not([hidden]),
:is(.admin-body,.auth-body) form:not(#design-form) .field-error:not([hidden]) { display: block; }
.inquiry-form [aria-invalid=true],
:is(.admin-body,.auth-body) form:not(#design-form) [aria-invalid=true] { border-color: var(--field-danger); }
.inquiry-form [aria-invalid=true]:focus,
:is(.admin-body,.auth-body) form:not(#design-form) [aria-invalid=true]:focus { border-color: var(--field-danger); box-shadow: 0 0 0 3px color-mix(in srgb,var(--field-danger) 13%,transparent); }
.inquiry-form .is-valid .field-control>:is(input,textarea,select):not(:focus) { border-color: color-mix(in srgb,var(--field-success) 60%,var(--field-border)); }
.inquiry-form .is-valid .field-control>.field-icon { color: var(--field-success); }
.inquiry-form .form-error-summary { margin: 0 0 22px; padding: 12px 14px; border: 1px solid color-mix(in srgb,var(--field-danger) 28%,var(--field-surface)); border-left: 3px solid var(--field-danger); background: color-mix(in srgb,var(--field-danger) 6%,var(--field-surface)); color: var(--field-danger); font-size: 11px; line-height: 1.75; border-radius: 5px; }
.inquiry-form .form-feedback { margin: 12px 0 0; font-size: 12px; line-height: 1.8; }
.inquiry-form .form-feedback:empty { display: none; }
.inquiry-form .form-feedback.success { color: var(--field-success); background: color-mix(in srgb,var(--field-success) 7%,var(--field-surface)); border: 1px solid color-mix(in srgb,var(--field-success) 25%,var(--field-surface)); border-radius: 7px; padding: 13px 14px; }
.inquiry-form .form-feedback.error { color: var(--field-danger); }
.inquiry-form :is(input,textarea,select):disabled,
:is(.admin-body,.auth-body) form:not(#design-form) :is(input:not([type=color]):not([type=file]),textarea,select):disabled { background: color-mix(in srgb,var(--field-border) 42%,var(--field-surface)); color: var(--field-muted); cursor: not-allowed; opacity: .7; box-shadow: none; }
:is(.admin-body,.auth-body) form:not(#design-form) label { color: var(--field-text); font-size: 12px; line-height: 1.7; }
:is(.admin-body,.auth-body) form:not(#design-form) label>small { color: var(--field-muted); font-size: 10px; line-height: 1.7; }
.admin-body .settings-form .panel-heading { border-bottom-color: #e7ebf1; }
.admin-body .settings-form .form-panel { border-radius: 12px; }
.admin-body .settings-form .form-grid { gap: 24px 22px; }
.admin-body .inquiry-actions select { min-height: 38px; padding: 8px 10px; font-size: 11px; }
.auth-body .stack-form { text-align: left; gap: 19px; }
.auth-body .stack-form label { display: flex; flex-direction: column; gap: 8px; margin: 0; }
.auth-body .stack-form .button.primary,
.admin-body .settings-form .save-bar .button.primary { background: var(--field-accent); color: #fff; border-color: var(--field-accent); min-height: 47px; border-radius: 7px; }
.auth-body .stack-form .button.primary:hover,
.admin-body .settings-form .save-bar .button.primary:hover { background: #2b56c2; }
.auth-body .stack-form .field-control { width: 100%; }
/* Match the specificity of the saved region styles so control states stay visible. */
body.site-body>main .inquiry-form .field-control>:is(input,textarea,select) { background: var(--field-surface); color: var(--field-text); border-color: var(--field-border); }
body.site-body>main .inquiry-form .field-control>:is(input,textarea)::placeholder { color: var(--field-muted); opacity: .85; }
body.site-body>main .inquiry-form .field-control>:is(input,textarea,select):hover:not(:disabled):not([aria-invalid=true]) { border-color: color-mix(in srgb,var(--field-accent) 55%,var(--field-border)); }
body.site-body>main .inquiry-form .field-control>:is(input,textarea,select):focus { border-color: var(--field-accent); box-shadow: 0 0 0 3px var(--field-ring); }
body.site-body>main .inquiry-form .is-valid .field-control>:is(input,textarea,select):not(:focus) { border-color: color-mix(in srgb,var(--field-success) 60%,var(--field-border)); }
body.site-body>main .inquiry-form .field-control>:is(input,textarea,select)[aria-invalid=true] { border-color: var(--field-danger); }
body.site-body>main .inquiry-form .field-control>:is(input,textarea,select)[aria-invalid=true]:focus { border-color: var(--field-danger); box-shadow: 0 0 0 3px color-mix(in srgb,var(--field-danger) 13%,transparent); }
body.site-body>main .inquiry-form .field-control>:is(input,textarea,select):disabled { background: color-mix(in srgb,var(--field-border) 42%,var(--field-surface)); color: var(--field-muted); }
/* Each reference skin has its own form language while sharing field behavior. */
.site-body[data-skin=sage] .inquiry-form .button[type=submit] { background: #193b35; border-color: #193b35; color: #fff; }
.site-body[data-skin=midnight] .inquiry-form { --field-success: #74d0a0; --field-danger: #f1a18e; --field-warning: #efc66a; }
.site-body[data-skin=glass-studio] .inquiry-form { --field-accent: #15374e; --field-surface: #ffffff99; --field-text: #193341; --field-muted: #6c828b; --field-border: #ffffffd9; --field-radius: 10px; --on-accent: #fff; border: 1px solid #ffffffd9; background: linear-gradient(135deg,#ffffffd6,#edf7f4b8); box-shadow: 0 18px 50px #18354412, inset 0 1px 0 #fff; backdrop-filter: blur(20px); }
.site-body[data-skin=glass-studio] .inquiry-form .form-heading-icon { background: #13374c; border-color: #13374c; color: #fff; }
.site-body[data-skin=glass-studio] .inquiry-form .inquiry-fieldset legend { border-color: #bfd1d3; }
.site-body[data-skin=violet-orbit] .inquiry-form { --field-accent: #7563d8; --field-surface: #f8f7fe; --field-text: #28263e; --field-muted: #8a859e; --field-border: #e1deed; --field-radius: 11px; --on-accent: #fff; background: #fffdfef2; border-color: #f5f3ff; border-radius: 22px; box-shadow: 0 18px 45px #493c7715; }
.site-body[data-skin=violet-orbit] .inquiry-form .button[type=submit] { background: linear-gradient(105deg,#6b52c9,#7361d2); border-color: #6b52c9; }
.site-body[data-skin=porcelain-blue] .inquiry-form { --field-accent: #3675de; --field-surface: #f7f9fc; --field-text: #263d56; --field-muted: #7c8c9e; --field-border: #e1e7ef; --field-radius: 8px; --on-accent: #fff; background: #ffffffed; border-color: #fff; border-radius: 17px; box-shadow: 0 12px 34px #263d560a; }
.site-body[data-skin=botanical-ivory] .inquiry-form { --field-accent: #676c43; --field-surface: #f7efdf; --field-text: #55533e; --field-muted: #8b846f; --field-border: #cfc5ae; --field-radius: 0px; --on-accent: #fffdf6; padding: 31px; border-radius: 38px 10px 38px 10px; border: 1px solid #d9cfb8; background: #f7efdf; box-shadow: none; }
.site-body[data-skin=botanical-ivory] .inquiry-form :is(input:not([type=checkbox]),textarea,select) { border-width: 0 0 1px; background: transparent; }
.site-body[data-skin=botanical-ivory] .inquiry-form .inquiry-form-heading h3 { font-family: "Reference MaruBuri",Georgia,serif; font-weight: 400; }
.site-body[data-skin=botanical-ivory] .inquiry-form .form-heading-icon { border-radius: 50%; background: #e9e1cc; border-color: #d9cfb8; }
.site-body[data-skin=botanical-ivory] .inquiry-form .button[type=submit] { border-radius: 28px; }
.site-body[data-skin=cafe-sage] .inquiry-form { --field-accent: #4a7052; --field-surface: #fffaf0; --field-text: #374a38; --field-muted: #858c77; --field-border: #d9dfc9; --field-radius: 14px; --on-accent: #fffdf6; border-radius: 25px; border: 1px solid #d9dfc9; background: #f8f3e7; box-shadow: 0 9px 22px #596c4f0c; }
.site-body[data-skin=cafe-sage] .inquiry-form .button[type=submit] { background: #b75b2b; border-color: #b75b2b; border-radius: 16px; color: #fff; }
.site-body[data-skin=cafe-sage] .inquiry-form .form-heading-icon { background: #e1e9d7; border-radius: 50%; }
.site-body[data-skin=office-blue] .inquiry-form { --field-accent: #3767df; --field-surface: #f7f9fc; --field-text: #2d3e55; --field-muted: #7e8b9d; --field-border: #dce3ed; --field-radius: 4px; --on-accent: #fff; background: #fff; border: 1px solid #dce3ed; border-top: 3px solid #3767df; border-radius: 5px; box-shadow: 0 8px 22px #23374c08; }
.site-body[data-skin=office-blue] .inquiry-form .inquiry-form-heading { margin: -4px 0 23px; }
@media (max-width: 600px) {
  .inquiry-form, .site-body[data-skin=botanical-ivory] .inquiry-form { padding: 23px 20px; }
  .inquiry-form .inquiry-form-heading { gap: 10px; }
  .inquiry-form .form-heading-icon { width: 36px; height: 36px; }
  .inquiry-form .inquiry-form-heading h3 { font-size: 20px; }
  .inquiry-form .form-required-note { font-size: 8px; }
  .inquiry-form .form-row { grid-template-columns: minmax(0,1fr); gap: 0; }
  .inquiry-form .inquiry-fieldset>.form-row:last-child>.form-field:not(:last-child) { margin-bottom: 17px; }
  .inquiry-form :is(input:not([type=checkbox]):not([type=hidden]),textarea,select),
  :is(.admin-body,.auth-body) form:not(#design-form) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=color]):not([type=file]):not([type=submit]):not([type=button]),textarea,select) { font-size: 16px; min-height: 49px; }
  .inquiry-form textarea { min-height: 143px; }
  .inquiry-form .inquiry-form-heading p:not(.form-kicker) { max-width: 190px; }
}
@media (prefers-reduced-motion: reduce) {
  .inquiry-form :is(input,textarea,select), :is(.admin-body,.auth-body) form:not(#design-form) :is(input,textarea,select) { transition: none; }
}
