.shop-promo { box-sizing: border-box; width: 100%; margin: 1.5rem auto; padding: 1rem 1.25rem 1.25rem; background: #edf3fa; border-radius: 1rem; color: #172033; font: inherit; }
.shop-promo-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; margin-bottom: .85rem; }
.shop-promo-label { font-size: .8rem; color: #66758a; }
.shop-promo-heading h2 { margin: .15rem 0 0; font-size: 1.2rem; font-weight: 600; line-height: 1.4; color: inherit; }
.shop-promo-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem 1rem; }
.shop-promo-actions > a { color: #1670cc; font-size: .95rem; white-space: nowrap; }
.shop-promo-disable { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; margin: 0; }
.shop-promo-disable button { min-height: 2.5rem; padding: .25rem 0; border: 0; background: transparent; color: #66758a; font: inherit; font-size: .95rem; cursor: pointer; }
.shop-promo-disable button:hover { color: #1670cc; }
.shop-promo-disable button:focus-visible { outline: 2px solid #1670cc; outline-offset: 3px; }
.shop-promo-disable button:disabled { opacity: .6; cursor: wait; }
.shop-promo-error { flex-basis: 100%; font-size: .9rem; color: #922626; }
.shop-promo-wrap[hidden], .shop-promo [hidden] { display: none !important; }
.shop-promo-items { display: flex; gap: 1.25rem; }
.shop-promo a.shop-promo-item { display: flex; align-items: center; gap: .75rem; flex: 1 1 0; min-width: 0; color: inherit; text-decoration: none; }
.shop-promo-item img { flex: 0 0 5.5rem; width: 5.5rem; height: 5.5rem; object-fit: contain; background: #fff; border-radius: .65rem; }
.shop-promo-item > div { min-width: 0; }
.shop-promo-item h3 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; margin: 0 0 .5rem; font-size: 1rem; font-weight: 500; line-height: 1.4; color: inherit; }
.shop-promo-item strong { font-size: 1rem; white-space: nowrap; }
.shop-promo-item:hover h3 { color: #1670cc; }
.shop-promo a:focus-visible { outline: 2px solid #1670cc; outline-offset: 4px; border-radius: .5rem; }
body.dark .shop-promo { background: #222b36; color: #e4eaf2; }
body.dark .shop-promo-label { color: #aebed1; }
body.dark .shop-promo-actions > a, body.dark .shop-promo-item:hover h3, body.dark .shop-promo-disable button:hover { color: #85bcff; }
body.dark .shop-promo-disable button { color: #aebed1; }
body.dark .shop-promo-error { color: #ffb9b9; }
@media (max-width: 1200px) { .shop-promo-item:nth-child(n+4) { display: none !important; } }
@media (max-width: 900px) { .shop-promo-item:nth-child(n+3) { display: none !important; } }
@media (max-width: 600px) { .shop-promo { padding: .85rem 1rem 1rem; } .shop-promo-item:nth-child(n+2) { display: none !important; } .shop-promo-item img { flex-basis: 6rem; width: 6rem; height: 6rem; } }
