/* Ethereal domain-for-sale page. Theme chosen by html[data-domain], set in app.js. */
:root {
  --fallback: #adbded;
  --display: "Cormorant Garamond", "Cormorant", Garamond, "Times New Roman", serif;
  --text: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;

  /* celeste defaults */
  --ink: #1c2150;
  --ink-soft: #343b70;
  --veil: rgba(244, 246, 255, 0.46);
  --veil-solid: rgba(244, 246, 255, 0.86);
  --edge: rgba(255, 255, 255, 0.62);
  --glow: rgba(120, 130, 220, 0.28);
  --btn: #22285c;
  --btn-ink: #f5f6ff;
  --btn-hover: #2f367a;
  --rule: rgba(28, 33, 80, 0.16);
  --foot-ink: #262b5e;
  --scrim: radial-gradient(ellipse 70% 60% at 50% 48%, rgba(240, 244, 255, 0.28), transparent 70%),
           linear-gradient(to top, rgba(220, 228, 255, 0.55), transparent 26%);
}

html[data-domain="lucia"] {
  --ink: #33240d;
  --ink-soft: #54401f;
  --veil: rgba(255, 250, 238, 0.44);
  --veil-solid: rgba(255, 250, 238, 0.88);
  --edge: rgba(255, 255, 255, 0.66);
  --glow: rgba(214, 168, 90, 0.30);
  --btn: #3a2a10;
  --btn-ink: #fff8e9;
  --btn-hover: #523c18;
  --rule: rgba(51, 36, 13, 0.16);
  --foot-ink: #3a2a10;
  --scrim: radial-gradient(ellipse 70% 60% at 50% 48%, rgba(255, 250, 236, 0.24), transparent 70%),
           linear-gradient(to top, rgba(250, 238, 214, 0.6), transparent 26%);
}

html[data-domain="glory"] {
  --ink: #0d2c2a;
  --ink-soft: #1d4340;
  --veil: rgba(238, 250, 244, 0.52);
  --veil-solid: rgba(238, 250, 244, 0.9);
  --edge: rgba(255, 255, 255, 0.55);
  --glow: rgba(160, 230, 200, 0.30);
  --btn: #0f3431;
  --btn-ink: #f3fff9;
  --btn-hover: #184a46;
  --rule: rgba(13, 44, 42, 0.18);
  --foot-ink: #0d2c2a;
  --scrim: radial-gradient(ellipse 70% 60% at 50% 48%, rgba(230, 248, 240, 0.18), transparent 70%),
           linear-gradient(to top, rgba(214, 232, 230, 0.7), transparent 26%);
}

html[data-domain="xscarlett"] {
  --ink: #fff3f0;
  --ink-soft: #fbe3dd;
  --veil: rgba(58, 8, 16, 0.62);
  --veil-solid: rgba(58, 8, 16, 0.9);
  --edge: rgba(255, 200, 196, 0.30);
  --glow: rgba(255, 120, 120, 0.22);
  --btn: #fff1ec;
  --btn-ink: #5a0f1a;
  --btn-hover: #ffffff;
  --rule: rgba(255, 220, 214, 0.22);
  --foot-ink: #fbe2dc;
  --scrim: radial-gradient(ellipse 70% 60% at 50% 48%, rgba(60, 6, 14, 0.12), transparent 70%),
           linear-gradient(to top, rgba(50, 6, 12, 0.72), transparent 26%);
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html {
  background-color: var(--fallback);
  min-height: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  background-color: var(--fallback);
  color: var(--ink);
  font-family: var(--text);
  font-size: 1rem;
  line-height: 1.6;
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Background: fixed, full-bleed at every width, with headroom for the drift. */
.sky {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background-color: var(--fallback);
  pointer-events: none;
}
.sky__img {
  position: absolute;
  inset: -6%;
  background-color: var(--fallback);
  background-image: var(--bg-lg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform-origin: 50% 50%;
  animation: drift 60s ease-in-out infinite alternate;
  will-change: transform;
}
@media (max-width: 760px) {
  .sky__img { background-image: var(--bg-sm); }
}
.sky__scrim {
  position: absolute;
  inset: 0;
  background: var(--scrim);
}
@keyframes drift {
  from { transform: scale(1) translate3d(0, 0, 0); }
  to   { transform: scale(1.08) translate3d(-1.5%, -1%, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .sky__img { animation: none; }
}

/* Layout */
.stage {
  position: relative;
  z-index: 1;
  flex: 1;
  display: grid;
  place-items: center;
  padding: clamp(48px, 10vh, 120px) 16px clamp(24px, 6vh, 64px);
}

.veil {
  width: 100%;
  max-width: 40rem;
  text-align: center;
  padding: clamp(36px, 6vw, 72px) clamp(24px, 5vw, 64px) clamp(32px, 5vw, 56px);
  border-radius: 32px;
  background: var(--veil);
  border: 1px solid var(--edge);
  box-shadow: 0 30px 80px -30px var(--glow), inset 0 1px 0 rgba(255, 255, 255, 0.25);
  -webkit-backdrop-filter: blur(22px) saturate(1.15);
  backdrop-filter: blur(22px) saturate(1.15);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .veil { background: var(--veil-solid); }
}

.eyebrow {
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--ink-soft);
}

.name {
  font-family: var(--display);
  font-weight: 300;
  font-size: clamp(3rem, 15vw, 7rem);
  line-height: 1;
  letter-spacing: 0.005em;
  margin: 0.32em 0 0.34em;
  overflow-wrap: anywhere;
  color: var(--ink);
}

.pitch {
  font-family: var(--display);
  font-weight: 400;
  font-style: italic;
  font-size: clamp(1.2rem, 2.6vw, 1.45rem);
  line-height: 1.5;
  max-width: 30em;
  margin: 0 auto;
  text-wrap: pretty;
  color: var(--ink-soft);
}

.terms {
  margin-top: clamp(28px, 4vw, 40px);
  padding-top: clamp(24px, 3.5vw, 32px);
  border-top: 1px solid var(--rule);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}

.price {
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--ink);
}

.offer {
  display: inline-block;
  padding: 15px 34px;
  border-radius: 999px;
  background: var(--btn);
  color: var(--btn-ink);
  font-weight: 600;
  font-size: 0.975rem;
  letter-spacing: 0.01em;
  text-decoration: none;
  box-shadow: 0 10px 30px -12px var(--glow);
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.offer:hover { background: var(--btn-hover); transform: translateY(-1px); }
.offer:focus-visible { outline: 2px solid var(--btn); outline-offset: 4px; }

.foot {
  position: relative;
  z-index: 1;
  padding: 0 16px max(24px, env(safe-area-inset-bottom));
  text-align: center;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--foot-ink);
}
.foot p { max-width: 36rem; margin: 0 auto; text-wrap: balance; }

@media (max-width: 480px) {
  .veil { border-radius: 24px; }
  .offer { display: block; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .offer { transition: none; }
  .offer:hover { transform: none; }
}
