
/* ===== DESIGN TOKENS ===== */
:root {
  /* Color: Neutrals */
  --pz-gray-50: #f8fafc;
  --pz-gray-100: #f1f5f9;
  --pz-gray-200: #e2e8f0;
  --pz-gray-300: #cbd5e1;
  --pz-gray-400: #94a3b8;
  --pz-gray-500: #64748b;
  --pz-gray-600: #475569;
  --pz-gray-700: #334155;
  --pz-gray-800: #1e293b;
  --pz-gray-900: #0f172a;

  /* Color: Brand */
  --pz-brand-50: #eff6ff;
  --pz-brand-100: #dbeafe;
  --pz-brand-500: #1a73e8;
  --pz-brand-600: #1557b5;
  --pz-brand-700: #0e3f8a;
  --pz-brand-rgb: 26, 115, 232;

  /* Color: Semantic */
  --pz-success-50: #ecfdf5;
  --pz-success-100: #d1fae5;
  --pz-success-500: #10b981;
  --pz-success-700: #047857;
  --pz-warn-50: #fffbeb;
  --pz-warn-100: #fef3c7;
  --pz-warn-500: #f59e0b;
  --pz-warn-700: #b45309;
  --pz-danger-50: #fef2f2;
  --pz-danger-500: #ef4444;
  --pz-danger-700: #b91c1c;

  /* Spacing scale (4-based) */
  --pz-s-1: 4px;
  --pz-s-2: 8px;
  --pz-s-3: 12px;
  --pz-s-4: 16px;
  --pz-s-5: 20px;
  --pz-s-6: 24px;
  --pz-s-8: 32px;
  --pz-s-10: 40px;
  --pz-s-12: 48px;
  --pz-s-16: 64px;
  --pz-s-20: 80px;
  --pz-s-24: 96px;

  /* Typography scale */
  --pz-text-xs: 0.75rem;
  --pz-text-sm: 0.875rem;
  --pz-text-base: 1rem;
  --pz-text-lg: 1.125rem;
  --pz-text-xl: 1.25rem;
  --pz-text-2xl: 1.5rem;
  --pz-text-3xl: 1.875rem;
  --pz-text-4xl: 2.25rem;
  --pz-text-5xl: 3rem;

  /* Radius */
  --pz-r-sm: 6px;
  --pz-r-md: 10px;
  --pz-r-lg: 14px;
  --pz-r-xl: 18px;
  --pz-r-2xl: 22px;
  --pz-r-full: 9999px;

  /* Shadows — Notion/Linear style: subtle and layered */
  --pz-sh-xs: 0 1px 2px 0 rgba(15, 23, 42, 0.04);
  --pz-sh-sm: 0 1px 3px 0 rgba(15, 23, 42, 0.06), 0 1px 2px 0 rgba(15, 23, 42, 0.04);
  --pz-sh-md: 0 4px 8px -2px rgba(15, 23, 42, 0.05), 0 2px 4px -2px rgba(15, 23, 42, 0.03);
  --pz-sh-lg: 0 10px 24px -4px rgba(15, 23, 42, 0.08), 0 4px 8px -2px rgba(15, 23, 42, 0.04);
  --pz-sh-xl: 0 24px 48px -12px rgba(15, 23, 42, 0.12);

  /* Animation */
  --pz-anim-fast: 120ms cubic-bezier(0.4, 0, 0.2, 1);
  --pz-anim: 180ms cubic-bezier(0.4, 0, 0.2, 1);
  --pz-anim-slow: 280ms cubic-bezier(0.4, 0, 0.2, 1);
  --pz-anim-spring: 320ms cubic-bezier(0.16, 1, 0.3, 1);

  /* Focus ring */
  --pz-focus-ring: 0 0 0 3px rgba(var(--pz-brand-rgb), 0.2);
  --pz-focus-ring-tight: 0 0 0 2px rgba(var(--pz-brand-rgb), 0.3);

  /* Container widths */
  --pz-max-content: 720px;
  --pz-max-app: 880px;
  --pz-max-hub: 1100px;
}

