/* Vila Podvin — Meni / Menu page (pages 571 SL, 10429 EN)
   Uses site CGP: Playfair Display (headings), Mulish 300/500 (body), gold #ffd64f accent. */

.vp-menu { max-width: 1060px; margin: 0 auto; }
.vp-menu p { margin-bottom: 0; }

/* --- Tasting menu cards --- */
.vp-tastings { display: grid; grid-template-columns: 1fr; gap: 30px; align-items: start; margin-bottom: 30px; }
@media (min-width: 992px) { .vp-tastings { grid-template-columns: 1fr 1fr; gap: 40px; margin-bottom: 40px; } }

.vp-card { background: #fff; border: 1px solid rgba(26, 26, 26, 0.12); border-top: 3px solid #ffd64f; padding: 40px 24px; text-align: center; }
@media (min-width: 992px) { .vp-card { padding: 55px 45px; } }

.vp-card-title { font-size: 28px; line-height: 1.2; margin: 0 0 14px; }
@media (min-width: 992px) { .vp-card-title { font-size: 33px; } }

.vp-price-tag { display: flex; align-items: center; justify-content: center; gap: 16px; font-family: 'Mulish', sans-serif; font-weight: 500; font-size: 17px; letter-spacing: 2px; color: #1a1a1a; margin-bottom: 32px; }
.vp-price-tag::before, .vp-price-tag::after { content: ""; width: 42px; height: 1px; background: #ffd64f; }

.vp-courses { list-style: none; margin: 0; padding: 0; }
.vp-courses li { font-size: 17px; line-height: 1.45; }
.vp-orn { color: #ffd64f; font-size: 8px; line-height: 1; margin: 15px 0; }
.vp-orn::before { content: "\25C6"; }
.vp-choice { color: #8a8a8a; font-size: 12px; letter-spacing: 3px; text-transform: uppercase; margin: 10px 0; }

.vp-dish { display: block; font-weight: 500; font-size: 16px; letter-spacing: 1.5px; text-transform: uppercase; color: #1a1a1a; }
.vp-dish-desc { display: block; margin-top: 3px; color: #6b6b6b; font-size: 15px; }
.vp-alg { display: block; margin-top: 2px; color: #ababab; font-size: 12px; letter-spacing: 0.5px; }

.vp-pairings { border-top: 1px solid rgba(26, 26, 26, 0.12); margin-top: 34px; padding-top: 30px; display: grid; grid-template-columns: 1fr; gap: 24px; }
@media (min-width: 576px) { .vp-pairings { grid-template-columns: 1fr 1fr; } }
.vp-pairing-name { font-weight: 500; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; color: #1a1a1a; }
.vp-pairing-price { font-family: 'Playfair Display', serif; font-size: 24px; margin: 6px 0 8px; color: #1a1a1a; }
.vp-pairing-desc { color: #6b6b6b; font-size: 14px; line-height: 1.45; }

/* --- Section heading (A la carte) --- */
.vp-menu-heading { text-align: center; font-size: 30px; margin: 45px 0 12px; }
@media (min-width: 992px) { .vp-menu-heading { font-size: 36px; margin-top: 60px; } }
.vp-heading-rule { display: flex; align-items: center; justify-content: center; gap: 14px; color: #ffd64f; font-size: 8px; line-height: 1; margin-bottom: 40px; }
.vp-heading-rule::before, .vp-heading-rule::after { content: ""; width: 52px; height: 1px; background: #ffd64f; }

/* --- A la carte --- */
.vp-alacarte { display: grid; grid-template-columns: 1fr; gap: 40px 70px; }
@media (min-width: 992px) { .vp-alacarte { grid-template-columns: 1fr 1fr; } }

.vp-group-title { font-family: 'Mulish', sans-serif; font-weight: 500; font-size: 14px; letter-spacing: 3px; text-transform: uppercase; color: #1a1a1a; border-bottom: 1px solid rgba(26, 26, 26, 0.12); padding-bottom: 12px; margin: 0 0 22px; }
.vp-group-title::before { content: "\25C6"; color: #ffd64f; font-size: 8px; margin-right: 10px; vertical-align: 2px; }

.vp-item { margin-bottom: 20px; }
.vp-item:last-child { margin-bottom: 0; }
.vp-row { display: flex; align-items: baseline; gap: 10px; }
.vp-row .vp-dish { display: inline; }
.vp-lead { flex: 1 1 auto; min-width: 24px; border-bottom: 1px dotted rgba(26, 26, 26, 0.3); transform: translateY(-4px); }
.vp-price { font-weight: 500; font-size: 16px; white-space: nowrap; color: #1a1a1a; }
