/* Shared request-quote form surface */

.quote-form-wrapper {
  position: relative;
  overflow: hidden;
  margin-top: 1.1rem;
  padding: clamp(1.7rem, 3vw, 2.5rem);
  border-radius: var(--radius-lg);
  background: rgb(255 255 255 / 64%);
  box-shadow:
    inset 0 0 0 1px rgb(255 255 255 / 70%),
    var(--shadow-soft);
}

.quote-form > :first-child {
  margin-top: 0;
}

.quote-form > :last-child {
  margin-bottom: 0;
}

.quote-form .wp-block-shortcode {
  margin: 0;
}

.quote-form form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.95rem;
  margin: 0;
}

.quote-form form > * {
  min-width: 0;
  margin: 0;
}

.quote-form form > :is(
  fieldset,
  textarea,
  .full-width,
  .quote-form__full-width,
  .form-submit-row,
  .wpforms-field-container,
  .wpcf7-response-output,
  .wpforms-submit-container,
  .wpforms-confirmation-container-full,
  .wpforms-error-container,
  .ff-message-success,
  .ff-message-error
) {
  grid-column: 1 / -1;
}

.quote-form p:empty {
  display: none;
}

.quote-form label,
.quote-form legend,
.quote-form .wpforms-field-label {
  display: grid;
  gap: 0.62rem;
  color: var(--color-text-primary);
  font-family: var(--font-heading);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.quote-form .wpforms-field-label {
  margin-bottom: 0.5rem;
}

.quote-form input:not(
  [type="checkbox"],
  [type="radio"],
  [type="submit"],
  [type="button"]
),
.quote-form select,
.quote-form textarea,
.quote-form .wpforms-field-row input,
.quote-form .wpforms-field-row select,
.quote-form .wpforms-field-row textarea {
  width: 100%;
  min-height: 3.3rem;
  padding: 0.88rem 1rem;
  border: 1px solid rgb(113 102 93 / 11%);
  border-radius: 1.45rem;
  background: linear-gradient(180deg, rgb(255 255 255 / 98%), rgb(252 249 244 / 94%));
  color: var(--color-text-primary);
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 90%),
    0 10px 22px rgb(53 33 13 / 5%);
  transition: var(--transition-smooth);
}

.quote-form textarea,
.quote-form .wpforms-field-textarea textarea {
  min-height: 180px;
  resize: vertical;
}

.quote-form input:focus,
.quote-form select:focus,
.quote-form textarea:focus {
  border-color: rgb(255 90 0 / 34%);
  background: rgb(255 255 255);
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 95%),
    0 0 0 4px rgb(255 90 0 / 10%),
    0 14px 30px rgb(255 90 0 / 10%);
}

.quote-form .wpcf7-form-control-wrap,
.quote-form .wpforms-field,
.quote-form .ff-el-group {
  display: block;
}

.quote-form .wpforms-field-container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.quote-form .wpforms-field-container .wpforms-field {
  margin: 0;
}

.quote-form .wpforms-field-container :is(
  .wpforms-field-textarea,
  .wpforms-field-html,
  .wpforms-field-divider,
  .wpforms-pagebreak-center,
  .wpforms-pagebreak-left,
  .wpforms-pagebreak-right
) {
  grid-column: 1 / -1;
}

.quote-form .wpcf7-not-valid-tip,
.quote-form .wpforms-error {
  margin-top: 0.45rem;
  color: var(--color-accent-deep);
  font-size: 0.85rem;
  font-weight: 600;
}

.quote-form .wpcf7-response-output,
.quote-form .wpforms-confirmation-container-full,
.quote-form .wpforms-error-container {
  padding: 1rem 1.05rem;
  border-radius: 1.4rem;
  background: rgb(255 251 245 / 88%);
  color: var(--color-text-secondary);
}

.quote-form-notice {
  margin-bottom: 1rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgb(113 102 93 / 10%);
  border-radius: 1.25rem;
  box-shadow: 0 12px 28px rgb(53 33 13 / 6%);
}

.quote-form-notice p {
  margin: 0;
}

.quote-form-notice--success {
  background: rgb(240 248 241 / 92%);
  color: #1f6a3a;
}

.quote-form-notice--error {
  background: rgb(255 243 237 / 94%);
  color: #9b3d18;
}

.chao-quote-form__honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.chao-quote-form__message-field textarea {
  min-height: 210px;
}

.quote-form-submit-row {
  display: grid;
}

.quote-form-submit-row input[type="submit"] {
  width: 100%;
  min-height: 3.35rem;
  border-radius: 999px;
  font-size: 0.96rem;
  letter-spacing: 0.04em;
}

body.lang-ka .quote-form label,
body.lang-ka .quote-form legend,
body.lang-ka .quote-form .wpforms-field-label {
  letter-spacing: -0.01em;
  text-transform: none;
}

@media (max-width: 1024px) and (pointer: coarse), (max-width: 760px) {
  .quote-form form,
  .quote-form .wpforms-field-container {
    grid-template-columns: 1fr;
  }

  .quote-form-wrapper {
    padding: 1.05rem;
  }
}