/* ===== GLOBAL RESETS — only on tool pages ===== */
.pz-tz-app *, .pz-fd-app *, .pz-tc-app *, .pz-cc-app *,
.pz-vc-app *, .pz-tp-app *, .pzt-app * {
  box-sizing: border-box;
}

/* Typography baseline */
.pz-tz-app, .pz-fd-app, .pz-tc-app, .pz-cc-app,
.pz-vc-app, .pz-tp-app, .pzt-app {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "SF Pro Text", Inter, system-ui, sans-serif !important;
  color: var(--pz-gray-900) !important;
  line-height: 1.5 !important;
  font-feature-settings: 'cv02', 'cv03', 'cv04', 'cv11', 'ss01';
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  max-width: var(--pz-max-app) !important;
  margin: 0 auto !important;
  padding: var(--pz-s-4) !important;
}

/* ===== HERO — calmer, more confident ===== */
.pz-tz-hero, .pz-fd-hero, .pz-tc-hero,
.pz-cc-hero-v2, .pz-vc-hero, .pz-tp-hero, .pzt-hero {
  padding: var(--pz-s-12) var(--pz-s-4) var(--pz-s-6) !important;
  text-align: center;
}

.pz-tz-hero h1, .pz-fd-hero h1, .pz-tc-hero h1,
.pz-cc-hero-v2 h1, .pz-vc-hero h1, .pz-tp-hero h1, .pzt-hero h1 {
  font-size: clamp(1.875rem, 4vw, 2.5rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.1 !important;
  color: var(--pz-gray-900) !important;
  margin: 0 0 var(--pz-s-3) !important;
  /* Remove gradient — pure brand color for confidence */
  background: none !important;
  -webkit-text-fill-color: initial !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
}

.pz-tz-hero p, .pz-fd-hero p, .pz-tc-hero p,
.pz-cc-hero-v2 p, .pz-vc-hero p, .pz-tp-hero p, .pzt-hero p {
  font-size: 1.0625rem !important;
  line-height: 1.6 !important;
  color: var(--pz-gray-500) !important;
  margin: 0 auto !important;
  max-width: 560px !important;
  letter-spacing: -0.005em;
}

/* Live status badge — refined */
.pz-tz-hero .badge, .pz-fd-hero .badge, .pz-tc-hero .badge,
.pz-cc-hero-v2 .badge-live, .pz-vc-hero .badge, .pz-tp-hero .badge, .pzt-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: var(--pz-success-50) !important;
  border: 1px solid var(--pz-success-100) !important;
  color: var(--pz-success-700) !important;
  padding: 5px 12px !important;
  border-radius: var(--pz-r-full) !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
  margin-bottom: var(--pz-s-4) !important;
  box-shadow: none !important;
}

.pz-tz-hero .dot, .pz-fd-hero .dot, .pz-tc-hero .dot,
.pz-cc-hero-v2 .badge-live .pulse, .pz-vc-hero .dot,
.pz-tp-hero .dot, .pzt-dot {
  width: 6px !important;
  height: 6px !important;
  border-radius: 50%;
  background: var(--pz-success-500) !important;
  flex-shrink: 0;
  box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.4);
  animation: pz-v14-pulse 2s infinite cubic-bezier(0.4, 0, 0.2, 1) !important;
}

@keyframes pz-v14-pulse {
  0% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.45); }
  70% { box-shadow: 0 0 0 6px rgba(16, 185, 129, 0); }
  100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
}

/* ===== CARDS — Notion-style minimalism ===== */
.pz-tz-card, .pz-fd-card, .pz-tc-builder, .pz-cc-converter,
.pz-vc-card, .pz-tp-card, .pzt-card {
  background: white !important;
  border: 1px solid var(--pz-gray-200) !important;
  border-radius: var(--pz-r-xl) !important;
  padding: var(--pz-s-8) !important;
  margin: var(--pz-s-5) 0 !important;
  box-shadow: var(--pz-sh-sm) !important;
  position: relative;
  overflow: hidden;
}

/* REMOVE the noisy gradient bar — replace with subtle status indicator */
.pz-tz-card::before, .pz-fd-card::before, .pz-tc-builder::before,
.pz-cc-converter::before, .pz-vc-card::before, .pz-tp-card::before, .pzt-card::before {
  display: none !important;
}

