/* v51 — three rebuilt design worlds and a shared mobile typography guard.
   Technical template ids remain stable so saved tenant settings keep working:
   editorial = Sahra, gallery = Linen, atelier = Ember. */

html { overflow-x: hidden; }
body, .app { width: 100%; max-width: 100%; overflow-x: clip; }

/* Grid/flex descendants are allowed to shrink. Text wraps only between words;
   an unbroken title is scaled by the renderer instead of split mid-word. */
:where(.app) :where(main, header, nav, section, article, div, span, button, a, label) {
  min-width: 0;
}
:where(.app) :where(h1, h2, h3, h4, strong, p, small, button, a, label, .tab-label) {
  max-width: 100%;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: none;
}
:where(.app) :where(h1, h2, h3, h4, .section-title, .venue-name) {
  text-wrap: balance;
}
.mix-of-day h3,
.menu-item-copy h3,
.news-card h3,
.home-feature-copy strong {
  overflow-wrap: normal;
  word-break: keep-all;
}
.mix-of-day h3.is-single-word {
  width: max-content;
  max-width: 100%;
  white-space: nowrap;
  font-size: var(--single-word-size, 22px);
}
.menu-item-copy,
.news-card > div,
.home-feature-copy,
.loyalty-copy,
.profile-bill-card > div,
.notification-row > div { min-width: 0; }
.menu-item-copy p,
.news-card p,
.profile-bill-card p { overflow-wrap: break-word; }
.button,
.chip,
.tab,
.service-quick { line-height: 1.15; }

/* A wide photo no longer steals the title column. */
.mix-of-day {
  grid-template-columns: minmax(0, 58%) minmax(0, 42%);
}
.mix-of-day > div { overflow: hidden; padding-right: 14px; }
.mix-of-day h3 { font-size: clamp(21px, 6.8vw, 29px); }

@media (max-width: 390px) {
  .mix-of-day,
  .home-screen .mix-of-day,
  .plan-start.home-screen > .mix-of-day {
    grid-template-columns: 1fr;
  }
  .mix-of-day > div,
  .home-screen .mix-of-day > div,
  .plan-start .mix-of-day > div { order: 2; padding: 18px; }
  .mix-of-day img,
  .home-screen .mix-of-day img,
  .plan-start .mix-of-day img {
    order: 1;
    min-height: 0;
    aspect-ratio: 16 / 9;
  }
  .mix-of-day h3,
  .home-screen .mix-of-day h3,
  .plan-start .mix-of-day h3 { font-size: 25px; }
  .mix-of-day h3.is-single-word { font-size: min(25px, var(--single-word-size, 25px)); }
  .service-quick strong { overflow-wrap: normal; font-size: 8px; }
  .hero-copy h2 { overflow-wrap: normal; font-size: clamp(29px, 9.5vw, 36px); }
}

/* ---------------------------------------------------------------------
   SAHRA (editorial id) — light parchment, walnut ink and aged brass.
   There are no neon glows; depth comes from paper, rules and quiet shadows. */
