/*
 * REA Shipping: public request form, styled as one of the site's dark cards
 * (royalestate-child theme): Barlow text, Barlow Condensed gold eyebrows and
 * the gold gradient button. Fonts come from the theme's presets and fall back
 * to inherit; every colour is a token a theme can override.
 */
.rea-ship {
  --rea-ship-card: #1b1b1b;
  --rea-ship-ink: #fff;
  --rea-ship-muted: rgba(255, 255, 255, 0.62);
  --rea-ship-line: rgba(252, 255, 245, 0.28);
  --rea-ship-field: rgba(255, 255, 255, 0.06);
  --rea-ship-accent: #aa8453;
  --rea-ship-accent-light: #f1cd89;
  --rea-ship-accent-ink: #222;
  --rea-ship-error: #ff8a80;
  --rea-ship-error-bg: rgba(255, 138, 128, 0.12);
  --rea-ship-text-font: var(--wp--preset--font-family--barlow, inherit);
  --rea-ship-label-font: var(--wp--preset--font-family--barlow-condensed, inherit);
  --rea-ship-heading-font: var(--wp--preset--font-family--gilda-display, inherit);
  color-scheme: dark;
  max-width: 46rem;
  margin: 0 auto;
  padding: clamp(1.5rem, 5vw, 3rem);
  box-sizing: border-box;
  background: var(--rea-ship-card);
  color: var(--rea-ship-ink);
  font-family: var(--rea-ship-text-font);
  letter-spacing: 0.03em;
  line-height: 1.6;
}
.rea-ship a { color: var(--rea-ship-accent-light); text-underline-offset: 0.2em; }
.rea-ship a:hover { color: var(--rea-ship-ink); }
.rea-ship__form { display: grid; gap: 2.25rem; }
.rea-ship__group { border: 0; padding: 0; margin: 0; display: grid; gap: 1.1rem; min-width: 0; }
/* Section titles look like the site's gold eyebrows ("WHAT IS YOUR BIGGEST ASSET…"). */
.rea-ship__group legend, .rea-ship__ref-label {
  font-family: var(--rea-ship-label-font);
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--rea-ship-accent);
  padding: 0;
  margin-bottom: 1rem;
}
.rea-ship__row { display: grid; gap: 1.1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rea-ship__row--three { grid-template-columns: 2fr 1.5fr 1fr; }
.rea-ship__field { display: grid; gap: 0.4rem; min-width: 0; }
.rea-ship__field label { font-size: 0.95rem; font-weight: 500; color: var(--rea-ship-ink); }
.rea-ship input[type="text"], .rea-ship input[type="email"], .rea-ship input[type="tel"],
.rea-ship select, .rea-ship textarea {
  width: 100%;
  box-sizing: border-box;
  font: inherit;
  letter-spacing: inherit;
  color: var(--rea-ship-ink);
  background: var(--rea-ship-field);
  border: 1px solid var(--rea-ship-line);
  border-radius: 6px;
  padding: 0.7rem 0.85rem;
  min-height: 2.9rem;
}
.rea-ship select option { color: #222; background: #fff; }
.rea-ship ::placeholder { color: var(--rea-ship-muted); opacity: 1; }
.rea-ship textarea { min-height: 4.5rem; resize: vertical; }
.rea-ship input:focus-visible, .rea-ship select:focus-visible, .rea-ship textarea:focus-visible, .rea-ship__submit:focus-visible {
  outline: 2px solid var(--rea-ship-accent-light);
  outline-offset: 2px;
  border-color: var(--rea-ship-accent);
}
.rea-ship [aria-invalid="true"] { border-color: var(--rea-ship-error); }
.rea-ship__hint { margin: 0; font-size: 0.875rem; color: var(--rea-ship-muted); }
.rea-ship__error { margin: 0; font-size: 0.875rem; font-weight: 600; color: var(--rea-ship-error); }
.rea-ship__alert { background: var(--rea-ship-error-bg); color: var(--rea-ship-error); border: 1px solid var(--rea-ship-error); border-radius: 6px; padding: 0.85rem 1rem; }
.rea-ship__alert p { margin: 0; }
.rea-ship__chips { margin: 0; display: flex; flex-wrap: wrap; gap: 0.4rem; }
.rea-ship__chip { font-variant-numeric: tabular-nums; font-size: 0.85rem; border: 1px solid var(--rea-ship-accent); color: var(--rea-ship-accent-light); border-radius: 999px; padding: 0.1rem 0.65rem; }
.rea-ship__chip--bad { border-color: var(--rea-ship-error); color: var(--rea-ship-error); }
.rea-ship__consent label { font-weight: 400; font-size: 0.95rem; display: flex; gap: 0.7rem; align-items: flex-start; }
.rea-ship__consent input { margin-top: 0.35rem; flex: none; width: 1.1rem; height: 1.1rem; accent-color: var(--rea-ship-accent); }
.rea-ship__actions { margin: 0; }
/* The site's main button: gold gradient, dark text, widely spaced Barlow Condensed. */
.rea-ship__submit {
  font-family: var(--rea-ship-label-font);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.3em;
  color: var(--rea-ship-accent-ink);
  background: linear-gradient(var(--rea-ship-accent-light) 0%, var(--rea-ship-accent) 100%);
  border: 1px solid rgba(252, 255, 245, 0.4);
  border-radius: 6px;
  padding: 0.85rem 1.75rem;
  min-height: 3rem;
  cursor: pointer;
  transition: filter 0.15s ease;
}
.rea-ship__submit:hover { filter: brightness(1.06); }
.rea-ship__submit[disabled] { opacity: 0.6; cursor: progress; }
.rea-ship__trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.rea-ship__title, .rea-ship__subtitle {
  font-family: var(--rea-ship-heading-font);
  font-weight: 400;
  color: var(--rea-ship-ink);
  letter-spacing: 0.08em;
  margin: 0 0 1rem;
}
.rea-ship__title { font-size: clamp(1.5rem, 4vw, 2rem); text-transform: uppercase; }
.rea-ship__subtitle { font-size: 1.25rem; margin-top: 2rem; }
.rea-ship--done { text-align: left; }
.rea-ship__ref-label { margin: 1.5rem 0 0.5rem; }
.rea-ship__ref {
  margin: 0 0 1rem;
  font-family: var(--rea-ship-label-font);
  font-size: clamp(1.6rem, 5vw, 2.2rem);
  font-weight: 600;
  letter-spacing: 0.12em;
  color: var(--rea-ship-accent-light);
  border: 1px dashed var(--rea-ship-accent);
  border-radius: 6px;
  display: inline-block;
  padding: 0.35rem 1rem;
}
/*
 * The theme's scroll animation (GSAP on .blockR) starts its box at 45% size and
 * transparent and grows it as you scroll. Keep the box holding the form still;
 * !important outranks the inline styles the script writes. Other pages keep it.
 */
.blockR:has(.rea-ship) { transform: none !important; opacity: 1 !important; }
.rea-ship__next { padding-left: 1.25rem; display: grid; gap: 0.5rem; }
.rea-ship__next li::marker { color: var(--rea-ship-accent); }
@media (max-width: 640px) {
  .rea-ship__row, .rea-ship__row--three { grid-template-columns: minmax(0, 1fr); }
  .rea-ship__submit { width: 100%; letter-spacing: 0.2em; }
}