@media (max-width: 640px) {
  .pz-tz-card, .pz-fd-card, .pz-tc-builder, .pz-cc-converter,
  .pz-vc-card, .pz-tp-card, .pzt-card {
    padding: var(--pz-s-6) var(--pz-s-5) !important;
    border-radius: var(--pz-r-lg) !important;
  }
}

/* ===== LABELS — quiet hierarchy ===== */
.pz-tz-field label, .pz-fd-field label, .pz-tc-field label,
.pz-vc-field label, .pz-tp-field label, .pzt-field label {
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
  text-transform: none !important;
  color: var(--pz-gray-700) !important;
  margin-bottom: var(--pz-s-2) !important;
  display: flex !important;
  align-items: center;
  gap: 4px;
}

/* ===== INPUTS — Notion/Linear inputs ===== */
.pz-tz-input, .pz-tz-select,
.pz-fd-input, .pz-tc-select,
.pz-cc-input, .pz-cc-search,
.pz-vc-select, .pz-tp-input, .pz-tp-select,
.pzt-input, .pzt-select {
  border: 1px solid var(--pz-gray-200) !important;
  border-radius: var(--pz-r-md) !important;
  padding: 10px 14px !important;
  background: white !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  color: var(--pz-gray-900) !important;
  font-family: inherit !important;
  transition: border-color var(--pz-anim), box-shadow var(--pz-anim), background var(--pz-anim) !important;
  width: 100% !important;
  box-shadow: var(--pz-sh-xs) !important;
  -webkit-appearance: none;
  appearance: none;
  letter-spacing: -0.005em;
}

.pz-tz-input:hover, .pz-tz-select:hover,
.pz-fd-input:hover, .pz-tc-select:hover,
.pz-vc-select:hover, .pz-tp-input:hover, .pz-tp-select:hover,
.pzt-input:hover, .pzt-select:hover {
  border-color: var(--pz-gray-300) !important;
}

.pz-tz-input:focus, .pz-tz-select:focus,
.pz-fd-input:focus, .pz-tc-select:focus,
.pz-cc-input:focus, .pz-cc-search:focus,
.pz-vc-select:focus, .pz-tp-input:focus, .pz-tp-select:focus,
.pzt-input:focus, .pzt-select:focus {
  outline: none !important;
  border-color: var(--pz-brand-500) !important;
  box-shadow: var(--pz-focus-ring), var(--pz-sh-xs) !important;
  transform: none !important;
}

/* Select chevron — subtle */
.pz-tz-select, .pz-fd-select, .pz-tc-select,
.pz-vc-select, .pz-tp-select, .pzt-select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'><path d='M1 1L5 5L9 1' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 36px !important;
  cursor: pointer;
}

/* ===== BUTTONS — refined ===== */
.pz-tz-btn, .pz-fd-btn, .pz-tc-btn,
.pz-cc-act, .pz-cc-act-btn,
.pz-vc-btn, .pz-tp-btn, .pzt-btn {
  border-radius: var(--pz-r-md) !important;
  padding: 9px 16px !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  letter-spacing: -0.005em !important;
  border: 1px solid var(--pz-gray-200) !important;
  background: white !important;
  color: var(--pz-gray-900) !important;
  transition: all var(--pz-anim) !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  text-decoration: none !important;
  box-shadow: var(--pz-sh-xs);
  -webkit-tap-highlight-color: transparent;
  font-family: inherit !important;
}

.pz-tz-btn:hover, .pz-fd-btn:hover, .pz-tc-btn:hover,
.pz-cc-act:hover, .pz-cc-act-btn:hover,
.pz-vc-btn:hover, .pz-tp-btn:hover, .pzt-btn:hover {
  border-color: var(--pz-gray-300) !important;
  background: var(--pz-gray-50) !important;
  color: var(--pz-gray-900) !important;
  transform: none !important;
  box-shadow: var(--pz-sh-sm) !important;
}