:root[data-design-template="editorial"] {
  --bg: #eee2cb;
  --surface: #f8efd9;
  --surface-2: #e4d3b5;
  --panel: #fbf4e4;
  --ink: #2d241b;
  --text: #2d241b;
  --muted: #776957;
  --line: #c9b48f;
  --border: #c9b48f;
  --brand: #6f3d2b !important;
  --brand-ink: #fff8e9 !important;
  --ember: #a87732 !important;
  --danger: #9f453e;
  --line-gold: rgba(125, 87, 40, .28);
  color-scheme: light;
}
:root[data-design-template="editorial"] body { background: #cbbd9f; }
:root[data-design-template="editorial"] .app {
  background:
    radial-gradient(circle at 20% 5%, rgba(255,255,255,.52), transparent 29%),
    repeating-linear-gradient(0deg, rgba(88,62,36,.018) 0 1px, transparent 1px 4px),
    var(--bg);
  box-shadow: 0 0 52px rgba(58, 43, 27, .2);
}
:root[data-design-template="editorial"] .top-home,
:root[data-design-template="editorial"] .top-home:has(.hero-booking-cta) {
  height: 426px;
  margin: 12px 12px 0;
  border: 1px solid #bca57e;
  border-radius: 4px 4px 28px 4px;
  background: #2f241b;
  box-shadow: 0 20px 36px rgba(63, 44, 25, .18);
}
:root[data-design-template="editorial"] .top-home::before {
  position: absolute;
  inset: 8px;
  z-index: 1;
  border: 1px solid rgba(246, 225, 184, .4);
  border-radius: 1px 1px 20px 1px;
  content: "";
  pointer-events: none;
}
:root[data-design-template="editorial"] .top-home .hero-backdrop {
  inset: 0;
  width: 100%;
  height: 100%;
  object-position: center;
  filter: saturate(.72) sepia(.13) contrast(1.04);
}
:root[data-design-template="editorial"] .top-home::after {
  background:
    linear-gradient(90deg, rgba(38,28,18,.87), rgba(38,28,18,.32) 72%),
    linear-gradient(180deg, rgba(33,23,15,.08), transparent 46%, rgba(33,23,15,.62));
}
:root[data-design-template="editorial"] .top-home .top-row { padding: 17px 18px; }
:root[data-design-template="editorial"] .top-home .venue-name,
:root[data-design-template="editorial"] .top-home .venue-sub { color: #fff5df; text-shadow: none; }
:root[data-design-template="editorial"] .top-home .venue-sub { color: rgba(255,245,223,.72); }
:root[data-design-template="editorial"] .top-home .venue-mark,
:root[data-design-template="editorial"] .top-home .profile-button,
:root[data-design-template="editorial"] .top-home .notification-button {
  color: #fff5df;
  border-color: rgba(237,210,159,.58);
  border-radius: 3px;
  background: rgba(46,31,20,.56);
  box-shadow: none;
  backdrop-filter: blur(8px);
}
:root[data-design-template="editorial"] .hero-copy {
  right: 23px !important;
  bottom: 25px !important;
  left: 23px;
  color: #fff5df;
}
:root[data-design-template="editorial"] .hero-copy::before {
  width: 38px;
  height: 1px;
  margin-bottom: 10px;
  background: #cfa85d;
}
:root[data-design-template="editorial"] .hero-copy .hero-eyebrow {
  color: #d9b66f;
  font: 700 9px/1.2 var(--font-body);
  letter-spacing: .15em;
}
:root[data-design-template="editorial"] .hero-copy h2 {
  max-width: 310px;
  color: #fff7e8;
  font: 400 38px/.95 Georgia, serif;
  text-shadow: none;
}
:root[data-design-template="editorial"] .hero-copy > p:last-of-type { max-width: 295px; color: rgba(255,247,232,.75); text-shadow: none; }
:root[data-design-template="editorial"] .hero-booking-cta {
  width: min(100%, 250px);
  min-height: 47px;
  border: 1px solid #d2ac68;
  border-radius: 2px;
  color: #fff8e9;
  background: rgba(83,47,31,.92);
  box-shadow: none;
}
:root[data-design-template="editorial"] .top-compact {
  border-bottom: 1px solid var(--line);
  background: rgba(248,239,217,.96);
}
:root[data-design-template="editorial"] .top-compact :where(.venue-name,.venue-sub,.profile-button,.notification-button) { color: var(--ink); text-shadow: none; }
:root[data-design-template="editorial"] .top-compact :where(.venue-mark,.profile-button,.notification-button) { border-color: var(--line); border-radius: 2px; background: var(--panel); }
:root[data-design-template="editorial"] .screen { padding-inline: 18px; }
:root[data-design-template="editorial"] .home-screen > section { margin-top: 28px; }
:root[data-design-template="editorial"] :where(.section-headline h2,.content-intro h2,.service-hub-head h2,.mix-of-day h3,.news-card h3) {
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
}
:root[data-design-template="editorial"] .section-headline { padding-bottom: 9px; border-bottom: 1px solid #bda77e; }
:root[data-design-template="editorial"] .section-headline::before { width: 18px; height: 1px; background: var(--ember); }
:root[data-design-template="editorial"] .section-headline h2 { font-size: 29px; }
:root[data-design-template="editorial"] :where(.home-feature-story,.mix-of-day,.loyalty-preview,.news-card,.menu-item,.menu-control-deck,.table-access) {
  border: 1px solid #c9b58f;
  border-radius: 3px 3px 18px 3px;
  box-shadow: 0 9px 19px rgba(73,52,29,.07);
}
:root[data-design-template="editorial"] .home-feature-story { min-height: 338px; }
:root[data-design-template="editorial"] .home-feature-copy strong { font: 400 31px/.98 Georgia, serif; }
:root[data-design-template="editorial"] .home-service-hub { padding-block: 15px; border-block: 1px solid #c9b58f; }
:root[data-design-template="editorial"] .service-quick-rail { gap: 7px; }
:root[data-design-template="editorial"] .service-quick {
  min-height: 94px;
  padding: 10px 4px;
  border: 1px solid #ccb894;
  border-radius: 2px 2px 12px 2px;
  color: var(--ink);
  background: rgba(251,244,228,.74);
  box-shadow: none;
}
:root[data-design-template="editorial"] .service-quick::before,
:root[data-design-template="editorial"] .service-quick::after { display: none; }
:root[data-design-template="editorial"] .service-quick span { width: 39px; height: 39px; color: var(--brand); border-radius: 50%; background: rgba(111,61,43,.07); }
:root[data-design-template="editorial"] .service-quick strong { color: var(--ink); font-size: 8px; text-align: center; text-transform: none; }
:root[data-design-template="editorial"] .service-quick.is-primary { border-color: var(--brand); color: #fff8e9; background: var(--brand); }
:root[data-design-template="editorial"] .service-quick.is-primary :where(span,strong) { color: #fff8e9; }
:root[data-design-template="editorial"] .popular-strip img { border-radius: 2px 2px 15px 2px; filter: saturate(.78) sepia(.08); box-shadow: none; }
:root[data-design-template="editorial"] .news-card,
:root[data-design-template="editorial"] .menu-product-list .menu-item { background: rgba(251,244,228,.82); }
:root[data-design-template="editorial"] .loyalty-preview { color: #fff4df; background: linear-gradient(135deg,#6d3e2e,#38271f); }
:root[data-design-template="editorial"] .loyalty-preview :where(small,span) { color: rgba(255,244,223,.7); }
:root[data-design-template="editorial"] .menu-control-deck { padding: 10px; background: rgba(251,244,228,.72); }
:root[data-design-template="editorial"] .search-box { border: 0; border-bottom: 1px solid #bda77e; border-radius: 0; background: transparent; }
:root[data-design-template="editorial"] .menu-category-rail .chip { border: 1px solid #c9b58f; border-radius: 2px; color: var(--muted); background: #f8efd9; }
:root[data-design-template="editorial"] .menu-category-rail .chip::after { display: none; }
:root[data-design-template="editorial"] .menu-category-rail .chip.on { border-color: var(--brand); color: #fff8e9; background: var(--brand); }
:root[data-design-template="editorial"] .menu-category-rail .chip.on i { color: #d8b56e; }
:root[data-design-template="editorial"] .tabs {
  right: 10px;
  bottom: 8px;
  left: 10px;
  border: 1px solid #bfa983;
  border-radius: 3px 3px 20px 3px;
  background: rgba(250,242,224,.97);
  box-shadow: 0 12px 28px rgba(73,52,29,.14);
}
:root[data-design-template="editorial"] .tab.on { color: var(--brand); }
:root[data-design-template="editorial"] .app-icon { filter: none; stroke-linecap: round; }

/* ---------------------------------------------------------------------
   LINEN (gallery id) — a second light world: limewash, sage and terracotta.
   It is image-led, but calm and readable rather than a dark tile gallery. */
:root[data-design-template="gallery"] {
  --bg: #f0eee6;
  --surface: #faf9f4;
  --surface-2: #e3e6dc;
  --panel: #fffef9;
  --ink: #24302b;
  --text: #24302b;
  --muted: #6f7a73;
  --line: #c9d0c6;
  --border: #c9d0c6;
  --brand: #496d5b !important;
  --brand-ink: #fafff9 !important;
  --ember: #b96848 !important;
  --danger: #a84c45;
  --line-gold: rgba(73,109,91,.24);
  color-scheme: light;
}
:root[data-design-template="gallery"] body { background: #d8dbd1; }
:root[data-design-template="gallery"] .app {
  background:
    radial-gradient(circle at 90% 7%, rgba(185,104,72,.08), transparent 24%),
    linear-gradient(100deg, transparent 0 96%, rgba(73,109,91,.035) 96%),
    var(--bg);
  box-shadow: 0 0 50px rgba(52,68,59,.15);
}
:root[data-design-template="gallery"] .top-home,
:root[data-design-template="gallery"] .top-home:has(.hero-booking-cta) {
  height: 408px;
  margin: 14px 14px 0;
  border: 0;
  border-radius: 30px 30px 8px 30px;
  box-shadow: 0 19px 38px rgba(53,69,60,.16);
}
:root[data-design-template="gallery"] .top-home::after {
  background:
    linear-gradient(90deg, rgba(23,37,31,.77), rgba(23,37,31,.1) 78%),
    linear-gradient(180deg, transparent 50%, rgba(23,37,31,.62));
}
:root[data-design-template="gallery"] .top-row { padding-inline: 16px; }
:root[data-design-template="gallery"] :where(.venue-mark,.profile-button,.notification-button) { border-color: rgba(255,255,255,.5); border-radius: 50%; background: rgba(34,48,42,.34); box-shadow: none; }
:root[data-design-template="gallery"] .hero-copy { right: 22px !important; bottom: 22px !important; left: 22px; }
:root[data-design-template="gallery"] .hero-copy .hero-eyebrow { color: #e6b092; letter-spacing: .14em; }
:root[data-design-template="gallery"] .hero-copy h2 { max-width: 315px; font: 520 37px/.96 var(--font-display); text-shadow: 0 2px 15px rgba(0,0,0,.3); }
:root[data-design-template="gallery"] .hero-booking-cta { min-height: 46px; border: 0; border-radius: 999px; color: #fff; background: #496d5b; box-shadow: 0 9px 22px rgba(29,50,39,.2); }
:root[data-design-template="gallery"] .top-compact { border-color: var(--line); background: rgba(240,238,230,.95); }
:root[data-design-template="gallery"] .top-compact :where(.venue-name,.venue-sub,.profile-button,.notification-button) { color: var(--ink); text-shadow: none; }
:root[data-design-template="gallery"] .top-compact :where(.venue-mark,.profile-button,.notification-button) { border-color: var(--line); background: var(--panel); }
:root[data-design-template="gallery"] .screen { padding-inline: 16px; }
:root[data-design-template="gallery"] .home-screen > section { margin-top: 24px; }
:root[data-design-template="gallery"] :where(.section-headline h2,.content-intro h2,.service-hub-head h2) { color: var(--ink); font-weight: 630; letter-spacing: -.02em; }
:root[data-design-template="gallery"] .content-kicker { color: var(--ember); }
:root[data-design-template="gallery"] :where(.home-feature-story,.mix-of-day,.loyalty-preview,.news-card,.menu-item,.menu-control-deck,.table-access) {
  border: 1px solid #cad1c7;
  border-radius: 22px 22px 7px 22px;
  box-shadow: 0 10px 24px rgba(52,68,59,.07);
}
:root[data-design-template="gallery"] .home-feature-story { min-height: 325px; }
:root[data-design-template="gallery"] .home-feature-copy { padding: 130px 19px 19px; }
:root[data-design-template="gallery"] .home-feature-copy :where(small,b) { color: #f0b08f; }
:root[data-design-template="gallery"] .home-feature-copy strong { font-size: 29px; }
:root[data-design-template="gallery"] .home-service-hub { margin-inline: 0; }
:root[data-design-template="gallery"] .service-quick-rail { gap: 7px; }
:root[data-design-template="gallery"] .service-quick {
  min-height: 96px;
  padding: 10px 4px;
  border: 1px solid #cbd2c8;
  border-radius: 18px 18px 6px 18px;
  color: var(--ink);
  background: rgba(255,254,249,.8);
  box-shadow: none;
}
:root[data-design-template="gallery"] .service-quick::after { right: 50%; bottom: 7px; width: 12px; height: 2px; border-radius: 2px; transform: translateX(50%); background: var(--ember); }
:root[data-design-template="gallery"] .service-quick span { width: 40px; height: 40px; border-radius: 50%; color: var(--brand); background: #e5ebe6; }
:root[data-design-template="gallery"] .service-quick strong { color: var(--ink); font-size: 8px; }
:root[data-design-template="gallery"] .service-quick.is-primary { border-color: var(--brand); color: #fff; background: var(--brand); }
:root[data-design-template="gallery"] .service-quick.is-primary :where(span,strong) { color: #fff; }
:root[data-design-template="gallery"] .popular-strip {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 130px;
  grid-template-columns: none;
  gap: 12px;
  overflow-x: auto;
}
:root[data-design-template="gallery"] .popular-strip article:first-child { grid-column: auto; }
:root[data-design-template="gallery"] .popular-strip img,
:root[data-design-template="gallery"] .popular-strip article:first-child img { width: 130px; aspect-ratio: .88; border: 0; border-radius: 65px 65px 12px 12px; filter: saturate(.85); }
:root[data-design-template="gallery"] .news-grid,
:root[data-design-template="gallery"] .menu-product-list { display: grid; grid-template-columns: 1fr; gap: 10px; }
:root[data-design-template="gallery"] .news-card,
:root[data-design-template="gallery"] .menu-product-list .menu-item {
  display: grid;
  grid-template-columns: 104px minmax(0,1fr) auto;
  min-height: 118px;
  padding: 8px;
  background: rgba(255,254,249,.86);
}
:root[data-design-template="gallery"] .news-card { grid-template-columns: 106px minmax(0,1fr); }
:root[data-design-template="gallery"] :where(.news-card img,.menu-product-list .menu-item-photo) { width: 100%; height: 100%; min-height: 102px; aspect-ratio: auto; border-radius: 16px 16px 5px 16px; object-fit: cover; }
:root[data-design-template="gallery"] .news-card > div { padding: 8px 9px; }
:root[data-design-template="gallery"] .menu-order-actions { width: auto; }
:root[data-design-template="gallery"] .loyalty-preview { color: #fff; background: linear-gradient(135deg,#597b69,#2f4e40); }
:root[data-design-template="gallery"] .menu-control-deck { padding: 10px; background: rgba(255,254,249,.75); }
:root[data-design-template="gallery"] .search-box { border: 1px solid var(--line); border-radius: 999px; background: #fffef9; }
:root[data-design-template="gallery"] .menu-category-rail .chip { border: 0; border-radius: 999px; color: var(--muted); background: #e3e6dc; }
:root[data-design-template="gallery"] .menu-category-rail .chip::after { display: none; }
:root[data-design-template="gallery"] .menu-category-rail .chip.on { color: #fff; background: var(--brand); }
:root[data-design-template="gallery"] .tabs {
  right: 11px;
  bottom: 9px;
  left: 11px;
  border: 1px solid #c7cec4;
  border-radius: 26px 26px 9px 26px;
  background: rgba(255,254,249,.96);
  box-shadow: 0 13px 30px rgba(52,68,59,.15);
}
:root[data-design-template="gallery"] .tab { color: var(--muted); }
:root[data-design-template="gallery"] .tab.on { color: var(--brand); background: transparent; }
:root[data-design-template="gallery"] .app-icon { filter: none; stroke-width: 1.4; }

/* ---------------------------------------------------------------------
   EMBER (atelier id) — dark charcoal, fired clay and restrained copper. */
:root[data-design-template="atelier"] {
  --bg: #100e0d;
  --surface: #1a1715;
  --surface-2: #27211d;
  --panel: #181513;
  --ink: #f2e8dc;
  --text: #f2e8dc;
  --muted: #aa9b8e;
  --line: #43362e;
  --border: #43362e;
  --brand: #b65f3e !important;
  --brand-ink: #140d09 !important;
  --ember: #d7a65e !important;
  --danger: #dc6d60;
  --line-gold: rgba(215,166,94,.32);
  color-scheme: dark;
}
:root[data-design-template="atelier"] body { background: #050403; }
:root[data-design-template="atelier"] .app {
  background:
    radial-gradient(circle at 85% 4%, rgba(182,95,62,.12), transparent 26%),
    repeating-linear-gradient(115deg, rgba(255,255,255,.012) 0 1px, transparent 1px 8px),
    var(--bg);
  box-shadow: 0 0 58px rgba(0,0,0,.45);
}
:root[data-design-template="atelier"] .top-home,
:root[data-design-template="atelier"] .top-home:has(.hero-booking-cta) {
  height: 432px;
  margin: 10px 10px 0;
  border: 1px solid #594336;
  border-radius: 24px 5px 24px 5px;
  background: #17110e;
  box-shadow: 0 22px 43px rgba(0,0,0,.38);
}
:root[data-design-template="atelier"] .top-home .hero-backdrop { width: 100%; height: 100%; filter: saturate(.74) contrast(1.12) sepia(.12); }
:root[data-design-template="atelier"] .top-home::after {
  background:
    linear-gradient(90deg, rgba(18,12,9,.82), rgba(18,12,9,.2) 72%),
    linear-gradient(180deg, rgba(15,10,8,.12), transparent 44%, rgba(15,10,8,.76));
}
:root[data-design-template="atelier"] .top-home .top-row { padding: 15px; }
:root[data-design-template="atelier"] :where(.venue-mark,.profile-button,.notification-button) { color: #f2e8dc; border-color: rgba(215,166,94,.42); border-radius: 5px; background: rgba(22,16,13,.5); box-shadow: none; }
:root[data-design-template="atelier"] .hero-copy { right: 22px !important; bottom: 23px !important; left: 22px; }
:root[data-design-template="atelier"] .hero-copy .hero-eyebrow { color: #d7a65e; letter-spacing: .16em; }
:root[data-design-template="atelier"] .hero-copy h2 { max-width: 320px; color: #f6ede2; font: 520 37px/.97 var(--font-display); text-shadow: none; }
:root[data-design-template="atelier"] .hero-copy > p:last-of-type { color: rgba(242,232,220,.72); }
:root[data-design-template="atelier"] .hero-booking-cta { width: min(100%, 244px); min-height: 47px; border: 1px solid #b65f3e; border-radius: 5px; color: #f8ece0; background: rgba(93,43,28,.88); box-shadow: none; }
:root[data-design-template="atelier"] .hero-booking-cta svg { color: #d7a65e; }
:root[data-design-template="atelier"] .top-compact { border-color: #43362e; background: rgba(16,14,13,.95); }
:root[data-design-template="atelier"] .screen { padding-inline: 16px; }
:root[data-design-template="atelier"] .home-screen > section { margin-top: 26px; }
:root[data-design-template="atelier"] :where(.section-headline h2,.content-intro h2,.service-hub-head h2) { color: var(--ink); font-weight: 550; letter-spacing: .01em; }
:root[data-design-template="atelier"] .content-kicker { color: #c87955; }
:root[data-design-template="atelier"] :where(.home-feature-story,.mix-of-day,.loyalty-preview,.news-card,.menu-item,.menu-control-deck,.table-access) {
  border: 1px solid #493a31;
  border-radius: 18px 4px 18px 4px;
  background-color: var(--panel);
  box-shadow: 0 14px 30px rgba(0,0,0,.2);
}
:root[data-design-template="atelier"] .home-feature-story { min-height: 336px; }
:root[data-design-template="atelier"] .home-feature-copy { padding: 130px 19px 19px; }
:root[data-design-template="atelier"] .home-feature-copy :where(small,b) { color: #e0aa64; }
:root[data-design-template="atelier"] .home-service-hub { margin-inline: 0; padding: 14px; border: 1px solid #493a31; border-radius: 18px 4px 18px 4px; background: rgba(24,21,19,.78); }
:root[data-design-template="atelier"] .service-quick-rail { gap: 7px; }
:root[data-design-template="atelier"] .service-quick { min-height: 94px; padding: 9px 4px; border: 1px solid #493a31; border-radius: 14px 3px 14px 3px; color: var(--ink); background: #201b18; box-shadow: none; }
:root[data-design-template="atelier"] .service-quick::after { right: 9px; bottom: 8px; width: 12px; background: #b65f3e; }
:root[data-design-template="atelier"] .service-quick span { width: 40px; height: 40px; border-radius: 50%; color: #d7a65e; background: #2b211b; }
:root[data-design-template="atelier"] .service-quick strong { color: #eaded1; font-size: 8px; }
:root[data-design-template="atelier"] .service-quick.is-primary { border-color: #b65f3e; color: #fff; background: #9a4d32; }
:root[data-design-template="atelier"] .service-quick.is-primary :where(span,strong) { color: #fff; }
:root[data-design-template="atelier"] .popular-strip img { border-color: #5b4436; border-radius: 50% 50% 5px 5px; filter: saturate(.83) contrast(1.04); box-shadow: none; }
:root[data-design-template="atelier"] .news-card,
:root[data-design-template="atelier"] .menu-product-list .menu-item { background: #1a1715; }
:root[data-design-template="atelier"] .loyalty-preview { color: #f7ece0; background: linear-gradient(135deg,#7d3e2b,#2a1c16); }
:root[data-design-template="atelier"] .loyalty-preview :where(small,span) { color: rgba(247,236,224,.68); }
:root[data-design-template="atelier"] .menu-control-deck { padding: 10px; background: rgba(26,23,21,.82); }
:root[data-design-template="atelier"] .search-box { border: 1px solid #493a31; border-radius: 5px; background: #211b18; }
:root[data-design-template="atelier"] .menu-category-rail .chip { border: 1px solid #493a31; border-radius: 5px; color: var(--muted); background: #1d1917; }
:root[data-design-template="atelier"] .menu-category-rail .chip::after { display: none; }
:root[data-design-template="atelier"] .menu-category-rail .chip.on { border-color: #b65f3e; color: #fff; background: #9a4d32; }
:root[data-design-template="atelier"] .menu-category-rail .chip.on i { color: #e1ae68; }
:root[data-design-template="atelier"] .menu-add { border-color: #80503b; color: #e6b16d; background: rgba(182,95,62,.1); }
:root[data-design-template="atelier"] .tabs { right: 11px; bottom: 9px; left: 11px; border: 1px solid #4b3a30; border-radius: 22px 5px 22px 5px; background: rgba(25,21,19,.96); box-shadow: 0 16px 34px rgba(0,0,0,.35); }
:root[data-design-template="atelier"] .tab { color: #9e9186; }
:root[data-design-template="atelier"] .tab.on { color: #e2ad67; }
:root[data-design-template="atelier"] .tab.on .tab-icon-shell { border-radius: 50%; background: rgba(182,95,62,.12); }
:root[data-design-template="atelier"] .app-icon { filter: none; stroke-width: 1.35; }

@media (max-width: 360px) {
  :root[data-design-template="editorial"] .top-home,
  :root[data-design-template="editorial"] .top-home:has(.hero-booking-cta),
  :root[data-design-template="gallery"] .top-home,
  :root[data-design-template="gallery"] .top-home:has(.hero-booking-cta),
  :root[data-design-template="atelier"] .top-home,
  :root[data-design-template="atelier"] .top-home:has(.hero-booking-cta) {
    height: 402px;
    margin-inline: 7px;
  }
  :root[data-design-template="editorial"] .screen,
  :root[data-design-template="gallery"] .screen,
  :root[data-design-template="atelier"] .screen { padding-inline: 11px; }
  :root[data-design-template="gallery"] .news-card,
  :root[data-design-template="gallery"] .menu-product-list .menu-item { grid-template-columns: 86px minmax(0,1fr); }
  :root[data-design-template="gallery"] .menu-order-actions { grid-column: 2; width: 100%; flex-direction: row; }
}
