/* Portfolio chrome and cross-concept quality rules. Client mode removes demo-only UI. */

html {
  color-scheme: light;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body {
  min-width: 320px;
}

img {
  background: color-mix(in srgb, currentColor 7%, transparent);
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 12px;
  left: 12px;
  padding: 12px 16px;
  color: #111;
  background: #fff;
  box-shadow: 0 8px 30px #0003;
  font: 700 11px/1 "Manrope", sans-serif;
  text-transform: uppercase;
  transform: translateY(-160%);
  transition: transform .18s ease;
}

.skip-link:focus {
  transform: none;
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
  box-shadow: 0 0 0 5px #121212;
}

.concept-switcher {
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  font-family: "Manrope", sans-serif;
}

.concept-switcher > .concept-switcher-toggle {
  width: 178px;
  height: 48px;
  justify-content: space-between;
  padding: 0 10px 0 16px;
  border: 1px solid #ffffff2b;
  border-radius: 999px;
  background: #111114ee;
  box-shadow: 0 16px 48px #0005;
  backdrop-filter: blur(16px);
}

.concept-switcher-label,
.concept-switcher:hover .concept-switcher-label,
.concept-switcher:focus-within .concept-switcher-label,
.concept-switcher.open .concept-switcher-label {
  width: auto;
  margin-right: 12px;
  opacity: 1;
  font-size: 9px;
  letter-spacing: .1em;
}

.concept-switcher-icon {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 50%;
  color: #111;
  background: #fff;
}

.concept-switcher:hover > .concept-switcher-toggle,
.concept-switcher:focus-within > .concept-switcher-toggle,
.concept-switcher.open > .concept-switcher-toggle {
  width: 178px;
  border-radius: 999px;
}

.concept-menu {
  bottom: 58px;
  width: min(360px, calc(100vw - 24px));
  max-height: min(620px, calc(100svh - 96px));
  padding: 12px;
  overflow-y: auto;
  border: 1px solid #ffffff1f;
  border-radius: 20px;
  background: #111114f5;
  box-shadow: 0 30px 90px #0008;
  backdrop-filter: blur(22px);
}

.concept-menu::before {
  content: "Демо-витрина · 7 направлений";
  display: block;
  padding: 7px 12px 13px;
  color: #a9a9b2;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.concept-menu a,
.concept-menu .concept-tour {
  min-height: 58px;
  padding: 12px;
  border-bottom-color: #ffffff17;
  border-radius: 10px;
}

.concept-menu a:hover,
.concept-menu a:focus-visible,
.concept-menu .concept-tour:hover,
.concept-menu .concept-tour:focus-visible {
  background: #ffffff0d;
}

.concept-menu a.active {
  background: #ffffff10;
}

.concept-menu b {
  font-size: 20px;
}

.concept-menu .concept-disclaimer {
  display: block;
  padding: 13px 12px 6px;
  color: #9a9aa3;
  font-size: 8px;
  line-height: 1.55;
}

.announcement-strip {
  right: max(18px, env(safe-area-inset-right));
  bottom: calc(max(18px, env(safe-area-inset-bottom)) + 62px);
  max-width: min(520px, calc(100vw - 36px));
  border-radius: 14px;
}

.announcement-strip button {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 50%;
}

.story-reviews .demo-data-label {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
}

.story-reviews .demo-data-label::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  opacity: .55;
}

.client-project .skip-link {
  display: block;
}

.client-project .concept-disclaimer,
.client-project .demo-data-label {
  display: none !important;
}

@media (max-width: 680px) {
  .concept-switcher {
    right: max(8px, env(safe-area-inset-right)) !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
  }

  .concept-switcher > .concept-switcher-toggle,
  .concept-switcher:hover > .concept-switcher-toggle,
  .concept-switcher:focus-within > .concept-switcher-toggle,
  .concept-switcher.open > .concept-switcher-toggle {
    width: 154px;
    height: 46px;
  }

  .concept-switcher-label {
    font-size: 8px;
  }

  .concept-menu {
    bottom: 54px;
    max-height: calc(100svh - 78px);
    border-radius: 16px;
  }

  .concept-menu a,
  .concept-menu .concept-tour {
    min-height: 54px;
    padding-block: 10px;
  }

  .announcement-strip {
    right: 8px;
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 56px);
    left: 8px;
    max-width: none;
    grid-template-columns: auto minmax(0, 1fr) 36px;
    gap: 9px;
    padding: 9px 10px;
    border-radius: 12px;
  }

  .announcement-strip b {
    max-width: 70px;
    font-size: 8px;
  }

  .announcement-strip span {
    display: -webkit-box;
    overflow: hidden;
    font-size: 10px;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .story-reviews header .demo-data-label {
    margin-bottom: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .skip-link,
  .concept-switcher *,
  .announcement-strip {
    transition: none !important;
    animation: none !important;
  }
}

/* September direction: independent compositions, quiet surfaces, usable controls. */
body main { overflow-wrap: break-word; }
main :where(section, article, figure, form, label, input, select, textarea) { min-width: 0; }
input, select, textarea { box-sizing: border-box; max-width: 100%; width: 100%; font-size: 16px; }
form label { display: block; }
:where(.c-order,.f-cart,.b-book,.k-bag,.s-book,.w-header>a:last-child,.q-header>a:last-child,.reviews-more,.location-contact-actions a,.w-book-card a,.b-contact button,.s-booking>a) { border-radius: 999px; box-shadow: none; }
:where(.c-ticker,.b-punch,.k-ribbon,.b-stamp,.k-sun,.k-dough,.grain,.scroll-progress) { display: none; }
:where(.story-reviews,.review-cards,.review-cards article,.location-copy dl,.location-copy dl div,.depth,.depth article,.c-facts article,.f-card,.b-menu-list article,.k-list article,.w-price-list article) { border: 0; box-shadow: none; }
.story-reviews .review-cards article { border: 0; box-shadow: none; border-radius: 16px; transform: none; }
.story-location .location-map { border: 0; box-shadow: none; border-radius: 20px; }
main h2 { line-height: 1.06; }
main h3 { line-height: 1.2; }
.concept-menu::before { content: 'Демо-витрина · 8 направлений'; }
#app > header { border: 0; }
.site-menu-toggle { display: none; }

/* Маяк — coffee journal: generous paper margins and a portrait photograph. */
.theme-coffee { --accent: #a74425; color: #342b25; background: #faf6ef; }
.theme-coffee .c-header { position: relative; color: #342b25; background: #faf6ef; }
.theme-coffee .c-order { color: #fff; background: #79422e; }
.theme-coffee .c-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 5vw; min-height: 0; padding: 42px 5vw 80px; background: #faf6ef; }
.theme-coffee .c-hero-copy { width: auto; min-height: 620px; padding: 30px 0; color: #342b25; background: none; backdrop-filter: none; justify-content: center; }
.theme-coffee .c-hero h1 { font-size: clamp(54px,6.5vw,102px); line-height: 1.02; letter-spacing: -.055em; }
.theme-coffee .c-hero-photo { position: relative; inset: auto; min-height: 620px; border-radius: 46% 46% 12px 12px; }
.theme-coffee .c-hero-photo::after { display: none; }
.theme-coffee .c-hero-photo figcaption { color: white; background: #342b25d9; border-radius: 12px; padding: 14px; }
.theme-coffee .c-bean-card { display: none; }
.theme-coffee :is(.c-story,.coffee-orbit,.orbit-stage,.orbit-copy,.depth-coffee) { color: #faf6ef; background: #344638; border: 0; }
.theme-coffee .orbit-stage button { border-color: #ffffff25; }
.theme-coffee .c-product figure { border-radius: 12px; }
.theme-coffee .c-menu-grid { gap: 40px 24px; }
.theme-coffee .c-product { border: 0; }
.theme-coffee .reviews-coffee .review-cards article { color: #342b25; background: #eee6d8; }
.theme-coffee .c-footer { color: #faf6ef; background: #344638; }

/* Линия — botanical editorial with a restrained blush / plum palette. */
.theme-flowers { --accent: #78485e; background: #fffaf5; color: #432a35; }
.theme-flowers .f-hero { min-height: 88svh; }
.theme-flowers .f-hero-title h1 { font-size: clamp(52px,7vw,108px); line-height: 1.08; max-width: 1050px; }
.theme-flowers .f-grid { gap: 60px 32px; }
.theme-flowers .f-card:nth-child(even) { margin-top: 60px; }
.theme-flowers .f-card figure { border-radius: 48% 48% 6px 6px; }
.theme-flowers .f-custom,.theme-flowers .reviews-flowers { background: #eee2e5; color: #432a35; }
.theme-flowers .f-film figure { border: 0; }

/* Цех 8 — full-bleed evening photography and a warm, readable menu. */
.theme-bistro { --accent: #b94e32; color: #302922; background: #f3eee5; }
.theme-bistro .b-header { background: #211e1b; color: #fff5e8; }
.theme-bistro .b-book { background: #ebc499; color: #211e1b; }
.theme-bistro .b-hero h1 { font-size: clamp(65px,9vw,138px); line-height: .98; max-width: 900px; }
.theme-bistro .b-hero-type>div { background: transparent; color: #fff5e8; }
.theme-bistro .b-hero-photo::after { background: linear-gradient(90deg,#17100fc9, #17100f18),linear-gradient(0deg,#17100f8f,transparent); }
.theme-bistro .b-menu { color: #302922; background: #f3eee5; }
.theme-bistro .b-menu-list article { padding-block: 25px; }
.theme-bistro .b-menu-list article>span { display: none; }
.theme-bistro .b-menu-list article { grid-template-columns: minmax(0,1fr) auto; }
.theme-bistro .b-menu-note { border: 0; border-radius: 16px; background: #e8dfd1; }
.theme-bistro :is(.b-events,.reviews-bistro,.depth-bistro) { color: #f3eee5; background: #49362c; }
.theme-bistro .reviews-bistro article { color: #302922; background: #f3eee5; }
.theme-bistro .b-contact { background: #e8dfd1; color: #302922; }
.theme-bistro .b-contact h2 { font-size: clamp(32px,4vw,64px); }
.theme-bistro .b-contact input,.theme-bistro .b-contact select { border: 1px solid #9b8c7f; border-radius: 10px; background: #fffaf2; color: #302922; padding: 14px; }
.theme-bistro .b-contact button { background: #49362c; color: #fff; }

/* Корка — cream and baked red, a photo diptych instead of stacked stickers. */
.theme-bakery { --accent: #963d2c; background: #fff8e9; color: #572c20; }
.theme-bakery .k-header { background: #fff8e9; color: #572c20; }
.theme-bakery .k-bag { background: #963d2c; color: #fff8e9; }
.theme-bakery .k-hero { display: grid; grid-template-columns: 1.05fr 1fr; gap: 40px; padding: 120px 5vw 70px; min-height: 780px; background: #f3e7ce; }
.theme-bakery .k-hero-copy { width: auto; min-height: 0; padding: 40px 0; }
.theme-bakery .k-hero h1 { font-size: clamp(48px,6vw,90px); line-height: 1.1; }
.theme-bakery .k-window { position: relative; inset: auto; width: auto; transform: none; opacity: 1; }
.theme-bakery .k-window figure { height: 540px; min-height: 0; border: 0; border-radius: 180px 180px 18px 18px; transform: none; box-shadow: none; }
.theme-bakery .k-window p { color: #572c20; background: transparent; padding: 20px 0; }
.theme-bakery :is(.k-poster,.depth-bakery,.reviews-bakery) { color: #fff8e9; background: #963d2c; }
.theme-bakery .reviews-bakery .review-cards article { color: #572c20; background: #f3e7ce; }
.theme-bakery .k-list article { border-bottom: 1px solid #572c2020; }
.theme-bakery .location-bakery { background: #f3e7ce; }

/* Тише — sage, spacious type and a central arched treatment photograph. */
.theme-studio { --accent: #486351; color: #304438; background: #f6f7f0; }
.theme-studio .s-header { color: #304438; background: #f6f7f0; }
.theme-studio .s-book { color: #fff; background: #486351; }
.theme-studio .s-hero { background: #edf0e5; }
.theme-studio .s-hero-photo { width: 38vw; left: 55%; top: 18%; box-shadow: none; border-radius: 50% 50% 40% 40%; }
.theme-studio .s-hero h1 { max-width: 53%; font-size: clamp(58px,7vw,108px); line-height: 1.05; }
.theme-studio .s-whisper { top: auto; bottom: 5%; }
.theme-studio :is(.s-intro,.s-rituals,.reviews-studio,.depth-studio) { background: #edf0e5; color: #304438; }
.theme-studio .s-ritual-list article.is-active { background: #dfe6d8; color: #304438; }
.theme-studio :is(.s-booking,.s-space) { background: #304438; color: #f6f7f0; }
.theme-studio .s-booking>a { color: #304438; background: #f6f7f0; padding: 20px 28px; }

/* Громче — midnight / rose, rounded room cards and a cinematic stage. */
.theme-karaoke { --accent: #ff8fb6; }
.theme-karaoke .q-hero h1 { font-size: clamp(70px,12vw,184px); line-height: 1; }
.theme-karaoke .q-hero a { color: #ffb8d0; }
.theme-karaoke .room-deck article { border: 0; border-radius: 28px; background: #25182e; }
.theme-karaoke .q-menu-list article { border-color: #ffffff20; }

/* Крути — practical split cover, legible prices, fewer industrial decorations. */
.theme-workshop { --accent: #d8ff35; }
.theme-workshop .w-hero { display: grid; grid-template-columns: 1.15fr 1fr; gap: 4vw; min-height: 740px; padding: 115px 5vw 60px; }
.theme-workshop .w-hero>div { min-height: 0; padding: 35px 0; justify-content: center; }
.theme-workshop .w-hero h1 { font-size: clamp(52px,5.9vw,92px); line-height: 1.08; }
.theme-workshop .w-hero figure { position: relative; inset: auto; width: auto; height: 550px; opacity: 1; clip-path: none; border: 0; border-radius: 24px; }
.theme-workshop .w-hero figure::after { display: none; }
.theme-workshop .w-hero>div>a { border-radius: 999px; align-self: flex-start; }
.theme-workshop .w-status { border: 0; }
.theme-workshop .w-book-card { border: 0; border-radius: 24px; }

@media (max-width: 900px) {
  #app > header { display: flex; align-items: center; gap: 14px; padding: 18px 20px; min-height: 76px; flex-wrap: wrap; }
  #app > header > nav { display: none; order: 4; width: 100%; }
  #app > header.nav-open > nav { display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 14px 0; }
  #app > header.nav-open > nav a { padding: 14px 8px; font-size: 16px; }
  #app > header > a:last-of-type { margin-left: auto; font-size: 11px; padding: 12px 16px; }
  .site-menu-toggle { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 14px; border: 1px solid currentColor; border-radius: 999px; background: transparent; font: inherit; font-size: 13px; }
  .theme-coffee .c-hero-copy { min-height: 500px; }
  .theme-coffee .c-hero-photo { min-height: 500px; }
  .theme-bistro .b-hero-type>div { position: static; margin-top: 30px; }
  .theme-studio .s-rituals header { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 680px) {
  #app > header { position: relative; inset: auto; }
  .theme-coffee .c-hero,.theme-bakery .k-hero,.theme-workshop .w-hero { display: flex; flex-direction: column; padding: 24px 20px 48px; gap: 24px; min-height: 0; }
  .theme-coffee .c-hero-copy,.theme-bakery .k-hero-copy,.theme-workshop .w-hero>div { width: 100%; min-height: 0; padding: 16px 0; }
  .theme-coffee .c-hero h1,.theme-bakery .k-hero h1,.theme-workshop .w-hero h1 { font-size: clamp(40px,11vw,68px); line-height: 1.1; }
  .theme-coffee .c-hero-photo { min-height: 380px; width: 100%; }
  .theme-coffee .c-hero-bottom { margin-top: 28px; }
  .theme-bakery .k-window { width: 100%; padding: 0; }
  .theme-bakery .k-window figure { height: 400px; }
  .theme-workshop .w-hero figure { width: 100%; height: 380px; }
  .theme-bistro .b-hero { padding-top: 0; min-height: 680px; }
  .theme-bistro .b-hero-photo { inset: 0; }
  .theme-bistro .b-hero-type { min-height: 680px; padding: 90px 20px 40px; }
  .theme-bistro .b-hero h1 { font-size: clamp(52px,14vw,78px); }
  .theme-flowers .f-hero-title h1 { font-size: clamp(43px,11vw,64px); }
  .theme-flowers .f-card:nth-child(even) { margin-top: 0; }
  .theme-studio .s-hero { min-height: 0; display: flex; flex-direction: column; padding: 30px 20px 45px; gap: 28px; }
  .theme-studio .s-hero-copy { padding: 0; min-height: 0; }
  .theme-studio .s-hero h1 { max-width: 100%; font-size: 58px; }
  .theme-studio .s-hero-photo { position: relative; inset: auto; transform: none; width: 90%; height: 420px; align-self: center; }
  .theme-studio .s-whisper { position: static; order: 3; }
  .theme-studio .s-hero-copy>a { margin-top: 24px; }
  .theme-karaoke .q-hero { padding-top: 0; }
  .theme-karaoke .q-hero figure { inset: 0; }
  .theme-karaoke .q-hero h1 { font-size: clamp(56px,16vw,86px); }
  .b-contact form>div { display: grid; grid-template-columns: minmax(0,1fr); }
  .theme-coffee .coffee-orbit { grid-template-columns: minmax(0,1fr); }
  .theme-coffee .orbit-copy,.theme-coffee .orbit-stage { min-height: 0; padding: 40px 20px; }
  .story-reviews header { flex-wrap: wrap; }
  .story-location h2 { font-size: clamp(36px,10vw,52px); }
}

/* Final contrast and tablet checks. */
.theme-coffee .c-hero h1 em { color: #975136; }
.theme-flowers .f-hero { color: #fff8f2; }
.theme-flowers .f-header { color: #fff8f2; background: #28122c; }
.theme-flowers .f-hero-title p,.theme-flowers .f-scroll { color: #fff8f2; }
.theme-studio .s-hero h1 em { color: #486351; }
.theme-studio .s-whisper { background: transparent; border: 0; box-shadow: none; color: #304438; }
.theme-studio .s-whisper i { background: #738575; }
.theme-studio .s-book,.theme-bistro .b-book,.theme-bakery .k-bag { border-radius: 999px; box-shadow: none; }
.theme-bakery .k-dough,.theme-bakery .k-sun { display: none; }
.theme-bakery .k-window figure { border-radius: 16px; }
.theme-bakery .k-hero-note { border: 0; }
.theme-bakery .k-list { border-top: 0; }
.theme-workshop .w-header { display: flex; gap: 32px; justify-content: space-between; }
.theme-workshop .w-header nav { margin-left: auto; }
.theme-workshop .w-header > a:last-of-type { padding: 13px 22px; background: #171717; color: #d8ff35; border-radius: 999px; font-size: 12px; }
.theme-workshop .w-logo span { color: #4b6122; }
.theme-workshop .w-status span,.theme-workshop .w-book-card>* { border: 0; }
.theme-workshop .w-price-list { border-top: 0; }
.theme-workshop .w-price-list b { background: transparent; }
.theme-workshop .reviews-workshop { background: #263227; }
.theme-workshop .w-book-card { overflow: hidden; }
.theme-workshop .w-book-card a { border-radius: 0; }
.theme-workshop .w-book-card>a:hover { background: #e1e5d9; }
.theme-flowers .f-custom { grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); }
.theme-bistro .b-events { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.announcement-strip { position: relative; inset: auto; margin: 0; max-width: none; width: 100%; border: 0; border-radius: 0; box-shadow: none; padding: 20px 5vw; grid-template-columns: auto minmax(0,1fr) 36px; }
.announcement-strip span { font-size: 13px; }
@media (max-width: 1000px) {
 .theme-flowers .f-section-title { grid-template-columns: minmax(0,1fr); gap: 18px; }
 .theme-flowers .f-section-title p { max-width: 100%; width: auto; }
 .theme-bakery .story-reviews header { display: block; }
 .theme-bakery .story-reviews h2 { font-size: clamp(38px,6vw,68px); }
}
@media (max-width: 680px) {
 .theme-flowers .f-custom,.theme-bistro .b-events { grid-template-columns: minmax(0,1fr); }
 .announcement-strip { inset: auto; max-width: 100%; border-radius: 0; padding: 18px 20px; }
 .announcement-strip span { display: block; }
}
/* Content modules retain comfortable leading and quiet actions. */
.theme-bistro .b-events h2,.theme-flowers .f-custom h2 { line-height: 1.06; }
.theme-bistro .b-tiles figure,.theme-bistro .b-events,.theme-bistro .b-events figure { border: 0; }
.theme-bistro .b-tiles figure { border-radius: 12px; }
.theme-bistro .b-events a,.depth> a,.depth aside a,.s-service-preview a { border-radius: 999px; }
.theme-bistro .b-events>div,.theme-flowers .f-custom>div { transform: none !important; }

/* Palette review: retain each brand, assign the accent to the next action. */
.theme-bistro { --accent: #ff3b18; color: #121212; background: #d9ddd7; }
.theme-bistro .b-header { color: #fff; background: #121212; }
.theme-bistro .b-book { color: #121212; background: #ff3b18; font-weight: 700; }
.theme-bistro .b-hero h1 span { color: #121212; background: #ff3b18; }
.theme-bistro .b-menu { color: #121212; background: #d9ddd7; }
.theme-bistro .b-menu h2 { max-width: 640px; }
.theme-bistro .b-menu-list b { color: #121212; font-size: 25px; }
.theme-bistro .b-menu-note { color: #121212; background: #c9cec7; }
.theme-bistro :is(.b-events,.reviews-bistro) { color: #121212; background: #ff3b18; }
.theme-bistro .reviews-bistro article { color: #121212; background: #d9ddd7; }
.theme-bistro .depth-bistro { background: #121212; color: #fff; }
.theme-bistro .b-contact { background: #d9ddd7; color: #121212; }
.theme-bistro .b-contact input,.theme-bistro .b-contact select { color: #121212; background: #f5f6f2; border-color: #788076; }
.theme-bistro .b-contact button { background: #ff3b18; color: #121212; font-weight: 700; }
.theme-bistro .b-hero-actions { position: static; display: flex; flex-wrap: wrap; gap: 12px; align-self: flex-start; margin-top: 24px; padding: 0; border: 0; }
.theme-bistro .b-hero-actions a { display: inline-flex; padding: 16px 24px; border-radius: 999px; background: #ff3b18; color: #121212; font: 700 14px/1.3 'Manrope',sans-serif; text-transform: none; }
.theme-bistro .b-hero-actions a:last-child { color: #fff; background: #121212; }
.theme-bistro .b-hero-type>div:not(.b-hero-actions) { border: 0; }
.theme-coffee { --accent: #153bd1; color: #101d48; background: #faf6ef; }
.theme-coffee .c-header,.theme-coffee .c-hero-copy { color: #101d48; }
.theme-coffee .c-hero h1 em { color: #153bd1; }
.theme-coffee .c-order { color: #fff; background: #153bd1; }
.theme-coffee .c-hero-bottom { flex-wrap: wrap; gap: 24px; }
.theme-coffee .c-hero-bottom>a { min-height: 50px; padding: 17px 24px; border: 0; border-radius: 999px; color: #fff; background: #153bd1; font-size: 13px; }
.theme-coffee :is(.c-story,.coffee-orbit,.orbit-stage,.orbit-copy,.depth-coffee,.c-footer) { background: #101d48; color: #faf6ef; }
.theme-coffee .orbit-stage button.active { color: #101d48; background: #f2c568; border-radius: 12px; padding-inline: 16px; }
.theme-coffee .c-product b { color: #153bd1; font-size: 20px; }
.theme-coffee .c-facts strong { color: #153bd1; }
.theme-flowers .f-scroll { padding: 16px 24px; border: 0; border-radius: 999px; color: #28122c; background: #f5dce6; font: 600 13px/1.3 'Manrope',sans-serif; }
.theme-flowers .f-card b { color: #70324d; font-weight: 700; }
.theme-flowers .f-cart { color: #28122c; background: #f5dce6; }
.theme-bakery .k-hero-note b { color: #963d2c; font-size: 18px; }
.theme-bakery .k-batch-link { align-self: flex-start; margin-top: 26px; padding: 16px 24px; border-radius: 12px; color: #fff8e9; background: #963d2c; font: 700 14px/1.3 'Manrope',sans-serif; }
.theme-bakery .k-list strong { color: #963d2c; }
.theme-studio .s-hero-copy>a { border: 0; padding: 16px 24px; border-radius: 999px; background: #486351; color: #fff; font: 500 14px/1.3 'Manrope',sans-serif; }
.theme-studio .s-ritual-list strong { color: #304438; font-size: 21px; }
.theme-karaoke .q-hero>div>a { border: 0; padding: 17px 25px; border-radius: 999px; color: #090716; background: #ff8fb6; font-weight: 700; font-size: 13px; }
.theme-karaoke .q-header>a:last-of-type { color: #090716; background: #ff8fb6; }
.theme-workshop .w-price-list b { color: #111; background: #d8ff35; border-radius: 8px; }
.location-copy dd { font-weight: 600; }
@media(max-width:680px) {
 .theme-bistro .b-hero-actions { margin-top: 20px; }
 .theme-bistro .b-hero-actions a { padding: 15px 18px; font-size: 12px; }
 .theme-flowers .f-scroll { right: 20px; bottom: 28px; }
}
/* Keep primary actions readable at every breakpoint. */
.theme-coffee .c-hero-bottom>a { display: inline-flex; align-items: center; justify-content: space-between; gap: 22px; width: auto; min-width: 170px; flex-shrink: 0; white-space: nowrap; }
.theme-coffee .c-hero-bottom>p { flex: 1 1 270px; }
.theme-bistro .b-hero-type>div:not(.b-hero-actions) { gap: 14px; flex-wrap: wrap; }
@media(max-width:680px) {
 .theme-bistro .b-hero-photo figcaption { display: none; }
 .theme-bistro .b-hero-actions { padding: 0; margin-inline: 0; }
}

/* Contain the cinematic image: scaling its frame exposed the old split-layout border. */
.theme-bistro .b-hero{position:relative;overflow:hidden;isolation:isolate;border:0}
.theme-bistro .b-hero-photo{border:0;transform:none;will-change:auto;height:auto;min-height:0;margin:0}
.theme-bistro .b-hero-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.03)}
.theme-bistro .b-hero-actions{z-index:3}