.pz-tz-btn:active, .pz-fd-btn:active, .pz-tc-btn:active,
.pz-cc-act:active, .pz-cc-act-btn:active,
.pz-vc-btn:active, .pz-tp-btn:active, .pzt-btn:active {
  background: var(--pz-gray-100) !important;
}

.pz-cc-act-btn.success, .pz-tc-btn.success, .pzt-btn.success {
  background: var(--pz-success-500) !important;
  color: white !important;
  border-color: var(--pz-success-500) !important;
  box-shadow: var(--pz-sh-sm) !important;
}

/* ===== RESULT CARDS — calmer presentation ===== */
.pz-tz-clock, .pz-fd-result, .pz-tc-result-card,
.pz-cc-result, .pz-vc-result, .pz-tp-result, .pzt-result {
  border-radius: var(--pz-r-xl) !important;
  padding: var(--pz-s-6) !important;
  background: var(--pz-gray-50) !important;
  border: 1px solid var(--pz-gray-200) !important;
  box-shadow: none !important;
}

/* Result amount — sharp, no gradient text */
.pz-cc-result-amt, .pz-tc-result-total, .pz-tp-tip-amount {
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
  color: var(--pz-gray-900) !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  -webkit-text-fill-color: initial !important;
  background-clip: initial !important;
  text-shadow: none !important;
  font-variant-numeric: tabular-nums !important;
}

/* ===== CHIPS / PILLS — quiet ===== */
.pz-tc-tier, .pz-cc-chip, .pz-cc-pair,
.pz-tp-svc-btn, .pz-fd-pop {
  border: 1px solid var(--pz-gray-200) !important;
  border-radius: var(--pz-r-md) !important;
  padding: 7px 13px !important;
  background: white !important;
  color: var(--pz-gray-700) !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  transition: all var(--pz-anim) !important;
  letter-spacing: -0.005em !important;
  cursor: pointer;
}

.pz-tc-tier:hover, .pz-cc-chip:hover, .pz-cc-pair:hover,
.pz-tp-svc-btn:hover, .pz-fd-pop:hover {
  background: var(--pz-gray-50) !important;
  border-color: var(--pz-gray-300) !important;
}

.pz-tc-tier.active, .pz-cc-chip.active, .pz-cc-pair.active,
.pz-tp-svc-btn.active {
  background: var(--pz-gray-900) !important;
  color: white !important;
  border-color: var(--pz-gray-900) !important;
  box-shadow: var(--pz-sh-sm) !important;
}

.pz-cc-pair.active .arrow {
  color: rgba(255, 255, 255, 0.7) !important;
}

/* ===== SWAP BUTTONS — minimal ===== */
.pz-fd-swap, .pz-cc-swap-btn {
  background: white !important;
  width: 40px !important;
  height: 40px !important;
  border: 1px solid var(--pz-gray-200) !important;
  border-radius: 50%;
  box-shadow: var(--pz-sh-xs) !important;
  color: var(--pz-gray-600) !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  transition: all var(--pz-anim) !important;
}

.pz-fd-swap:hover, .pz-cc-swap-btn:hover {
  border-color: var(--pz-gray-300) !important;
  background: var(--pz-gray-50) !important;
  color: var(--pz-brand-500) !important;
  transform: rotate(180deg) !important;
  box-shadow: var(--pz-sh-sm) !important;
}

/* ===== TABLES — clean ===== */
table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

table thead tr {
  background: var(--pz-gray-50) !important;
}

table th {
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  color: var(--pz-gray-600) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 12px 16px !important;
}

table td {
  padding: 12px 16px !important;
  border-top: 1px solid var(--pz-gray-200) !important;
  color: var(--pz-gray-700) !important;
  font-size: 0.9375rem !important;
}

/* ===== TIP / ALERT BOXES ===== */
.pz-cc-tip, .pz-tc-tip, .pz-vc-disclaimer, .pzt-tip {
  border-radius: var(--pz-r-md) !important;
  padding: var(--pz-s-3) var(--pz-s-4) !important;
  background: var(--pz-warn-50) !important;
  border: 1px solid var(--pz-warn-100) !important;
  border-left: 3px solid var(--pz-warn-500) !important;
  box-shadow: none !important;
  font-size: 0.875rem !important;
  line-height: 1.6 !important;
  color: var(--pz-warn-700) !important;
}

