/* Public layout shared styles (moved from layouts.public) */
html { font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji"; }
html, body { overflow-x: hidden; }
body { background: linear-gradient(to bottom, #f8fafc, #ffffff); color: #0f172a; }

/* Dark mode (layout scope only; component specifics use Tailwind dark: classes) */
/* Dark mode removed */

/* Typography scale */
.hero-title { font-size: 2.5rem; line-height: 3rem; font-weight: 800; letter-spacing: -0.025em; }
@media (min-width: 640px) { .hero-title { font-size: 4rem; line-height: 1; } }

.page-title { font-size: 2.25rem; line-height: 2.5rem; font-weight: 800; letter-spacing: -0.025em; }
@media (min-width: 640px) { .page-title { font-size: 2.75rem; line-height: 1; } }

.section-title { font-size: 1.75rem; line-height: 2.25rem; font-weight: 700; }
@media (min-width: 640px) { .section-title { font-size: 2.25rem; line-height: 2.5rem; } }
@media (min-width: 1024px) { .section-title { font-size: 2.75rem; line-height: 1; } }
@media (min-width: 1280px) { .section-title { font-size: 3.5rem; line-height: 1; } }

.subsection-title { font-size: 1.5rem; line-height: 2rem; font-weight: 600; }
.card-title { font-size: 1.25rem; line-height: 1.75rem; font-weight: 600; }
.body-text { font-size: 1.125rem; line-height: 1.75rem; font-weight: 400; }
.body-text-large { font-size: 1.25rem; line-height: 1.75rem; font-weight: 400; }
.body-text-small { font-size: 1rem; line-height: 1.5rem; font-weight: 400; }
.btn-text { font-size: 1rem; line-height: 1.5rem; font-weight: 600; }
.badge-text { font-size: 0.875rem; line-height: 1.25rem; font-weight: 600; }
.price-large { font-size: 3.5rem; line-height: 1; font-weight: 800; }

/* Layout helpers */
.full-bleed { position: relative; left: 50%; transform: translateX(-50%); width: 100vw; width: 100svw; max-width: 100svw; overflow-x: clip; }
.page-section { padding-top: 4rem; padding-bottom: 4rem; }
@media (min-width: 1024px) { .page-section { padding-top: 5rem; padding-bottom: 5rem; } }
.section-inner { max-width: 80rem; margin-left: auto; margin-right: auto; padding-left: 1.5rem; padding-right: 1.5rem; }
.section-head { text-align: center; margin-bottom: 2.5rem; }

header { background: rgba(255,255,255,0.9); border-bottom: 1px solid rgba(15,23,42,0.08); backdrop-filter: blur(8px); }
header nav a { color: #334155; }
header nav a:hover { color: #0f172a; }
header .currency-switch { color: #64748b; }
header .currency-switch a { color: #475569; }
header .currency-switch a.active { background: #e2e8f0; }
header #header_logout_btn { border-color: rgba(15,23,42,0.15); color: #0f172a; }

/* Landing page footer band */
body[data-page="landing"] footer { background: #0f172a; border-color: #0b1220; }
body[data-page="landing"] footer .font-semibold { color: #ffffff; }
body[data-page="landing"] footer a { color: #cbd5e1; }
body[data-page="landing"] footer a:hover { color: #ffffff; }
body[data-page="landing"] footer p, body[data-page="landing"] footer div { color: #94a3b8; }


