/* =================================================================
   ELEGANT — sakin lüks. Sıcak krem zemin, serif başlıklar, ince
   altın çizgiler. Başlıkta harf aralıklı büyük harfli isim, kategori
   başlıklarında iki yandan çizilen süs çizgileri; fiyatlar sağa
   hizalı serif. Önceki akordeon yerine tüm menü görünür kalır
   (gezinmesi ve aranması daha kolay).
   ================================================================= */
.t-elegant {
    --m-bg: #faf8f4;
    --m-fg: #2c3e50;
    --m-muted: #7b8794;
    --m-card: #ffffff;
    --m-border: rgba(44, 62, 80, .12);
    --m-radius: 4px;
    --m-shadow: none;
    --m-head-font: 'Playfair Display', Georgia, serif;
    --m-body-font: 'DM Sans', system-ui, sans-serif;
    --m-price: var(--m-fg);
    --m-chip-bg: transparent;
    --m-chip-fg: var(--m-muted);
    --m-chip-on-bg: transparent;
    --m-chip-on-fg: var(--m-accent);
    --m-nav-bg: rgba(250, 248, 244, .93);
    --m-max: 760px;
}
.t-elegant .m-hero { background: #2c3e50; background: linear-gradient(160deg, #2c3e50, #1f2d3a); color: #fff; padding: 3.5rem 1.25rem 3rem; }
.t-elegant .m-hero::after { content: ''; position: absolute; left: 50%; bottom: 0; width: 1px; height: 28px; background: linear-gradient(var(--m-accent), transparent); transform: translateX(-50%) rotate(180deg); }
.t-elegant .m-logo { background: transparent; border: 1px solid var(--m-accent); box-shadow: 0 0 0 6px rgba(255, 255, 255, .05); }
.t-elegant .m-name { font-weight: 600; text-transform: uppercase; letter-spacing: .14em; font-size: clamp(1.6rem, 6.5vw, 2.4rem); }
.t-elegant .m-name::after { content: ''; display: block; width: 56px; height: 1px; background: var(--m-accent); margin: .9rem auto 0; animation: elegantLine 1.2s var(--m-ease) both; }
@keyframes elegantLine { from { width: 0; } }
.t-elegant .m-address { font-family: var(--m-body-font); letter-spacing: .08em; opacity: .75; }
.t-elegant .m-btn { background: transparent; border: 1px solid rgba(255, 255, 255, .35); border-radius: 2px; font-weight: 500; letter-spacing: .06em; }
.t-elegant .m-btn-wa { background: rgba(37, 211, 102, .18); border-color: #25d366; }

.t-elegant .m-search input { border-radius: 2px; background: #fff; }
.t-elegant .m-cats { border-bottom: 1px solid var(--m-border); }
.t-elegant .m-cat { font-family: var(--m-head-font); font-size: 1rem; padding: .45rem .7rem; position: relative; }
.t-elegant .m-cat::after { content: ''; position: absolute; left: .7rem; right: .7rem; bottom: .1rem; height: 1px; background: var(--m-accent); transform: scaleX(0); transition: transform .4s var(--m-ease); }
.t-elegant .m-cat.is-active::after { transform: scaleX(1); }

.t-elegant .m-sec { padding-top: 2.5rem; }
.t-elegant .m-sec-head { justify-content: center; text-align: center; position: relative; }
.t-elegant .m-sec-head::before, .t-elegant .m-sec-head::after { content: ''; flex: 1; height: 1px; background: linear-gradient(90deg, transparent, var(--m-accent)); max-width: 90px; align-self: center; }
.t-elegant .m-sec-head::after { transform: scaleX(-1); }
.t-elegant .m-sec-title { font-size: 1.7rem; font-weight: 500; font-style: italic; white-space: nowrap; }
.t-elegant .m-sec-count { display: none; }

.t-elegant .m-items { gap: 0; }
.t-elegant .m-item { background: transparent; box-shadow: none; border-radius: 0; padding: 1rem 0; border-bottom: 1px solid var(--m-border); align-items: flex-start; }
.t-elegant .m-item:hover { transform: none; }
.t-elegant .m-item:hover .m-item-name { color: var(--m-accent); }
.t-elegant .m-item-img { flex-basis: 76px; height: 76px; border-radius: 2px; }
.t-elegant .m-item-head { justify-content: space-between; align-items: baseline; }
.t-elegant .m-leader { display: none; }
.t-elegant .m-item-name { font-size: 1.15rem; font-weight: 500; }
.t-elegant .m-item-price { font-family: var(--m-head-font); font-size: 1.1rem; font-weight: 600; letter-spacing: .02em; }
.t-elegant .m-item-desc { font-size: .88rem; line-height: 1.6; -webkit-line-clamp: 3; }
.t-elegant .m-modal-name { font-weight: 500; font-style: italic; }
.t-elegant .m-modal-price { font-family: var(--m-head-font); color: var(--m-accent); }
.js .t-elegant .m-item { transform: none; }
.js .t-elegant .m-item.is-in { transition: opacity 1s ease; transition-delay: calc(var(--i, 0) * 70ms); }
