/* ============================================================
   CURCUMELLI — coming-soon.css (M1)
   Standalone pre-launch screen: near-black ground, gold accents (gold = accent on dark), crest + wordmark +
   script tagline, "Coming soon", newsletter sign-up (prototype newsletter band styling), social links.
   Loaded only by coming-soon.php (with fonts.css + base.css).
   ============================================================ */

body.curc-coming-soon { background: var(--footer); color: var(--footer-ink); }

.cs {
  position: relative; min-height: 100vh; min-height: 100svh; overflow: hidden;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 72px var(--gutter) 40px; text-align: center; isolation: isolate;
  background:
    radial-gradient(ellipse 60% 45% at 50% 30%, rgba(149, 27, 32, .22), transparent 70%),
    radial-gradient(ellipse 80% 60% at 50% 110%, rgba(250, 174, 64, .07), transparent 70%),
    var(--footer);
}
/* thin gold frame, like a gallery mount */
.cs::before {
  content: ""; position: absolute; inset: 18px; border: 1px solid rgba(250, 174, 64, .18); pointer-events: none; z-index: -1;
}
.admin-bar .cs { min-height: calc(100vh - 32px); min-height: calc(100svh - 32px); }

.cs-inner { width: 100%; max-width: 580px; margin: auto 0; }
.cs-crest { height: 128px; width: auto; margin: 0 auto 24px; filter: drop-shadow(0 18px 40px rgba(0, 0, 0, .45)); }
.cs-name { font-family: var(--serif); font-size: 26px; letter-spacing: .16em; color: #f7f3e8; line-height: 1.25; }
.cs-tagline { font-family: var(--script); font-size: 30px; color: var(--gold); line-height: 1.2; margin-top: 4px; }
/* ornament: hairlines either side of a small gold diamond */
.cs-rule { display: block; position: relative; width: 180px; height: 8px; margin: 26px auto 0; }
.cs-rule::before {
  content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(250, 174, 64, .45) 22%, rgba(250, 174, 64, .45) 42%, transparent 42%,
    transparent 58%, rgba(250, 174, 64, .45) 58%, rgba(250, 174, 64, .45) 78%, transparent);
}
.cs-rule::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 6px; height: 6px; background: var(--gold);
  transform: translate(-50%, -50%) rotate(45deg);
}
.cs-title {
  font-family: var(--serif); font-weight: 400; font-size: clamp(40px, 7vw, 66px); line-height: 1.08;
  letter-spacing: .02em; color: #f7f3e8; margin: 26px 0 16px;
}
.cs-lead { color: #b7b0a0; font-size: 15.5px; max-width: 46ch; margin: 0 auto; }

/* ---------- newsletter ---------- */
.cs-signup { margin-top: 40px; padding-top: 34px; border-top: 1px solid var(--dark-line); }
.cs-signup-text { color: #a9a291; font-size: 14px; max-width: 48ch; margin: 0 auto; }
.cs-form {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; margin-top: 22px; text-align: left;
}
.cs-form .cs-email[type="email"] {
  grid-row: 1; grid-column: 1; min-width: 0; width: 100%;
  background: transparent; border: 1px solid #57503e; border-right: 0; border-radius: 0; padding: 15px 18px;
  color: #f4efe4; font-family: var(--sans); font-size: 14px; letter-spacing: .04em; outline: none;
}
.cs-form .cs-email[type="email"]::placeholder { color: #7d7663; }
.cs-form .cs-email[type="email"]:focus { border-color: var(--gold); }
.cs-form .cs-email[type="email"][aria-invalid="true"] { border-color: #e0746f; }
.cs-form .cs-submit {
  grid-row: 1; grid-column: 2; background: var(--gold); color: var(--footer); border: 1px solid var(--gold); padding: 0 30px;
  font-size: 10.5px; font-weight: 700; letter-spacing: .26em; text-transform: uppercase; cursor: pointer;
  transition: background .25s, border-color .25s;
}
.cs-form .cs-submit:hover { background: #fff; border-color: #fff; }
.cs-form .cs-submit[disabled], .cs-form .cs-submit.is-busy { opacity: .6; pointer-events: none; }
.cs-form .consent { grid-column: 1 / -1; grid-row: 2; margin: 16px 0 0; color: #a9a291; font-size: 12.5px; line-height: 1.55; }
.cs-form .consent input { accent-color: var(--gold); }
.cs-form .consent a { color: var(--footer-ink); text-decoration: underline; text-underline-offset: 2px; }
.cs-form .consent a:hover { color: var(--gold); }
.cs-form .form-message { grid-column: 1 / -1; grid-row: 3; margin-top: 12px; color: var(--footer-ink); font-size: 13.5px; }
.cs-form .form-message:empty { display: none; }
.cs-form .form-message.is-error, .cs-form .field-error { color: #f0a09b; }
.cs-form .form-message.is-success { color: var(--gold); }
.cs-form .field-error { grid-column: 1 / -1; }
.cs-signup .form-success { color: #f7f3e8; font-family: var(--serif); font-size: 22px; padding: 18px 0 0; }

/* ---------- social + contact ---------- */
.cs-social { display: flex; justify-content: center; gap: 6px; margin-top: 30px; }
.cs-social a { display: inline-flex; padding: 9px; color: var(--footer-ink); transition: color .2s; }
.cs-social a:hover { color: var(--gold); }
.cs-social .icon { width: 21px; height: 21px; }
.cs-contact { margin-top: 18px; font-size: 13px; letter-spacing: .08em; }
.cs-contact a { display: inline-flex; align-items: center; gap: 9px; color: var(--footer-ink); padding: 6px 0; }
.cs-contact a:hover { color: var(--gold); }
.cs-contact .icon { width: 17px; height: 17px; color: var(--gold); }
.cs-foot { margin-top: 44px; font-size: 11px; letter-spacing: .14em; color: #9a927f; } /* AA on #121010 */

@media (max-width: 560px) {
  .cs { padding: 56px var(--gutter) 34px; }
  .cs::before { inset: 10px; }
  .cs-crest { height: 104px; margin-bottom: 20px; }
  .cs-name { font-size: 20px; letter-spacing: .12em; }
  .cs-tagline { font-size: 26px; }
  .cs-signup { margin-top: 34px; padding-top: 28px; }
  .cs-form .cs-email[type="email"] { font-size: 16px; } /* no iOS focus zoom */
}
@media (max-width: 420px) {
  .cs-form { grid-template-columns: 1fr; }
  .cs-form .cs-email[type="email"] { border-right: 1px solid #57503e; }
  .cs-form .cs-submit { grid-row: 4; grid-column: 1; padding: 15px; margin-top: 14px; }
}