/* ===== STATUS BAR (currency etc.) ===== */
.pz-cc-status-bar, .pz-tc-status {
  background: var(--pz-gray-50) !important;
  margin: var(--pz-s-5) -32px -32px !important;
  padding: var(--pz-s-3) var(--pz-s-8) !important;
  border-top: 1px solid var(--pz-gray-200) !important;
  border-radius: 0 0 var(--pz-r-xl) var(--pz-r-xl) !important;
  font-size: 0.8125rem !important;
  color: var(--pz-gray-500) !important;
}

@media (max-width: 640px) {
  .pz-cc-status-bar, .pz-tc-status {
    margin: var(--pz-s-4) -20px -24px !important;
    padding: var(--pz-s-3) var(--pz-s-5) !important;
  }
}

/* ===== HUB ===== */
.pzt-hub-search input {
  padding: 16px 52px 16px 22px !important;
  border: 1px solid var(--pz-gray-200) !important;
  border-radius: var(--pz-r-xl) !important;
  font-size: 1.0625rem !important;
  box-shadow: var(--pz-sh-sm) !important;
  background: white !important;
  transition: all var(--pz-anim) !important;
}

.pzt-hub-search input:focus {
  border-color: var(--pz-brand-500) !important;
  box-shadow: var(--pz-focus-ring), var(--pz-sh-md) !important;
  transform: none !important;
}

.pzt-hub-cat {
  border-radius: var(--pz-r-md) !important;
  padding: 8px 14px !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  border: 1px solid var(--pz-gray-200) !important;
  background: white !important;
  color: var(--pz-gray-700) !important;
  transition: all var(--pz-anim) !important;
  box-shadow: var(--pz-sh-xs);
  letter-spacing: -0.005em !important;
}

.pzt-hub-cat:hover {
  background: var(--pz-gray-50) !important;
  border-color: var(--pz-gray-300) !important;
  transform: none !important;
}

.pzt-hub-cat.active {
  background: var(--pz-gray-900) !important;
  color: white !important;
  border-color: var(--pz-gray-900) !important;
  box-shadow: var(--pz-sh-sm) !important;
}

.pzt-hub-tool {
  background: white !important;
  border: 1px solid var(--pz-gray-200) !important;
  border-radius: var(--pz-r-xl) !important;
  padding: var(--pz-s-6) !important;
  transition: all var(--pz-anim) !important;
  position: relative !important;
  overflow: hidden !important;
  text-decoration: none !important;
  display: block !important;
  box-shadow: var(--pz-sh-xs) !important;
}

.pzt-hub-tool::before { display: none !important; }

.pzt-hub-tool:hover {
  transform: translateY(-2px) !important;
  border-color: var(--pz-gray-300) !important;
  box-shadow: var(--pz-sh-md) !important;
}

.pzt-hub-tool .icon {
  font-size: 2rem !important;
  margin-bottom: var(--pz-s-3) !important;
  display: inline-block;
  filter: none !important;
}

.pzt-hub-tool:hover .icon {
  transform: none !important;
}

.pzt-hub-tool h3 {
  font-size: 1.0625rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.015em !important;
  color: var(--pz-gray-900) !important;
  margin: 0 0 4px !important;
}

