body.tc-food-open { overflow: hidden; }
.tc-food-modal {
  width: min(1100px, calc(100% - 32px)); max-width: none;
  height: min(900px, calc(100dvh - 40px)); max-height: calc(100dvh - 40px);
  padding: 0; border: 1px solid #e4dcd5; border-radius: 24px;
  color: #282c35; background: #f8f5ef; overflow: hidden;
  box-shadow: 0 24px 80px #071b3a55;
}
.tc-food-modal[open] { display: flex; flex-direction: column; }
.tc-food-modal::backdrop { background: #142034ad; backdrop-filter:blur(5px); }
.tc-food-modal__header {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; padding: 18px 28px; background: white;
  border-bottom: 1px solid #e4dcd5; flex: 0 0 auto;
}
.tc-food-modal__header h2 { font: 700 19px/1.3 system-ui, sans-serif; letter-spacing:-.4px; color: #282c35; margin: 4px 0 0; }
.tc-food-modal__header small { display: block; color: #821e36; font: 700 10px/1.5 system-ui, sans-serif; letter-spacing:1.5px; text-transform:uppercase; }
.tc-food-modal__close {
  min-width: 70px; min-height: 44px; border: 1px solid #871729;
  border-radius: 9px; background: white; color: #871729;
  font: 600 15px/1.4 system-ui, sans-serif; cursor: pointer;
}
.tc-food-modal__close:focus-visible { outline: 3px solid #1376b7; outline-offset: 2px; }
.tc-food-modal__close:hover { background:#faf1f3; }
.tc-food-modal iframe { display: block; flex: 1 1 auto; min-height: 0; width: 100%; border: 0; background: #f8f5ef; }
@media (max-width: 600px) {
  .tc-food-modal { width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; border: 0; border-radius: 0; }
  .tc-food-modal__header { padding: max(12px, env(safe-area-inset-top)) 12px 12px; }
  .tc-food-modal__header h2 { font-size: 18px; }
}
