:root {
  --lcdm-bg: #f7f5f1;
  --lcdm-surface: #ffffff;
  --lcdm-surface-2: #fcfbf8;
  --lcdm-text: #1f1b16;
  --lcdm-muted: #6d665d;
  --lcdm-line: #e7dfd4;
  --lcdm-primary: #0d6a70;
  --lcdm-primary-dark: #094b4f;
  --lcdm-accent: #d4a25f;
  --lcdm-radius: 22px;
  --lcdm-shadow: 0 18px 55px rgba(32, 20, 10, 0.08);
}

.lcdm-wrapper {
  color: var(--lcdm-text);
  background: linear-gradient(180deg, #faf8f4 0%, #f4efe8 100%);
  border: 1px solid var(--lcdm-line);
  border-radius: calc(var(--lcdm-radius) + 6px);
  padding: clamp(20px, 4vw, 42px);
  box-shadow: var(--lcdm-shadow);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.lcdm-header { margin-bottom: 28px; }
.lcdm-eyebrow {
  display: inline-block;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(13,106,112,.08);
  color: var(--lcdm-primary);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.lcdm-header h2 {
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.05;
  margin: 14px 0 10px;
}
.lcdm-header p {
  max-width: 720px;
  color: var(--lcdm-muted);
  font-size: 16px;
}

.lcdm-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}

.lcdm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  transition: .2s ease;
}
.lcdm-btn-primary {
  background: var(--lcdm-primary);
  color: #fff;
}
.lcdm-btn-primary:hover { background: var(--lcdm-primary-dark); color: #fff; }
.lcdm-btn-secondary {
  border: 1px solid var(--lcdm-line);
  background: #fff;
  color: var(--lcdm-text);
}

.lcdm-toolbar {
  display: grid;
  gap: 16px;
  margin-bottom: 24px;
}

.lcdm-search {
  width: 100%;
  min-height: 52px;
  border: 1px solid var(--lcdm-line);
  border-radius: 16px;
  padding: 0 16px;
  background: #fff;
}

.lcdm-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.lcdm-filter {
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid var(--lcdm-line);
  border-radius: 999px;
  background: #fff;
  color: var(--lcdm-text);
  cursor: pointer;
  font-weight: 600;
}

.lcdm-filter.is-active,
.lcdm-filter:hover {
  background: var(--lcdm-primary);
  border-color: var(--lcdm-primary);
  color: #fff;
}

.lcdm-grid {
  display: grid;
  gap: 18px;
}

.lcdm-category {
  background: rgba(255,255,255,.9);
  border: 1px solid var(--lcdm-line);
  border-radius: var(--lcdm-radius);
  overflow: hidden;
}

.lcdm-category-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 20px;
  border-bottom: 1px solid var(--lcdm-line);
  background: var(--lcdm-surface-2);
}

.lcdm-category-head h3 {
  margin: 0;
  font-size: 22px;
}

.lcdm-count {
  font-size: 13px;
  color: var(--lcdm-muted);
}

.lcdm-items { padding: 8px 18px 14px; }

.lcdm-item {
  padding: 16px 2px;
  border-bottom: 1px dashed var(--lcdm-line);
}
.lcdm-item:last-child { border-bottom: none; }

.lcdm-item-main {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}

.lcdm-item h4 {
  margin: 0 0 6px;
  font-size: 18px;
}

.lcdm-item p {
  margin: 0;
  color: var(--lcdm-muted);
  font-size: 14px;
}

.lcdm-price-area {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  min-width: 110px;
}

.lcdm-price {
  font-size: 18px;
  font-weight: 800;
  color: var(--lcdm-primary-dark);
}

.lcdm-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(212,162,95,.14);
  color: #8b5b19;
  font-size: 12px;
  font-weight: 700;
}

.lcdm-footer-note {
  margin-top: 22px;
  color: var(--lcdm-muted);
  font-size: 13px;
}

@media (max-width: 767px) {
  .lcdm-item-main {
    flex-direction: column;
  }
  .lcdm-price-area {
    align-items: flex-start;
    min-width: 0;
  }
  .lcdm-category-head {
    flex-direction: column;
    align-items: flex-start;
  }
}

.lcdm-topline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.lcdm-lang-switch {
  display: inline-flex;
  background: #fff;
  border: 1px solid var(--lcdm-line);
  border-radius: 999px;
  padding: 4px;
}

.lcdm-lang {
  min-width: 48px;
  min-height: 38px;
  border-radius: 999px;
  font-weight: 700;
  color: var(--lcdm-muted);
}

.lcdm-lang.is-active {
  background: var(--lcdm-primary);
  color: #fff;
}

.lcdm-allergens-line {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 10px;
  font-size: 13px;
  color: var(--lcdm-muted);
}

