/* Sabah — kahvaltı salonu: gün doğumu renkleri, yumurta sarısı düğümler ve sabahtan akşama akan zaman çizelgesi (zaman şablonu) */
.theme-sabah {
  --bg: #fbf7ef; --surface: #ffffff; --surface-2: #f4ecdd; --text: #2c2418; --muted: #6b5e4e; --faint: #a89a87;
  --line: rgba(44, 36, 24, .1); --line-strong: rgba(44, 36, 24, .2); --radius: 16px; --price: var(--text);
  --yolk: #f2b632; --olive: #5f6f2f;
  --card: 0 1px 2px rgba(44, 36, 24, .05), 0 10px 24px -18px rgba(44, 36, 24, .45);
  --rail-x: 28px;
}
.theme-sabah [data-section] { scroll-margin-top: 70px; }
.theme-sabah h1, .theme-sabah h2 { font-weight: 700; }

/* Başlık: gün doğumu */
.zhead { position: relative; overflow: hidden; padding: calc(14px + var(--safe-t)) max(18px, calc((100% - 724px) / 2)) 4px; background: linear-gradient(180deg, color-mix(in srgb, var(--yolk) 30%, var(--bg)) 0%, var(--bg) 78%); }
.zhead::before { content: ''; position: absolute; top: -90px; inset-inline-end: -70px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--yolk) 80%, #fff) 0 38%, color-mix(in srgb, var(--yolk) 40%, transparent) 39% 52%, color-mix(in srgb, var(--yolk) 16%, transparent) 53% 70%, transparent 71%); pointer-events: none; }
.z-top { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.z-logo { width: 54px; height: 54px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: var(--surface); color: var(--primary-ink); font-family: var(--font-head); font-weight: 700; font-size: 24px; box-shadow: 0 0 0 3px var(--surface), 0 0 0 6px var(--yolk); }
.zhead .tool { background: var(--surface); color: var(--text); box-shadow: 0 1px 2px rgba(44, 36, 24, .08); backdrop-filter: none; -webkit-backdrop-filter: none; }
.zhead h1 { position: relative; font-size: clamp(34px, 10vw, 58px); letter-spacing: -.02em; line-height: 1.02; margin-top: 28px; text-wrap: balance; }
.tagline { position: relative; color: var(--muted); font-size: 16.5px; margin-top: 10px; }
.meta { position: relative; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.meta .status-pill, .meta .table-pill { background: var(--surface); box-shadow: 0 1px 2px rgba(44, 36, 24, .08); }
.meta .table-pill { background: var(--primary); color: var(--on-primary); }
.z-cover { position: relative; margin-top: 18px; aspect-ratio: 16 / 9; border-radius: 18px; overflow: hidden; box-shadow: var(--card); }
.z-cover img { width: 100%; height: 100%; object-fit: cover; }

.acts { max-width: 760px; margin: 0 auto; padding: 14px 18px 0; }
.act { height: 42px; padding: 0 14px 0 6px; border-radius: 12px; background: var(--surface); box-shadow: var(--card); font-size: 13.5px; font-weight: 600; }
.act-ic { width: 30px; height: 30px; border-radius: 50%; background: color-mix(in srgb, var(--yolk) 28%, var(--surface)); color: var(--primary-ink); }
.act-ic .icon { width: 15px; height: 15px; }
.banner { max-width: 724px; margin: 14px 18px 0; border-radius: 14px; background: color-mix(in srgb, var(--yolk) 22%, var(--surface)); box-shadow: none; }
.banner-ic { background: var(--yolk); color: #3a2a06; }
.camps { padding-inline: 18px; }
.camp { border-radius: 14px; }
@media (min-width: 760px) { .banner { margin-inline: auto; } }

/* İlerleme çubuğu */
.zbar { position: sticky; top: 0; z-index: 30; margin-top: 22px; background: color-mix(in srgb, var(--bg) 90%, transparent); backdrop-filter: blur(18px) saturate(1.5); -webkit-backdrop-filter: blur(18px) saturate(1.5); box-shadow: 0 1px 0 var(--line); }
.zbar-in { max-width: 760px; margin: 0 auto; display: flex; align-items: center; gap: 10px; height: 54px; padding: 0 10px 0 18px; }
.z-pulse { width: 12px; height: 12px; border-radius: 50%; background: var(--yolk); box-shadow: 0 0 0 3px color-mix(in srgb, var(--yolk) 30%, transparent); flex-shrink: 0; }
.z-cur { flex: 1; min-width: 0; font-family: var(--font-head); font-weight: 600; font-size: 17px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.zbar-btn { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; }
.zprog { height: 4px; background: var(--line); }
.zprog i { display: block; height: 100%; background: linear-gradient(90deg, var(--yolk), var(--primary), var(--olive)); transform: scaleX(0); transform-origin: 0 50%; }
[dir="rtl"] .zprog i { transform-origin: 100% 50%; background: linear-gradient(270deg, var(--yolk), var(--primary), var(--olive)); }

/* Zaman çizelgesi: sabahtan akşama renk değiştiren hat */
.line { position: relative; max-width: 760px; margin: 0 auto; padding-block: 10px 20px; padding-inline: calc(var(--rail-x) + 46px) 16px; }
.line::before { content: ''; position: absolute; top: 34px; bottom: 34px; inset-inline-start: calc(var(--rail-x) + 14px); width: 4px; border-radius: 4px; background: linear-gradient(180deg, var(--yolk), var(--primary) 55%, var(--olive)); }
.stop { position: relative; padding-top: 26px; }
.node { position: absolute; top: 22px; inset-inline-start: calc(-1 * var(--rail-x) - 24px); width: 44px; height: 44px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: var(--surface); box-shadow: 0 0 0 4px var(--surface), 0 0 0 7px var(--yolk), 0 8px 16px -8px rgba(44, 36, 24, .5); z-index: 1; }
.node img { width: 100%; height: 100%; object-fit: cover; }
.node b { font-family: var(--font-head); font-size: 14px; color: var(--primary-ink); }
.stop-head { min-height: 46px; padding-bottom: 12px; }
.when { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 700; color: var(--olive); text-transform: uppercase; letter-spacing: .06em; }
.when .icon { width: 13px; height: 13px; }
.stop-head h2 { font-size: 27px; letter-spacing: -.02em; line-height: 1.1; margin-top: 2px; }
.stop-head p { color: var(--muted); font-size: 14.5px; margin-top: 4px; }
.stop-head .sec-closed { margin-top: 8px; }
.items { display: flex; flex-direction: column; gap: 10px; }
.zcard { display: flex; gap: 12px; padding: 12px 12px 12px 14px; border-radius: var(--radius); background: var(--surface); box-shadow: var(--card); transition: transform .25s var(--ease); }
.zcard::before { content: ''; position: absolute; top: 50%; inset-inline-start: -27px; width: 10px; height: 10px; margin-top: -5px; border-radius: 50%; background: var(--surface); box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary) 45%, transparent); }
.zcard:active { transform: translateX(3px); }
.zcard h3 { font-family: var(--font-head); font-size: 17px; font-weight: 600; line-height: 1.25; }
.desc { color: var(--muted); font-size: 13.5px; line-height: 1.4; margin-top: 3px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.z-foot { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 8px; margin-top: 8px; }
.zcard .price { font-weight: 700; font-size: 15.5px; }
.zc-img { width: 92px; height: 92px; border-radius: 14px; flex-shrink: 0; }
.zc-img .add { position: absolute; inset-inline-end: 6px; bottom: 6px; width: 30px; height: 30px; background: #fff; color: var(--primary-ink); box-shadow: 0 4px 10px -4px rgba(0, 0, 0, .4); }
.add.solo { align-self: center; }
.tag { background: var(--surface-2); color: var(--muted); }
.line-end { position: relative; margin-top: 22px; margin-inline-start: calc(-1 * var(--rail-x) - 24px); width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--olive); color: #fff; }
.unavailable .items { opacity: .5; }
.unavailable .node { filter: grayscale(1); }

/* Pencereler */
.sheet-body > h2, .p-body h2 { letter-spacing: -.02em; }
.cta { border-radius: 14px; }
.cart-bar { background: var(--text); border-radius: 18px; }
.cart-count { background: var(--yolk); color: #3a2a06; border-radius: 12px; }
.cl-img { border-radius: 50%; }
.foot-social a { box-shadow: var(--card); }
body.dm-on { --olive: #b3c574; }
body.dm-on .zhead { background: var(--bg); }
@media (prefers-color-scheme: dark) { body.dm-auto { --olive: #b3c574; } body.dm-auto .zhead { background: var(--bg); } }
/* Happy hour rozeti açık zeminlerde AA kontrastta */
.tag.b-happy { color: #92400e; }
