/* Tiara Bäckerei & Konditorei — exact palette and terrazzo language from
   "Tiara Brand Design Version 2". The composition starts from the warm,
   story-first Neighbourhood template and becomes tenant-specific here. */
.tiara-theme {
  --background: #f5edd9;
  --foreground: #5a463a;
  --primary: #7a8b5a;
  --primary-foreground: #f5edd9;
  --muted: #eadbc2;
  --muted-foreground: #705d50;
  --card: #fff9ec;
  --card-foreground: #5a463a;
  --border: rgba(90, 70, 58, 0.14);
  --brand-cta-radius: 999px;
  --brand-radius: 24px;
  --brand-radius-lg: 42px;
  --font-sans: "Alegreya Sans", sans-serif;
  --font-heading: "Alegreya", serif;

  font-family: var(--font-sans);
}

/* Horizontal-overflow protection for the decorative pattern strips lives on
   <main>, NOT on the theme root: overflow-x clip on the sticky header's
   ancestor makes it a clip root, which glitches/flickers the stuck bar on
   mobile Chrome during scroll (hirschen/beriz roots clip nothing). */
.tiara-theme main {
  overflow-x: clip;
}

.tiara-theme .font-heading {
  font-family: var(--font-heading);
}

.tiara-nav {
  /* Own compositing layer: an unpromoted sticky bar tears/flickers on
     mobile Chrome while scrolling. The old backdrop-blur promoted it as a
     side effect; the solid bar has to opt in explicitly. */
  transform: translateZ(0);
}

.tiara-kicker {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.055em;
  line-height: 1.5;
}

.tiara-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  transition: transform 180ms ease;
}

.tiara-button:hover {
  transform: translateY(-1px);
}

.tiara-button--small {
  padding: 0.625rem 0.875rem;
}

.tiara-theme :is(a, button):focus-visible {
  outline: 3px solid #59693f;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px #fff9ec;
}

.tiara-pattern {
  background-image: var(--tiara-pattern);
  background-position: center;
  background-size: cover;
}

.tiara-terrazzo-strip {
  height: 18px;
  background-image: var(--tiara-pattern);
  background-position: center 46%;
  background-size: 720px auto;
}

.tiara-hero-frame {
  height: clamp(460px, 65vw, 680px);
  overflow: visible;
}

.tiara-hero-frame > img:first-child {
  border-radius: 46% 46% 9% 9% / 28% 28% 9% 9%;
}

.tiara-hero-orbit {
  position: absolute;
  border: 1px solid rgba(122, 139, 90, 0.2);
  border-radius: 50%;
  pointer-events: none;
}

.tiara-hero-orbit--one {
  top: 5%;
  left: -11%;
  width: 340px;
  height: 340px;
}

.tiara-hero-orbit--two {
  right: -8%;
  bottom: -26%;
  width: 520px;
  height: 520px;
  border-color: rgba(200, 155, 75, 0.2);
}

.tiara-theme #menu,
.tiara-theme #about,
.tiara-theme #gallery,
.tiara-theme #location {
  scroll-margin-top: 92px;
}

@media (min-width: 640px) {
  .tiara-button {
    font-size: 0.875rem;
  }

  .tiara-button--small {
    font-size: 0.8125rem;
  }
}

@media (max-width: 767px) {
  .tiara-hero-frame {
    height: min(580px, 120vw);
  }

  .tiara-hero-frame > img:first-child {
    border-radius: 40% 40% 8% 8% / 20% 20% 8% 8%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tiara-button {
    transition: none;
  }

  .tiara-button:hover {
    transform: none;
  }
}
