/*
 * Svíčka Restore – jídelní lístek
 *
 * Styl je převzatý 1:1 z původního ručně vloženého lístku, jen je celý
 * uzavřený do .svicka-menu, aby neovlivňoval zbytek stránky.
 */

.svicka-menu {
  --bg: #1f1917;
  --bg-2: #231c19;
  --cream: #ffffff;
  --cream-dim: rgba(243, 236, 224, .58);
  --amber: #f9a170;
  --amber-soft: rgba(249, 160, 112, .85);
  --rule: rgba(243, 236, 224, .15);
  --rule-strong: rgba(243, 236, 224, .30);
  --display: "Playfair Display", Georgia, serif;
  --body: "Cormorant Garamond", "Playfair Display", Georgia, serif;

  margin: 0;
  background: transparent;
  color: var(--cream);
  font-family: var(--body);
  font-size: 18px;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.svicka-menu * { box-sizing: border-box }

.svicka-menu .wrap { max-width: 1180px; margin: 0 auto; padding: 0 }

/* ---- Sekce ---- */
.svicka-menu .sec { margin-top: clamp(2.6rem, 6vw, 4.4rem) }
.svicka-menu .sec--first { margin-top: 0 }
.svicka-menu .sec__head { text-align: center; position: relative; margin-bottom: 1.9rem }
.svicka-menu .sec__title {
  font-family: var(--display); font-weight: 600; color: var(--cream);
  text-transform: uppercase; font-size: clamp(1.4rem, 3.4vw, 1.9rem);
  letter-spacing: clamp(.22em, 1.4vw, .34em); text-indent: clamp(.22em, 1.4vw, .34em);
  margin: 0 0 1.1rem; padding: 0 .3em; overflow-wrap: break-word;
}
@media (max-width: 480px) {
  .svicka-menu .sec__title { letter-spacing: .14em; text-indent: .14em }
}
.svicka-menu .sec__head::after { content: ""; display: block; height: 1px; background: var(--rule-strong) }
.svicka-menu .sec__note {
  text-align: center; font-style: italic; color: var(--amber-soft);
  font-size: 1.05rem; margin: -.4rem 0 1.6rem; letter-spacing: .01em;
}
.svicka-menu .sec__foot {
  text-align: center; font-style: italic; color: var(--cream-dim);
  font-size: .95rem; letter-spacing: .04em; margin: 1.4rem 0 0;
}

/* ---- Mřížka položek ---- */
.svicka-menu .items { display: grid; grid-template-columns: repeat(2, 1fr); column-gap: clamp(2rem, 5vw, 4.5rem) }
.svicka-menu .item {
  border-top: 1px solid var(--rule);
  padding: 1.05rem 0 1rem; min-width: 0;
}
.svicka-menu .item:first-child,
.svicka-menu .items > .item:nth-child(2) { border-top: 0 }
@media (max-width: 760px) {
  .svicka-menu .items { grid-template-columns: 1fr }
  .svicka-menu .items > .item:nth-child(2) { border-top: 1px solid var(--rule) }
  .svicka-menu .item:first-child { border-top: 0 }
}

.svicka-menu .item__name {
  font-family: var(--display); font-weight: 600; color: var(--cream);
  text-transform: uppercase; font-size: 1rem; letter-spacing: .08em;
  line-height: 1.3; margin: 0;
}
.svicka-menu .item__desc {
  font-style: italic; color: var(--amber); font-size: 1.18rem; line-height: 1.35;
  margin: .42rem 0 .55rem; max-width: 48ch;
}
.svicka-menu .item__meta { display: flex; align-items: baseline; gap: .9rem }
.svicka-menu .allerg { color: var(--cream-dim); font-size: 1rem; letter-spacing: .03em; white-space: nowrap }
.svicka-menu .pnote { font-style: italic; color: var(--cream-dim); font-size: .95rem }
.svicka-menu .price { margin-left: auto; font-weight: 600; color: var(--cream); font-size: 1.18rem; letter-spacing: .02em; white-space: nowrap }
.svicka-menu .price--multi { display: flex; gap: 1.1rem }
.svicka-menu .psize { display: inline-flex; gap: .45rem; align-items: baseline }
.svicka-menu .psize .vol { font-weight: 500; font-style: italic; color: var(--cream-dim); font-size: .95rem }

/* ---- Řádková položka (přílohy, nápoje) ---- */
.svicka-menu .item--line { display: flex; align-items: baseline; gap: .6rem }
.svicka-menu .item__name--line {
  text-transform: none; letter-spacing: .01em; font-weight: 500; font-size: 1.18rem;
  font-family: var(--body); flex: 0 1 auto;
}
.svicka-menu .item__name--line .note { font-style: italic; color: var(--cream-dim); font-size: .92rem; letter-spacing: .02em }
.svicka-menu .item__name--line .allerg { font-size: .92rem }
.svicka-menu .item--line .leader { flex: 1 1 auto; min-width: .8rem; border-bottom: 1px dotted var(--rule-strong); transform: translateY(-.28em) }
.svicka-menu .item--line .price { margin-left: 0 }

/* ---- Předěl (Nápojový lístek) ---- */
.svicka-menu .menu-break {
  text-align: center; margin: clamp(4rem, 9vw, 7rem) auto clamp(.5rem, 2vw, 1rem);
}
.svicka-menu .menu-break__title {
  font-family: var(--display); font-weight: 700; color: var(--cream);
  text-transform: uppercase; font-size: clamp(2rem, 8vw, 4.6rem); line-height: 1.05;
  letter-spacing: clamp(.06em, 2vw, .26em); text-indent: clamp(.06em, 2vw, .26em); margin: 0;
  overflow-wrap: break-word; word-break: break-word;
}
.svicka-menu .menu-break__rule { height: 1px; background: var(--rule-strong); border: 0; max-width: 240px; margin: 1.6rem auto 0 }

/* ---- Patička s alergeny ---- */
.svicka-menu .foot {
  margin-top: clamp(3.4rem, 7vw, 5.5rem); padding-top: clamp(2rem, 4vw, 3rem);
  border-top: 1px solid var(--rule); text-align: center;
}
.svicka-menu .legend { color: var(--cream-dim); font-size: .92rem; line-height: 1.7; max-width: 760px; margin: 0 auto 2.2rem; letter-spacing: .01em }
.svicka-menu .legend b { color: var(--amber-soft); font-weight: 600; font-style: normal }
.svicka-menu .foot a { color: var(--amber); text-decoration: none }
.svicka-menu .foot a:hover { text-decoration: underline }

/* ---- Nájezd ---- */
@media (prefers-reduced-motion: no-preference) {
  .svicka-menu .sec,
  .svicka-menu .menu-break,
  .svicka-menu .foot { animation: svicka-menu-fade .8s ease both }
}

@keyframes svicka-menu-fade {
  from { opacity: 0; transform: translateY(10px) }
  to { opacity: 1; transform: none }
}
