.latest-offers { margin: 0; }
.latest-offers__toggle { position: fixed; left: max(1rem, env(safe-area-inset-left, 0px)); bottom: calc(1.5rem + env(safe-area-inset-bottom, 0px)); z-index: 150; display: flex; align-items: center; gap: .6rem; max-width: calc(100vw - 2rem); min-height: 48px; padding: .7rem 1rem; border: 1px solid var(--primary); border-radius: 999px; background: var(--primary); color: var(--surface); box-shadow: var(--shadow-md); text-decoration: none; font: inherit; font-size: .9rem; font-weight: 700; cursor: pointer; }
.latest-offers__toggle:hover { background: var(--primary-hover); }
.latest-offers__toggle:focus-visible { outline: 3px solid var(--primary); outline-offset: 4px; }
.latest-offers__icon { display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.latest-offers__count { padding: .15rem .5rem; border-radius: 999px; background: var(--surface); color: var(--primary); font-size: .8rem; font-weight: 700; }
.latest-offers__dialog { display: none; position: fixed; inset: 0; margin: auto; width: min(940px, calc(100vw - 2rem)); max-width: none; max-height: min(85vh, 800px); max-height: min(85dvh, 800px); padding: 0; border: 1px solid var(--border); border-radius: 1rem; background: var(--surface); color: var(--text); box-shadow: var(--shadow-md); overflow: hidden; font: inherit; }
.latest-offers__dialog[open] { display: flex; flex-direction: column; }
.latest-offers__dialog::backdrop { background: rgb(15 23 42 / 55%); }
.latest-offers__header { display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; gap: 1rem; padding: 1rem 1.25rem; border-bottom: 1px solid var(--border); }
.latest-offers__header h2 { margin: 0; font-size: 1.1rem; line-height: 1.6; }
.latest-offers__total { margin: .2rem 0 0; color: var(--text-muted); font-size: .8rem; }
.latest-offers__close { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 44px; height: 44px; border: 1px solid var(--border); border-radius: 50%; background: var(--bg); color: var(--text); cursor: pointer; }
.latest-offers__close:hover { background: var(--primary-light); }
.latest-offers__close:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.latest-offers__body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 1.25rem; }
html.latest-offers-open, html.latest-offers-open body { overflow: hidden; }
body:has(.auth-overlay.open, .country-modal.open, .mobile-drawer.open) .latest-offers__toggle { visibility: hidden; }
.latest-offers__intro { margin: 0 0 1rem; color: var(--text-muted); font-size: .875rem; }
.latest-offers__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.latest-offers__card { min-width: 0; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg); overflow: hidden; }
.latest-offers__link { display: flex; align-items: flex-start; gap: .7rem; height: 100%; padding: .75rem; color: inherit; text-decoration: none; }
.latest-offers__link:hover { background: var(--primary-light); }
.latest-offers__link:focus-visible, .latest-offers__more:focus-visible { outline: 2px solid var(--primary); outline-offset: -3px; }
.latest-offers__cover { display: flex; align-items: center; justify-content: center; width: 4rem; aspect-ratio: 350 / 465; flex-shrink: 0; border-radius: .3rem; background: var(--surface); color: var(--text-muted); overflow: hidden; }
.latest-offers__cover img { display: block; width: 100%; height: 100%; object-fit: contain; }
.latest-offers__copy { display: flex; flex-direction: column; align-items: flex-start; gap: .3rem; min-width: 0; }
.latest-offers__store { color: var(--primary); font-size: .75rem; font-weight: 600; overflow-wrap: anywhere; }
.latest-offers__title { font-size: .875rem; font-weight: 700; line-height: 1.6; overflow-wrap: anywhere; }
.latest-offers__country, .latest-offers__date { color: var(--text-muted); font-size: .72rem; }
.latest-offers__date time { display: inline-block; direction: ltr; }
.latest-offers__more { display: flex; align-items: center; justify-content: center; gap: .5rem; width: fit-content; margin-block-start: 1rem; margin-inline: auto; padding: .6rem 1rem; border: 1px solid var(--border); border-radius: var(--radius-sm); color: var(--primary); font-size: .875rem; font-weight: 600; text-decoration: none; }
.latest-offers__more:hover { background: var(--primary-light); border-color: var(--primary); }
@media (max-width: 768px) { body:has(.quick-nav-wrap) .latest-offers__toggle { bottom: calc(100px + env(safe-area-inset-bottom, 0px)); } }
@media (max-width: 600px) {
    .latest-offers__toggle { gap: .5rem; padding: .65rem .85rem; font-size: .85rem; }
    .latest-offers__dialog { inset: auto 0 0; margin: 0; width: 100%; max-height: 82vh; max-height: 82dvh; border-radius: 1rem 1rem 0 0; border-bottom: 0; }
    .latest-offers__header { padding: .85rem; }
    .latest-offers__body { padding: .85rem .85rem calc(1rem + env(safe-area-inset-bottom, 0px)); }
    .latest-offers__grid { grid-template-columns: minmax(0, 1fr); }
    .latest-offers__cover { width: 4.5rem; }
}
@media print { .latest-offers { display: none; } }
