/* ===== Catering ===== */

/* 03 · Rodzaje cateringu */
.catering-types { padding: var(--section-py-compact) 0 var(--section-py); }
.catering-types__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.catering-types__grid .card-category__desc { min-height: calc(2em * var(--lh-small)); }

/* 04 · Gotowe pakiety */
.packages { padding: 0 var(--hero-inset); }
.packages__panel { max-width: 1408px; margin-inline: auto; padding: var(--section-py) 0; border-radius: var(--r-2xl); background: var(--c-bg-surface); }
.packages__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.card-package { display: flex; flex-direction: column; gap: 20px; padding: 28px; border: 1px solid var(--c-border-subtle); border-radius: var(--r-xl); background: var(--c-bg-surface); }
.card-package__head { display: flex; flex-direction: column; gap: 6px; }
.card-package__over { color: var(--c-text-accent); font-size: 12px; font-weight: 500; line-height: 1.4; letter-spacing: 0.08em; text-transform: uppercase; }
.card-package__price { display: flex; align-items: flex-end; gap: 6px; }
.card-package__price strong { color: var(--c-primary); font-size: var(--fs-h3); line-height: var(--lh-h3); letter-spacing: var(--ls-h3); font-weight: 500; }
.card-package__price span { font-size: var(--fs-small); line-height: var(--lh-small); }
.check-items { display: flex; flex-direction: column; gap: 10px; }
.check-items li { display: flex; align-items: center; gap: 10px; color: var(--c-primary); font-size: var(--fs-small); line-height: var(--lh-small); }
.check-items img { width: 20px; height: 20px; flex-shrink: 0; }
.card-package__min { font-size: var(--fs-caption); line-height: 1.5; margin-top: auto; }

/* 05 · Menu Composer */
.composer { padding: var(--section-py) 0; }
.composer__layout { display: flex; align-items: center; gap: 96px; }
.composer__text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.composer .calc-app { width: 756px; flex: none; }
.composer__diets { border: 0; padding: 0; margin: 0; min-width: 0; }
.composer__diets legend { padding: 0; margin-bottom: 10px; }

/* 06 · Jak zamówić */
.how-order { padding: var(--section-py-compact) 0 var(--section-py); }

/* 07 · Catering w praktyce */
.catering-photos { padding: var(--section-py-compact) 0 var(--section-py); }

/* 08 · FAQ i formularz */
.catering-faq { background: var(--c-bg-accent-subtle); padding: var(--section-py) 0; }
.catering-faq__layout { display: flex; gap: 96px; align-items: flex-start; }
.catering-faq__faq { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 32px; }
.catering-faq__faq .section-head { gap: 16px; }
.catering-faq .form-card { width: 560px; flex: none; }

@media (max-width: 1100px) {
  .catering-types__grid, .packages__grid { grid-template-columns: repeat(2, 1fr); }
  .composer__layout, .catering-faq__layout { flex-direction: column; align-items: stretch; gap: 48px; }
  .composer .calc-app, .catering-faq .form-card { width: 100%; }
}
@media (max-width: 640px) {
  .catering-types__grid, .packages__grid { grid-template-columns: 1fr; }
  .catering-types__grid .card-category { height: 380px; }
}
