.promo-natale {
  border: 0;
  padding: 0;
  background: transparent;
  width: min(760px, calc(100vw - 48px));
  max-width: none;
  max-height: calc(100dvh - 40px);
  overflow: auto;
  overscroll-behavior: contain;
  border-radius: 14px;
  scrollbar-width: thin;
  scrollbar-color: #d4af75 #510b12;
}
.promo-natale::backdrop { background: #000c; backdrop-filter: blur(5px); }
.promo-natale__card { position: relative; width: 100%; margin: auto; }
.promo-natale img { display: block; width: 100%; height: auto; border-radius: 14px; }
.promo-natale__close {
  position: sticky;
  float: right;
  top: 8px;
  margin: 8px 8px -52px 0;
  width: 44px;
  height: 44px;
  border: 1px solid #ffffff80;
  border-radius: 50%;
  background: #30060bf2;
  color: white;
  font: 30px/1 sans-serif;
  cursor: pointer;
  z-index: 1;
}
.promo-natale__order { position: absolute; left: 20.5%; right: 20.5%; bottom: 2.5%; height: 8%; border-radius: 16px; display: block; }
.promo-natale__order:focus-visible, .promo-natale__close:focus-visible { outline: 3px solid white; outline-offset: 3px; }
.promo-natale[open] { animation: promo-enter .35s ease-out; }
@keyframes promo-enter { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 600px) {
  .promo-natale { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); border-radius: 10px; }
  .promo-natale img { border-radius: 10px; }
}
@media (prefers-reduced-motion: reduce) { .promo-natale[open] { animation: none; } }
