:root{ --max-w: 1200px; --gap: 1rem; }
.offer-wrap{ max-width: var(--max-w); margin: 0 auto; padding: 1.25rem; }
.offer-nav{ position: sticky; top: 0; z-index: 50; background: #fff; border-bottom: 1px solid rgba(0,0,0,.06); }
.offer-nav__inner{ display:flex; align-items:center; justify-content:center; flex-wrap: wrap; gap: .5rem; padding: .75rem .5rem; }
.offer-nav a{ display:inline-flex; align-items:center; justify-content:center; padding:.6rem .9rem; border-radius:999px; text-decoration:none; border:1px solid rgba(0,0,0,.12); font-weight:600; line-height:1; font-size:.95rem; }
.offer-section{ scroll-margin-top: 5.5rem; margin-top: 1.25rem; }
.offer-section h1{ font-size: clamp(1.6rem, 2.6vw, 2.25rem); margin: 1.25rem 0 .25rem 0; }
.offer-lead{ color: #555; font-size: 1rem; margin: 0 0 1rem; }
.products{ display: grid !important; grid-template-columns: repeat(auto-fill,minmax(160px,1fr)) !important; gap: var(--gap) !important; }
@media (max-width:768px){ .products{ grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap:.75rem !important; } }
.back-to-top{ position: fixed; display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:999px; border:1px solid rgba(0,0,0,.15); background:#000; color:#fff; box-shadow:0 6px 18px rgba(0,0,0,.12); font-weight:700; text-decoration:none; opacity:0; pointer-events:none; transform:translateY(8px); transition:.2s ease; z-index: 999999; left:50%; transform:translate(-50%, 8px); bottom:5rem; }
.back-to-top.is-visible{ opacity:1; pointer-events:auto; transform:translate(-50%, 0); }
.back-to-top span{ font-size:20px; line-height:1; }
