/* Banners fornecidos pela LORH. Imagens e texto ocupam áreas distintas. */
.shop-page .hero-slide.range-campaign { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(240px, 1fr) auto; min-height: 420px; background: #111113; color: #f6f5f7; }
.range-campaign-media { position: relative; display: block; min-width: 0; min-height: 0; overflow: hidden; background: #070708; }
.range-campaign-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.range-campaign-copy { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .6rem 1rem; align-items: center; padding: 1rem 1.35rem; border-top: 1px solid #ffffff24; }
.range-campaign-copy .campaign-eyebrow { font-size: .56rem; letter-spacing: .12em; color: #e4c990; margin: 0 0 .35rem; }
.range-campaign-copy h2 { color: inherit; font-family: 'Space Grotesk', sans-serif; font-size: clamp(1rem, 1.4vw, 1.4rem); letter-spacing: -.035em; line-height: 1.2; margin: 0 0 .4rem; }
.range-campaign-copy p:not(.campaign-eyebrow) { margin: 0; max-width: 44ch; font-size: .69rem; line-height: 1.55; color: #d4d0d8; }
.range-campaign-copy .campaign-link { white-space: nowrap; font-size: .67rem; min-height: 44px; }
.range-campaign-note { grid-column: 1 / -1; font-size: .57rem; line-height: 1.5; color: #b3adba; }
.shop-page .hero-slide.range-campaign--ulanzi { background: #251920; }
.range-campaign--ulanzi .range-campaign-media { background: #e2dfe3; }
.range-campaign--ulanzi .campaign-eyebrow { color: #ffadc5; }
.storage-image.storage-range-gallery { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); gap: 2px; min-height: 360px; background: #d3e2ed; }
.storage-range-gallery > a { display: block; position: relative; min-width: 0; overflow: hidden; }
.storage-range-gallery > a > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.storage-range-gallery .storage-range-previous img { object-position: center; }
.storage-range-gallery .storage-range-latest img { object-position: 48% top; }
.storage-copy .storage-range-note { margin: 1rem 0 0; font-size: .62rem !important; line-height: 1.6 !important; color: #4d6b82; }
.range-campaign-media:focus-visible, .storage-range-gallery > a:focus-visible { outline: 3px solid #80b9f9; outline-offset: -5px; }
@media (max-width: 1024px) {
    .shop-page .hero-slide.range-campaign { grid-template-columns: 1fr; grid-template-rows: minmax(200px, 1fr) auto; }
    .range-campaign-copy { grid-template-columns: minmax(0, 1fr); padding: 1rem 1.25rem; gap: .65rem; }
    .range-campaign-copy .campaign-link { justify-self: start; padding: .5rem .75rem; }
    .range-campaign-note { grid-column: 1; }
}
@media (max-width: 768px) {
    .shop-page .hero-slide.range-campaign { grid-template-rows: minmax(230px, 1fr) auto; }
    .range-campaign-copy { grid-template-columns: minmax(0, 1fr) auto; }
    .range-campaign-copy h2 { font-size: 1.3rem; }
    .range-campaign-note { grid-column: 1 / -1; }
    .storage-image.storage-range-gallery { min-height: 340px; }
}
@media (max-width: 560px) {
    .range-campaign-copy { grid-template-columns: minmax(0, 1fr); }
    .range-campaign-copy .campaign-link { width: 100%; justify-self: stretch; }
}
@media (max-width: 480px) {
    .shop-page .hero-slide.range-campaign { display: grid; grid-template-rows: minmax(190px, 1fr) auto; min-height: 0; }
    .range-campaign-copy { padding: 1.1rem 1.25rem; gap: .7rem; }
    .range-campaign-copy h2 { font-size: 1.35rem; }
    .range-campaign-copy p:not(.campaign-eyebrow) { font-size: .73rem; }
    .range-campaign-note { font-size: .59rem; }
    .storage-image.storage-range-gallery { order: -1; grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); min-height: 300px; }
}