.pzt-hub-tool p {
  color: var(--pz-gray-500) !important;
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

.pzt-hub-tool .badges {
  margin-top: var(--pz-s-3) !important;
}

.pzt-hub-tool .badge {
  font-size: 0.6875rem !important;
  font-weight: 600 !important;
  padding: 2px 8px !important;
  border-radius: var(--pz-r-full) !important;
  text-transform: none !important;
  letter-spacing: -0.005em !important;
  border: none !important;
}

.pzt-hub-tool .badge.popular {
  background: var(--pz-warn-50) !important;
  color: var(--pz-warn-700) !important;
}
.pzt-hub-tool .badge.new {
  background: var(--pz-success-50) !important;
  color: var(--pz-success-700) !important;
}
.pzt-hub-tool .badge.live {
  background: var(--pz-brand-50) !important;
  color: var(--pz-brand-600) !important;
}

/* ===== FAQ ===== */
section.pz-faq {
  max-width: var(--pz-max-content) !important;
  margin: var(--pz-s-16) auto !important;
}

section.pz-faq h2 {
  font-size: 1.75rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  margin-bottom: var(--pz-s-6) !important;
  background: none !important;
  -webkit-text-fill-color: initial !important;
  background-clip: initial !important;
  color: var(--pz-gray-900) !important;
  display: block !important;
}

section.pz-faq details {
  background: white !important;
  border: 1px solid var(--pz-gray-200) !important;
  border-radius: var(--pz-r-md) !important;
  padding: 0 !important;
  margin: var(--pz-s-2) 0 !important;
  overflow: hidden;
  transition: all var(--pz-anim);
  box-shadow: none !important;
}

section.pz-faq details:hover {
  border-color: var(--pz-gray-300) !important;
}

section.pz-faq details[open] {
  border-color: var(--pz-gray-300) !important;
  background: var(--pz-gray-50) !important;
  box-shadow: none !important;
}

section.pz-faq details summary {
  padding: 14px 48px 14px 18px !important;
  font-weight: 500 !important;
  color: var(--pz-gray-900) !important;
  font-size: 0.9375rem !important;
  letter-spacing: -0.005em !important;
}

section.pz-faq details > p {
  padding: 0 18px 16px !important;
  color: var(--pz-gray-600) !important;
  line-height: 1.65 !important;
  font-size: 0.9375rem !important;
}

/* ===== SECTIONS (How it works, related, etc.) ===== */
section[style*="max-width:820px"] {
  margin: var(--pz-s-16) auto !important;
  max-width: var(--pz-max-content) !important;
}

section h2 {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  color: var(--pz-gray-900) !important;
  margin: 0 0 var(--pz-s-3) !important;
}

section p {
  color: var(--pz-gray-700) !important;
  line-height: 1.7 !important;
  font-size: 1rem !important;
}

/* ===== FOCUS STATES ===== */
*:focus-visible {
  outline: 2px solid var(--pz-brand-500) !important;
  outline-offset: 2px !important;
  border-radius: 4px;
}

button:focus-visible {
  outline-offset: 2px;
}

/* ===== ANIMATIONS ===== */
@keyframes pz-v14-fade-in {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

.pz-cc-result, .pz-tc-result-card, .pz-tp-result, .pzt-result {
  animation: pz-v14-fade-in 240ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* ===== MOBILE TWEAKS ===== */
@media (max-width: 640px) {
  .pz-tz-app, .pz-fd-app, .pz-tc-app, .pz-cc-app,
  .pz-vc-app, .pz-tp-app, .pzt-app {
    padding: var(--pz-s-3) !important;
    padding-bottom: env(safe-area-inset-bottom, var(--pz-s-3)) !important;
  }

  .pz-tz-hero, .pz-fd-hero, .pz-tc-hero,
  .pz-cc-hero-v2, .pz-vc-hero, .pz-tp-hero, .pzt-hero {
    padding: var(--pz-s-8) var(--pz-s-3) var(--pz-s-4) !important;
  }

  .pz-tz-hero h1, .pz-fd-hero h1, .pz-tc-hero h1,
  .pz-cc-hero-v2 h1, .pz-vc-hero h1, .pz-tp-hero h1, .pzt-hero h1 {
    font-size: 1.75rem !important;
  }

  .pz-tz-hero p, .pz-fd-hero p, .pz-tc-hero p,
  .pz-cc-hero-v2 p, .pz-vc-hero p, .pz-tp-hero p, .pzt-hero p {
    font-size: 0.9375rem !important;
  }
}

/* ===== TRUST FOOTER (auto-injected) ===== */
.pz-trust-footer {
  max-width: var(--pz-max-app);
  margin: var(--pz-s-12) auto var(--pz-s-6) !important;
  padding: var(--pz-s-5) var(--pz-s-6);
  background: var(--pz-gray-50);
  border: 1px solid var(--pz-gray-200);
  border-radius: var(--pz-r-xl);
  font-size: 0.875rem;
  color: var(--pz-gray-600);
  line-height: 1.6;
}

.pz-trust-footer h3 {
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  color: var(--pz-gray-900) !important;
  margin: 0 0 var(--pz-s-3) !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  gap: 6px;
}

.pz-trust-footer h3::before {
  content: '';
  width: 14px;
  height: 14px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2310b981' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/></svg>");
  background-size: contain;
  background-repeat: no-repeat;
}

.pz-trust-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--pz-s-4);
}

.pz-trust-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.pz-trust-item .lbl {
  font-size: 0.75rem;
  color: var(--pz-gray-500);
  font-weight: 500;
}

.pz-trust-item .val {
  font-weight: 600;
  color: var(--pz-gray-900);
  font-size: 0.875rem;
}

.pz-trust-item .val a {
  color: var(--pz-brand-500);
  text-decoration: none;
  border-bottom: 1px dotted var(--pz-gray-300);
}

.pz-trust-footer .methodology-link {
  margin-top: var(--pz-s-4);
  padding-top: var(--pz-s-3);
  border-top: 1px solid var(--pz-gray-200);
  font-size: 0.8125rem;
  color: var(--pz-gray-500);
}

.pz-trust-footer .methodology-link a {
  color: var(--pz-brand-500);
  text-decoration: none;
}

.pz-trust-footer .methodology-link a:hover {
  text-decoration: underline;
}

/* ===== SCROLL PROGRESS ===== */
.pzt-progress-bar {
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--pz-brand-500);
  z-index: 9999;
  transition: width 50ms linear;
  pointer-events: none;
}

