.nf-promotion-area{width:100%;margin:12px 0!important}
.nf-promotion-area__blocks{display:grid;gap:12px}
.nf-promo-column{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:12px;min-width:0}
@media(min-width:721px){
 .nf-promotion-area__blocks--split-columns,.nf-promotion-area__blocks--three-columns,.nf-promotion-area__blocks--four-columns{display:flex;align-items:flex-start}
 .nf-promo-column{flex:1 1 0;overflow-wrap:anywhere}
 .nf-promo-column--weighted{flex-grow:2}
 .nf-promo-column--no-desktop{display:none!important}
}
@media(max-width:720px){.nf-promo-column{gap:8px}.nf-promo-column--no-mobile{display:none!important}}
@media(min-width:721px){.nf-promotion-area__blocks--grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.nf-promotion-area__blocks--grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}}
.nf-promotion-area__blocks--grid-three>.nf-promo-block,.nf-promotion-area__blocks--grid-four>.nf-promo-block{overflow-wrap:anywhere}
.nf-promo-block{min-width:0;margin:0}
.nf-promo-block h3{margin:0 0 8px;font-size:18px}
.nf-promo-block img{display:block;width:100%;max-width:100%;height:auto;margin:0;border:0;border-radius:8px}
.nf-promo-block>a{display:block;color:inherit;text-decoration:none}
.nf-promo-image{overflow:hidden;border-radius:8px;background:#fff}
.nf-promo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.nf-promo-grid>a,.nf-promo-grid>img{display:block;min-width:0;overflow:hidden;border-radius:8px;aspect-ratio:1.82/1}
.nf-promo-grid>a img,.nf-promo-grid>img{width:100%;height:100%;object-fit:cover}
.nf-promo-slider{position:relative;overflow:hidden;border-radius:10px;background:#eef1ee;touch-action:pan-y}
.nf-promo-slider__viewport{overflow:hidden}
.nf-promo-slider__track{display:flex;transition:transform .42s ease;will-change:transform}
.nf-promo-slider__slide{flex:0 0 100%;min-width:0}
.nf-promo-slider__slide>a{display:block}
.nf-promo-slider__slide img{width:100%;height:auto;aspect-ratio:16/7;object-fit:cover;border-radius:0}
.nf-promo-slider__arrow{position:absolute;z-index:2;top:50%;display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:#26332a;font-size:29px;line-height:1;box-shadow:0 3px 14px rgba(0,0,0,.16);cursor:pointer;transform:translateY(-50%)}
.nf-promo-slider__arrow.is-prev{left:12px}.nf-promo-slider__arrow.is-next{right:12px}
.nf-promo-slider__dots{position:absolute;z-index:2;right:0;bottom:10px;left:0;display:flex;justify-content:center;gap:6px;pointer-events:none}
.nf-promo-slider__dots button{width:9px;height:9px;padding:0;border:1px solid rgba(0,0,0,.28);border-radius:50%;background:rgba(255,255,255,.82);cursor:pointer;pointer-events:auto}
.nf-promo-slider__dots button.is-active{background:var(--nf-accent,#25963a);border-color:var(--nf-accent,#25963a)}
.nf-promo-custom{padding:16px;border:1px solid #e1e5df;border-radius:10px;background:#fff}
.nf-promotion-area--bottom{margin-top:28px!important}
.nf-catalog-category-sidebar .nf-promotion-area--municipality_sidebar{min-width:0;margin:12px 0 0!important}
.nf-promotion-area--municipality_sidebar .nf-promo-block h3{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.nf-promotion-area--municipality_sidebar .nf-promo-custom{padding:10px;overflow-wrap:anywhere}
/* The category sidebar remains available through 820px. Keep its banner visible
   throughout that same desktop/tablet range; only the compact mobile layout hides it. */
@media(max-width:820px){body .nf-promotion-area--municipality_sidebar{display:none!important}}
@media(min-width:721px){.nf-promotion-area--no-desktop{display:none!important}.nf-promotion-area__blocks--two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.nf-promotion-area__blocks--two-columns>.nf-promo-block--desktop-wide{grid-column:1/-1}.nf-promo-device--mobile{display:none!important}}
@media(max-width:720px){.nf-promotion-area--no-mobile{display:none!important}.nf-promotion-area{margin:9px 0!important}.nf-promotion-area__blocks{grid-template-columns:minmax(0,1fr)!important;gap:8px}.nf-promo-device--desktop{display:none!important}.nf-promo-block img{border-radius:6px}.nf-promo-grid{gap:5px}.nf-promo-grid>a,.nf-promo-grid>img{border-radius:6px}.nf-promo-slider{border-radius:7px}.nf-promo-slider__slide img{aspect-ratio:16/8}.nf-promo-slider__arrow{width:36px;height:36px;font-size:24px}.nf-promo-slider__arrow.is-prev{left:7px}.nf-promo-slider__arrow.is-next{right:7px}.nf-promotion-area--bottom{margin-top:20px!important}}
@media(prefers-reduced-motion:reduce){.nf-promo-slider__track{transition:none}}
/* Bottom banners contain lettering: never crop them on small screens. */
@media(max-width:720px){
 .nf-promotion-area--bottom .nf-promo-slider__track{align-items:flex-start}
 .nf-promotion-area--bottom .nf-promo-slider__slide img{aspect-ratio:auto;height:auto;object-fit:contain}
}
/* Structured text and spacing share styles across all promotion areas. */
.nf-promo-text {overflow-wrap:anywhere;line-height:1.8;min-width:0}
.nf-promo-text h3 {font-size:1.2em;margin:0 0 8px;line-height:1.5}
.nf-promo-text p {margin:0 0 8px}
.nf-promo-text ul {margin:0;padding-left:1.4em}
.nf-promo-spacer--small {height:16px}
.nf-promo-spacer--medium {height:32px}
.nf-promo-spacer--large {height:64px}
@media(min-width:721px){
 .nf-promotion-area__blocks>.nf-promo-column--weight-1 {flex:1 1 0}
 .nf-promotion-area__blocks>.nf-promo-column--weight-2 {flex:2 1 0}
 .nf-promotion-area__blocks>.nf-promo-column--weight-3 {flex:3 1 0}
}
/* Small desktop columns need the same legibility as mobile banners. */
.nf-promo-slider{container-type:inline-size}
@container(max-width:480px){
 .nf-promo-slider.is-enhanced .nf-promo-slider__track{gap:0}
 .nf-promo-slider.is-enhanced .nf-promo-slider__slide{flex-basis:100%}
 .nf-promo-slider.is-enhanced .nf-promo-slider__arrow.is-prev{left:7px}
 .nf-promo-slider.is-enhanced .nf-promo-slider__arrow.is-next{right:7px}
}
/* Editorial carousel: centred image and neighbours on PC, full image on mobile. */
.nf-promo-slider.nf-promo-block{border-radius:0;background:transparent;--nf-slide-height:240px}
.nf-promo-slider .nf-promo-slider__track{position:relative;align-items:flex-start;gap:0}
.nf-promo-slider .nf-promo-slider__slide img{aspect-ratio:auto!important;height:auto!important;object-fit:contain!important;border-radius:0}
.nf-promo-slider .nf-promo-slider__slide{transition:filter .42s ease}
.nf-promo-slider.is-enhanced .nf-promo-slider__slide:not(.is-active):not(.is-clone){filter:brightness(.65)}
.nf-promo-slider .nf-promo-slider__dots{position:static;min-height:32px;align-items:center;gap:8px;padding:4px 0;pointer-events:auto}
.nf-promo-slider .nf-promo-slider__dots button{position:relative;width:12px!important;height:12px!important;min-width:0!important;padding:0!important;border:1px solid #26332a!important;background:#fff!important;box-shadow:none!important;border-radius:50%!important}
.nf-promo-slider .nf-promo-slider__dots button::after{content:"";position:absolute;inset:-7px}
.nf-promo-slider .nf-promo-slider__dots button.is-active{background:#26332a!important;border-color:#26332a!important}
.nf-promo-slider .nf-promo-slider__arrow{top:calc(var(--nf-slide-height)/2);background:rgba(255,255,255,.9)!important;color:#26332a!important;box-shadow:none;border:1px solid #dce2dc!important}
.nf-promo-slider button:focus-visible{outline:2px solid #286939;outline-offset:3px}
@media(min-width:721px){
 .nf-promo-slider.is-enhanced .nf-promo-slider__track{gap:16px}
 .nf-promo-slider.is-enhanced .nf-promo-slider__slide{flex-basis:78%}
 .nf-promo-slider.is-enhanced .nf-promo-slider__arrow.is-prev{left:calc(11% - 21px)}
 .nf-promo-slider.is-enhanced .nf-promo-slider__arrow.is-next{right:calc(11% - 21px)}
}
@media(max-width:720px){.nf-promo-slider .nf-promo-slider__dots{gap:8px}.nf-promo-slider .nf-promo-slider__arrow{width:32px;height:32px;opacity:.85}}
@media(prefers-reduced-motion:reduce){.nf-promo-slider .nf-promo-slider__slide{transition:none}}
.nf-promotion-sections{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.nf-promotion-section{min-width:0}
@media(max-width:720px){.nf-promotion-sections{gap:8px}}
