.gastrovo-announcement-banner { position: relative; z-index: 9990; width: 100%; padding: .85rem 1rem; color: #10213d; background: #edf3ff; border-bottom: 1px solid #cbd9f5; box-sizing: border-box; }
.gastrovo-announcement-banner--vacation { background: #fff6dd; border-color: #f0d993; }
.gastrovo-announcement-banner--offer { background: #eaf8ef; border-color: #b8dfc4; }
.gastrovo-announcement-banner--event { background: #f3edff; border-color: #d8c5f5; }
.gastrovo-announcement-banner__inner { display: flex; align-items: flex-start; gap: 1rem; max-width: 1200px; margin: 0 auto; }
.gastrovo-announcement__content { flex: 1; min-width: 0; }
.gastrovo-announcement__title { display: block; margin-bottom: .15rem; font-size: 1rem; }
.gastrovo-announcement__text { font-size: .95rem; line-height: 1.45; }
.gastrovo-announcement__close { flex: 0 0 auto; width: 2rem; height: 2rem; padding: 0; color: currentColor; background: transparent; border: 0; border-radius: 50%; font: inherit; font-size: 1.5rem; line-height: 1; cursor: pointer; }
.gastrovo-announcement__close:hover, .gastrovo-announcement__close:focus-visible { background: rgba(16, 33, 61, .1); outline: 2px solid currentColor; outline-offset: 1px; }
.gastrovo-announcement--pending { visibility: hidden; }
.gastrovo-announcement-popup { position: fixed; z-index: 100000; inset: 0; display: grid; place-items: center; padding: 1.25rem; background: rgba(7, 17, 34, .58); box-sizing: border-box; }
.gastrovo-announcement-popup__card { position: relative; width: min(100%, 34rem); max-height: calc(100vh - 2.5rem); overflow: auto; padding: 2rem; color: #10213d; background: #fff; border-radius: 18px; box-shadow: 0 24px 70px rgba(7, 17, 34, .3); box-sizing: border-box; }
.gastrovo-announcement-popup__card .gastrovo-announcement__close { position: absolute; top: .65rem; right: .65rem; }
.gastrovo-announcement-popup__card .gastrovo-announcement__title { padding-right: 2rem; font-size: 1.35rem; }
.gastrovo-announcement-popup__card .gastrovo-announcement__text { margin-top: .75rem; }
body.gastrovo-popup-open { overflow: hidden; }
.gastrovo-announcements { display: grid; gap: 1rem; }
.gastrovo-announcements__item { padding: 1.25rem; color: #10213d; background: #fff; border: 1px solid #dfe5ee; border-radius: 14px; }
@media (max-width: 600px) { .gastrovo-announcement-banner__inner { gap: .5rem; } .gastrovo-announcement-popup__card { padding: 1.5rem; } }
@media (prefers-reduced-motion: no-preference) { .gastrovo-announcement-popup__card { animation: gastrovo-popup-in .18s ease-out; } @keyframes gastrovo-popup-in { from { opacity: 0; transform: translateY(8px) scale(.98); } } }