.lcdm-allergens-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.lcdm-allergen-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  min-height: 28px;
  padding: 0 8px;
  border-radius: 999px;
  border: 1px solid rgba(13,106,112,.18);
  background: rgba(13,106,112,.08);
  color: var(--lcdm-primary-dark);
  font-size: 12px;
  font-weight: 800;
}

.lcdm-legend {
  margin-top: 24px;
  padding: 22px;
  border-radius: var(--lcdm-radius);
  border: 1px solid var(--lcdm-line);
  background: rgba(255,255,255,.82);
}

.lcdm-legend-head h3 {
  margin: 0 0 8px;
  font-size: 22px;
}

.lcdm-legend-head p {
  margin: 0;
  color: var(--lcdm-muted);
  font-size: 14px;
}

.lcdm-legend-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.lcdm-legend-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px dashed var(--lcdm-line);
  border-radius: 16px;
  background: #fff;
}

.lcdm-table-banner {
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  padding:12px 14px;
  margin-bottom:18px;
  border:1px solid rgba(13,106,112,.14);
  background:rgba(13,106,112,.08);
  border-radius:16px;
  color:var(--lcdm-primary-dark);
  font-size:14px;
}

.lcdm-table-chip {
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(13,106,112,.16);
  font-weight:800;
}

.lcdm-service-panel {
  display:grid;
  gap:12px;
  margin-bottom:18px;
  padding:16px;
  border:1px solid rgba(13,106,112,.14);
  background:#fff;
  border-radius:20px;
}

.lcdm-service-panel .lcdm-btn.is-active,
.lcdm-btn-dark {
  background: var(--lcdm-primary-dark);
  color:#fff;
}

.lcdm-note {
  width:100%;
  min-height:92px;
  border:1px solid var(--lcdm-line);
  border-radius:16px;
  padding:12px 14px;
  resize:vertical;
  background:#fff;
}

.lcdm-service-feedback {
  min-height:20px;
  font-size:14px;
  color:var(--lcdm-primary-dark);
  font-weight:700;
}

.lcdm-item.is-soldout{opacity:.72;}
.lcdm-badge-soldout{background:#7f1d1d;color:#fff;}
.lcdm-badge-limited{background:#a16207;color:#fff;}

.lcdm-item-image{width:120px;min-width:120px;overflow:hidden;border-radius:16px;background:#f3f3f3;}
.lcdm-item-image img{width:120px;height:120px;object-fit:cover;display:block;}
.lcdm-dashboard-box{background:#fff;border:1px solid #ddd;border-radius:20px;padding:20px;max-width:1200px;margin:24px auto;}
.lcdm-dash-category{border:1px solid #e3e3e3;border-radius:16px;padding:16px;margin-bottom:18px;background:#fcfcfc;}
.lcdm-dash-item{border:1px dashed #d9d9d9;border-radius:14px;padding:14px;margin-bottom:12px;background:#fff;}
.lcdm-dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;}
.lcdm-dash-grid textarea{min-height:92px;padding:10px;border:1px solid #ddd;border-radius:12px;}
.lcdm-dash-grid input,.lcdm-dash-grid select{padding:10px;border:1px solid #ddd;border-radius:12px;}
.lcdm-dash-actions{display:flex;gap:12px;align-items:center;margin-top:10px;flex-wrap:wrap;}
.lcdm-dash-thumb{width:74px;height:74px;object-fit:cover;border-radius:12px;border:1px solid #ddd;}

.lcdm-dash-topbar,.lcdm-revisions-box{margin-bottom:18px;}
.lcdm-dash-category-head{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center;margin-bottom:12px;}
.lcdm-revisions-box{border:1px solid #e3e3e3;border-radius:16px;padding:16px;background:#fff7ef;}
.lcdm-revision-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0;border-top:1px solid #eee;}
.lcdm-revision-row:first-of-type{border-top:none;}

.lcdm-category[hidden]{display:none !important;}
.lcdm-grid{content-visibility:auto;contain-intrinsic-size:1px 1200px;}
.lcdm-category{content-visibility:auto;contain-intrinsic-size:1px 600px;}
.lcdm-item-image{aspect-ratio:1/1;}

.lcdm-article-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;}
.lcdm-article-main{flex:1;min-width:260px;}
.lcdm-article-title{font-size:18px;font-weight:700;padding:12px;border:1px solid #cfcfcf;border-radius:12px;width:100%;margin-bottom:10px;}
.lcdm-article-meta{display:grid;grid-template-columns:160px 220px auto;gap:10px;align-items:center;}
.lcdm-article-body textarea{min-height:84px;width:100%;padding:12px;border:1px solid #ddd;border-radius:12px;margin-top:10px;}
.lcdm-article-details{margin-top:12px;padding-top:12px;border-top:1px solid #ececec;}
@media (max-width: 700px){.lcdm-article-meta{grid-template-columns:1fr;}.lcdm-article-head{flex-direction:column;}}

.lcdm-waiter-label{display:inline-block;color:#15803d;font-size:.88rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;text-align:center;width:100%;}
