/*
 * product-showcase.css v0.6 - 2026-10-23, statuskorrekte heroes og magnetvarianter
 * Seks forskellige redaktionelle produktlayouts. Præsentationen er read-only.
 * Ingen dekorative elementer på disse sider må forveksles med rigtige produktfotos.
 */

.sh-product-page { background: var(--cream); }
.sp-page-main { min-height: 50vh; }
.sp-page-toolbar { padding-block: .65rem; }
.sp-page-toolbar .sh-back { font-size: .9rem; }
.sh-product-page .product-nav { display: flex; flex-wrap: wrap; gap: 1rem; }

.sp-section-label, .sp-eyebrow {
  display: block; margin: 0 0 .9rem; font-size: clamp(.76rem, 1.1vw, .94rem);
  font-weight: 850; letter-spacing: .045em; line-height: 1.25;
}
.sp-text-link {
  display: inline-block; font-weight: 800; text-decoration: underline;
  text-decoration-thickness: 2px; text-underline-offset: 4px; color: var(--jade);
}
.sp-text-link:hover { color: var(--dark-green); }
.sp-hero-link {
  display: inline-flex; align-items: center; justify-content: space-between;
  gap: 1.5rem; min-height: 48px; padding: .78rem 1.15rem;
  text-decoration: none; border: 2px solid var(--dark-green); border-radius: 100px;
  background: var(--dark-green); color: var(--white);
  font-weight: 850; font-size: .95rem; line-height: 1.2; width: fit-content;
  transition: transform .2s ease, background .2s ease;
}
.sp-hero-link:hover { transform: translateY(-2px); background: var(--jade); }
.sp-hero-link--dark { background: var(--dark-green); color: var(--white); }
.sp-status {
  display: inline-flex; padding: .5rem .95rem; border-radius: 100px;
  background: var(--sage); color: var(--dark-green);
  font-weight: 850; font-size: .96rem; width: fit-content;
}
.sp-status--soon { background: var(--lime); }
.sp-status--info { background: #ecf1df; }
.sp-offer { display: inline-flex; flex-direction: column; gap: .15rem; }
.sp-offer small { font-size: .7rem; font-weight: 800; letter-spacing: .055em; }
.sp-offer strong { font-size: clamp(1.65rem,3.4vw,2.35rem); line-height: 1; font-weight: 850; letter-spacing: -.025em; }
.sp-unavailable { padding-block: 4rem; }
.sp-unavailable h1 { font-size: clamp(1.8rem,3vw,2.8rem); }

/* Kompakt tværgående menulinje; scroller vandret i stedet for at presse mobil. */
.sp-category-bar { background: var(--white); border-bottom: 1px solid rgba(14,65,46,.10); }
.sp-category-bar__inner {
  display: flex; flex-wrap: nowrap; align-items: center;
  gap: clamp(.45rem,1.45vw,1.3rem); overflow-x: auto;
  scrollbar-width: thin; overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch; padding-block: .56rem;
}
.sp-category-bar__inner a {
  text-decoration: none; font-size: .87rem; font-weight: 780;
  white-space: nowrap; padding: .42rem .8rem; border-radius: 99px;
  border: 1px solid transparent;
}
.sp-category-bar__inner a:hover { background: var(--cream); }
.sp-category-bar__inner a[aria-current="page"] {
  background: var(--dark-green); color: var(--white);
}
.sp-category-bar__inner a:focus-visible { outline: 3px solid var(--jade); outline-offset: 2px; }

/* ─── ØKOBRELLA – FARVERIGT KAMPAGNELOOK, ORIGINALT PRODUKTFOTO ─── */
.sp-umbrella-hero { overflow: hidden; background: var(--green); }
.sp-umbrella-hero__grid {
  display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr);
  min-height: 610px; gap: clamp(1rem,3.3vw,4rem);
  align-items: center; padding-block: clamp(1.2rem,3vw,3rem);
}
.sp-umbrella-hero__copy { position: relative; z-index: 1; min-width: 0; }
.sp-umbrella-hero__copy .sp-eyebrow { font-size: clamp(.82rem,1.2vw,1.04rem); }
.sp-umbrella-hero__copy h1 {
  font-size: clamp(2.8rem,5.7vw,6.5rem); font-weight: 800; line-height: .95;
  letter-spacing: -.025em; margin: .15rem 0 1.6rem; color: var(--white);
  overflow-wrap: anywhere;
}
.sp-umbrella-intro {
  font-size: clamp(1.4rem,2.6vw,2.55rem); line-height: 1.17;
  max-width: 600px; margin: 0 0 1.25rem; letter-spacing: -.025em;
}
.sp-umbrella-words { font-size: clamp(1.03rem,1.45vw,1.27rem); line-height: 1.45; margin: 0 0 1.55rem; }
.sp-umbrella-words span { display: block; }
.sp-umbrella-cta { display: flex; gap: .8rem; align-items: stretch; flex-wrap: wrap; margin-bottom: 1.5rem; }
.sp-umbrella-cta .sp-offer, .sp-umbrella-limited {
  padding: 1.1rem 1.45rem; min-width: 165px; border-radius: 22px;
}
.sp-umbrella-cta .sp-offer { color: var(--lime); background: var(--dark-green); }
.sp-umbrella-cta .sp-offer small { color: var(--white); }
.sp-umbrella-limited {
  display: flex; flex-direction: column; justify-content: center; gap: .1rem;
  background: var(--sage); color: var(--dark-green);
}
.sp-umbrella-limited small { font-size: .7rem; font-weight: 850; letter-spacing: .055em; }
.sp-umbrella-limited strong { font-size: clamp(1.12rem,2vw,1.55rem); line-height: 1.2; }
.sp-umbrella-hero__picture { position: relative; min-width: 0; border-radius: 38px; padding: clamp(.5rem,1.5vw,1.15rem); background: #c7f0ae; }
.sp-umbrella-hero__picture picture { display: block; overflow: hidden; border-radius: 26px; background: #e9f4dd; }
.sp-umbrella-hero__picture img { width: 100%; height: 100%; aspect-ratio: .92; object-fit: cover; object-position: center; }
.sp-umbrella-hero__facts {
  display: flex; align-items: baseline; flex-wrap: wrap; column-gap: .6rem;
  padding: .95rem .85rem .3rem; font-size: clamp(.9rem,1.4vw,1.08rem);
}
.sp-umbrella-hero__facts strong { font-size: clamp(1.6rem,2.1vw,2rem); line-height: 1; letter-spacing: -.025em; }
.sp-umbrella-hero__facts span:last-child { width: 100%; color: var(--jade); font-size: .86rem; font-weight: 750; margin-top: .25rem; }
.sp-understory { padding-block: clamp(2rem,5vw,4rem); display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(1rem,4vw,5rem); align-items: center; }
.sp-understory__slogan span { display: block; font-size: clamp(1.15rem,2.2vw,1.8rem); }
.sp-understory__slogan strong {
  display: block; max-width: 700px; font-size: clamp(2.7rem,5.9vw,5.7rem);
  letter-spacing: -.025em; line-height: .98;
}
.sp-understory__detail { font-size: clamp(1rem,1.6vw,1.2rem); }
.sp-understory__detail p { max-width: 500px; margin-top: 0; }
.sp-umbrella-next {
  display: grid; grid-template-columns: .95fr 1.05fr; overflow: hidden;
  border-radius: 36px; margin-bottom: clamp(2rem,4vw,4.5rem);
  background: var(--dark-green); color: var(--white);
}
.sp-umbrella-next__wordmark {
  display: flex; justify-content: center; flex-direction: column; min-height: 285px;
  background: var(--sage); color: var(--dark-green); padding: 2rem 7%;
  transform: none; text-align: center;
}
.sp-umbrella-next__wordmark span { font-size: clamp(1.6rem,3vw,2.8rem); font-weight: 750; transform: rotate(-4deg); }
.sp-umbrella-next__wordmark strong {
  display: block; font-size: clamp(2.2rem,4.7vw,5.2rem); letter-spacing: -.025em;
  line-height: .93; overflow-wrap: anywhere;
}
.sp-umbrella-next__copy { padding: clamp(1.5rem,4vw,3.5rem); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.sp-umbrella-next__copy h2 { margin: 0 0 .6rem; font-size: clamp(2rem,3.4vw,3.5rem); line-height: 1; letter-spacing: -.025em; }
.sp-umbrella-next__copy p { max-width: 480px; font-size: clamp(.99rem,1.4vw,1.16rem); }
.sp-umbrella-next__copy .sp-status { margin-top: .4rem; color: var(--dark-green); }

/* ─── REGNSLAG – STOR TYPOGRAFI + DEN TYDELIGE 50-PAKKE ─── */
.sp-rain-hero { background: #d7ecb8; overflow: hidden; }
.sp-rain-hero__layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(1rem,4vw,5rem); padding-block: clamp(2rem,5vw,5rem); min-height: 510px; align-items: center; }
.sp-rain-hero__copy h1 { margin: 0; font-size: clamp(4.2rem,9vw,10rem); letter-spacing: -.025em; line-height: .85; overflow-wrap: anywhere; }
.sp-rain-hero__copy h1 em { display: block; font-style: normal; color: var(--jade); }
.sp-rain-intro { font-size: clamp(1.12rem,1.8vw,1.46rem); max-width: 620px; line-height: 1.37; margin: 1.4rem 0 1.7rem; }
.sp-rain-terms { display: flex; flex-wrap: wrap; gap: clamp(.65rem,1.5vw,1.2rem); align-items: stretch; }
.sp-rain-pack, .sp-rain-price { display: flex; flex-direction: column; justify-content: center; }
.sp-rain-pack { border-radius: 24px; padding: .85rem 1.6rem; background: var(--dark-green); color: var(--white); min-width: 150px; }
.sp-rain-pack span { font-size: .82rem; font-weight: 800; }
.sp-rain-pack strong { font-size: clamp(4rem,6vw,5.5rem); line-height: .96; letter-spacing: -.025em; color: var(--lime); }
.sp-rain-price { gap: .65rem; padding: .2rem; }
.sp-rain-art {
  position: relative; isolation: isolate; display: flex; justify-content: space-between;
  flex-direction: column; min-height: 420px; aspect-ratio: .9;
  border-radius: 40px; overflow: hidden; background: var(--green); padding: clamp(1.4rem,3vw,3.2rem);
}
.sp-rain-art::before {
  content: ""; position: absolute; inset: -50%; z-index: -1; transform: rotate(-20deg);
  background: repeating-linear-gradient(90deg,transparent 0 45px,rgba(255,255,255,.25) 46px 50px,transparent 51px 90px);
}
.sp-rain-art__drop { display: grid; place-items: center; align-self: flex-end; width: clamp(80px,13vw,145px); aspect-ratio: 1; border-radius: 50%; background: var(--dark-green); color: var(--lime); font-size: clamp(3rem,6vw,6rem); font-weight: 850; transform: rotate(13deg); }
.sp-rain-art__title { font-weight: 800; font-size: clamp(3rem,5.5vw,6.5rem); line-height: .95; letter-spacing: -.025em; color: var(--white); }
.sp-rain-art__caption { font-size: .79rem; font-weight: 750; }
.sp-rain-info { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,5vw,6rem); padding-block: clamp(2rem,5vw,4.8rem); }
.sp-rain-info h2 { margin: 0; font-size: clamp(2.3rem,4.6vw,4.7rem); line-height: 1.02; letter-spacing: -.025em; }
.sp-rain-info > div:last-child { align-self: end; font-size: clamp(1.03rem,1.6vw,1.25rem); }
.sp-rain-info p { max-width: 600px; }

/* ─── MAGNETER – RUNDHED SOM GRAFISK PRINCIP; IKKE FOTOS ─── */
.sp-magnet-hero { background: var(--cream); }
.sp-magnet-hero__inner { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 2rem; padding-block: clamp(2rem,6vw,6rem); }
.sp-magnet-copy h1 { margin: 0 0 1.4rem; font-size: clamp(3.8rem,7vw,7.4rem); line-height: .94; letter-spacing: -.025em; overflow-wrap: anywhere; }
.sp-magnet-copy h1 span { display: block; color: var(--jade); }
.sp-magnet-copy p { max-width: 490px; font-size: clamp(1.02rem,1.65vw,1.33rem); line-height: 1.4; }
.sp-magnet-copy .sp-status { margin-block: .2rem .6rem; }
.sp-magnet-forms { min-width: 0; position: relative; min-height: 440px; display: grid; place-items: center; overflow: hidden; border-radius: 38px; background: #cceab7; isolation: isolate; }
.sp-magnet-disc { display: grid; place-items: center; border-radius: 50%; box-shadow: 2px 13px 24px rgba(14,65,46,.15); font-size: clamp(1.2rem,3.4vw,3rem); font-weight: 800; letter-spacing: -.025em; }
.sp-magnet-disc--one { width: 63%; aspect-ratio: 1; background: var(--green); position: absolute; top: 8%; left: 7%; transform: rotate(-13deg); color: var(--dark-green); }
.sp-magnet-disc--two { width: 43%; aspect-ratio: 1; background: var(--dark-green); color: var(--lime); position: absolute; top: 22%; right: 5%; transform: rotate(14deg); }
.sp-magnet-disc--three { width: 38%; aspect-ratio: 1; background: var(--white); color: var(--jade); position: absolute; bottom: 5%; left: 39%; transform: rotate(-7deg); }
.sp-magnet-forms small { position: absolute; left: 1rem; bottom: .6rem; font-weight: 750; font-size: .75rem; background: rgba(255,255,255,.8); border-radius: 9px; padding: .2rem .45rem; }
.sp-magnet-special { padding-block: clamp(2rem,4vw,4rem); border-top: 1px solid #c1d4aa; }
.sp-magnet-special h2 { max-width: 950px; font-size: clamp(2.1rem,4.3vw,4.35rem); line-height: 1.08; letter-spacing: -.025em; margin: .2rem 0 1.7rem; }
.sp-magnet-special__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(.8rem,2vw,1.5rem); }
.sp-magnet-special__grid article { min-width: 0; padding: clamp(1.4rem,2.5vw,2.4rem); background: var(--white); border-radius: 24px; border: 1px solid #d1dfa9; }
.sp-magnet-special__grid article strong { color: var(--jade); font-size: 1.1rem; }
.sp-magnet-special__grid article h3 { margin: .7rem 0; font-size: clamp(1.4rem,2.1vw,1.95rem); line-height: 1.13; }
.sp-magnet-special__grid article p { margin: 0; max-width: 500px; }

.sp-magnet-variants {
  margin-top: 1.4rem; padding: 1.1rem; border-radius: 19px;
  background: var(--white); border: 1px solid var(--sage);
  display: grid; gap: .8rem;
}
.sp-magnet-variants > strong { font-size: 1rem; }
.sp-magnet-variants > div {
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;
  gap: .6rem; padding-top: .65rem; border-top: 1px solid var(--sage);
}
.sp-magnet-variants > div > span { font-weight: 700; }
.sp-magnet-variants .sp-offer strong { font-size: 1.2rem; }

/* ─── SLOGANS – EN EGEN TYPOGRAFISK IDENTITET ─── */
.sp-slogan-hero { overflow: hidden; color: var(--white); background: var(--dark-green); }
.sp-slogan-content { padding-block: clamp(2rem,5vw,4.5rem); }
.sp-slogan-content .sp-section-label { color: var(--lime); }
.sp-slogan-content h1 { margin: 0 0 2rem; font-size: clamp(3.8rem,10.8vw,12rem); letter-spacing: -.025em; line-height: .83; font-weight: 800; }
.sp-slogan-content h1 span { display: block; }
.sp-slogan-content h1 span:last-child { color: var(--lime); margin-left: clamp(0px,5vw,110px); }
.sp-slogan-desc { max-width: 600px; font-size: clamp(1.18rem,1.9vw,1.6rem); line-height: 1.35; margin-bottom: 1.8rem; }
.sp-slogan-content .sp-hero-link { background: var(--lime); color: var(--dark-green); border-color: var(--lime); }
.sp-slogan-content .sp-hero-link:hover { background: var(--white); }
.sp-slogan-ribbon { background: var(--green); color: var(--dark-green); padding: 1rem 0; text-align: center; font-size: clamp(.85rem,2vw,1.5rem); font-weight: 800; letter-spacing: .07em; transform: rotate(-1deg) scale(1.02); }
.sp-slogan-how { display: grid; grid-template-columns: .55fr 1.45fr; gap: clamp(1rem,2vw,2rem); padding-block: clamp(1.2rem,2.5vw,2.2rem); align-items:start; }
.sp-slogan-how h2 { margin: 0; font-size: clamp(2.2rem,4vw,4rem); letter-spacing: -.025em; line-height: 1.05; }
.sp-slogan-steps { display: grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap: .7rem; }
.sp-slogan-steps article { padding: .95rem; background: var(--white); border-radius: 12px; }
.sp-slogan-steps article span { display: inline-block; color: var(--jade); font-weight: 800; margin-bottom: .45rem; }
.sp-slogan-steps h3 { font-size: clamp(1.2rem,1.6vw,1.5rem); margin: 0 0 .35rem; }
.sp-slogan-steps p { margin: 0; }
@media(max-width:900px){.sp-slogan-how{grid-template-columns:1fr}.sp-slogan-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.sp-slogan-steps{grid-template-columns:1fr}.sp-slogan-steps article{padding:.7rem 1rem}}
.sp-slogan-small { grid-column: 2; font-size: .79rem; color: var(--jade); }

/* ─── PLAKATER – REDAKTIONELT GALLERI MED 6 MOTIVPLADSER ─── */
.sp-poster-heading { background: var(--dark-green); color: var(--white); padding-block: clamp(2.5rem,6vw,5.5rem); }
.sp-poster-heading .sp-section-label { color: var(--lime); }
.sp-poster-heading h1 { margin: 0; font-size: clamp(3rem,8vw,8.5rem); font-weight: 800; line-height: .92; letter-spacing: -.025em; }
.sp-poster-heading h1 span { display: block; font-size: .6em; color: var(--lime); letter-spacing: -.025em; padding-top: .1em; }
.sp-poster-heading p:not(.sp-section-label) { max-width: 760px; font-size: clamp(1.05rem,1.75vw,1.38rem); margin: 1.6rem 0 0; }
.sp-poster-section { padding-block: clamp(1.6rem,4vw,4.8rem); }
.sp-poster-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(.8rem,2vw,1.7rem); align-items: start; }
.sp-poster-card { min-width: 0; background: var(--white); border-radius: 20px; overflow: hidden; box-shadow: 0 9px 28px rgba(14,65,46,.08); }
.sp-poster-art {
  aspect-ratio: 1 / 1.4142; background: #d9e9b3; color: var(--dark-green);
  display: flex; flex-direction: column; justify-content: space-between;
  padding: clamp(.9rem,2.2vw,1.8rem); border: clamp(.55rem,1.4vw,1.15rem) solid var(--white);
}
.sp-poster-card:nth-child(2) .sp-poster-art { background: #b9e6cc; }
.sp-poster-card:nth-child(3) .sp-poster-art { background: #ebd9c6; }
.sp-poster-card:nth-child(4) .sp-poster-art { background: #d1e6ad; }
.sp-poster-card:nth-child(5) .sp-poster-art { background: #e4e8dc; }
.sp-poster-card--blue .sp-poster-art { background: #1d5484; color: var(--white); }
.sp-poster-art__series { font-size: .68rem; font-weight: 800; letter-spacing: .08em; }
.sp-poster-art strong { font-size: clamp(6rem,12vw,13rem); line-height: 1; font-weight: 800; letter-spacing: -.025em; text-align: center; opacity: .22; }
.sp-poster-art__notice { font-size: clamp(.82rem,1.25vw,1rem); font-weight: 750; max-width: 210px; }
.sp-poster-card__meta { padding: .8rem 1.1rem 1.2rem; display: flex; gap: .65rem; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; }
.sp-poster-card__meta h2 { font-size: clamp(1.14rem,1.7vw,1.5rem); margin: 0; line-height: 1.1; letter-spacing: -.025em; }
.sp-poster-card__meta div > span { font-size: .79rem; color: var(--jade); }
.sp-poster-card__meta .sp-offer strong { font-size: 1.35rem; }
.sp-poster-after { display: grid; grid-template-columns: 1fr 1.4fr; gap: 1.5rem; align-items: start; margin-top: clamp(1.5rem,3vw,3rem); background: var(--sage); padding: clamp(1.3rem,3vw,2.5rem); border-radius: 25px; }
.sp-poster-after > strong { font-size: clamp(1.45rem,2.7vw,2.4rem); line-height: 1.14; letter-spacing: -.025em; }
.sp-poster-after > p { margin: 0; }
.sp-poster-after > a { grid-column: 2; }

/* ─── MULEPOSER – ROLIG, MATERIALENÆR FARVEVERDEN ─── */
.sp-tote-hero { background: #ede6d1; }
.sp-tote-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.4rem,5vw,5.5rem); align-items: center; padding-block: clamp(2rem,5vw,5.7rem); }
.sp-tote-art {
  min-width: 0; display: flex; flex-direction: column; justify-content: space-between;
  min-height: 500px; background: #c8d4a5; border: 20px solid #eee5ce; padding: clamp(1.4rem,3vw,3rem);
  box-shadow: 0 12px 30px rgba(79,67,41,.10);
}
.sp-tote-art__tiny { font-size: .85rem; letter-spacing: .16em; font-weight: 800; }
.sp-tote-art strong { font-size: clamp(4rem,7.5vw,9rem); line-height: .95; letter-spacing: -.025em; font-weight: 800; color: #174a33; }
.sp-tote-art__foot { font-size: .75rem; font-weight: 750; color: #31513d; }
.sp-tote-copy h1 { font-size: clamp(2.8rem,5.25vw,5.6rem); letter-spacing: -.025em; line-height: .99; margin: .3rem 0 1.2rem; }
.sp-tote-copy h1 em { font-style: normal; color: var(--jade); }
.sp-tote-copy > p { font-size: clamp(1.02rem,1.6vw,1.29rem); max-width: 550px; line-height: 1.43; }
.sp-tote-copy .sp-offer { padding: .7rem 0 1.3rem; }
.sp-tote-copy .sp-hero-link { margin-top: .3rem; }
.sp-tote-features { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; padding-block: clamp(2rem,4vw,4rem); }
.sp-tote-features > div { padding: 1.25rem; background: var(--white); border-radius: 18px; display: grid; align-content: start; gap: .5rem; }
.sp-tote-features span { font-size: .75rem; color: var(--jade); font-weight: 850; }
.sp-tote-features strong { font-size: clamp(1.15rem,2vw,1.65rem); line-height: 1.13; }
.sp-tote-features small { font-size: .83rem; color: var(--jade); }
.sp-tote-footnote { color: var(--jade); font-size: .85rem; margin-block: -.8rem 2.7rem; }

/* KUN virkelige, godkendte originalfotos vises automatisk efter upload */
.sp-umbrella-next__photo { margin: 0; padding: 0; display: block; min-height: 285px; background: #d5e9b6; }
.sp-umbrella-next__photo img { width: 100%; height: 100%; max-height: 480px; object-fit: contain; }
.sp-rain-art--photo { display: block; min-height: 380px; padding: 0; margin: 0; }
.sp-rain-art--photo::before { display: none; }
.sp-rain-art--photo img { width: 100%; height: 100%; min-height: 380px; object-fit: cover; }
.sp-rain-art--photo figcaption { position: absolute; left: 0; bottom: 0; right: 0; background: rgba(14,65,46,.92); color: white; font-size: .8rem; font-weight: 750; padding: .75rem 1rem; }
.sp-magnet-forms--photo { margin: 0; display: block; }
.sp-magnet-forms--photo img { width: 100%; height: 100%; object-fit: contain; }
.sp-poster-art--actual { display: block; padding: 0; overflow: hidden; }
.sp-poster-art--actual img { display: block; width: 100%; height: 100%; object-fit: contain; background: #fff; }
.sp-tote-art--photo { margin: 0; display: grid; padding: 0; background: #fff; border-width: 12px; }
.sp-tote-art--photo img { width: 100%; height: 100%; max-height: 650px; object-fit: contain; }
.sp-tote-back { padding-bottom: clamp(1.8rem,4vw,3.8rem); }
.sp-tote-back img { max-height: 580px; width: auto; max-width: 100%; margin-inline: auto; border-radius: 12px; }

/* ─── FÆLLES KONTAKT + MOBILE ─── */
.sp-contact { padding-block: clamp(2rem,4vw,3.5rem); background: var(--white); }
.sp-contact h2 { font-size: clamp(1.8rem,3vw,2.9rem); letter-spacing: -.025em; margin: 0 0 .55rem; }
.sp-contact p { max-width: 720px; margin: 0 0 .9rem; }
.sp-page-main ~ .site-footer { background: var(--cream); }
@media (max-width: 990px) {
  .sp-umbrella-hero__grid { min-height: auto; gap: 1.8rem; }
  .sp-umbrella-hero__copy h1 { font-size: clamp(3rem,6vw,5.3rem); }
  .sp-rain-hero__layout { gap: 1.5rem; }
  .sp-magnet-hero__inner { gap: 1rem; }
  .sp-magnet-forms { min-height: 360px; }
  .sp-poster-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  .sp-umbrella-hero__grid, .sp-umbrella-next, .sp-understory, .sp-rain-hero__layout,
  .sp-rain-info, .sp-magnet-hero__inner, .sp-magnet-special__grid, .sp-slogan-how,
  .sp-tote-grid, .sp-poster-after { grid-template-columns: minmax(0,1fr); }
  .sp-umbrella-hero__grid { padding-top: 1.6rem; }
  .sp-umbrella-hero__copy h1 { font-size: clamp(3.1rem,10vw,5rem); }
  .sp-umbrella-hero__picture { padding: .65rem; }
  .sp-umbrella-hero__picture img { aspect-ratio: 1; }
  .sp-umbrella-next__wordmark { min-height: 195px; }
  .sp-umbrella-next__copy { padding: 1.5rem; }
  .sp-understory { padding-block: 2rem; }
  .sp-rain-hero__layout { padding-block: 2rem; }
  .sp-rain-art { aspect-ratio: 1.18; min-height: 280px; }
  .sp-rain-art__title { font-size: clamp(2.7rem,10vw,5rem); }
  .sp-magnet-forms { min-height: 330px; }
  .sp-slogan-content h1 { font-size: clamp(3rem,13.5vw,7rem); }
  .sp-slogan-content h1 span:last-child { margin-left: 0; }
  .sp-slogan-how .sp-slogan-small, .sp-poster-after > a { grid-column: 1; }
  .sp-poster-art strong { font-size: clamp(6rem,22vw,12rem); }
  .sp-tote-grid { padding-block: 1.4rem 2.1rem; }
  .sp-tote-art { min-height: 390px; border-width: 12px; }
  .sp-tote-art strong { font-size: clamp(4rem,16vw,7rem); }
}
@media (max-width: 480px) {
  .sp-umbrella-hero__copy h1 { font-size: clamp(2.85rem,11.5vw,4rem); }
  .sp-umbrella-intro { font-size: 1.52rem; }
  .sp-umbrella-cta .sp-offer, .sp-umbrella-limited { padding: .85rem 1rem; min-width: 135px; }
  .sp-umbrella-hero__facts { padding: .9rem .25rem .2rem; }
  .sp-rain-hero__copy h1 { font-size: clamp(3.5rem,14vw,5.5rem); }
  .sp-magnet-copy h1 { font-size: clamp(3.4rem,13.5vw,5rem); }
  .sp-magnet-forms { min-height: 270px; }
  .sp-poster-grid { grid-template-columns: minmax(0,1fr); }
  .sp-poster-art { padding: 1.3rem; border-width: 11px; }
  .sp-poster-art strong { font-size: 10rem; }
  .sp-tote-features { grid-template-columns: 1fr; }
  .sp-tote-art { min-height: 350px; }
}
@media (prefers-reduced-motion: reduce) {
  .sp-hero-link { transition: none; }
  .sp-hero-link:hover { transform: none; }
}

/* v0.5 - 2026-10-23: luftigere bogstaver, færre tomme flader og mobilmenu. */
.sp-rain-hero__copy, .sp-magnet-copy, .sp-tote-copy { min-width: 0; }
.sp-slogan-content h1 { line-height: 1.02; font-size: clamp(3.4rem,9vw,9.5rem); }
.sp-umbrella-hero__picture img { aspect-ratio: auto; height: auto; object-fit: contain; }
.sp-umbrella-hero__grid { min-height: auto; padding-block: clamp(1.4rem,3vw,2.5rem); }
.sp-rain-hero__layout, .sp-magnet-hero__inner, .sp-tote-grid { padding-block: clamp(1.5rem,3.8vw,3.5rem); }
.sp-poster-heading { padding-block: clamp(1.8rem,4vw,3.5rem); }
.sp-poster-art:not(.sp-poster-art--actual) { aspect-ratio: auto; min-height: 120px; gap: .8rem; padding: 1rem; }
.sp-poster-art:not(.sp-poster-art--actual) strong { display: none; }
.sp-poster-art__notice { font-weight: 400; }
.sp-magnet-disc--one { left: 4%; top: 8%; width: 51%; }
.sp-magnet-disc--two { right: 4%; top: 22%; width: 39%; }
.sp-magnet-disc--three { bottom: 6%; left: 32%; width: 35%; }
.sp-magnet-disc { font-size: clamp(1.2rem,2.6vw,2.3rem); }
.sp-contact { padding-block: clamp(1.5rem,3vw,2.5rem); scroll-margin-top: 1rem; }
@media (max-width: 700px) {
  .sp-umbrella-hero__copy h1 { font-size: clamp(2.1rem,9.5vw,4rem); }
  .sp-tote-grid .sp-tote-copy { grid-row: 1; }
  .sp-tote-art { min-height: 240px; }
  .sp-tote-art strong { font-size: clamp(2rem,11vw,6.5rem); }
  .sp-rain-art { min-height: 230px; }
  .sp-slogan-content h1 { font-size: clamp(2.7rem,12vw,5rem); }
}
@media (max-width: 600px) {
  .sp-category-bar__inner { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .2rem; overflow: visible; }
  .sp-category-bar__inner a { min-height: 44px; display: grid; place-items: center; padding: .4rem .2rem; }
  .sp-tote-features { gap: .65rem; padding-block: 1.2rem; }
  .sp-tote-features > div { padding: 1rem; }
}
@media (max-width: 480px) {
  .sp-umbrella-hero__copy h1 { font-size: clamp(2.1rem,9.5vw,4rem); }
  .sp-tote-art { min-height: 230px; }
  .sp-poster-grid { gap: .8rem; }
}


/* v0.6 – dynamiske ekstra varer. Uden disse rækker uændret seeded hero-layout. */
.sp-extra-variants { padding-block: clamp(1.8rem, 4.2vw, 3.8rem); background: #eef4e6; border-top: 1px solid rgba(14,65,46,.12); }
.sp-extra-variants__head { margin-bottom: clamp(.85rem, 2vw, 1.45rem); }
.sp-extra-variants__head .sp-section-label { margin-bottom: .35rem; }
.sp-extra-variants__head h2 { font-size: clamp(1.65rem, 3.4vw, 3rem); font-weight: 850; letter-spacing: -.025em; line-height: 1.13; margin: 0; }
.sp-extra-variants__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.75rem, 1.6vw, 1.15rem); }
.sp-extra-variants__card { min-width: 0; border: 1px solid rgba(14,65,46,.18); border-radius: 19px; overflow: hidden; background: #fff; display: flex; flex-direction: column; }
.sp-extra-variants__photo { margin: 0; background: #f0f5e9; aspect-ratio: 1.6; }
.sp-extra-variants__photo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.sp-extra-variants__art { display: grid; place-items: center; min-height: 135px; aspect-ratio: 1.6; background: #d8ebbd; color: #245338; }
.sp-extra-variants__art span { font-weight: 900; letter-spacing: .13em; font-size: clamp(1rem, 2vw, 1.5rem); }
.sp-extra-variants__body { padding: clamp(1rem, 2vw, 1.4rem); flex: 1; display: flex; flex-direction: column; align-items: flex-start; gap: .75rem; }
.sp-extra-variants__body h3 { overflow-wrap: anywhere; font-size: clamp(1.2rem, 2vw, 1.6rem); line-height: 1.13; letter-spacing: -.015em; margin: 0; font-weight: 850; }
.sp-extra-variants__body > small { color: #3c664b; }
.sp-extra-variants__body .sp-offer strong { font-size: clamp(1.4rem, 2.3vw, 1.85rem); }
.sp-extra-variants__body .sp-text-link { margin-top: auto; padding-block: .5rem; }
@media (max-width: 850px) { .sp-extra-variants__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 580px) { .sp-extra-variants__grid { grid-template-columns: minmax(0, 1fr); } .sp-extra-variants__art { min-height: 104px; aspect-ratio: 2.5; } }

/* v0.8 - 2026-10-24. Fit long words to their actual column, also on wide screens. */
.sp-umbrella-hero__copy,.sp-rain-art,.sp-tote-art{container-type:inline-size;min-width:0}
.sp-umbrella-hero__copy h1{font-size:clamp(1.8rem,4vw,4.8rem);font-size:clamp(1.8rem,15.5cqi,4.8rem);white-space:nowrap;overflow-wrap:normal;letter-spacing:-.02em}
.sp-rain-art__title{font-size:clamp(1.6rem,3.2vw,4rem);font-size:clamp(1.6rem,17cqi,4rem);overflow-wrap:normal}
.sp-tote-art{overflow:hidden}
.sp-tote-art strong{font-size:clamp(2rem,4vw,5.4rem);font-size:clamp(2rem,19cqi,5.4rem)}
.sp-slogan-content{padding-block:clamp(1.4rem,3vw,2.5rem)}
.sp-slogan-content h1{font-size:clamp(2.3rem,6vw,6rem);line-height:1.06;margin-bottom:1rem}
.sp-slogan-desc{margin-bottom:1.1rem}


/* v0.9 2026-10-24: original magnet artwork, one card per motif. */
.sp-magnet-motifs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start;min-width:0}
.sp-magnet-motif{min-width:0;margin:0;padding:12px;background:#fff;border-radius:14px;color:#123e2b}
.sp-magnet-motif img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.sp-magnet-motif h2{margin:12px 0 0;font-size:clamp(.95rem,1.4vw,1.25rem);line-height:1.3;overflow-wrap:anywhere}
@media(max-width:600px){.sp-magnet-motifs{gap:8px}.sp-magnet-motif{padding:8px}.sp-magnet-motif h2{font-size:.9rem}}


/* v0.10 - 2026-10-25: whole product photos and compact, consistent galleries. */
.sp-product-photo{margin:0;min-width:0;background:#f8f8f2;border-radius:12px;overflow:hidden}
.sp-product-photo a{display:block}
.sp-product-photo img{display:block;width:100%;height:auto;max-height:640px;object-fit:contain}
.sp-photo-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;padding-block:24px;align-items:start}
.sp-photo-gallery:has(>.sp-product-photo:only-child){max-width:720px}
.sp-photo-gallery .sp-product-photo img{max-height:440px}
.sp-rain-main img{max-height:540px}
.sp-unit-price{margin:18px 0 6px;font-size:clamp(2rem,4vw,3.3rem);line-height:1.1}
.sp-pack-note{font-size:.95rem;margin:0 0 20px}
.sp-tote-photos{position:relative;padding-bottom:36px;min-width:0}
.sp-tote-label{position:relative;margin:-14px 16px 0 auto;width:110px;transform:rotate(5deg);box-shadow:0 3px 12px #0002}
.sp-tote-copy h1{font-size:clamp(2rem,5vw,4.5rem);line-height:1.08}
.sp-tote-copy h2{font-size:1.15rem;margin:22px 0 12px}
.sp-product-facts{padding-left:1.2em;line-height:1.6}
.sp-umbrella-next__photo{min-height:0;transform:none;padding:0}
.sp-umbrella-next__photo img{max-height:440px;width:100%;height:auto;object-fit:contain}
.sp-umbrella-hero__grid{min-height:0;padding-block:24px}
.sp-umbrella-hero__picture img{max-height:680px;object-fit:contain}
.sp-umbrella-hero__copy h1{white-space:normal;font-size:clamp(2rem,5vw,4.3rem);line-height:1.08}
.sp-original-link{padding-block:14px;margin-block:0}
.sp-magnet-prices{display:grid;gap:6px;font-size:.95rem;margin:12px 0}
.sp-group--plakater .sh-interest-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.sp-group--plakater [data-interest-image] img{height:auto;max-height:520px;width:100%;object-fit:contain;aspect-ratio:auto}
.sp-group--plakater .sh-interest-choice{gap:10px}
@media(max-width:850px){.sp-group--plakater .sh-interest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.sp-photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-block:16px}.sp-photo-gallery .sp-product-photo img{max-height:330px}.sp-tote-label{width:90px}.sp-group--plakater .sh-interest-grid{grid-template-columns:minmax(0,1fr)}.sp-umbrella-next{padding-block:22px}.sp-rain-hero__layout{padding-block:22px}}

.sp-rain-hero__copy h1{font-size:clamp(2.6rem,6vw,5.4rem);line-height:1.08;overflow-wrap:normal;letter-spacing:-.025em}

.sp-photo-gallery:has(>.sp-product-photo:only-child){grid-template-columns:minmax(0,1fr)}

/* v0.13 - 2026-10-25: real special-production examples, no catalog items. */
.sp-special-intro{max-width:760px;font-size:1.1rem;line-height:1.5}
.sp-magnet-special__grid{align-items:start}
.sp-magnet-special__grid .sp-special-example{min-width:0;padding:clamp(16px,2.4vw,26px)}
.sp-special-example h3{font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.15}
.sp-special-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-block:18px;align-items:start}
.sp-special-photos .sp-product-photo{background:transparent;border-radius:10px}
.sp-special-photos .sp-product-photo img{width:100%;height:auto;max-height:360px;object-fit:contain}
.sp-example-price{font-size:.98rem;line-height:1.5}
.sp-special-terms{max-width:850px;font-size:.95rem;line-height:1.5;margin:20px 0 12px}
@media(max-width:850px){.sp-magnet-special__grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:480px){.sp-special-photos{gap:8px}.sp-special-intro{font-size:1rem}}

/* v0.14 - BOOST examples, complete photos with original proportions. */
.sp-magnet-use{padding-top:clamp(30px,5vw,70px);padding-bottom:clamp(30px,5vw,70px)}
.sp-magnet-use h2{font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.15;margin:12px 0 16px}
.sp-magnet-use__photos{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(18px,3vw,36px);align-items:start;margin-top:24px}
.sp-magnet-use__photos .sp-product-photo{background:transparent;border-radius:12px}
.sp-magnet-use__photos .sp-product-photo img{display:block;width:100%;height:auto;max-height:470px;object-fit:contain}
.sp-magnet-use__photos p{font-size:.95rem;line-height:1.5;margin:12px 0 0}
@media(max-width:680px){.sp-magnet-use__photos{grid-template-columns:1fr}.sp-magnet-use__photos .sp-product-photo img{max-height:440px}}

/* v0.15 - keep single special-production preview in scale with other examples. */
.sp-special-example>.sp-product-photo img{width:100%;height:auto;max-height:360px;object-fit:contain}

/* v0.16 - 2026-10-25. Clear ordering panel and compact magnet examples. */
.sp-order-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:13px 22px;border:2px solid #006d3b;border-radius:12px;background:#006d3b;color:#fff;font-size:clamp(1.15rem,2vw,1.35rem);font-weight:800;line-height:1.2;text-decoration:none}
.sp-order-button:hover{background:#004b2d;border-color:#004b2d;color:#fff}
.sp-order-button:focus-visible{outline:3px solid #004b2d;outline-offset:4px}
.sp-magnet-hero__inner{padding-block:22px}
.sp-magnet-use{padding-block:20px}
.sp-magnet-use h2{margin:8px 0 12px}
.sp-magnet-use__photos{gap:20px;margin-top:16px}
.sp-magnet-use__photos .sp-product-photo img{max-height:300px}
.sp-magnet-special{padding-block:20px}
.sp-magnet-special h2{font-size:clamp(1.8rem,3.2vw,3rem);margin:8px 0 14px}
.sp-special-intro{margin:0 0 16px}
.sp-magnet-special__grid{gap:16px}
.sp-magnet-special__grid .sp-special-example{padding:18px;border-radius:16px}
.sp-magnet-special__grid .sp-special-example h3{margin:0 0 10px}
.sp-special-photos{gap:10px;margin-block:12px}
.sp-special-photos .sp-product-photo img{max-height:260px}
.sp-special-example--car .sp-special-photos .sp-product-photo img{max-height:200px}
.sp-magnet-special__grid .sp-special-example p+p{margin-top:8px}
.sp-special-terms{margin:12px 0 8px}
.sp-maria-crop{max-width:360px;margin:12px auto}
.sp-maria-crop a{aspect-ratio:1.55;overflow:hidden}
.sp-special-example>.sp-maria-crop img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center 65%}
.sp-page-main>.sh-interest-picker{box-sizing:border-box;background:#e0edd6;border:2px solid #006d3b;border-radius:18px;padding:clamp(14px,2vw,24px);margin-block:10px 24px;scroll-margin-top:16px}
.sp-page-main>.sh-interest-picker>h2:first-child{font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.15;margin:0 0 16px;color:#004b2d}
.sp-page-main>.sh-interest-picker .sh-interest-choice{background:#fff;border:1px solid #aac5a5;border-radius:12px;padding:14px;gap:10px}
.sp-page-main>.sh-interest-picker .sh-interest-choice h3{margin:0 0 4px}
.sp-page-main>.sh-interest-picker .sh-interest-choice p{margin:6px 0}
.sp-page-main>.sh-interest-picker>p{margin:12px 0 0}
@media(max-width:680px){.sp-magnet-use__photos{gap:16px}.sp-magnet-use__photos .sp-product-photo img{max-height:300px}.sp-magnet-special__grid .sp-special-example{padding:14px}.sp-maria-crop{max-width:340px}.sp-page-main>.sh-interest-picker{margin-block:8px 18px}}

/* v0.19 2026-10-26: image spacing. */
.sp-umbrella-next__photo{padding:10px;background:#174f3d;border-radius:12px;overflow:hidden}
.sp-tote-label{margin-top:-70px;z-index:1}.sp-tote-photos{padding-bottom:0}
.sp-group--muleposer .sp-photo-gallery{padding-top:8px;padding-bottom:18px;gap:10px}
.sp-group--muleposer .sp-photo-gallery .sp-product-photo{max-width:460px}
@media(max-width:580px){.sp-tote-label{margin-top:-58px}}

.sp-tote-label{margin-top:-100px}@media(max-width:580px){.sp-tote-label{margin-top:-90px}}
