/* Ty's discreet first-order capture */
.tys-welcome-shell {
  position: fixed;
  inset: 0;
  z-index: 999999;
  opacity: 0;
  transition: opacity .18s ease;
}
.tys-welcome-shell.is-open { opacity: 1; }
.tys-welcome-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(13,13,13,.58);
  backdrop-filter: blur(3px);
}
.tys-welcome-card {
  --tys-gold:#c9a453;
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(520px, calc(100vw - 32px));
  transform: translate(-50%,-47%) scale(.985);
  opacity: .5;
  background:
    radial-gradient(circle at 90% 0%, rgba(201,164,83,.14), transparent 32%),
    #111;
  color: #fff;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  box-shadow: 0 30px 90px rgba(0,0,0,.45);
  padding: 36px;
  transition: transform .18s ease, opacity .18s ease;
}
.tys-welcome-shell.is-open .tys-welcome-card {
  transform: translate(-50%,-50%) scale(1);
  opacity: 1;
}
.tys-welcome-close {
  position:absolute; right:14px; top:10px;
  width:38px; height:38px; border:0; border-radius:50%;
  background:transparent; color:#fff; font-size:30px; line-height:1; cursor:pointer;
}
.tys-welcome-badge {
  display:inline-flex; align-items:center;
  font-size:11px; letter-spacing:.16em; font-weight:800;
  color:var(--tys-gold); margin-bottom:12px;
}
.tys-welcome-card h2 {
  color:#fff !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size:clamp(30px,6vw,44px);
  line-height:1.05;
  margin:0 42px 8px 0 !important;
}
.tys-welcome-offerline {
  color:#fff !important;
  font-size:20px; font-weight:800; margin:0 0 10px !important;
}
.tys-welcome-copy {
  color:#d7d7d7 !important;
  line-height:1.55; margin:0 0 20px !important;
}
.tys-welcome-form {
  display:grid; grid-template-columns:1fr auto;
  gap:8px; margin:0;
}
.tys-welcome-form input[type="email"] {
  width:100%; min-width:0; height:48px;
  border:1px solid rgba(255,255,255,.18) !important;
  border-radius:8px !important;
  background:#fff !important; color:#111 !important;
  padding:0 14px !important; font-size:16px !important;
}
.tys-welcome-form button {
  height:48px; border:0; border-radius:8px;
  background:var(--tys-gold); color:#111;
  padding:0 18px; font-weight:850; cursor:pointer;
}
.tys-welcome-form button:disabled { opacity:.6; cursor:wait; }
.tys-welcome-hp {
  position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important;
}
.tys-welcome-status { color:#f1d88e; font-size:13px; margin-top:9px; min-height:18px; }
.tys-welcome-privacy { color:#9b9b9b !important; font-size:11px !important; line-height:1.4; margin:14px 0 0 !important; }
.tys-welcome-success {
  border:1px solid rgba(201,164,83,.5);
  background:rgba(201,164,83,.08);
  border-radius:12px;
  padding:18px;
  margin-top:8px;
}
.tys-welcome-success-kicker { display:block; color:#cdb36f; font-size:10px; letter-spacing:.15em; font-weight:800; }
.tys-welcome-code {
  display:block;
  color:#fff; font-size:28px; letter-spacing:.08em;
  margin:4px 0 8px; user-select:all;
}
.tys-welcome-success p { color:#ddd !important; margin:0 0 13px !important; }
.tys-welcome-shop {
  display:inline-flex; background:#fff; color:#111 !important;
  text-decoration:none !important; padding:10px 14px; border-radius:7px; font-weight:800;
}

/* If the legacy homepage promo is still hard-coded, make it read as a quiet new-customer note rather than a store-wide headline. */
.tys-soft-welcome-promo {
  opacity:.88;
}
.tys-soft-welcome-promo h1,
.tys-soft-welcome-promo h2,
.tys-soft-welcome-promo h3 {
  font-size:clamp(18px,2.5vw,28px) !important;
}
.tys-soft-welcome-promo {
  padding-top:14px !important;
  padding-bottom:14px !important;
}

@media (max-width: 620px) {
  .tys-welcome-card { padding:28px 20px 22px; }
  .tys-welcome-form { grid-template-columns:1fr; }
  .tys-welcome-form button { width:100%; }
}

/* v3.7.1 — brand-led homepage messaging */
.tys-home-brand-eyebrow { letter-spacing: .14em !important; }
.tys-home-brand-line { color: #fff !important; }
.tys-home-brand-line-gold { color: #d8ad4f !important; }
.tys-home-brand-copy { max-width: 620px !important; }
.tys-top-offer-soft { font-weight: 600 !important; opacity: .9; }
.tys-soft-welcome-promo { max-height: 180px; overflow: hidden; }
