/*
 * rosmerta-submissions form styles. Amber palette matches the rest of the
 * Rosmerta plugin family.
 */

.rosmerta-subs-form {
  --rs-amber-bg:       #fdf9ec;
  --rs-amber-soft:     #fbf3d5;
  --rs-amber-border:   #d8c894;
  --rs-walnut:         #5a4a25;
  --rs-walnut-deep:    #3a2e15;
  --rs-text:           #3a2e15;
  --rs-text-soft:      #6c5d3a;
  --rs-accent:         #c4a86a;
  --rs-good:           #2d5e2d;
  --rs-bad:            #b94a4a;

  max-width: 720px;
  margin: 0 auto;
  padding: 1.6rem 1.7rem;
  background: var(--rs-amber-bg);
  border: 1px solid var(--rs-amber-border);
  border-radius: 8px;
  color: var(--rs-text);
  font-family: inherit;
}

.rosmerta-subs-form *,
.rosmerta-subs-form *::before,
.rosmerta-subs-form *::after { box-sizing: border-box; }

.rosmerta-subs-noscript-warning {
  background: var(--rs-amber-soft);
  border: 1px solid var(--rs-amber-border);
  padding: 0.8rem 1rem;
  border-radius: 4px;
  margin-bottom: 1rem;
}

.rosmerta-subs-row {
  display: grid;
  gap: 1rem;
}
.rosmerta-subs-row-2 { grid-template-columns: 1fr 1fr; }
@media (max-width: 540px) {
  .rosmerta-subs-row-2 { grid-template-columns: 1fr; }
}

.rosmerta-subs-field {
  display: block;
  margin: 0 0 1rem 0;
}
.rosmerta-subs-row .rosmerta-subs-field { margin-bottom: 0; }

.rosmerta-subs-label {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.5rem;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--rs-walnut);
  margin-bottom: 0.3rem;
}

.rosmerta-subs-optional {
  font-weight: 400;
  font-size: 0.82rem;
  color: var(--rs-text-soft);
  font-style: italic;
}

.rosmerta-subs-form abbr[title="required"] {
  color: var(--rs-bad);
  text-decoration: none;
}

.rosmerta-subs-form input[type="text"],
.rosmerta-subs-form input[type="email"],
.rosmerta-subs-form input[type="tel"],
.rosmerta-subs-form input[type="url"],
.rosmerta-subs-form input[type="number"],
.rosmerta-subs-form select,
.rosmerta-subs-form textarea {
  width: 100%;
  padding: 0.55rem 0.7rem;
  font-size: 0.95rem;
  font-family: inherit;
  color: var(--rs-text);
  background: #fff;
  border: 1px solid var(--rs-amber-border);
  border-radius: 4px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.rosmerta-subs-form input:focus,
.rosmerta-subs-form select:focus,
.rosmerta-subs-form textarea:focus {
  outline: none;
  border-color: var(--rs-walnut);
  box-shadow: 0 0 0 3px rgba(196, 168, 106, 0.35);
}
.rosmerta-subs-form input[aria-invalid="true"],
.rosmerta-subs-form select[aria-invalid="true"],
.rosmerta-subs-form textarea[aria-invalid="true"] {
  border-color: var(--rs-bad);
  background: #fdf3f3;
}
.rosmerta-subs-form textarea { resize: vertical; min-height: 120px; }

.rosmerta-subs-help {
  display: block;
  font-size: 0.78rem;
  color: var(--rs-text-soft);
  margin-top: 0.25rem;
  font-style: italic;
}

.rosmerta-subs-counter {
  font-weight: 400;
  font-size: 0.78rem;
  color: var(--rs-text-soft);
}
.rosmerta-subs-counter.near-limit { color: var(--rs-walnut-deep); }
.rosmerta-subs-counter.over-limit { color: var(--rs-bad); font-weight: 600; }

.rosmerta-subs-field-file input[type="file"] {
  display: block;
  padding: 0.45rem 0;
}
.rosmerta-subs-file-name {
  display: block;
  font-size: 0.85rem;
  color: var(--rs-walnut);
  margin-top: 0.25rem;
  font-style: italic;
}

.rosmerta-subs-fieldset {
  border: 1px solid var(--rs-amber-border);
  border-radius: 4px;
  padding: 0.85rem 1rem 0.95rem;
  margin: 0 0 1rem 0;
  background: var(--rs-amber-soft);
}
.rosmerta-subs-fieldset legend {
  padding: 0 0.4rem;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--rs-walnut);
}
.rosmerta-subs-radio {
  display: block;
  margin: 0.35rem 0;
  font-size: 0.95rem;
  color: var(--rs-text);
  cursor: pointer;
}
.rosmerta-subs-radio input { margin-right: 0.5rem; }

