/* shared/brand.css */
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Inter:wght@400;500;600&family=Dancing+Script:wght@600;700&family=Heebo:wght@400;500;600;700&family=Frank+Ruhl+Libre:wght@500;600;700&display=swap");

* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: 100%; }
body {
  font-family: var(--font-ui);
  color: var(--nitz-brown);
  background: var(--nitz-green);
  -webkit-font-smoothing: antialiased;
  min-height: 100dvh;
}
.nitz-stage {
  max-width: var(--maxw);
  margin: 0 auto;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  padding: var(--space-3);
}
.nitz-tagline { letter-spacing: .38em; text-transform: uppercase; font-size: 12px; font-weight: 600; }
.nitz-h { font-family: var(--font-display); font-weight: 600; font-size: 28px; line-height: 1.15; }
.nitz-field { width: 100%; padding: 14px 16px; border: 1.5px solid var(--nitz-brown); background: transparent;
  border-radius: var(--radius); font-family: var(--font-ui); font-size: 16px; color: var(--nitz-brown); }
.nitz-field::placeholder { color: var(--nitz-brown-soft); opacity: .6; }
.nitz-btn { width: 100%; padding: 15px; border: none; border-radius: 999px; background: var(--nitz-brown);
  color: var(--nitz-green); font-family: var(--font-ui); font-weight: 600; font-size: 16px; cursor: pointer; }
.nitz-btn--ghost { background: transparent; border: 1.5px solid var(--nitz-brown); color: var(--nitz-brown); }
.nitz-btn:disabled { opacity: .5; cursor: default; }
.nitz-google { display: flex; align-items: center; justify-content: center; gap: 10px; background: #fff; color: #3c4043;
  width: 100%; padding: 13px; border-radius: 999px; border: 1px solid #dadce0; font-weight: 600; font-size: 15px; cursor: pointer; }
.nitz-error { color: #a3271f; font-size: 13px; margin-top: 4px; }
.nitz-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.4; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Hebrew: wide tracking + uppercase are Latin-only devices; they mangle Hebrew. */
[dir="rtl"] .nitz-tagline,
[dir="rtl"] .nitz-pass__tier,
[dir="rtl"] .nitz-pass__doglabel,
[dir="rtl"] .nitz-pass__label,
[dir="rtl"] .nitz-pass__tagline { letter-spacing: normal; text-transform: none; }

/* wallet pass */
.nitz-pass { background: var(--nitz-brown); color: var(--nitz-cream); border-radius: 20px; padding: 20px;
  aspect-ratio: 1.586; display: flex; flex-direction: column; justify-content: space-between; box-shadow: 0 12px 30px rgba(0,0,0,.25); }
.nitz-pass__top { display: flex; justify-content: space-between; align-items: baseline; }
.nitz-pass__brand { font-family: var(--font-script); font-size: 34px; color: var(--nitz-green); }
.nitz-pass__tier { letter-spacing: .3em; font-size: 11px; }
.nitz-pass__artwrap { flex: 1; display: flex; gap: 10px; overflow: hidden; align-items: stretch; margin: 14px 0; }
.nitz-pass__art { flex: 1; display: flex; align-items: center; justify-content: center; overflow: hidden;
  background: var(--nitz-cream); border-radius: 12px; }
.nitz-pass__art .lc-art-svg { width: 100%; height: 100%; }
.nitz-pass__dog { flex: 0 0 34%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
  background: var(--nitz-green); color: var(--nitz-brown); border-radius: 12px; padding: 10px 6px; }
.nitz-pass__paw { width: 46px; height: 46px; }
.nitz-pass__doglabel { font-family: var(--font-ui); font-size: 8px; letter-spacing: .22em; text-transform: uppercase; opacity: .65; }
.nitz-pass__dogname { font-family: var(--font-display); font-size: 17px; font-weight: 600; line-height: 1.05; text-align: center;
  overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.nitz-pass__meta { display: flex; justify-content: space-between; align-items: flex-end; }
.nitz-pass__label { display: block; font-size: 10px; letter-spacing: .15em; opacity: .7; text-transform: uppercase; }
.nitz-pass__value { font-family: var(--font-display); font-size: 18px; }
.nitz-pass__tagline { letter-spacing: .3em; font-size: 9px; text-align: center; opacity: .8; text-transform: uppercase; }
.nitz-pass__actions { display: flex; flex-direction: column; gap: 10px; margin-top: var(--space-3); }
