/* CODEX-D5-002: customer-funnel mobile foundation */
:root {
  --orion-black: #0a0a0a;
  --orion-deep: #050505;
  --orion-gold: #F5A623;
  --orion-gold-bright: #FFD369;
  --orion-gold-dim: #8B6914;
  --orion-text: #F5F5F5;
  --orion-text-muted: rgba(255,255,255,.4);
  --orion-font-display: 'Cormorant Garamond', 'Noto Sans TC', serif;
  --orion-font-body: 'DM Sans', 'Noto Sans TC', sans-serif;
  --font-h1: 28px;
  --font-h2: 20px;
  --font-body: 16px;
  --font-chat: 15px;
  --font-small: 14px;
  --touch-target: 48px;
}

@media (min-width: 768px) {
  :root {
    --font-h1: 32px;
    --font-h2: 22px;
    --font-body: 17px;
    --font-chat: 16px;
  }
}

@media (min-width: 1024px) {
  :root {
    --font-h1: 40px;
    --font-h2: 24px;
    --font-body: 18px;
  }
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-padding-bottom: max(24px, env(safe-area-inset-bottom));
}

body {
  min-height: 100vh;
  min-height: 100dvh;
  font-family: var(--orion-font-body) !important;
  font-size: var(--font-body);
}

img,
picture,
svg,
canvas {
  max-width: 100%;
}

button,
a[role="button"],
.orion-hero-btn,
.orion-hero-quick-btn,
.send-btn,
.prompt-btn,
.quick-reply-btn,
.cta-btn,
.cta-btn-main,
.google-login-btn,
.home,
.nav-item {
  min-height: var(--touch-target);
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(245,166,35,.18);
}

input,
textarea,
select {
  font-size: 16px;
}

.orion-hero-title,
.report-header h1,
.page-header h1,
.cv-hero h1,
h1 {
  font-family: var(--orion-font-display) !important;
  font-size: max(var(--font-h1), 1em);
}

.report-screen h2,
.bottom-cta h3,
h2 {
  font-family: var(--orion-font-display) !important;
  font-size: max(var(--font-h2), 1em);
}

button,
input,
textarea,
select,
.msg,
.report-screen .screen-content,
.text {
  font-family: var(--orion-font-body) !important;
}

.msg,
.msg.ai,
.msg.user,
.report-screen .screen-content,
.o-letter-text,
.text,
.case-section p {
  font-size: max(var(--font-chat), 1em);
}

.orion-nav a,
.orion-brand-tagline,
.orion-hero-kicker-mini,
.orion-hero-or-text,
.orion-hero-quick-btn,
.orion-brand-tagline,
.report-header .sub,
.step-when,
.core-logic-label,
.roi-label,
.input-hint,
.cta-sub,
.unlock-reassurance,
.sender,
.badge,
.case-tag,
.filter-tag {
  font-size: max(var(--font-small), 1em);
}

.orion-hero-kicker-mini,
.orion-hero-or-text,
.orion-hero-quick-btn,
.report-header .sub,
.step-when,
.core-logic-label,
.roi-label,
#reportActionsBar button,
.nav-item,
.sidebar-brand .sub,
.chat-header .sub,
#chatView .chat-header .sub,
.sidebar-footer a {
  font-size: 14px !important;
}

.orion-brand,
.orion-nav a,
.menu-toggle,
.sidebar-footer a {
  min-height: var(--touch-target) !important;
  min-width: 44px !important;
}

.menu-toggle,
.orion-hero-btn,
.send-btn {
  min-width: var(--touch-target) !important;
  width: var(--touch-target) !important;
  height: var(--touch-target) !important;
}

.sidebar-footer a {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

@media (max-width: 430px) {
  .orion-hero-btn,
  .send-btn {
    min-width: var(--touch-target);
    width: var(--touch-target);
    height: var(--touch-target);
  }

  .orion-hero-quick-btn,
  .quick-reply-btn,
  .prompt-btn {
    min-height: var(--touch-target);
    padding: 12px 16px;
  }

  .report-wrap,
  .container,
  .shell {
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
  }
}

@supports (height: 100dvh) {
  .orion-hero,
  .view,
  .main,
  .shell {
    min-height: 100dvh;
  }
}
