/* Keep the shared site chrome while isolating the Lovable café body. */
.cafe-page .cafe-content .hero {
  height: auto;
  min-height: 0;
  margin-top: 0;
  padding-top: 64px;
}

.cafe-page .cafe-content .hero .page-shell {
  min-height: 520px;
}

.cafe-page .cafe-content {
  overflow: visible;
  font-family: "DM Sans", sans-serif;
  line-height: 1.5;
  --background: oklch(99% .003 85);
  --foreground: oklch(19% .03 255);
  --card: oklch(100% 0 0);
  --card-foreground: oklch(19% .03 255);
  --primary: #006efa;
  --primary-foreground: oklch(99% .002 250);
  --secondary: oklch(96% .021 238);
  --secondary-foreground: oklch(22% .05 250);
  --muted: oklch(96% .008 85);
  --muted-foreground: oklch(47% .025 255);
  --accent: oklch(71% .15 238);
  --accent-foreground: oklch(18% .05 250);
  --border: oklch(88% .012 240);
  --ring: oklch(55% .15 245);
  --surface: oklch(97.5% .008 75);
}

/* The café design owns its typography and utility classes. */
.cafe-page .cafe-content h1,
.cafe-page .cafe-content h2,
.cafe-page .cafe-content h3,
.cafe-page .cafe-content h4,
.cafe-page .cafe-content p {
  font-family: inherit;
}

/* Restore café utility spacing after the shared global heading rules. */
.cafe-page .cafe-content [class~="mt-1"] {
  margin-top: 0.25rem;
}

.cafe-page .cafe-content [class~="mt-2"] {
  margin-top: 0.5rem;
}

.cafe-page .cafe-content [class~="mt-3"] {
  margin-top: 0.75rem;
}

.cafe-page .cafe-content [class~="mt-5"] {
  margin-top: 1.25rem;
}

.cafe-page .cafe-content [class~="mt-6"] {
  margin-top: 1.5rem;
}

.cafe-page .cafe-content [class~="mt-7"] {
  margin-top: 1.75rem;
}

.cafe-page .cafe-content [class~="mt-8"] {
  margin-top: 2rem;
}

.cafe-page .cafe-content [class~="leading-none"] {
  line-height: 1;
}

.cafe-page .cafe-content [class~="leading-tight"] {
  line-height: 1.25;
}

.cafe-page .cafe-content .eyebrow {
  color: inherit;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 0.68rem;
  font-weight: 700;
}

.cafe-page .cafe-content .hero .eyebrow {
  color: oklch(99% .002 250) !important;
}

.cafe-page .cafe-content .icon-disc {
  background: oklch(96% .021 238);
  color: #006efa;
}

.cafe-page .cafe-content .feature-card h3 {
  margin-top: 0.9rem;
  font-size: 1.2rem;
  font-weight: 800;
  line-height: normal;
}

.cafe-page .cafe-content .feature-card p {
  margin-top: 0.5rem;
  font-size: 0.78rem;
  line-height: 1.45;
}

.cafe-page .cafe-content .mini-card h3 {
  margin-top: 0.7rem;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: normal;
}

.cafe-page .cafe-content .mini-card p {
  margin-top: 0.25rem;
  font-size: 0.72rem;
  line-height: normal;
}

.cafe-page > .site-nav .brand-location,
.cafe-page > .site-nav .brand-location strong {
  font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-style: normal;
  letter-spacing: normal;
  text-rendering: optimizeLegibility;
}

.cafe-page .cafe-content h2.mt-2.text-2xl.font-bold {
  margin-top: 0.5rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2rem;
}

/* Keep shared landing button rules out of the café body. */
.cafe-page .cafe-content .btn-primary {
  display: inline-flex;
  min-height: 0;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.2rem;
  border: 0;
  border-radius: 999px;
  background: #006efa;
  color: #ffffff !important;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: normal;
  box-shadow: none;
}

.cafe-page .cafe-content .btn-primary:hover {
  background: #005fd7;
  filter: none;
  transform: none;
}

@media (max-width: 639px) {
  .cafe-page .cafe-content .hero .page-shell {
    min-height: 600px;
  }
}
