.domain-sale {
  --sale-ink: #173c2c;
  --sale-paper: #f5f3e9;
  --sale-panel: #e8ecdf;

  margin: 0;
  background: var(--sale-paper);
  color: var(--sale-ink);
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.6;
}

.domain-sale[data-theme="spotlight"] { --sale-ink: #4b2434; --sale-paper: #faf2ed; --sale-panel: #f0e0df; }
.domain-sale[data-theme="maritime"] { --sale-ink: #193f53; --sale-paper: #f2f5f2; --sale-panel: #e0ebec; }
.domain-sale * { box-sizing: border-box; }
.domain-sale a { color: inherit; text-underline-offset: 0.25em; }
.domain-sale :focus-visible { outline: 3px solid #8b3a16; outline-offset: 5px; }
.sale-skip { position: absolute; top: -10rem; left: 1rem; background: #fff; padding: 1rem; }
.sale-skip:focus { top: 1rem; }
.sale-header, .sale-footer { display: flex; flex-wrap: wrap; gap: 1rem; padding: 1.5rem 5%; border-bottom: 1px solid #b5bcae; }
.sale-header a, .sale-footer a { overflow-wrap: anywhere; }
.domain-sale main { width: 90%; max-width: 78rem; margin: 5rem auto; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 5rem; }
.sale-kicker { font-family: "Courier New", monospace; font-size: 0.9rem; letter-spacing: 0.03em; overflow-wrap: anywhere; }
.sale-intro h1 { font-weight: 400; font-size: clamp(2.5rem, 6vw, 5rem); line-height: 1.05; letter-spacing: -0.035em; margin: 1.5rem 0; overflow-wrap: break-word; }
.sale-description { font-size: 1.3rem; max-width: 35rem; white-space: pre-line; }
.sale-detail { border-top: 1px solid #b5bcae; padding-top: 1rem; margin-top: 2.5rem; }
.sale-detail p, .sale-privacy p { white-space: pre-line; overflow-wrap: break-word; }
.sale-detail h2 { font-size: 1.3rem; }
.sale-contact { padding: 2rem; border: 1px solid var(--sale-ink); background: var(--sale-panel); align-self: start; }
.sale-contact h2 { font-size: 2rem; font-weight: 400; line-height: 1.2; margin-top: 0; }
.sale-contact label { display: block; margin: 1rem 0 0.3rem; }
.sale-contact input, .sale-contact textarea { display: block; width: 100%; padding: 0.8rem; border: 1px solid #66795f; border-radius: 0; background: #fffefa; color: var(--sale-ink); font: inherit; }
.sale-contact button { width: 100%; min-height: 3rem; padding: 0.8rem; border: 1px solid var(--sale-ink); background: var(--sale-ink); color: #fffefa; font: inherit; cursor: pointer; }
.sale-contact button:hover { background: #2b513e; }
.sale-contact p { font-size: 0.9rem; }
.sale-privacy { grid-column: 1 / -1; max-width: 52rem; }
.sale-footer { border-bottom: 0; border-top: 1px solid #b5bcae; }
.domain-sale main.sale-response-single { grid-template-columns: minmax(0, 1fr); max-width: 52rem; }
.sale-response code, .sale-response pre { overflow-wrap: anywhere; white-space: pre-wrap; }

@media (max-width: 50rem) {
  .domain-sale main { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; margin-top: 2.5rem; }
  .sale-contact { padding: 1.5rem; }
}
