/*
 * Gemensam responsiv presentation för nya V2-publiceringsblock.
 * Samma markup används på mobil och skärm; grid och media queries anpassar
 * bara bredd, kolumner och typografi.
 */
.v2-content-block{width:100%;clear:both;margin:24px 0;color:#252321;box-sizing:border-box}
/* Native disclosure: a fixed plus/minus target and normal document flow keep
 * expanded copy readable at every width, even without JavaScript. */
.v2-copy-disclosure{margin:1em 0;border-bottom:1px solid currentColor;padding:0 0 1em;min-width:0;text-align:left}
.v2-copy-disclosure>summary{display:flex;align-items:flex-start;gap:12px;list-style:none;cursor:pointer;font-weight:700;min-height:44px;line-height:1.5;word-break:normal;overflow-wrap:normal}
.v2-copy-disclosure>summary::-webkit-details-marker{display:none}
.v2-copy-disclosure>summary::before{content:'+';display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#fff;color:#9c510e;font-size:24px;font-weight:400;line-height:1}
.v2-copy-disclosure[open]>summary::before{content:'\2212';background:#ffd6a7}
.v2-copy-disclosure>summary:focus-visible{outline:2px solid #075b99;outline-offset:4px}
.v2-copy-disclosure[open]>summary{margin-bottom:12px}
.v2-copy-disclosure>:not(summary){margin-left:42px}
@media(max-width:480px){.v2-copy-disclosure>:not(summary){margin-left:0}}
/* Page-owned paint includes the actual gaps. Explicit continuous mode clears
 * only section surfaces, never product cards, images or contrast overlays.
 * Each selector is a direct child so an embedded related page keeps its own
 * layout. Standard spacing still respects saved per-block margins. */
.v2-page-surface{display:flow-root;position:relative;isolation:isolate;min-width:0;background-color:var(--v2-page-background,transparent)}
.v2-page-surface>.v2-content-block{position:relative;z-index:1}
/* A background marker takes no layout height. Its full-width bitmap keeps
 * its own aspect ratio and starts at this exact point in the block order;
 * following sections remain above it in the page's isolated stacking context. */
.v2-page-surface>.v2-content-block.v2-content-background-marker{position:relative;z-index:0;display:block;box-sizing:border-box;width:100%;height:0;margin:0!important;padding:0!important;border:0!important;border-radius:0;background:transparent!important;overflow:visible;pointer-events:none}
.v2-content-background-marker>img{position:absolute;top:var(--v2-background-offset,0px);left:50%;display:block;width:100%;max-width:none;height:auto;transform:translateX(-50%)}
.v2-page-motif-none{background-color:var(--v2-page-background,#f5f1ec)}
.v2-page-motif-a::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:url('/gfx/background/pattern-aurednik-no.png') left top/1120px auto repeat;opacity:.14;mix-blend-mode:screen}
/* The legacy PNG is a negative A pattern: its opaque regions form the
 * surface, while transparent cutouts reveal the page behind. Keep that exact
 * gray rendering above; white/custom recolor the same alpha silhouette. */
.v2-page-motif-a.v2-page-motif-variant-pattern:is(.v2-page-motif-tone-white,.v2-page-motif-tone-custom)::before{background:var(--v2-page-motif-color,#fff);-webkit-mask-image:url('/gfx/background/pattern-aurednik-no.png');mask-image:url('/gfx/background/pattern-aurednik-no.png');-webkit-mask-position:left top;mask-position:left top;-webkit-mask-size:1120px auto;mask-size:1120px auto;-webkit-mask-repeat:repeat;mask-repeat:repeat;opacity:1;mix-blend-mode:normal}
/* The SVG is one positive, oversized A instead of a repeating pattern. It
 * shares the chosen color but leaves the page background untouched. */
.v2-page-motif-a.v2-page-motif-variant-svg::before{background:var(--v2-page-motif-color,rgba(100,100,100,.12));-webkit-mask-image:url('/gfx/background/v2-creative-a-watermark.svg');mask-image:url('/gfx/background/v2-creative-a-watermark.svg');-webkit-mask-position:left top;mask-position:left top;-webkit-mask-size:min(80vw,1141px) auto;mask-size:min(80vw,1141px) auto;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;opacity:1;mix-blend-mode:normal}
.v2-page-motif-a.v2-page-motif-tone-white::before{--v2-page-motif-color:#fff}
.v2-page-surface.v2-page-surface-continuous>.v2-content-block{background:transparent!important}
.v2-page-surface-continuous>.v2-content-block>:is(.v2-content-inner,.v2-content-text-inner){background:transparent!important}
.v2-page-surface.v2-page-gap-none>.v2-content-block{margin-top:0!important;margin-bottom:0!important}
.v2-page-surface.v2-page-gap-small>.v2-content-block{margin-top:6px!important;margin-bottom:6px!important}
.v2-page-surface.v2-page-gap-large>.v2-content-block{margin-top:24px!important;margin-bottom:24px!important}
@media(max-width:680px){.v2-page-motif-a::before{background-size:740px auto}.v2-page-motif-a.v2-page-motif-variant-pattern:is(.v2-page-motif-tone-white,.v2-page-motif-tone-custom)::before{-webkit-mask-size:740px auto;mask-size:740px auto}.v2-page-motif-a.v2-page-motif-variant-svg::before{-webkit-mask-size:740px auto;mask-size:740px auto}}

/* Four independent corner variables travel into image surfaces. Do not clip
 * the whole section: hotspot buttons, focus rings and rail controls may extend
 * beyond a picture. Only the bitmap/background surface follows the corners. */
.v2-content-block{--v2-r-tl:var(--v2-block-radius-tl,var(--v2-block-radius,16px));--v2-r-tr:var(--v2-block-radius-tr,var(--v2-block-radius,16px));--v2-r-br:var(--v2-block-radius-br,var(--v2-block-radius,16px));--v2-r-bl:var(--v2-block-radius-bl,var(--v2-block-radius,16px));--v2-round:var(--v2-r-tl) var(--v2-r-tr) var(--v2-r-br) var(--v2-r-bl);border-radius:var(--v2-round)}
.v2-content-block>:is(.v2-content-inner,.v2-content-text-inner,.v2-content-slideshow){border-radius:var(--v2-round)!important}
.v2-content-block :is(.v2-content-hero-media,.v2-content-slide>img,.v2-content-hotspot-cluster-item,.v2-content-multibox-product-hotspots-item,.v2-content-image-hotspots-canvas>img,.v2-content-product-card-media,.v2-image-panel [data-v2-panel-image]){border-radius:var(--v2-round)}
.v2-content-block :is(.v2-content-library-card,.v2-content-instagram-card){border-radius:var(--v2-round)}
.v2-content-block :is(.v2-content-library-media,.v2-content-instagram-media){border-radius:var(--v2-r-tl) var(--v2-r-tr) 0 0}
.v2-content-editorial:not(.image-right)>.v2-content-editorial-media,.v2-content-product-highlight:not(.v2-content-product-highlight-products-left)>.v2-content-product-highlight-copy{border-radius:var(--v2-r-tl) 0 0 var(--v2-r-bl)}
.v2-content-editorial.image-right>.v2-content-editorial-media,.v2-content-product-highlight-products-left>.v2-content-product-highlight-copy{border-radius:0 var(--v2-r-tr) var(--v2-r-br) 0}
.v2-content-block :is(.v2-content-editorial-media,.v2-content-product-card-media,.v2-content-library-media,.v2-content-instagram-media)>img{border-radius:inherit}
/* Media settings are opt-in; absent metadata retains each block's current
 * aspect/fit. Width limits scale the whole coordinate canvas, never its image
 * alone. There is no CSS transform or crop offset to desynchronize hit areas. */
.v2-media-configured :is(.v2-content-hero-media,.v2-content-editorial-media,.v2-content-product-highlight-media,.v2-content-library-media,.v2-content-product-card-media,.v2-content-instagram-media,.v2-content-slide-media),.v2-media-configured .v2-content-category-card>img,.v2-media-configured :is(.v2-content-image-hotspots>.v2-content-image-hotspots-canvas,.v2-content-hotspot-cluster-grid,.v2-content-multibox-product-hotspots-grid,.v2-image-panels-grid){width:var(--v2-media-width,100%);max-width:100%;margin-left:var(--v2-media-left,auto);margin-right:var(--v2-media-right,auto);box-sizing:border-box}
.v2-media-configured :is(.v2-content-hero-media,.v2-content-editorial-media,.v2-content-product-highlight-media,.v2-content-library-media,.v2-content-product-card-media,.v2-content-instagram-media,.v2-content-slide-media)>img,.v2-media-configured .v2-content-slide>img,.v2-media-configured .v2-content-category-card>img{object-position:var(--v2-media-position,center)}
.v2-media-configured[data-v2-image-fit=cover] :is(.v2-content-hero-media,.v2-content-editorial-media,.v2-content-product-highlight-media,.v2-content-library-media,.v2-content-product-card-media,.v2-content-instagram-media,.v2-content-slide-media)>img,.v2-media-configured[data-v2-image-fit=cover] .v2-content-slide>img,.v2-media-configured[data-v2-image-fit=cover] .v2-content-category-card>img{object-fit:cover!important}
.v2-media-configured[data-v2-image-fit=contain] :is(.v2-content-hero-media,.v2-content-editorial-media,.v2-content-product-highlight-media,.v2-content-library-media,.v2-content-product-card-media,.v2-content-instagram-media,.v2-content-slide-media)>img,.v2-media-configured[data-v2-image-fit=contain] .v2-content-slide>img,.v2-media-configured[data-v2-image-fit=contain] .v2-content-category-card>img{object-fit:contain!important}
.v2-media-configured .v2-content-product-card-media>img{object-fit:var(--v2-media-fit,contain)!important}
.v2-media-configured .v2-content-slide>img{width:var(--v2-media-width,100%);margin-left:var(--v2-media-left,auto);margin-right:var(--v2-media-right,auto)}
.v2-media-configured :is(.v2-content-hero-media,.v2-content-service-media){background-image:none!important;position:relative}
.v2-media-configured .v2-content-product-highlight-copy{display:grid;background-image:none!important;min-height:0}
.v2-media-configured .v2-content-product-highlight-media{display:block}
.v2-media-configured .v2-content-product-highlight-copy:has([data-v2-media-intrinsic]){grid-template-rows:auto auto}
.v2-media-configured [data-v2-media-intrinsic]{display:block;width:100%;height:100%;object-fit:var(--v2-media-fit,cover)}
.v2-media-configured:not([data-v2-image-mode=standard]) :is(.v2-content-slide,.v2-content-slides,.v2-content-slide-media){min-height:0!important}
.v2-media-configured[data-v2-image-mode=natural] :is(.v2-content-hero-media,.v2-content-editorial-media,.v2-content-product-highlight-media,.v2-content-library-media,.v2-content-product-card-media,.v2-content-instagram-media,.v2-content-slide-media){height:auto;min-height:0;aspect-ratio:auto;align-self:start}
.v2-media-configured[data-v2-image-mode=natural] :is(.v2-content-hero-media,.v2-content-editorial-media,.v2-content-product-highlight-media,.v2-content-library-media,.v2-content-product-card-media,.v2-content-instagram-media,.v2-content-slide-media)>img,.v2-media-configured[data-v2-image-mode=natural] .v2-content-category-card>img{position:static;inset:auto;width:100%;height:auto!important;aspect-ratio:auto;max-height:none;object-fit:contain!important}
.v2-media-configured[data-v2-image-mode=natural] .v2-content-slide>img{position:static;grid-area:1/1;width:var(--v2-media-width,100%);height:auto!important;aspect-ratio:auto;object-fit:contain!important;justify-self:center}
.v2-media-configured[data-v2-image-mode=ratio] :is(.v2-content-hero-media,.v2-content-editorial-media,.v2-content-product-highlight-media,.v2-content-library-media,.v2-content-product-card-media,.v2-content-instagram-media,.v2-content-slide-media),.v2-media-configured[data-v2-image-mode=ratio] .v2-content-category-card>img{position:relative;min-height:0;height:auto;aspect-ratio:var(--v2-media-ratio,4 / 3);align-self:start}
.v2-media-configured[data-v2-image-mode=ratio] :is(.v2-content-hero-media,.v2-content-editorial-media,.v2-content-product-highlight-media,.v2-content-library-media,.v2-content-product-card-media,.v2-content-instagram-media,.v2-content-slide-media)>img{position:absolute;inset:0;width:100%;height:100%!important;aspect-ratio:auto;object-fit:var(--v2-media-fit,cover)}
.v2-media-configured[data-v2-image-mode=ratio] .v2-content-slide:not(.is-split){aspect-ratio:var(--v2-media-ratio,4 / 3)}
.v2-media-configured[data-v2-image-mode=fixed] :is(.v2-content-hero-media,.v2-content-editorial-media,.v2-content-product-highlight-media,.v2-content-library-media,.v2-content-product-card-media,.v2-content-instagram-media,.v2-content-slide-media),.v2-media-configured[data-v2-image-mode=fixed] .v2-content-category-card>img{height:min(var(--v2-media-height,320px),80vh)!important;min-height:0;aspect-ratio:auto;align-self:start}
.v2-media-configured[data-v2-image-mode=fixed] :is(.v2-content-hero-media,.v2-content-editorial-media,.v2-content-product-highlight-media,.v2-content-library-media,.v2-content-product-card-media,.v2-content-instagram-media,.v2-content-slide-media)>img{position:static;inset:auto;width:100%;height:100%!important;aspect-ratio:auto;object-fit:var(--v2-media-fit,cover)}
.v2-media-configured[data-v2-image-mode=fixed] .v2-content-slide:not(.is-split){min-height:min(var(--v2-media-height,320px),80vh)}
.v2-media-configured[data-v2-image-mode=fixed] .v2-content-slide>img{height:min(var(--v2-media-height,320px),80vh)!important;object-fit:var(--v2-media-fit,cover)}
.v2-media-configured[data-v2-image-mode=text] :is(.v2-content-hero-media,.v2-content-editorial-media,.v2-content-slide-media){position:relative;min-height:0;height:auto;aspect-ratio:auto;align-self:stretch}
.v2-media-configured[data-v2-image-mode=text] :is(.v2-content-hero-media,.v2-content-editorial-media,.v2-content-slide-media)>img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:var(--v2-media-fit,cover)}
.v2-media-configured[data-v2-image-mode=text] .v2-content-product-highlight-copy{grid-template-rows:auto}
.v2-media-configured[data-v2-image-mode=text] :is(.v2-content-product-highlight-media,.v2-content-product-highlight-copy-inner){grid-area:1/1}
.v2-media-configured[data-v2-image-mode=text] .v2-content-product-highlight-media{position:relative;min-height:0;aspect-ratio:auto;height:auto;align-self:stretch}
.v2-media-configured[data-v2-image-mode=text] .v2-content-product-highlight-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:var(--v2-media-fit,cover)}
/* An in-flow image contributes its natural height at the chosen column
 * width. Its percentage height resolves after the row is sized by image or copy. */
.v2-media-image-minimum[data-v2-image-mode=standard] .v2-content-editorial-media>img{height:auto}
@media(min-width:701px){
 .v2-media-image-minimum[data-v2-image-mode=text] .v2-content-editorial-media>img{position:static}
}
@media(max-width:700px){
 /* In the stacked layout a right-hand image follows the text. */
 .v2-media-configured[data-v2-image-mode=text] .v2-content-editorial{min-height:0}
 .v2-media-configured[data-v2-image-mode=text] .v2-content-editorial-media>img{position:static;height:auto!important}
 .v2-content-editorial:not(.image-right)>.v2-content-editorial-media{border-radius:var(--v2-r-tl) var(--v2-r-tr) 0 0}
 .v2-content-editorial.image-right>.v2-content-editorial-media{border-radius:0 0 var(--v2-r-br) var(--v2-r-bl)}
}
@media(max-width:1100px){.v2-content-product-highlight>.v2-content-product-highlight-copy{border-radius:var(--v2-r-tl) var(--v2-r-tr) 0 0}}
@media(max-width:680px){
 .v2-media-configured .v2-content-slide>img{width:var(--v2-media-mobile-width,100%)}
 .v2-media-configured :is(.v2-content-hero-media,.v2-content-editorial-media,.v2-content-product-highlight-media,.v2-content-library-media,.v2-content-product-card-media,.v2-content-instagram-media,.v2-content-slide-media),.v2-media-configured .v2-content-category-card>img,.v2-media-configured :is(.v2-content-image-hotspots>.v2-content-image-hotspots-canvas,.v2-content-hotspot-cluster-grid,.v2-content-multibox-product-hotspots-grid,.v2-image-panels-grid){width:var(--v2-media-mobile-width,100%)}
 .v2-media-configured[data-v2-image-mode=fixed] :is(.v2-content-hero-media,.v2-content-editorial-media,.v2-content-product-highlight-media,.v2-content-library-media,.v2-content-product-card-media,.v2-content-instagram-media,.v2-content-slide-media),.v2-media-configured[data-v2-image-mode=fixed] .v2-content-category-card>img,.v2-media-configured[data-v2-image-mode=fixed] .v2-content-slide>img{height:min(var(--v2-media-mobile-height,240px),80vh)!important}
 .v2-media-configured[data-v2-image-mode=fixed] .v2-content-slide:not(.is-split){min-height:min(var(--v2-media-mobile-height,240px),80vh)}
 /* Side-by-side text height becomes a separate natural image row on phones. */
 .v2-media-configured[data-v2-image-mode=text] :is(.v2-content-hero-media,.v2-content-editorial-media,.v2-content-slide-media){height:auto;min-height:0;display:block}
 .v2-media-configured[data-v2-image-mode=text] :is(.v2-content-hero-media,.v2-content-editorial-media,.v2-content-slide-media)>img{position:static;inset:auto;height:auto!important;object-fit:contain}
 .v2-content-product-highlight>.v2-content-product-highlight-copy{border-radius:var(--v2-r-tl) var(--v2-r-tr) 0 0}
}

/* Explicit shared settings decorate the block surface, not its product cards,
 * images, text overlays or links. With no metadata no class/style is emitted,
 * keeping old snapshots and block-specific defaults unchanged. */
.v2-content-block.v2-block-custom-background>.v2-content-text-inner,.v2-content-block.v2-block-custom-background>.v2-content-editorial,.v2-content-block.v2-block-custom-background>.v2-content-product-highlight{background:transparent}
.v2-content-block.v2-block-custom-radius>.v2-content-inner,.v2-content-block.v2-block-custom-radius>.v2-content-text-inner{border-radius:var(--v2-round)!important}
/* One shared edge for ordinary sections, including image and editorial blocks.
 * Gutters live outside the 1680px content area, so a padded product section
 * cannot become narrower than the neighbouring highlight/background panel. */
/* Shared targeting for EVERY block type. CSS, not user-agent/cache variants,
 * controls visibility, including keyboard/accessibility-tree exclusion. The
 * complementary queries have no overlap or gap at fractional viewport widths.
 * This is presentation only, never an access-control boundary. */
@media(max-width:680px){.v2-content-block.v2-device-desktop{display:none!important}}
@media not all and (max-width:680px){.v2-content-block.v2-device-mobile{display:none!important}}
/* A consistent 20px minimum page gutter applies to ordinary V2 content.
 * The explicit full-width column mode below remains edge-to-edge. */
.v2-content-inner,.v2-highlight-standard-heading{width:calc(100% - 40px);max-width:1680px;margin:0 auto;padding:0;box-sizing:border-box}
/* Width changes the block surface, not the separately configurable copy inset. */
.v2-content-block-hero.v2-block-width-content{width:calc(100% - 40px);max-width:1680px;margin-inline:auto}
.v2-block-width-full>.v2-content-inner{width:100%;max-width:none}
/* Standard width contains the entire surface, so a block background or
 * border aligns with the page content instead of running to the edges.
 * Only the outer wrapper owns the gutter; avoid a second 20px inset. */
.v2-content-block.v2-block-width-standard:not(.v2-content-block-product-highlight){width:calc(100% - 40px);max-width:1680px;margin-inline:auto}
.v2-content-block.v2-block-width-standard:not(.v2-content-block-product-highlight)>:is(.v2-content-inner,.v2-content-slideshow){width:100%;max-width:none}
.v2-content-block h2{margin:0 0 18px;font-size:38px;line-height:1.2;font-weight:600;overflow-wrap:normal;letter-spacing:0}
/* Media and copy share a grid cell rather than absolute positioning. The full-
 * bleed image can grow with unusually long copy instead of clipping the box.
 * Jakarta is already self-hosted under OFL; Duper is not activated here until
 * its commercial web licence for the Norwegian site has been confirmed. */
.v2-content-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr);isolation:isolate;overflow:hidden;background:#f2eee8}
.v2-content-hero-media{grid-area:1/1;min-width:0;min-height:520px;background:#e8e1d7 center/cover no-repeat}
.v2-content-hero-copy,.v2-content-slide-copy{position:relative;grid-area:1/1;align-self:start;justify-self:start;z-index:1;display:grid;align-content:start;gap:16px;box-sizing:border-box;width:min(640px,calc(100% - 48px));max-width:640px;margin:56px 0 64px max(24px,calc((100% - 1680px)/2));padding:40px;background:rgba(255,255,255,.94);border-radius:6px;font-family:'Plus Jakarta Sans',Arial,sans-serif;overflow-wrap:normal;letter-spacing:0}
.v2-content-hero-copy h2,.v2-content-slide-copy h2{margin:0;font-family:'Plus Jakarta Sans',Arial,sans-serif;font-size:44px;font-weight:700;line-height:1.15;letter-spacing:0}
.v2-content-hero-copy p,.v2-content-slide-copy p{margin:0;font-size:17px;line-height:1.65}
/* Grid children and CTA padding must stay inside the copy panel, including
 * unusually long labels or words entered by an editor. */
.v2-content-hero-copy,.v2-content-slide-copy{grid-template-columns:minmax(0,1fr)}
.v2-content-hero-copy>*,.v2-content-slide-copy>*{min-width:0}
.v2-content-hero-copy .v2-content-button,.v2-content-slide-copy .v2-content-button{box-sizing:border-box;min-width:0;overflow-wrap:normal;font-family:'Plus Jakarta Sans',Arial,sans-serif;white-space:normal;text-align:center;letter-spacing:0}
.v2-content-hero.is-without-image .v2-content-hero-media{display:none}
.v2-content-hero.is-without-image .v2-content-hero-copy{margin-top:32px;margin-bottom:32px}
.v2-content-eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#58636f}
.v2-content-button{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;padding:11px 18px;border-radius:4px;background:#ffb36c;color:#1f2529;text-decoration:none;font-size:14px;font-weight:600}
.v2-content-button:hover{filter:brightness(.96);color:#1f2529}
.v2-content-text-inner{width:calc(100% - 40px);max-width:1680px;margin:0 auto;padding:30px 0;background:#faf9f7;box-sizing:border-box}
.v2-content-text-inner .v2-content-richtext{max-width:860px}
.v2-content-richtext{font-size:16px;line-height:1.65;color:#4e555d}
.v2-content-richtext p{margin:0 0 10px}
/* Native horizontal scrolling preserves touch, tab-to-link and no-JS access.
 * The 210px desktop circles keep their previous size instead of stretching to
 * fill the wider section; the final category no longer wraps to a second row. */
.v2-content-category-grid{display:grid;grid-auto-flow:column;grid-auto-columns:210px;grid-template-columns:none;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;padding:3px;margin:-3px;min-width:0}
.v2-content-category-grid::-webkit-scrollbar{display:none}
.v2-content-category-card{min-width:0;scroll-snap-align:start}
.v2-content-category-grid:focus-visible{outline:2px solid #252321;outline-offset:4px}
.v2-content-product-grid{display:grid;grid-template-columns:repeat(var(--v2-product-grid-columns,4),minmax(0,1fr));grid-auto-flow:row;align-items:stretch;gap:18px}
.v2-content-product-grid>.v2-content-product-card{width:100%;box-sizing:border-box}
.v2-content-category-card,.v2-content-product-card-link{display:grid;gap:8px;align-content:start;color:#252321;text-decoration:none}
/* Category thumbnails keep their own shape, independent of the block corners. */
.v2-content-category-card img,.v2-content-product-card-media img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;border-radius:50%}
.v2-content-category-card span,.v2-content-product-card strong{font-size:14px;line-height:1.3;text-align:center}
.v2-content-product-card{display:grid;gap:8px;align-content:start;min-width:0;padding:10px;border:1px solid #e3ded8;background:#fff;border-radius:4px}
/* Keep actions below any gallery, at the bottom of equal-height cards. */
.v2-content-product-card-with-actions{display:flex;flex-direction:column}
.v2-content-product-card-actions{display:flex;flex:none;justify-content:flex-end;align-items:center;gap:6px;margin-top:auto}
.v2-content-product-card-actions :is(button,a):focus-visible{outline:2px solid #086bd8;outline-offset:2px}
/* Override the shared button hover paint here only; mark the glyph, not its hit area. */
.v2-content-product-card-actions [data-v2-card-wishlist]{background:transparent!important;box-shadow:none!important;font-size:28px}
.v2-content-product-card-actions [data-v2-card-wishlist]>i{grid-area:1/1;line-height:1}
.v2-content-product-card-actions [data-v2-card-wishlist]>.bi-heart-fill{visibility:hidden}
.v2-content-product-card-actions [data-v2-card-wishlist]:is(:hover,:focus-visible,:active)>.bi-heart{visibility:hidden}
.v2-content-product-card-actions [data-v2-card-wishlist]:is(:hover,:focus-visible,:active)>.bi-heart-fill{visibility:visible}
.v2-content-product-card-media{min-width:0;overflow:hidden;background:#fff}
.v2-content-product-card-media img{border-radius:0}
.v2-content-product-card-link:hover,.v2-content-product-card-link:focus-visible{color:#252321;text-decoration:none}
.v2-content-product-number{font-size:11px;color:#69737e}
.v2-content-product-card strong{text-align:left;font-weight:600}
.v2-content-product-gallery{display:flex;gap:5px;min-height:28px;overflow-x:auto;padding-top:2px;scrollbar-width:thin}
.v2-content-product-gallery button{flex:0 0 28px;width:28px;height:28px;padding:2px;border:1px solid #d6d0ca;border-radius:50%;background:#fff;cursor:pointer;box-shadow:none}
.v2-content-product-gallery button[aria-pressed="true"]{border-color:#252321;box-shadow:0 0 0 1px #252321}
.v2-content-product-gallery button:hover,.v2-content-product-gallery button:focus-visible{border-color:#252321}
.v2-content-product-gallery button img{display:block;width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;border-radius:50%;background:#f3f0ec}
.v2-content-slideshow{position:relative;overflow:hidden;background:#f2eee8}
.v2-content-slides{position:relative;min-height:280px}
.v2-content-slide{display:none;position:relative;min-height:280px}
/* Keep the familiar campaign height, but let normal-flow copy expand a slide
 * when needed. An absolutely filled image cannot force its intrinsic aspect
 * ratio onto the grid and make a wide desktop slideshow unexpectedly tall. */
.v2-content-slide.is-active{display:grid;grid-template-columns:minmax(0,1fr);min-height:520px}
.v2-content-slide>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
/* Match the product carousel, but isolate these controls from the theme's
 * generic button padding, blob clip-path and orange hover/focus/active fill.
 * A fixed border-box diameter keeps the entire circle and its focus ring
 * sharp on desktop, mobile and inside the admin preview. */
.v2-content-slideshow .v2-content-slide-prev,.v2-content-slideshow .v2-content-slide-next{position:absolute;top:50%;z-index:2;display:grid;place-items:center;box-sizing:border-box;width:44px;height:44px;min-width:0;min-height:0;aspect-ratio:1;padding:0;gap:0;border:0;border-radius:50%;clip-path:none;-webkit-clip-path:none;appearance:none;background:#fbfaf7;color:#2c2118;font-size:20px;font-weight:400;line-height:1;letter-spacing:0;cursor:pointer;box-shadow:0 1px 0 rgba(34,28,44,.12);text-decoration:none;transform:translateY(-50%);transition:background-color .16s ease,color .16s ease}
.v2-content-slideshow .v2-content-slide-prev:hover,.v2-content-slideshow .v2-content-slide-next:hover,.v2-content-slideshow .v2-content-slide-prev:focus,.v2-content-slideshow .v2-content-slide-next:focus,.v2-content-slideshow .v2-content-slide-prev:active,.v2-content-slideshow .v2-content-slide-next:active{background:#fff;color:#2c2118}
.v2-content-slideshow .v2-content-slide-prev:focus-visible,.v2-content-slideshow .v2-content-slide-next:focus-visible{outline:2px solid #252321;outline-offset:3px}
.v2-content-slide-prev i,.v2-content-slide-next i{display:block;font-size:20px;line-height:1;pointer-events:none}
.v2-content-slide-prev{left:12px}.v2-content-slide-next{right:12px}
.v2-content-slide-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:6px}
.v2-content-slide-dots button{width:9px;height:9px;padding:0;border:1px solid #fff;border-radius:50%;background:#9ca5ad;cursor:pointer}
.v2-content-slide-dots button.is-active{background:#252321}
.v2-content-quick-links{display:flex;gap:10px;flex-wrap:wrap}
/* Anchors preserve block identity across reordering. JS measures the visible
 * fixed header; this fallback also protects direct links without scripting. */
.v2-content-block[id]{scroll-margin-top:calc(var(--v2-anchor-header-offset,96px) + 16px)}
.v2-content-buttons.is-center{justify-content:center}
.v2-content-buttons.is-right{justify-content:flex-end}
.v2-content-buttons .v2-content-button{align-self:flex-start;min-height:44px;box-sizing:border-box;white-space:normal;overflow-wrap:normal;text-align:center}
.v2-content-block[id]:focus-visible{outline:2px solid #1f2529;outline-offset:4px}
/* One validated block palette applies to every link and its hover state. */
.v2-content-buttons .v2-content-button{background:var(--v2-button-background,#ffb36c);color:var(--v2-button-color,#1f2529)}
.v2-content-buttons .v2-content-button:hover{color:var(--v2-button-color,#1f2529)}
/* A button-link carousel keeps the same transparent image links and palette
 * as the wrapped mode. Native scrolling works before JS and on touch; the
 * shared library controller only adds optional arrows and timed movement. */
.v2-content-buttons.is-carousel{flex-wrap:nowrap;justify-content:flex-start;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;padding:4px}
.v2-content-buttons.is-carousel>*{flex:0 0 auto;max-width:min(80vw,360px);scroll-snap-align:start;overflow-wrap:anywhere}
.v2-content-buttons.is-carousel:not(.has-carousel-overflow).is-center{justify-content:center}
.v2-content-buttons.is-carousel:not(.has-carousel-overflow).is-right{justify-content:flex-end}
.v2-content-buttons.is-carousel:focus-visible{outline:2px solid #252321;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.v2-content-buttons.is-carousel{scroll-behavior:auto}}
/* A picture link is not a coloured button. The existing creative-card mask
 * clips only the square image; both its surrounding tile and label stay
 * transparent, including hover. Older text-only links keep their palette. */
.v2-content-buttons .v2-image-link,.v2-content-buttons .v2-image-link:hover{display:grid;justify-items:center;align-content:start;gap:8px;box-sizing:border-box;width:clamp(112px,11vw,150px);min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:#252321;filter:none;text-decoration:none}
.v2-content-buttons .v2-image-link:focus-visible{outline:2px solid #075b99;outline-offset:4px}
.v2-button-link-image.v2-cc-shape-icon{position:relative;display:block;width:100%;height:auto;aspect-ratio:1}
.v2-button-link-image .v2-cc-cutout{position:absolute;inset:0;overflow:hidden;background:transparent}
.v2-button-link-image .v2-cc-cutout>img{display:block;width:100%;height:100%!important;max-height:none;object-fit:cover;object-position:center}
.v2-button-link-label{display:block;max-width:100%;font-size:13px;line-height:1.35;font-weight:600;text-align:center;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
/* The legal page uses the existing text rhythm and the normal 20px outer
 * gutter while leaving linked V2 pages free to keep their own appearance. */
.v2-privacy-page .v2-privacy-manual{margin-top:0}
.v2-privacy-page .v2-privacy-manual>.v2-content-text-inner{background:#fff}
.v2-privacy-page .v2-privacy-manual h1{margin:0 0 24px;font-size:38px;line-height:1.2}
@media(max-width:680px){.v2-privacy-page .v2-privacy-manual h1{font-size:30px}}
/* The contact block is a working form, not a decorative card. The outer
 * section owns its optional shared background/corners; full width removes
 * only the 20px content gutter, never an editor-chosen inner padding. */
.v2-content-block-contact-form{background:#f2efec}
/* The outer block retains V2's shared colors/corners; only the isolated RULE
 * document scrolls if its actual form exceeds the editor-chosen frame height. */
.v2-newsletter-inner{box-sizing:border-box;min-width:0;padding-block:clamp(24px,4vw,56px)}
.v2-newsletter-intro{margin:0 0 20px;max-width:70ch;line-height:1.55}
.v2-newsletter-image,.v2-preview-newsletter-image{display:block;max-width:100%;height:auto;margin:0 0 20px}
.v2-newsletter-embed{display:block;box-sizing:border-box;width:100%;max-width:100%;border:0;background:transparent}
.v2-contact-layout{padding-block:clamp(24px,4vw,56px)}
.v2-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,32%);gap:clamp(24px,3vw,48px);align-items:start}
.v2-contact-layout.is-aside-left .v2-contact-main{grid-column:2;grid-row:1}
.v2-contact-layout.is-aside-left .v2-contact-aside{grid-column:1;grid-row:1}
.v2-contact-layout.is-without-aside .v2-contact-grid{grid-template-columns:minmax(0,1fr)}
.v2-contact-main{min-width:0}
.v2-contact-main h2{margin:0 0 14px;font-size:clamp(22px,2vw,32px);line-height:1.2}
.v2-contact-intro{margin:0 0 22px;max-width:70ch;line-height:1.55}
.v2-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.v2-contact-field{display:block;min-width:0;font-size:13px;font-weight:600}
.v2-contact-wide,.v2-contact-consent,.v2-contact-required,.v2-contact-submit,.v2-contact-result{grid-column:1/-1}
.v2-contact-field input,.v2-contact-field select,.v2-contact-field textarea{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:44px;margin-top:6px;padding:10px 13px;border:1px solid #c9c8c4;border-radius:5px;background:#fff;color:#252321;font:inherit;font-weight:400}
.v2-contact-field textarea{min-height:120px;resize:vertical}
.v2-contact-field :is(input,select,textarea):focus-visible,.v2-contact-consent input:focus-visible,.v2-contact-disclosure summary:focus-visible,.v2-contact-card:focus-visible{outline:2px solid #085f9e;outline-offset:2px}
.v2-contact-consent{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.5}
.v2-contact-consent input{width:18px;height:18px;flex:none;margin:1px 0 0}
.v2-contact-consent a{color:inherit;text-underline-offset:2px}
.v2-contact-required{margin:0;color:#555;font-size:12px}
.v2-contact-submit{justify-self:start;min-height:44px;padding:10px 22px;border:0;border-radius:4px;background:#ffb36c;color:#1f2529;font-weight:700;cursor:pointer}
.v2-contact-submit:hover{background:#ffa458}
.v2-contact-submit:disabled{opacity:.6;cursor:wait}
.v2-contact-result{margin:0;padding:10px 12px;border-left:3px solid #24684e;background:#eef7f1;font-size:14px}
.v2-contact-result.is-error{border-color:#a73232;background:#fff1f1}
.v2-contact-result[hidden],.v2-contact-honeypot{display:none!important}
.v2-contact-disclosure summary{display:inline-flex;align-items:center;min-height:44px;padding:9px 18px;border-radius:4px;background:#ffb36c;cursor:pointer;font-weight:700;list-style:none}
.v2-contact-disclosure summary::-webkit-details-marker{display:none}
.v2-contact-disclosure summary::after{content:'+';margin-left:12px;font-size:20px;line-height:1}
.v2-contact-disclosure[open] summary::after{content:'−'}
.v2-contact-disclosure-body{padding-top:22px;animation:v2-contact-reveal .25s ease-out}
@keyframes v2-contact-reveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.v2-contact-disclosure-body{animation:none}}
.v2-contact-aside{display:grid;gap:16px;min-width:0}
.v2-contact-card{display:grid;gap:10px;padding:10px 10px 16px;border-radius:5px;background:#fff;color:#252321;text-decoration:none;min-width:0}
.v2-contact-card>img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:3px}
.v2-contact-card-copy{display:grid;gap:5px;padding-inline:4px;line-height:1.4}
.v2-contact-card-copy strong{font-size:16px}
.v2-contact-card-copy>span{font-size:13px}
a.v2-contact-card:hover .v2-contact-card-copy strong{text-decoration:underline}
@media(max-width:850px){.v2-contact-grid,.v2-contact-layout.is-without-aside .v2-contact-grid{grid-template-columns:minmax(0,1fr)}.v2-contact-layout.is-aside-left .v2-contact-main,.v2-contact-layout.is-aside-left .v2-contact-aside{grid-column:auto;grid-row:auto}.v2-contact-aside{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.v2-contact-fields{grid-template-columns:minmax(0,1fr)}.v2-contact-aside{grid-template-columns:minmax(0,1fr)}}
.v2-content-spacer{width:100%}
@media(max-width:1100px){.v2-content-category-grid{grid-auto-columns:calc((100% - 54px)/4)}.v2-content-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.v2-content-block h2{font-size:32px}.v2-content-hero-media,.v2-content-slide.is-active{min-height:420px}.v2-content-hero-copy,.v2-content-slide-copy{width:min(560px,calc(100% - 48px));margin-top:36px;padding:32px}.v2-content-hero-copy h2,.v2-content-slide-copy h2{font-size:38px}}
/* On a phone the image stays full-width and the copy returns to normal flow.
 * There is no fixed-height mobile text overlay to truncate long headings or
 * cover the subject. Slideshow arrows/dots stay on its 260px image area. */
@media(max-width:680px){.v2-content-inner,.v2-content-text-inner{width:calc(100% - 40px)}.v2-content-block h2{font-size:28px}.v2-content-category-grid{grid-auto-columns:calc((100% - 12px)/2);gap:12px}.v2-content-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v2-content-hero,.v2-content-slide.is-active{display:block;min-height:0}.v2-content-hero-media{min-height:260px}.v2-content-hero-copy,.v2-content-slide-copy,.v2-content-hero.is-without-image .v2-content-hero-copy{width:100%;max-width:none;margin:0;padding:24px;border-radius:0}.v2-content-hero-copy h2,.v2-content-slide-copy h2{font-size:32px}.v2-content-hero-copy p,.v2-content-slide-copy p{font-size:16px}.v2-content-slide>img{position:static;height:260px;min-height:0}.v2-content-slideshow .v2-content-slide-prev,.v2-content-slideshow .v2-content-slide-next{top:130px}.v2-content-slide-dots{bottom:auto;top:244px}}


/*
 * Typed content blocks från V2:s innehållsbibliotek.
 * Korten är avsiktligt enkla och luftiga så de fungerar lika bra för
 * inspirationsmaterial, kataloger och säsongsinnehåll på alla skärmar.
 */
.v2-content-library{padding-top:8px;padding-bottom:8px}
.v2-content-library-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.v2-content-library-card{display:grid;grid-template-rows:auto 1fr;min-width:0;background:#fff;color:#252321;text-decoration:none;border:1px solid #e4ded7;border-radius:4px;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}
.v2-content-library-card:hover{color:#252321;transform:translateY(-2px);box-shadow:0 7px 18px rgba(37,35,33,.11)}
.v2-content-library-media{aspect-ratio:4/3;background:#f1eee9;overflow:hidden}
.v2-content-library-media img{display:block;width:100%;height:100%;object-fit:cover}
/* The legacy global img rule forces height:auto!important. Override it only
 * for interior photos and anchor them to their responsive frame, independent of
 * auto grid-row sizing. Centred cover crops without stretching; the img/alt
 * and all product, floorplan and catalogue image rules remain unchanged. */
.v2-content-library-interior-design .v2-content-library-media{position:relative}
.v2-content-library-interior-design .v2-content-library-media>img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;object-position:center center}
/* PDF first pages are portrait documents, not photographs. The fixed card
 * frame aligns the carousel while contain keeps every printable visible. */
.v2-content-library-printables .v2-content-library-media{position:relative;background:#fff}
.v2-content-library-printables .v2-content-library-media>img{position:absolute;inset:0;width:100%;height:100%!important;box-sizing:border-box;padding:10px;object-fit:contain}
.v2-content-library-placeholder{display:grid;place-items:center;width:100%;height:100%;color:#7a817f;font-size:12px;letter-spacing:.08em}
.v2-content-library-copy{display:grid;align-content:start;gap:6px;padding:13px 14px}
.v2-content-library-copy small{font-size:11px;color:#7a817f}
.v2-content-library-copy h3{margin:0;font-size:16px;line-height:1.25;font-weight:600}
.v2-content-library-copy p{margin:0;color:#626764;font-size:13px;line-height:1.45}
/* The same collection markup supports wrapping tiles or a native scroll
 * rail. Native scrolling keeps touch, keyboard and no-JS content reachable;
 * JS adds optional arrows, automatic stepping and a persistent pause button. */
.v2-content-library-grid.is-carousel{--v2-library-visible:4;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--v2-library-visible) - 1)*18px)/var(--v2-library-visible));overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;direction:ltr;padding:4px;min-width:0}
.v2-content-library-grid.is-carousel>.v2-content-library-card{scroll-snap-align:start}
.v2-content-library-grid.is-carousel:focus-visible{outline:2px solid #252321;outline-offset:3px}
/* Floorplan tiles follow the reference: landscape photo, then unframed copy
 * and a small directional link. Ordinary library/product cards keep theirs. */
.v2-content-library-floorplans .v2-content-library-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.v2-content-block-floorplan-sections>.v2-content-library+.v2-content-library{margin-block-start:32px}
.v2-content-block-floorplan-sections .v2-content-library-copy{overflow-wrap:anywhere}
.v2-content-library-floorplans .v2-content-library-grid.is-carousel{--v2-library-visible:3;grid-template-columns:none;grid-auto-columns:calc((100% - (var(--v2-library-visible) - 1)*24px)/var(--v2-library-visible))}
.v2-content-library-floorplans .v2-content-library-card{background:transparent;border:0;border-radius:0;overflow:visible;transition:none}
.v2-content-library-floorplans .v2-content-library-card:hover{transform:none;box-shadow:none}
.v2-content-library-floorplans .v2-content-library-media{aspect-ratio:3/2;border-radius:4px}
.v2-content-library-floorplans .v2-content-library-copy{gap:8px;padding:14px 0 0}
.v2-content-library-floorplans .v2-content-library-copy h3{font-family:'Plus Jakarta Sans',Arial,sans-serif;font-size:19px;line-height:1.35;overflow-wrap:normal;letter-spacing:0}
.v2-content-library-floorplans .v2-content-library-copy p{font-size:14px;line-height:1.6;overflow-wrap:normal}
.v2-content-library-floorplans .v2-content-library-link{display:inline-flex;align-items:center;gap:8px;align-self:end;width:max-content;max-width:100%;font-size:13px;font-weight:600;line-height:1.5;padding-top:4px;color:#252321}
.v2-content-library-printables .v2-content-library-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#252321}
.v2-content-library-floorplans .v2-content-library-card:focus-visible{outline:2px solid #252321;outline-offset:4px}
.v2-content-library-card .v2-content-library-copy>*{min-width:0;overflow-wrap:normal}
@media(max-width:1100px){.v2-content-library-grid.is-carousel{--v2-library-visible:3}.v2-content-library-floorplans .v2-content-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v2-content-library-floorplans .v2-content-library-grid.is-carousel{--v2-library-visible:2;grid-template-columns:none}}
@media(max-width:700px){.v2-content-library-grid.is-carousel{--v2-library-visible:2;grid-auto-columns:calc((100% - (var(--v2-library-visible) - 1)*12px)/var(--v2-library-visible))}.v2-content-library-floorplans .v2-content-library-grid{gap:18px}.v2-content-library-floorplans .v2-content-library-grid.is-carousel{grid-auto-columns:calc((100% - (var(--v2-library-visible) - 1)*18px)/var(--v2-library-visible))}.v2-content-library-floorplans .v2-content-library-copy h3{font-size:17px}}
@media(max-width:440px){.v2-content-library-grid.is-carousel,.v2-content-library-floorplans .v2-content-library-grid.is-carousel{--v2-library-visible:1}.v2-content-library-floorplans .v2-content-library-grid{grid-template-columns:minmax(0,1fr)}.v2-content-library-floorplans .v2-content-library-grid.is-carousel{grid-template-columns:none}}
@media(prefers-reduced-motion:reduce){.v2-content-library-card{transition:none}.v2-content-library-card:hover{transform:none}.v2-content-library-grid.is-carousel{scroll-behavior:auto}}
.v2-content-editorial{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);align-items:stretch;min-height:260px;background:#eef3f0}
.v2-content-editorial-media{min-height:260px;overflow:hidden}
.v2-content-editorial-media img{display:block;width:100%;height:100%;object-fit:cover}
.v2-content-editorial-copy{display:grid;align-content:center;gap:12px;padding:32px}
.v2-content-editorial-copy h2{margin:0}
.v2-content-editorial-copy p{margin:0;color:#4e5550;line-height:1.6}
.v2-editorial-disclosure{width:100%;margin:4px 0 0}
/* Body copy uses semantic paragraphs and one fixed rhythm. No editor-defined
 * fonts/sizes reach the page. Contextual colours and responsive headings stay
 * with their existing block, rather than being embedded in each paragraph. */
.v2-content-block .v2-content-copy{min-width:0;font-size:16px;line-height:1.65;letter-spacing:0;overflow-wrap:normal;color:inherit}
.v2-content-block .v2-content-copy p{font-size:inherit;line-height:inherit;color:inherit;margin:0 0 1em;padding:0}
.v2-content-block .v2-content-copy ul,.v2-content-block .v2-content-copy ol{margin:0 0 1em;padding-left:1.5em}
.v2-content-block .v2-content-copy li{margin:0 0 .35em}
/* Publishing copy exposes five presets, not arbitrary CSS. Paragraph gaps
 * remain independent of line-height, including proportional image overlays. */
.v2-content-block .v2-copy-leading-1{line-height:1.65!important}
.v2-content-block .v2-copy-leading-2{line-height:1.8!important}
.v2-content-block .v2-copy-leading-3{line-height:2!important}
.v2-content-block .v2-copy-leading-4{line-height:2.25!important}
.v2-content-block .v2-copy-leading-5{line-height:2.5!important}
.v2-content-block .v2-copy-section-start{margin-top:1.5em!important}
.v2-content-copy>.v2-copy-section-start:first-child,.v2-image-panel-copy.is-rich>.v2-copy-section-start:first-child{margin-top:0!important}
.v2-content-block .v2-content-copy>:last-child{margin-bottom:0}
/* Widths are fractions of the same bounded content area, never 100vw. This
 * avoids horizontal overflow inside generic block margins/padding. Phones
 * always regain the full available content width, including narrow presets. */
.v2-content-slideshow.v2-slide-width-content{width:calc(100% - 40px);max-width:1680px;margin-inline:auto}
.v2-content-slideshow.v2-slide-width-three-quarter{width:calc((100% - 48px)*.75);max-width:1260px;margin-inline:auto}
.v2-content-slideshow.v2-slide-width-half{width:calc((100% - 48px)*.5);max-width:840px;margin-inline:auto}
.v2-content-slide.is-split.is-active{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:360px}
.v2-content-slide.is-split>.v2-content-slide-media{position:relative;min-width:0;min-height:360px;background:#eef3f6}
.v2-content-slide-media>img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}
.v2-content-slide.is-split>.v2-content-slide-copy{grid-area:auto;align-self:stretch;justify-self:stretch;align-content:center;width:auto;max-width:none;margin:0;padding:40px 60px;border-radius:0;background:#f4f7f9}
.v2-content-slide.is-split .v2-content-slide-copy h2{font-size:32px;line-height:1.25}
.v2-content-slide.is-split.image-right>.v2-content-slide-media,.v2-content-editorial.image-right>.v2-content-editorial-media{order:2}
.v2-content-editorial.image-right{grid-template-columns:minmax(280px,.8fr) minmax(0,1fr)}
.v2-content-slide.is-split .v2-content-copy{color:inherit}
.v2-content-slide-copy h2{color:inherit}
/* Explicit height modes remove only the old slideshow floor. Natural images
 * participate in grid sizing at their intrinsic ratio; text can still make
 * the row taller without stretching/cropping the image or clipping copy.
 * Text-driven images stay out of flow, so only the copy sizes the row. */
.v2-content-slideshow.has-auto-height>.v2-content-slides{min-height:0}
.v2-content-slide.v2-slide-height-natural.is-active,.v2-content-slide.v2-slide-height-text.is-active{min-height:0}
.v2-content-slide.v2-slide-height-natural>.v2-content-slide-media,.v2-content-slide.v2-slide-height-text>.v2-content-slide-media{min-height:0}
.v2-content-slide.v2-slide-height-natural>.v2-content-slide-media{display:grid;align-content:center}
.v2-content-slide.v2-slide-height-natural>img,.v2-content-slide.v2-slide-height-natural>.v2-content-slide-media>img{position:static;inset:auto;grid-area:1/1;align-self:center;display:block;width:100%;height:auto!important;min-height:0;max-height:none;object-fit:contain!important}
.v2-content-slide.v2-slide-height-text>img,.v2-content-slide.v2-slide-height-text>.v2-content-slide-media>img{height:100%!important}
.v2-content-slideshow.is-auto-height-active .v2-content-slide-prev,.v2-content-slideshow.is-auto-height-active .v2-content-slide-next{top:var(--v2-slide-control-top,50%)}
.v2-content-slideshow [hidden]{display:none!important}
@media(max-width:900px){.v2-content-slide.is-split>.v2-content-slide-copy{padding:28px 52px}.v2-content-slide.is-split .v2-content-slide-copy h2{font-size:28px}}
@media(max-width:700px){.v2-content-editorial.image-right{grid-template-columns:minmax(0,1fr)}}
@media(max-width:680px){
 .v2-content-slideshow.v2-slide-width-content,.v2-content-slideshow.v2-slide-width-three-quarter,.v2-content-slideshow.v2-slide-width-half{width:calc(100% - 40px);max-width:none}
 .v2-content-slide.is-split.is-active{display:block;min-height:0}
 .v2-content-slide.is-split>.v2-content-slide-media{height:260px;min-height:0}
 .v2-content-slide.is-split>.v2-content-slide-copy{padding:24px}
 .v2-content-slide.is-split .v2-content-slide-copy h2{font-size:28px}
 /* Once stacked, text cannot sensibly determine the separate image row.
  * Both explicit modes use the full responsive image and put copy below it.
  * JS measures that image for arrows/dots after load, resize or slide change. */
 .v2-content-slide.v2-slide-height-natural>.v2-content-slide-media,.v2-content-slide.v2-slide-height-text>.v2-content-slide-media{height:auto;min-height:0;display:block}
 .v2-content-slide.v2-slide-height-text>img,.v2-content-slide.v2-slide-height-text>.v2-content-slide-media>img{position:static;inset:auto;width:100%;height:auto!important;min-height:0;max-height:none}
 .v2-content-slideshow.is-auto-height-active .v2-content-slide-dots{top:var(--v2-slide-dots-top,auto);bottom:auto}
}
.v2-content-service-cta{padding:0;background:#f6e8d7;overflow:hidden}
/* Clip at the outer box, not at the image/copy seam. The background fills
 * its grid cell even when long copy makes the desktop row taller. */
.v2-content-service-cta .v2-content-service-media{min-width:0;background-position:center;background-size:cover;background-repeat:no-repeat}
.v2-content-service-cta.is-without-image{grid-template-columns:1fr}
.v2-content-season-tags-list{display:flex;flex-wrap:wrap;gap:10px}
.v2-content-season-tags-list a{display:inline-flex;align-items:center;min-height:38px;padding:8px 14px;border:1px solid #d8cfc4;border-radius:4px;background:#fff;color:#3b403e;text-decoration:none;font-size:14px}
.v2-content-season-tags-list a:hover{border-color:#bf8953;background:#fffaf4}
@media(max-width:1100px){.v2-content-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.v2-content-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v2-content-editorial{grid-template-columns:1fr}.v2-content-editorial-media{min-height:190px}.v2-content-editorial-copy{padding:24px}.v2-content-library-copy{padding:11px}.v2-content-library-copy h3{font-size:14px}.v2-content-library-copy p{font-size:12px}}
@media(max-width:440px){.v2-content-library-grid{grid-template-columns:1fr}.v2-content-library-media{aspect-ratio:16/9}}
@media(max-width:440px){.v2-content-library-printables .v2-content-library-media{aspect-ratio:4/3}}

/* V2 product highlight and responsive hotspot blocks */
.v2-content-product-highlight{display:grid;grid-template-columns:minmax(300px,.95fr) minmax(0,1.05fr);gap:0;max-width:1680px;padding:0;background:#b7acd6;overflow:hidden;border-radius:6px}
.v2-content-product-highlight-copy{display:grid;grid-template-rows:minmax(260px,1fr) auto;min-width:0;min-height:620px;background:#2c2118;color:#fff}
.v2-content-product-highlight-media{min-height:300px;aspect-ratio:4/3;overflow:hidden}
.v2-content-product-highlight-media img{display:block;width:100%;height:100%;object-fit:cover}
.v2-content-product-highlight-copy-inner{display:grid;align-content:end;gap:10px;padding:28px 32px 30px;background:linear-gradient(transparent,rgba(25,18,13,.82))}
.v2-content-product-highlight-copy-inner h2,.v2-content-product-highlight-copy-inner h3{margin:0;color:#fff}
.v2-content-product-highlight-copy-inner h2{font-size:42px}
.v2-content-product-highlight-copy-inner h3{font-size:32px;font-weight:500}
.v2-content-product-highlight-copy-inner p{margin:0;line-height:1.5;color:#fff}
.v2-content-product-highlight-copy-inner .v2-content-button{border:1px solid #fff;background:transparent;color:#fff}
.v2-content-product-highlight-button{border-color:var(--v2-cta-border-color,#fff)!important;color:var(--v2-cta-text-color,#fff)!important;border-radius:10px 7px 11px 8px / 8px 10px 7px 9px!important;padding:10px 22px!important;transition:color .16s ease,border-color .16s ease,transform .16s ease,background-color .16s ease}
.v2-content-product-highlight-button:hover,.v2-content-product-highlight-button:focus-visible{border-color:var(--v2-cta-hover-color,#ffb36c)!important;color:var(--v2-cta-hover-color,#ffb36c)!important;background:transparent;transform:translateY(-1px)}
.v2-content-product-highlight-products-left .v2-content-product-highlight-copy{order:2}.v2-content-product-highlight-products-left .v2-content-product-carousel{order:1}
.v2-content-product-highlight-products-left{grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr)}
.v2-content-product-carousel{display:grid;align-content:center;min-width:0;padding:36px 28px 30px}
.v2-content-product-carousel-viewport{min-width:0;overflow:hidden}
.v2-content-product-carousel-track{display:flex;gap:18px;will-change:transform;transition:transform .28s ease}
.v2-content-product-carousel-slide{flex:0 0 calc((100% - 18px)/2);min-width:0}
.v2-content-product-grid-carousel{padding:0 0 4px}
.v2-content-product-grid-carousel .v2-content-product-carousel-track{align-items:stretch}
.v2-content-product-grid-carousel .v2-content-product-carousel-slide{display:flex}
.v2-content-grid-carousel-card{width:100%;height:100%}
.v2-content-product-grid-carousel .v2-content-product-carousel-controls{padding-top:14px}
.v2-content-product-grid-carousel .v2-content-product-carousel-controls button{width:38px;height:38px;font-size:22px}
.v2-content-carousel-card{height:100%;min-height:390px;padding:16px 14px 14px;background:#fbfaf7;border:0;border-radius:6px;box-shadow:0 1px 0 rgba(34,28,44,.08);}
.v2-content-carousel-card img{aspect-ratio:1/1;background:#fff;border-radius:0}
.v2-content-product-price{font-size:14px;font-weight:600;color:#252321}
.v2-content-product-carousel-controls{display:flex;justify-content:flex-start;gap:14px;padding-top:20px}
.v2-content-product-carousel-controls[hidden]{display:none}
.v2-content-product-carousel-controls button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:#fbfaf7;color:#2c2118;font-size:25px;font-weight:400;line-height:1;cursor:pointer;box-shadow:0 1px 0 rgba(34,28,44,.12);text-decoration:none!important;transition:background-color .16s ease,color .16s ease,transform .16s ease}
.v2-content-product-carousel-controls button:hover:not(:disabled),.v2-content-product-carousel-controls button:focus-visible{background:#fff;color:#2c2118;transform:translateY(-1px)}
.v2-content-product-carousel-controls button:disabled{opacity:.45;cursor:default}
.v2-content-product-carousel-controls button:focus-visible{outline:2px solid #252321;outline-offset:3px}
.v2-content-product-carousel-controls button i{display:block;font-size:20px;line-height:1}
.v2-content-category-controls button{width:38px;height:38px}
.v2-content-product-card-interactive{position:relative}
.v2-content-product-card-interactive:focus-visible,.v2-content-product-hotspot:focus-visible{outline:3px solid #086bd8;outline-offset:3px}
.v2-content-image-hotspots{max-width:1680px}
.v2-content-image-hotspots-canvas{position:relative;isolation:isolate;line-height:0;overflow:visible}
.v2-content-image-hotspots-canvas>img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
.v2-content-image-hotspots-canvas .v2-content-product-hotspot{position:absolute;z-index:2;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#fff;color:#252321;box-shadow:none;font-size:0;line-height:1;transform:translate(-50%,-50%);cursor:pointer}
/* Use the shop's own rounded-stroke plus symbol, not a font-dependent text
 * character. The original button/ARIA label and percentage position remain
 * intact; a 44px circle provides the same target size on touch screens. */
/* The shared symbol font has a raised baseline. Compensate within the fixed
 * circle so the actual plus strokes, not just their line box, are centered. */
.v2-content-product-hotspot::before{content:var(--base-icon-plus,"\e05d");font-family:icons;font-size:30px;font-style:normal;font-weight:400;line-height:1;transform:translateY(6px);-webkit-font-smoothing:antialiased;pointer-events:none}
.v2-content-product-hotspot:hover{transform:translate(-50%,-50%) scale(1.08)}
.v2-content-hotspot-cluster{max-width:1680px}
.v2-content-hotspot-cluster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.v2-content-hotspot-cluster-item{min-width:0;margin:0;overflow:visible}
.v2-content-hotspot-cluster-item .v2-content-image-hotspots-canvas{height:100%;overflow:hidden;border-radius:6px;background:#f1eee9}
.v2-content-hotspot-cluster-item img{height:100%;object-fit:cover}
.v2-content-hotspot-cluster-columns .v2-content-hotspot-cluster-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.v2-content-hotspot-cluster-feature .v2-content-hotspot-cluster-grid{grid-template-columns:1.35fr 1fr 1fr}
.v2-product-detail-popover{position:fixed;z-index:1200;width:min(402px,calc(100vw - 30px));display:grid;grid-template-columns:68px minmax(0,1fr);gap:15px;align-items:stretch;padding:18px 16px 20px;background:#fffaf7;color:#252321;border:1px solid #eee8e1;border-radius:10px;box-shadow:0 12px 32px rgba(37,35,33,.2);line-height:1.35;pointer-events:auto}
.v2-product-detail-popover{box-sizing:border-box}
.v2-product-detail-popover[hidden]{display:none}
/* Reserve room only on the title line so the close control cannot cover it. */
.v2-product-detail-popover .v2-product-detail-close{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:transparent;color:#252321;cursor:pointer}
.v2-product-detail-close::before{content:"\00d7";font:26px/1 Arial,sans-serif}
.v2-product-detail-popover .v2-product-detail-close:hover{background:#eee8e1}
.v2-product-detail-close:focus-visible{outline:2px solid #086bd8;outline-offset:-2px}
.v2-product-detail-popover img.v2-product-detail-image{width:68px;height:68px;align-self:center;object-fit:contain;background:#f6f3ef;border-radius:5px}
.v2-product-detail-content{min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:14px}
.v2-product-detail-popover strong{display:block;padding-right:32px;overflow-wrap:anywhere;font-size:17px;font-weight:400;line-height:1.28}
.v2-product-detail-number{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Keep the circular action away from the panel edge, including its keyboard
 * focus outline. This spacing belongs to the popover, not the image hotspot. */
.v2-product-detail-actions{display:flex;align-items:center;gap:14px;min-height:42px;padding:4px 0}
.v2-product-detail-price{flex:1;min-width:0;margin:0;font-size:17px;font-weight:400;line-height:1.2}
.v2-product-detail-favorite,.v2-product-detail-open{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;padding:0;border:0;background:transparent;color:#252321;cursor:pointer}
.v2-product-detail-favorite{font-size:33px;font-family:Arial,sans-serif;font-weight:300;line-height:1}
.v2-product-detail-favorite:hover,.v2-product-detail-favorite:focus-visible{color:#9a4d3c}
.v2-product-detail-favorite.is-favorite{color:#9a4d3c}
/* Unlike an underlined text link, this action needs all four border sides.
 * The old border-bottom:0 override made the lower arc fade out. Keep a fixed
 * border-box diameter so the complete ring stays circular on every viewport. */
.v2-product-detail-open{box-sizing:border-box;border:1px solid #252321!important;border-radius:50%;font-size:27px;text-decoration:none!important;box-shadow:none;line-height:1;transition:background-color .15s ease,color .15s ease}
.v2-product-detail-open:hover,.v2-product-detail-open:focus-visible{background:#252321;color:#fff}
.v2-product-detail-open span{display:block;transform:translateY(-1px);text-decoration:none!important}
@media(max-width:480px){.v2-product-detail-popover{grid-template-columns:56px minmax(0,1fr);gap:12px;padding:15px 13px 17px}.v2-product-detail-popover img.v2-product-detail-image{width:56px;height:56px}.v2-product-detail-popover strong{font-size:15px}.v2-product-detail-favorite,.v2-product-detail-open{flex-basis:38px;width:38px;height:38px}.v2-product-detail-actions{gap:8px}.v2-product-detail-favorite{font-size:30px}.v2-product-detail-open{font-size:24px}}
@media(max-width:1100px){.v2-content-product-highlight{grid-template-columns:1fr}.v2-content-product-highlight-products-left .v2-content-product-highlight-copy,.v2-content-product-highlight-products-left .v2-content-product-carousel{order:initial}.v2-content-product-highlight-copy{min-height:420px;grid-template-rows:minmax(220px,1fr) auto}.v2-content-product-highlight-media{aspect-ratio:16/10}.v2-content-product-carousel-slide{flex-basis:calc((100% - 18px)/2)}.v2-content-hotspot-cluster-grid,.v2-content-hotspot-cluster-columns .v2-content-hotspot-cluster-grid,.v2-content-hotspot-cluster-feature .v2-content-hotspot-cluster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.v2-content-product-highlight{border-radius:6px}.v2-content-product-highlight-copy{min-height:360px}.v2-content-product-highlight-media{aspect-ratio:4/3;min-height:220px}.v2-content-product-highlight-copy-inner{padding:22px 20px 24px}.v2-content-product-highlight-copy-inner h2{font-size:30px}.v2-content-product-highlight-copy-inner h3{font-size:24px}.v2-content-product-carousel{padding:20px 14px}.v2-content-product-carousel-slide{flex-basis:100%}.v2-content-carousel-card{min-height:350px}.v2-content-hotspot-cluster-grid,.v2-content-hotspot-cluster-columns .v2-content-hotspot-cluster-grid,.v2-content-hotspot-cluster-feature .v2-content-hotspot-cluster-grid{grid-template-columns:1fr;gap:14px}.v2-content-product-hotspot{width:34px;height:34px;font-size:19px}}
.v2-content-multibox-product-hotspots{max-width:1680px}
.v2-content-multibox-product-hotspots-grid{display:grid;grid-template-columns:repeat(var(--v2-multibox-columns,3),minmax(0,1fr));grid-template-rows:repeat(var(--v2-multibox-rows,2),minmax(0,1fr));gap:var(--v2-multibox-gap,24px);width:100%;aspect-ratio:var(--v2-multibox-ratio,1.82)}
.v2-content-multibox-product-hotspots-item{min-width:0;min-height:0;margin:0;overflow:hidden;border-radius:8px;background:#f1eee9}
.v2-content-multibox-product-hotspots-item .v2-content-image-hotspots-canvas{width:100%;height:100%;overflow:hidden;border-radius:inherit}
.v2-content-multibox-product-hotspots-item .v2-content-image-hotspots-canvas>img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:760px){.v2-content-multibox-product-hotspots-grid{grid-template-columns:1fr;grid-template-rows:none;aspect-ratio:auto;gap:14px}.v2-content-multibox-product-hotspots-item{grid-column:1 / span 1!important;grid-row:auto!important;aspect-ratio:4/3}}

/*
 * Product-highlightens uppladdade bild ska fylla hela vänsterytan, inte bara
 * en separat toppremsa. Bakgrunden centreras och beskärs proportionerligt,
 * medan textpanelen ligger ovanpå med en toning som håller texten läsbar.
 */
.v2-content-product-highlight-copy{position:relative;display:flex;flex-direction:column;justify-content:flex-end;background-position:center center;background-repeat:no-repeat;background-size:cover}
.v2-content-product-highlight-media{display:none}
.v2-content-product-highlight-copy-inner{position:relative;z-index:1;width:100%;box-sizing:border-box;margin-top:auto}

/* Produkt-karusellen använder samma kolumnvärde som produktlistan. Separata
 * regler per tillåtet värde ger stabil CSS även i äldre webbläsare som inte
 * stöder multiplikation i calc(). På mindre enheter tar mediareglerna över. */
.v2-content-product-grid-carousel.v2-content-product-grid-columns-2 .v2-content-product-carousel-slide{flex-basis:calc((100% - 18px)/2)}
.v2-content-product-grid-carousel.v2-content-product-grid-columns-3 .v2-content-product-carousel-slide{flex-basis:calc((100% - 36px)/3)}
.v2-content-product-grid-carousel.v2-content-product-grid-columns-4 .v2-content-product-carousel-slide{flex-basis:calc((100% - 54px)/4)}
.v2-content-product-grid-carousel.v2-content-product-grid-columns-5 .v2-content-product-carousel-slide{flex-basis:calc((100% - 72px)/5)}
.v2-content-product-grid-carousel.v2-content-product-grid-columns-6 .v2-content-product-carousel-slide{flex-basis:calc((100% - 90px)/6)}
@media(max-width:1100px){.v2-content-product-grid-carousel .v2-content-product-carousel-slide{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:680px){.v2-content-product-grid-carousel .v2-content-product-carousel-slide{flex-basis:100%}}

/* Produktlistan följer samma flödessteg som kreativa tips: tre kort på
 * mellanbred skärm, två på mobil och ett på mycket smal mobil. Det valda
 * desktopvärdet 2–6 används fortsatt när det finns utrymme för det. */
@media(max-width:700px){.v2-content-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(max-width:440px){.v2-content-product-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.v2-content-product-carousel-track{transition:none}.v2-content-category-grid{scroll-behavior:auto}}

/* The Instagram rail shares the 1680px content wrapper and existing round
 * arrows. Its selectors are isolated so no product/homepage sizing changes.
 * Hidden overrides protect the consent boundary from display:grid rules. */
.v2-content-instagram [hidden]{display:none!important}
.v2-content-instagram-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.v2-content-instagram-heading h2{margin:0;overflow-wrap:normal}
.v2-content-instagram-heading>a{color:inherit;font-size:16px;text-decoration:underline;text-underline-offset:3px}
.v2-content-instagram-consent{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid #d8d5d2;border-bottom:1px solid #d8d5d2}
.v2-content-instagram-consent p{margin:0;font-size:14px;line-height:1.6;overflow-wrap:normal}
.v2-content-instagram-consent p a{color:inherit;text-decoration:underline}
.v2-content-instagram-consent button.v2-content-button{flex-shrink:0;margin:0;border:1px solid transparent;cursor:pointer;font:inherit;font-size:14px;white-space:normal}
.v2-content-instagram-track{--v2-instagram-visible:var(--v2-instagram-columns,4);display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--v2-instagram-visible) - 1)*24px)/var(--v2-instagram-visible));gap:24px;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:thin;overscroll-behavior-x:contain;direction:ltr}
.v2-content-instagram-card{min-width:0;overflow:hidden;background:#fff;border:1px solid #dedbd7;border-radius:6px;scroll-snap-align:start}
.v2-content-instagram-card>a{display:block;height:100%;color:inherit;text-decoration:none!important}
.v2-content-instagram-media{position:relative;display:grid;aspect-ratio:1/1;overflow:hidden;background:#f0f0ef}
.v2-content-instagram-media>img{display:block;width:100%;height:100%;object-fit:cover}
.v2-content-instagram-badge{position:absolute;top:10px;left:10px;padding:4px 8px;background:#fff;color:#252321;border-radius:4px;font-size:12px;font-weight:600}
.v2-content-instagram-image-error{align-self:center;justify-self:center;padding:16px;color:#5b5754;font-size:14px;text-align:center}
.v2-content-instagram-copy{padding:16px}
.v2-content-instagram-copy p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:4.5em;max-height:4.5em;margin:0 0 10px;font-size:14px;line-height:1.5;overflow-wrap:normal;white-space:pre-line}
.v2-content-instagram-copy time{color:#68635e;font-size:12px}
.v2-content-instagram-controls{align-items:center;flex-wrap:wrap}
.v2-content-instagram-controls button.v2-content-instagram-hide{width:auto;height:auto;min-height:38px;padding:6px 0;margin-left:8px;background:transparent;border-radius:0;box-shadow:none;font-size:13px;text-decoration:underline!important;text-underline-offset:3px}
.v2-content-instagram-card>a:focus-visible,.v2-content-instagram-track:focus-visible,.v2-content-instagram-consent button:focus-visible{outline:2px solid #252321;outline-offset:-2px}
.v2-instagram-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){.v2-content-instagram-track{--v2-instagram-visible:2}}
@media(max-width:680px){.v2-content-instagram-track{--v2-instagram-visible:1;gap:14px}.v2-content-instagram-consent{align-items:flex-start;flex-direction:column;gap:14px}.v2-content-instagram-heading{gap:8px}}
@media(prefers-reduced-motion:reduce){.v2-content-instagram-track{scroll-behavior:auto}.v2-content-instagram-controls button{transition:none}}
/* Prose breaks between words. Norwegian language metadata enables genuine
 * dictionary hyphenation where supported, never an arbitrary letter split.
 * Two authored columns are independent sections, not newspaper text flow. */
.v2-content-block{word-break:normal;hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:6 3 3}
/* A dedicated column container responds to the space actually available on
 * a page/category, not only the viewport. All tracks are equal and preserve
 * column-major reading order when reduced to 3, 2 or 1 tracks. */
.v2-column-container{container-type:inline-size}
/* Block-level spacing is independent of individual part/card appearance.
 * Full width fills the available page region, not the browser via 100vw. */
/* The column gap remains 35px; the outer inset is independently 20px.
 * This keeps image and text alignment while respecting the saved full-width
 * option, which intentionally bypasses only the outer inset. */
.v2-content-inner.v2-column-container{width:100%;max-width:none;--v2-column-space:35px;padding-inline:20px}
.v2-content-inner:is(.v2-column-width-full,.v2-column-width-standard){padding-inline:0}
.v2-column-container.v2-column-bottom-space{padding-bottom:var(--v2-column-space,35px)}
.v2-column-container>.v2-column-layout{gap:var(--v2-column-space,35px)}
.v2-column-equal>.v2-column-content>.v2-column-image{height:min(var(--v2-column-equal-height,280px),70vw);aspect-ratio:auto;flex-shrink:0}
/* Override the storefront's global img height:auto!important only inside
 * fixed-height column slots. The raster must fill the space reserved for it. */
.v2-column-equal>.v2-column-content>.v2-column-image img{width:100%;height:100%!important;object-fit:var(--v2-column-equal-fit,cover);object-position:center}
.v2-column-equal:has(>.v2-column-card)>.v2-column-content{padding:32px}
@container(max-width:760px){.v2-column-equal:has(>.v2-column-card)>.v2-column-content{padding:24px}}
/* Shared row tracks align image slots, headings and body starts without JS
 * measurement or a fixed text height. Each wrapped row forms its own group. */
@supports(grid-template-rows:subgrid){
 .v2-column-container>.v2-column-equal{align-items:stretch}
 .v2-column-container .v2-column-equal>.v2-column-content{display:grid;grid-template-rows:subgrid;grid-row:span var(--v2-column-tracks,3);gap:20px;align-content:normal}
 .v2-column-equal>.v2-column-content>.v2-column-copy{display:contents}
 .v2-column-equal .v2-column-copy-heading{min-width:0;align-self:start}
 .v2-column-copy-heading>h3{margin:0;font-size:24px;line-height:1.3;color:inherit}
 .v2-column-equal .v2-column-copy>.v2-content-copy{align-self:start}
 .v2-column-equal>.v2-column-content>.v2-column-cta{grid-row:var(--v2-column-tracks);align-self:end;margin-top:0;justify-self:start}
}
@media(max-width:680px){.v2-content-inner.v2-column-container{--v2-column-space:16px}.v2-column-container.v2-column-bottom-space{padding-bottom:35px}}
.v2-column-layout{display:grid;grid-template-columns:repeat(var(--v2-text-columns,1),minmax(0,1fr));gap:32px 24px;align-items:start}
.v2-column-content,.v2-column-copy{min-width:0}
.v2-column-content{display:grid;gap:24px;align-content:start}
/* Opt-in cards stretch within their responsive row. The CTA uses remaining
 * flex space, so neighbouring buttons share a baseline without fixed heights. */
.v2-column-layout:has(>.v2-column-card),.v2-column-layout:has(>.v2-column-content>.v2-column-cta){align-items:stretch}
.v2-column-content.v2-column-card,.v2-column-content:has(>.v2-column-cta){display:flex;flex-direction:column}
.v2-column-content.v2-column-card{padding:32px;background:var(--v2-column-background);color:var(--v2-column-text,#252321);box-sizing:border-box}
.v2-column-card .v2-column-copy>h3{color:inherit}
.v2-column-card .v2-content-copy a[href]{color:inherit}
.v2-column-content>.v2-column-cta{margin-top:auto;align-self:flex-start;min-height:44px;box-sizing:border-box;white-space:normal;overflow-wrap:normal;text-align:center;background:var(--v2-column-cta-background,#ffb36c);color:var(--v2-column-cta-text,#252321);border-radius:10px 7px 11px 8px / 8px 10px 7px 9px}
.v2-column-content>.v2-column-cta:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@container(max-width:760px){.v2-column-content.v2-column-card{padding:24px}}
.v2-column-copy>h3{margin:0 0 12px;font-size:24px;line-height:1.3}
.v2-column-copy .v2-content-richtext{max-width:none;min-width:0}
/* Text-only standard insets: images never inherit padding. The semantic
 * checkbox is independent of manual whole-block padding and image sizing. */
.v2-content-block{--v2-copy-inset:40px}
.v2-content-block.v2-standard-text-spacing :is(.v2-content-text-inner,.v2-content-editorial-copy,.v2-content-hero-copy,.v2-content-slide-copy,.v2-content-product-highlight-copy-inner){padding:var(--v2-copy-inset) min(var(--v2-copy-inset),10%)}
.v2-content-block.v2-text-spacing-off :is(.v2-content-text-inner,.v2-content-editorial-copy,.v2-content-hero-copy,.v2-content-slide-copy,.v2-content-product-highlight-copy-inner){padding:0}
.v2-content-block.v2-standard-text-spacing .v2-content-text-inner>:first-child{margin-top:0}
.v2-content-block.v2-standard-text-spacing .v2-content-text-inner>:last-child{margin-bottom:0}
/* Cards no longer inset their images just to give their copy breathing room.
 * The card clips only its outer corners; equal-height subgrid tracks remain. */
.v2-content-block :is(.v2-column-card,.v2-column-equal>.v2-column-content){padding:0;overflow:hidden}
.v2-content-block .v2-column-copy.v2-copy-standard-spacing{padding:var(--v2-copy-inset) min(var(--v2-copy-inset),10%);box-sizing:border-box}
.v2-content-block .v2-column-content>.v2-column-cta{margin-inline:min(var(--v2-copy-inset),10%);margin-bottom:var(--v2-copy-inset);max-width:80%}
@supports(grid-template-rows:subgrid){
 .v2-content-block .v2-column-equal .v2-copy-standard-spacing>.v2-column-copy-heading{padding:var(--v2-copy-inset) min(var(--v2-copy-inset),10%) 0}
 .v2-content-block .v2-column-equal .v2-copy-standard-spacing>.v2-content-copy{padding:0 min(var(--v2-copy-inset),10%) var(--v2-copy-inset)}
}
.v2-content-block.v2-text-spacing-off .v2-column-copy,.v2-content-block.v2-text-spacing-off .v2-column-copy>:is(.v2-column-copy-heading,.v2-content-copy){padding:0}
.v2-content-block.v2-text-spacing-off .v2-column-content>.v2-column-cta{margin-inline:0;margin-bottom:0;max-width:100%}
@media(max-width:680px){.v2-content-block{--v2-copy-inset:20px}}
.v2-column-copy :is(h3,p,li,a){word-break:normal;overflow-wrap:normal;hyphens:auto}
/* Per-part image geometry stays inside the responsive column. Original size
 * never upscales; format/height modes contain or crop without distortion. */
.v2-column-image{min-width:0;width:100%;margin:0;overflow:hidden;border-radius:inherit}
.v2-column-image img{display:block;max-width:100%;height:auto;margin:auto}
.v2-column-image.is-natural img{width:100%}
.v2-column-image.is-ratio{aspect-ratio:var(--v2-column-image-ratio,1 / 1)}
.v2-column-image.is-height{height:min(var(--v2-column-image-height,200px),80vw)}
.v2-column-image:is(.is-ratio,.is-height) img{width:100%;height:100%!important;object-fit:var(--v2-column-image-fit,contain);object-position:center}
@container(max-width:1100px){.v2-column-layout{grid-template-columns:repeat(min(var(--v2-text-columns,1),3),minmax(0,1fr))}}
@container(max-width:760px){.v2-column-layout{grid-template-columns:repeat(min(var(--v2-text-columns,1),2),minmax(0,1fr))}}
/* Stack in a narrow content region, including a phone or a narrow preview. */
@container(max-width:760px){.v2-column-layout.v2-column-stack{grid-template-columns:minmax(0,1fr)}}
@container(max-width:760px){.v2-column-stack>.v2-column-content:empty:not(.v2-column-card){display:none}}
/* Columns use the block's four corner values unless explicitly overridden.
 * Each figure clips its own image, including in equal-height columns. */
.v2-column-content{border-radius:var(--v2-round,16px)}
.v2-column-content.is-rounded{border-radius:8px}
.v2-column-content.is-square{border-radius:0}
.v2-column-image.is-rounded{border-radius:8px}
.v2-column-image>img{border-radius:inherit}
/* Text alignment belongs to individual rich paragraphs, not whole blocks.
 * All three explicit values override inherited hero/panel alignment safely. */
:is(.v2-content-copy,.v2-image-panel-copy.is-rich) .v2-copy-align-left{text-align:left!important}
:is(.v2-content-copy,.v2-image-panel-copy.is-rich) .v2-copy-align-center{text-align:center!important}
:is(.v2-content-copy,.v2-image-panel-copy.is-rich) .v2-copy-align-right{text-align:right!important}
.v2-content-text-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px;align-items:start}
.v2-content-text-column{min-width:0}
.v2-content-text-column h3{margin:0 0 18px;font-size:24px;line-height:1.3;font-weight:600;letter-spacing:0}
.v2-content-text-columns .v2-content-richtext{max-width:none}
/* Named copy formats match the shared WYSIWYG editor. Size 3 deliberately
 * inherits existing body typography; the surrounding block keeps its theme. */
.v2-content-block :is(.v2-content-copy,.v2-image-panel-copy.is-rich) .v2-copy-size-1{font-size:12px}
.v2-content-block :is(.v2-content-copy,.v2-image-panel-copy.is-rich) .v2-copy-size-2{font-size:14px}
.v2-content-block :is(.v2-content-copy,.v2-image-panel-copy.is-rich) .v2-copy-size-3{font-size:inherit}
.v2-content-block :is(.v2-content-copy,.v2-image-panel-copy.is-rich) .v2-copy-size-4{font-size:24px}
.v2-content-block :is(.v2-content-copy,.v2-image-panel-copy.is-rich) .v2-copy-size-5{font-size:38px}
.v2-content-block :is(.v2-content-copy,.v2-image-panel-copy.is-rich) .v2-copy-size-6{font-size:56px}
.v2-content-block :is(.v2-content-copy,.v2-image-panel-copy.is-rich) .v2-copy-size-7{font-size:76px}
.v2-content-block :is(.v2-content-copy,.v2-image-panel-copy.is-rich) .v2-copy-line-1{line-height:1.65}
.v2-content-block :is(.v2-content-copy,.v2-image-panel-copy.is-rich) .v2-copy-line-2{line-height:1.8}
.v2-content-block :is(.v2-content-copy,.v2-image-panel-copy.is-rich) .v2-copy-line-3{line-height:2}
.v2-content-block :is(.v2-content-copy,.v2-image-panel-copy.is-rich) .v2-copy-line-4{line-height:2.25}
.v2-content-block :is(.v2-content-copy,.v2-image-panel-copy.is-rich) .v2-copy-line-5{line-height:2.5}
.v2-content-block :is(.v2-content-copy,.v2-image-panel-copy.is-rich) h3{font-size:24px!important;line-height:1.3!important;margin:1.25em 0 .6em!important;font-weight:700}
.v2-content-block :is(.v2-content-copy,.v2-image-panel-copy.is-rich) h4{font-size:20px!important;line-height:1.35!important;margin:1.2em 0 .6em!important;font-weight:700}
.v2-content-block :is(.v2-content-copy,.v2-image-panel-copy.is-rich) .v2-copy-style-lead{font-size:20px!important;line-height:1.65!important;font-weight:500;margin-bottom:1em!important}
.v2-content-block :is(.v2-content-copy,.v2-image-panel-copy.is-rich) blockquote{border:0;border-left:4px solid #6e8792;margin:1.25em 0!important;padding:.5em 1em!important;background:#f2f5f5;color:inherit;font-style:italic}
.v2-content-block :is(.v2-content-copy,.v2-image-panel-copy.is-rich) .v2-copy-style-fact{margin:1.25em 0!important;padding:1em 1.25em!important;background:#edf4f5;border:1px solid #b8cdd1;border-radius:4px;color:#253b40}
.v2-content-block :is(.v2-content-copy,.v2-image-panel-copy.is-rich) a[href]{text-decoration:underline;text-underline-offset:.16em;color:#075b99}
.v2-content-block :is(.v2-content-copy,.v2-image-panel-copy.is-rich) .v2-copy-style-fact:has(+.v2-copy-style-fact){margin-bottom:0!important;padding-bottom:0!important;border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}
.v2-content-block :is(.v2-content-copy,.v2-image-panel-copy.is-rich) .v2-copy-style-fact+.v2-copy-style-fact{margin-top:0!important;padding-top:0!important;border-top:0;border-top-left-radius:0;border-top-right-radius:0}
.v2-content-block :is(.v2-content-copy,.v2-image-panel-copy.is-rich) blockquote:has(+blockquote){margin-bottom:0!important;padding-bottom:0!important}
.v2-content-block :is(.v2-content-copy,.v2-image-panel-copy.is-rich) blockquote+blockquote{margin-top:0!important;padding-top:0!important}
@media(max-width:680px){
 .v2-content-block :is(.v2-content-copy,.v2-image-panel-copy.is-rich) .v2-copy-size-4{font-size:22px}
 .v2-content-block :is(.v2-content-copy,.v2-image-panel-copy.is-rich) .v2-copy-size-5{font-size:28px}
 .v2-content-block :is(.v2-content-copy,.v2-image-panel-copy.is-rich) .v2-copy-size-6{font-size:42px}
 .v2-content-block :is(.v2-content-copy,.v2-image-panel-copy.is-rich) .v2-copy-size-7{font-size:56px}
}
@media(max-width:760px){.v2-content-text-columns{grid-template-columns:minmax(0,1fr);gap:28px}.v2-content-text-column h3{font-size:22px}}
/* Free hero placement distributes remaining space around an in-flow copy
 * track. Text can grow and wrap normally; no absolute text rectangle, fixed
 * height or transform can hide copy after resize, font loading or translation.
 * No metadata means none of these selectors apply to an existing campaign. */
.v2-content-hero.v2-hero-free-desktop:not(.is-without-image){display:grid;grid-template-columns:24px minmax(0,var(--v2-hero-desktop-x-a,0fr)) min(640px,max(min(280px,calc(100% - 48px)),calc((100% - 48px)*var(--v2-hero-desktop-width,1)))) minmax(0,var(--v2-hero-desktop-x-b,100fr)) 24px;grid-template-rows:24px minmax(0,var(--v2-hero-desktop-y-a,0fr)) auto minmax(0,var(--v2-hero-desktop-y-b,100fr)) 24px}
.v2-content-hero.v2-hero-free-desktop:not(.is-without-image)>.v2-content-hero-media{grid-area:1/1/6/6}
.v2-content-hero.v2-hero-free-desktop:not(.is-without-image)>.v2-content-hero-copy{grid-area:3/3;align-self:start;justify-self:stretch;margin:0;width:100%;max-width:none}
@media(max-width:680px){
 .v2-content-hero.v2-hero-free-desktop:not(.is-without-image){display:block;min-height:0}
 .v2-content-hero.v2-hero-free-desktop:not(.is-without-image)>.v2-content-hero-media,.v2-content-hero.v2-hero-free-desktop:not(.is-without-image)>.v2-content-hero-copy{grid-area:auto}
 .v2-content-hero.v2-hero-free-desktop:not(.is-without-image)>.v2-content-hero-copy{width:100%;max-width:none;margin:0}
 /* Keep narrow percentages readable; the available image width is the hard cap. */
 .v2-content-hero.v2-hero-free-mobile:not(.is-without-image){display:grid;grid-template-columns:16px minmax(0,var(--v2-hero-mobile-x-a,0fr)) min(640px,max(min(240px,calc(100% - 32px)),calc((100% - 32px)*var(--v2-hero-mobile-width,1)))) minmax(0,var(--v2-hero-mobile-x-b,100fr)) 16px;grid-template-rows:16px minmax(0,var(--v2-hero-mobile-y-a,0fr)) auto minmax(0,var(--v2-hero-mobile-y-b,100fr)) 16px}
 .v2-content-hero.v2-hero-free-mobile:not(.is-without-image)>.v2-content-hero-media{grid-area:1/1/6/6}
 .v2-content-hero.v2-hero-free-mobile:not(.is-without-image)>.v2-content-hero-copy{grid-area:3/3;margin:0;width:100%;max-width:none;align-self:start;justify-self:stretch}
}
/* Standard highlight keeps the surrounding page surface visible. */
.v2-content-block-product-highlight.v2-block-width-standard{background:transparent!important}
.v2-content-block.v2-block-width-standard>.v2-highlight-standard-heading{font-size:24px;margin:0 auto 16px;overflow-wrap:anywhere}
.v2-content-block.v2-block-width-standard>.v2-content-product-highlight{background:var(--v2-block-background,#b7acd6)}
@media(min-width:1101px){
 .v2-block-width-standard .v2-content-product-highlight{grid-template-columns:minmax(0,3fr) minmax(0,4fr)}
 .v2-block-width-standard .v2-content-product-highlight-products-left{grid-template-columns:minmax(0,4fr) minmax(0,3fr)}
}
.faq-page .faq-heading{padding-top:32px}
.faq-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;padding-block:36px 54px}
.faq-group h2{font-size:24px;margin:0 0 12px;overflow-wrap:anywhere}
.faq-question{border-bottom:1px solid #aca7a0}
.faq-question summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:14px;padding:12px 0;color:#222;font-weight:700;overflow-wrap:anywhere}
.faq-question summary::-webkit-details-marker{display:none}
.faq-question summary:focus-visible{outline:2px solid #26527c;outline-offset:3px}
.faq-indicator{position:relative;display:block;width:30px;height:30px;border-radius:50%;background:#fff;color:#222}
.faq-indicator::before,.faq-indicator::after{content:"";position:absolute;inset:0;margin:auto;width:16px;height:2px;border-radius:1px;background:currentColor}
.faq-indicator::after{transform:rotate(90deg)}
.faq-question[open] .faq-indicator{background:#ffd5ab}
.faq-question[open] .faq-indicator::after{display:none}
.faq-question[open] summary:is(:hover,:focus-visible) .faq-indicator{background:#ffb36f}
.faq-question p{margin:0 0 16px 44px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}
@media(max-width:760px){.faq-groups{grid-template-columns:minmax(0,1fr);gap:28px;padding-block:24px 36px}}
/* Card deck is an opt-in visual layer; original media keeps the saved sizing. */
.v2-card-deck-media{overflow:hidden;isolation:isolate}
.v2-card-deck-media>.v2-deck-source{opacity:0}
.v2-deck-layer{position:absolute;inset:11% 13%;pointer-events:none}
.v2-deck-layer>.v2-deck-card{position:absolute;inset:0;width:100%;height:100%;display:block;border-radius:7px;background:#f8f7f4;box-shadow:0 2px 7px rgba(24,30,33,.16)}
.v2-card-deck-copy{overflow:hidden}
.v2-content-slideshow.is-card-deck-active :is(.v2-content-slide-prev,.v2-content-slide-next){top:var(--v2-deck-control-top,50%)}
@media(min-width:681px){
 .v2-content-slideshow.is-card-deck-active:not(:has(.v2-content-slide.is-active.image-right)) .v2-content-slide-next{right:calc(50% + 12px)}
 .v2-content-slideshow.is-card-deck-active:has(.v2-content-slide.is-active.image-right) .v2-content-slide-prev{left:calc(50% + 12px)}
}