.rosmerta-subs-payment .rosmerta-subs-radio { padding: 0.4rem 0; }
.rosmerta-subs-payment-method-static {
  margin: 0.1rem 0 0.4rem;
  font-size: 1rem;
  color: var(--rs-text);
}
.rosmerta-subs-payment-method-static strong { color: var(--rs-walnut-deep); }

.rosmerta-subs-total {
  background: var(--rs-amber-soft);
  border: 1px solid var(--rs-amber-border);
  border-radius: 6px;
  padding: 0.85rem 1rem;
  margin: 1.2rem 0 1rem;
}
.rosmerta-subs-total-row {
  display: flex;
  justify-content: space-between;
  padding: 0.2rem 0;
  font-size: 0.95rem;
}
.rosmerta-subs-total-final {
  border-top: 1px solid var(--rs-amber-border);
  margin-top: 0.35rem;
  padding-top: 0.5rem;
  font-size: 1.05rem;
}
.rosmerta-subs-total-resub-value { color: var(--rs-good); }

.rosmerta-subs-fineprint {
  font-size: 0.82rem;
  color: var(--rs-text-soft);
  margin: 1rem 0;
  line-height: 1.45;
}

.rosmerta-subs-actions {
  display: flex;
  gap: 1rem;
  align-items: center;
  margin-top: 1.2rem;
}

.rosmerta-subs-submit-btn {
  background: var(--rs-walnut);
  color: var(--rs-amber-bg);
  border: 1px solid var(--rs-walnut-deep);
  padding: 0.7rem 1.4rem;
  font-size: 1rem;
  font-weight: 600;
  font-family: inherit;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.05s ease;
}
.rosmerta-subs-submit-btn:hover { background: var(--rs-walnut-deep); }
.rosmerta-subs-submit-btn:active { transform: translateY(1px); }
.rosmerta-subs-submit-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.rosmerta-subs-status {
  font-size: 0.88rem;
  color: var(--rs-walnut);
  font-style: italic;
}
.rosmerta-subs-status.is-error { color: var(--rs-bad); font-style: normal; font-weight: 600; }

.rosmerta-subs-errors {
  background: #fdf3f3;
  border: 1px solid var(--rs-bad);
  border-radius: 4px;
  padding: 0.8rem 1rem;
  margin-top: 1rem;
  color: var(--rs-bad);
  font-size: 0.92rem;
}
.rosmerta-subs-errors ul { margin: 0.4rem 0 0 1.1rem; padding: 0; }
.rosmerta-subs-errors li { margin: 0.15rem 0; }

.rosmerta-subs-thanks {
  max-width: 720px;
  margin: 2rem auto;
  padding: 2rem 2rem 1.6rem;
  background: var(--rs-amber-bg);
  border: 1px solid var(--rs-amber-border);
  border-radius: 8px;
  color: var(--rs-text);
}
.rosmerta-subs-thanks h2 {
  margin-top: 0;
  color: var(--rs-walnut-deep);
}
.rosmerta-subs-thanks code {
  background: var(--rs-amber-soft);
  padding: 0.15rem 0.45rem;
  border-radius: 3px;
  font-size: 0.95em;
}
