﻿/* ======================================================
   NORDSTROM BRAND PALETTE
   #14171B  – Near-black (primary text, CTA, icons)
   #8B8C8E  – Medium gray (muted text, borders)
   #EDEDED  – Light gray (backgrounds, dividers)
   #FFFFFF  – White (cards, page bg)
   ====================================================== */

/* ====== RESET ====== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; -webkit-text-size-adjust: 100%; }
body {
  font-family: ui-sans-serif, system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  background-color: #EDEDED;
  color: #14171B;
  line-height: 1.5;
  min-height: 100svh;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: none; background: none; }

/* ====== LAYOUT ====== */
.page-wrap {
  position: relative;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: calc(env(safe-area-inset-top, 0px) + 4rem) 1rem 10rem;
  overflow-x: hidden;
}

.content-wrap {
  width: 100%;
  max-width: 448px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

/* ====== HERO ====== */
.hero-block {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  padding-top: 0.5rem;
}

.brand-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 28px;
  margin-bottom: 0.25rem;
}

/* Nordstrom wordmark style — spaced caps, near-black */
.logo-text {
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: #14171B;
  text-transform: uppercase;
  border-bottom: 2px solid #14171B;
  padding-bottom: 2px;
}

.headline {
  font-size: 1.5rem;
  font-weight: 700;
  color: #14171B;
  letter-spacing: -0.01em;
  line-height: 1.25;
}

.sub {
  font-size: 0.875rem;
  font-weight: 400;
  color: #8B8C8E;
}

/* ====== CARD ====== */
.card {
  background: #FFFFFF;
  border-radius: 0.75rem;
  padding: 1.5rem;
  box-shadow: 0 1px 3px 0 rgba(20,23,27,0.08), 0 1px 2px -1px rgba(20,23,27,0.08);
  border: 1px solid #EDEDED;
}

.card-title {
  font-size: 1rem;
  font-weight: 600;
  color: #14171B;
  letter-spacing: 0.01em;
  margin-bottom: 1.25rem;
}

/* ====== STEPS LIST ====== */
.steps-list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.step-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

/* Nordstrom-branded check circle — near-black border */
.step-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 9999px;
  border: 2px solid #14171B;
  flex-shrink: 0;
  margin-top: 0.1rem;
  color: #14171B;
  background: #FFFFFF;
}

.step-text {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}

.step-title {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #14171B;
  line-height: 1.3;
}

.step-desc {
  font-size: 0.8125rem;
  font-weight: 400;
  color: #8B8C8E;
}

/* ====== ACCORDION / FAQ ====== */
.accordion {
  display: flex;
  flex-direction: column;
}

.accordion-item {
  border-bottom: 1px solid #EDEDED;
}
.accordion-item:last-child {
  border-bottom: none;
}

.accordion-trigger {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 1rem 0;
  font-size: 0.875rem;
  font-weight: 500;
  color: #14171B;
  text-align: left;
  gap: 0.5rem;
  transition: color 0.15s ease;
}

.accordion-trigger:hover { color: #8B8C8E; }

.chevron {
  flex-shrink: 0;
  color: #8B8C8E;
  transition: transform 0.2s ease;
}

.accordion-item.open .chevron {
  transform: rotate(180deg);
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease;
}

.accordion-item.open .accordion-content {
  max-height: 200px;
  padding-bottom: 1rem;
}

.accordion-content p {
  font-size: 0.875rem;
  color: #8B8C8E;
  line-height: 1.65;
}

/* ====== FOOTER NOTE ====== */
.footer-note {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding-top: 0.25rem;
}

.footer-note p {
  font-size: 0.6875rem;
  color: #8B8C8E;
  letter-spacing: 0.01em;
}

/* ====== FIXED BOTTOM CTA ====== */
.bottom-cta {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1rem 1rem calc(env(safe-area-inset-bottom, 0px) + 1rem);
  background: linear-gradient(to top, #EDEDED 65%, transparent);
}

.cta-inner {
  max-width: 448px;
  margin: 0 auto;
}

/* Nordstrom CTA — near-black bg, white text, subtle hover */
.cta-btn {
  display: block;
  width: 100%;
  background-color: #14171B;
  color: #FFFFFF;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 1rem 1.5rem;
  border-radius: 0.375rem;
  transition: background-color 0.2s ease, opacity 0.2s ease;
}

.cta-btn:hover  { background-color: #2d3238; }
.cta-btn:active { opacity: 0.8; }