/* ===== REDUCED MOTION ===== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
  .pz-cc-swap-btn:hover, .pz-fd-swap:hover {
    transform: none !important;
  }
}

/* ===== ADDITIONAL POLISH ===== */
/* Currency converter inverse rate */
.pz-cc-rate-inverse { color: var(--pz-gray-500) !important; }

/* Trip cost donut center */
.pz-tc-donut-center .v {
  color: var(--pz-gray-900) !important;
  font-weight: 700 !important;
  background: none !important;
  -webkit-text-fill-color: initial !important;
}

/* Timezone clock typography */
.pz-tz-clock-time {
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
  color: var(--pz-gray-900) !important;
}

.pz-tz-clock.local {
  background: var(--pz-brand-50) !important;
  border-color: var(--pz-brand-100) !important;
}

/* Day cards (itinerary) — calmer */
.pzt-day {
  background: white !important;
  border: 1px solid var(--pz-gray-200) !important;
  border-radius: var(--pz-r-lg) !important;
  padding: var(--pz-s-5) !important;
  box-shadow: none !important;
  margin-bottom: var(--pz-s-3) !important;
}

.pzt-day-num {
  background: var(--pz-gray-900) !important;
  color: white !important;
  width: 28px !important;
  height: 28px !important;
  font-size: 0.8125rem !important;
  box-shadow: none !important;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 8px;
  font-weight: 600;
}

/* Destination cards (recommender) */
.pzt-dest-card {
  border: 1px solid var(--pz-gray-200) !important;
  border-radius: var(--pz-r-lg) !important;
  overflow: hidden;
  box-shadow: var(--pz-sh-xs) !important;
  transition: all var(--pz-anim) !important;
}

.pzt-dest-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--pz-sh-md) !important;
  border-color: var(--pz-gray-300) !important;
}

/* VC result icon (visa) */
.pz-vc-result-icon {
  font-size: 3rem !important;
  filter: none !important;
}

.pz-vc-result-title {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
}

/* Force pz-faq H2 to be calm */
section.pz-faq h2 {
  background: none !important;
  -webkit-background-clip: initial !important;
  -webkit-text-fill-color: initial !important;
  color: var(--pz-gray-900) !important;
}

/* Quick fix: prevent any leftover gradient text from showing */
.pz-cc-hero-v2 h1, .pz-tc-hero h1, .pz-tz-hero h1,
.pz-fd-hero h1, .pz-vc-hero h1, .pz-tp-hero h1, .pzt-hero h1 {
  background-clip: initial !important;
  -webkit-text-fill-color: var(--pz-gray-900) !important;
}
