/* Dukagram website: shared look for the home, legal and share pages. Colours and spacing follow
   the app theme (src/theme). */
:root {
  --brand: #c2410c;
  --brand-light: #ea580c;
  --brand-soft: #fff1e8;
  --ink: #111827;
  --muted: #6b7280;
  --border: #e5e7eb;
  --surface: #ffffff;
  --surface-alt: #f5f6fa;
  --gradient: linear-gradient(135deg, #f97316, #ea580c 45%, #c2410c);
  --radius: 16px;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh; /* The footer stays at the bottom even on short pages */
  display: flex;
  flex-direction: column;
  font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  color: var(--ink);
  background: var(--surface);
  line-height: 1.5;
}

a { color: var(--brand); }

/* Top bar with the logo and name */
.bar { display: flex; align-items: center; gap: 10px; padding: 14px 20px; border-bottom: 1px solid var(--border); }
.bar img { height: 28px; width: auto; } /* The bag logo is taller than wide: keep its shape */
.bar a { color: var(--ink); text-decoration: none; font-weight: 700; font-size: 20px; letter-spacing: -0.02em; }

main { flex: 1; width: 100%; max-width: 720px; margin: 0 auto; padding: 24px 20px 48px; }
main.wide { max-width: 1040px; }

/* Home: warm background with a subtle dot pattern and soft orange glows */
body.home {
  background-color: #fffaf6;
  background-image: radial-gradient(rgba(194, 65, 12, 0.09) 1.2px, transparent 1.2px);
  background-size: 22px 22px;
}
body.home .bar { background: rgba(255, 250, 246, 0.85); backdrop-filter: blur(8px); border-bottom-color: rgba(194, 65, 12, 0.08); }
body.home footer { background: rgba(255, 250, 246, 0.9); border-top-color: rgba(194, 65, 12, 0.08); }

/* Hero banner: headline beside the phone; stacked on phones */
.hero {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 72px;
  flex-wrap: wrap;
  padding: 56px 0;
}
.hero-text { flex: 1 1 300px; max-width: 500px; }
.hero h1 { font-size: clamp(32px, 6vw, 52px); line-height: 1.08; margin: 0 0 18px; letter-spacing: -0.03em; }
.hero .accent { background: var(--gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero p { color: var(--muted); margin: 0 0 28px; font-size: 18px; max-width: 440px; }
.hero .soon {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--brand);
  background: #fff;
  border: 1px solid rgba(194, 65, 12, 0.2);
  box-shadow: 0 6px 20px rgba(194, 65, 12, 0.1);
  font-weight: 600;
  font-size: 15px;
  padding: 10px 18px;
  border-radius: 999px;
}
.hero .soon::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--brand-light); }
@media (max-width: 760px) {
  .hero { text-align: center; gap: 44px; padding: 28px 0 40px; }
  .hero p { margin-left: auto; margin-right: auto; }
}

/* The phone: soft glow behind, dark frame, the app just opened (logo and name on the gradient) */
.phone-wrap { position: relative; flex: 0 0 auto; }
.phone-wrap::before {
  content: '';
  position: absolute;
  inset: -18% -30%;
  background: radial-gradient(closest-side, rgba(249, 115, 22, 0.35), rgba(249, 115, 22, 0));
  z-index: -1;
}
.phone {
  width: min(250px, 66vw);
  aspect-ratio: 9 / 19;
  border-radius: 44px;
  padding: 10px;
  background: #111827;
  box-shadow: 0 40px 70px rgba(124, 45, 18, 0.28), inset 0 0 0 2px #374151;
  animation: float 6s ease-in-out infinite;
}
.phone-screen {
  position: relative;
  height: 100%;
  border-radius: 35px;
  background: var(--gradient);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: #fff;
  overflow: hidden;
}
.phone-screen::after { /* A soft shine across the screen */
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0) 45%);
}
.island { position: absolute; top: 12px; width: 72px; height: 20px; border-radius: 12px; background: #111827; }
.phone-screen img { height: 70px; width: auto; }
.phone-name { font-size: 26px; font-weight: 700; letter-spacing: -0.02em; }
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@media (prefers-reduced-motion: reduce) { .phone { animation: none; } }

.button {
  display: inline-block;
  padding: 14px 24px;
  border-radius: 999px;
  background: var(--gradient);
  color: #fff;
  font-weight: 600;
  text-decoration: none;
}
.button.secondary { background: var(--surface-alt); color: var(--ink); }
.note { color: var(--muted); font-size: 13px; }

/* Legal pages */
.legal h1 { font-size: 26px; margin: 0 0 4px; }
.legal .updated { color: var(--muted); font-size: 13px; margin: 0 0 20px; }
.legal h2 { font-size: 17px; margin: 28px 0 8px; }
.legal li { margin: 4px 0; }

/* Share pages (product, post, profile) */
.card { border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.card .photo { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; background: var(--surface-alt); display: block; }
.card .body { padding: 16px; }
.card h1 { font-size: 20px; margin: 0 0 4px; }
.price { font-size: 22px; font-weight: 700; margin: 4px 0; }
.seller { display: flex; align-items: center; gap: 10px; margin: 12px 0; color: var(--ink); text-decoration: none; }
.seller img, .avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; background: var(--brand-soft); }
.actions { display: flex; flex-direction: column; gap: 10px; margin-top: 16px; text-align: center; }

.profile { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; }
.profile .avatar { width: 84px; height: 84px; }
.profile h1 { font-size: 20px; margin: 0; }
.stats { display: flex; gap: 20px; color: var(--muted); font-size: 14px; margin: 4px 0; }
.stats b { color: var(--ink); }
.grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; margin-top: 16px; }
.grid img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; display: block; background: var(--surface-alt); }

footer { text-align: center; color: var(--muted); font-size: 13px; padding: 24px 20px 40px; border-top: 1px solid var(--border); }
footer a { color: var(--muted); margin: 0 8px; }
