 /* Färgade bakgrunder, se  färgkoder på ex https://www.canva.com/colors/color-wheel/  */

.lightbrown {background-color: #CA8868; padding: 20px;}
.lightgreen {background-color: #DFFFF0; padding: 20px;}
.lightgray {background-color: #EAEAEA; padding: 20px;}
.lightblue {background-color: #c4e6f6; padding: 20px;}
.brown {background-color: #825216; padding: 20px;} 
.black {background-color: #000000; padding: 20px;} 


.tws-article-labels--label-text {
  background-color: red !important;
}

.tws-article-price--compare-at-price-title {
  display: none;
}


.tws-article-price--compare-at-price {
  display: none;
}

}
    --sp-header-bg: rgb(0 0 0);important;




/* FAQ container */
.faq {
  max-width: 900px;
  margin: 0 auto;
  padding: 2rem 1rem;
}

.faq h2 {
  margin-bottom: 1.5rem;
}

/* Each dropdown */
.faq details {
  border-bottom: 1px solid #ddd;
  padding: 0.75rem 0;
}

/* Summary (question) */
.faq summary {
  cursor: pointer;
  font-weight: 600;
  font-size: 1rem;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* Remove default marker */
.faq summary::-webkit-details-marker {
  display: none;
}

/* Plus / minus icon */
.faq summary::after {
  content: "+";
  font-size: 1.25rem;
  font-weight: 700;
  transition: transform 0.2s ease;
}

/* Open state */
.faq details[open] summary::after {
  content: "−";
}

/* Answer content */
.faq details p,
.faq details ul,
.faq details ol {
  margin: 0.75rem 0 0.5rem 0;
  line-height: 1.6;
}

.faq details ul,
.faq details ol {
  padding-left: 1.25rem;
}

/* Links */
.faq a {
  color: inherit;
  text-decoration: underline;
}

/* Hover + focus */
.faq summary:hover {
  opacity: 0.85;
}

.faq summary:focus {
  outline: none;
}

/* Mobile adjustments */
@media (max-width: 600px) {
  .faq {
    padding: 1.5rem 1rem;
  }

  .faq summary {
    font-size: 0.95rem;
  }
}
:root {
  --font-scale: 0.9; /* 0.9 = 10% mindre. Ändra till t.ex. 0.85 för 15% mindre */
}
 
/* Skalar all text som är satt i rem/em, eftersom de utgår från
   root-elementets font-size (normalt 16px). */
html {
  font-size: calc(16px * var(--font-scale));
}
 
/* Extra säkerhetsnät för element med fast px-storlek i temat.
   clamp(min, önskad, max) håller texten läsbar även på mobil. */
body,
p,
li,
a,
span,
label,
input,
textarea,
button {
  font-size: clamp(0.85rem, 1rem, 1.05rem);
  line-height: 1.5;
}
 
h1 { font-size: clamp(1.6rem, 2.4vw + 1rem, 2.4rem); }
h2 { font-size: clamp(1.4rem, 1.8vw + 1rem, 1.9rem); }
h3 { font-size: clamp(1.2rem, 1.4vw + 1rem, 1.5rem); }
h4 { font-size: clamp(1.05rem, 1vw + 1rem, 1.25rem); }
h5,
h6 { font-size: clamp(1rem, 0.6vw + 1rem, 1.1rem); }
 
/* Navigationsmeny – ofta ett eget skal, justera klassnamnet
   (t.ex. .nav, .navbar, .main-menu) om er meny har ett annat namn */
nav,
.nav,
.navbar,
.main-menu {
  font-size: 0.9rem;
}
 
/* Om er sajt använder en specifik wrapper-klass för allt innehåll,
   byt ut ".content" mot rätt klassnamn så ärver alla underelement
   den mindre storleken automatiskt: */
.content {
  font-size: 0.9rem;
}

/*ändring av tabell för produkter kundensval */
.tws-article-choices--table-row {
    display: grid !important;
    grid-template-columns: 2rem 6rem 3fr 3fr auto !important;
}

/*Custom article flags*/
.caption {
		position: static !important;
}
.flag-container div,
.custom-labels .product-page-flag {
		background: #ff7400;
		color: #FFF;
		border-radius: 0px;
		border: 0px;
		padding: 5px 6px;
		font-size: 12px;
		font-weight: 400;
		white-space: nowrap;
		margin-top: 5px;
		text-transform: uppercase;
		text-align: center;
}
.flag-container {
    top: 5px;
    left: -2px;
    position: absolute;
}
.flag-container.one-label {
		top: 40px;
}
.flag-container.two-label {
		top: 75px;
}
/*--egna sidor terms-*/
.surfers-terms {
  max-width: 960px;
  margin: 0 auto;
  padding: 24px 16px 60px;
  color: #252525;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  line-height: 1.75;
}

.surfers-terms * {
  box-sizing: border-box;
}

.surfers-terms h1 {
  font-size: clamp(26px, 4vw, 36px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.7px;
  margin: 0 0 14px;
  text-transform: uppercase;
}

.surfers-terms .terms-intro {
  color: #666;
  font-size: 16px;
  margin-bottom: 35px;
}

.surfers-terms section {
  padding: 28px 0;
  border-top: 1px solid #e6e6e6;
}

.surfers-terms h2 {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin: 0 0 16px;
}

.surfers-terms h2::before {
  content: "";
  display: block;
  flex: 0 0 4px;
  height: 23px;
  background: #111;
  border-radius: 2px;
}

.surfers-terms h3 {
  font-size: 16px;
  font-weight: 700;
  margin: 24px 0 10px;
}

.surfers-terms p {
  margin: 0 0 14px;
}

.surfers-terms ul,
.surfers-terms ol {
  margin: 12px 0 20px;
  padding-left: 23px;
}

.surfers-terms li {
  margin-bottom: 8px;
  padding-left: 4px;
}

.surfers-terms li::marker {
  color: #555;
}

.surfers-terms a {
  color: #111;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 600;
}

.surfers-terms a:hover {
  color: #666;
}

.surfers-terms .info-box {
  background: #f5f5f5;
  border-left: 3px solid #222;
  border-radius: 0 5px 5px 0;
  padding: 20px 24px;
  margin: 20px 0;
}

.surfers-terms .info-box p:last-child {
  margin-bottom: 0;
}

.surfers-terms .terms-button {
  display: inline-block;
  background: #171717;
  color: #fff;
  padding: 12px 22px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  margin: 8px 0 18px;
  transition: background 0.2s ease;
}

.surfers-terms .terms-button:hover {
  background: #444;
  color: #fff;
}

.surfers-terms .contact-box {
  background: #f5f5f5;
  padding: 25px;
  border-radius: 6px;
  margin-top: 12px;
}

.surfers-terms .contact-box p {
  margin-bottom: 10px;
}

.surfers-terms .terms-note {
  color: #777;
  font-size: 13px;
  margin-top: 18px;
}

.surfers-terms .terms-footer {
  color: #777;
  font-size: 13px;
  font-style: italic;
  border-top: 1px solid #e6e6e6;
  padding-top: 20px;
}

@media (max-width: 600px) {
  .surfers-terms {
    padding: 15px 12px 40px;
    font-size: 14px;
  }

  .surfers-terms section {
    padding: 23px 0;
  }

  .surfers-terms h2 {
    font-size: 18px;
  }

  .surfers-terms .info-box,
  .surfers-terms .contact-box {
    padding: 17px;
  }
.surfers-terms .warranty-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .surfers-terms .warranty-card {
    min-height: 115px;
  }
  
  }
/* =====================================================================
   SURFERS.SE - CSS-ramverk for egna sidor (Abicart) - version 1.2
   Klistra in LANGST NER i Abicarts CSS.
   Fungerar aven om Abicart tar bort klassen pa yttersta <div class="sf">:
   ramverket aktiveras automatiskt pa egna sidor som anvander sf-klasser.
   ===================================================================== */


/* ---------- 2. Grund ---------- */
:is(.sf, .customPageHtml:has([class*="sf-"])) {
  box-sizing: border-box;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 16px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.65;
  color: #3a4048;
  -webkit-font-smoothing: antialiased;
}
:is(.sf, .customPageHtml:has([class*="sf-"])) *, :is(.sf, .customPageHtml:has([class*="sf-"])) *::before, :is(.sf, .customPageHtml:has([class*="sf-"])) *::after { box-sizing: border-box; }

:is(.sf, .customPageHtml:has([class*="sf-"])) img { max-width: 100%; height: auto; display: block; border: 0; }

/* ---------- 3. Typografi ---------- */
:is(.sf, .customPageHtml:has([class*="sf-"])) h1, :is(.sf, .customPageHtml:has([class*="sf-"])) h2, :is(.sf, .customPageHtml:has([class*="sf-"])) h3, :is(.sf, .customPageHtml:has([class*="sf-"])) h4 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: #1a1d21;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin: 1.6em 0 .5em;
  text-transform: none;
}
:is(.sf, .customPageHtml:has([class*="sf-"])) h1 { font-size: clamp(30px, 5vw, 44px); margin-top: .4em; }
:is(.sf, .customPageHtml:has([class*="sf-"])) h2 { font-size: clamp(24px, 3.4vw, 32px); }
:is(.sf, .customPageHtml:has([class*="sf-"])) h3 { font-size: clamp(19px, 2.4vw, 22px); }
:is(.sf, .customPageHtml:has([class*="sf-"])) h4 { font-size: 17px; text-transform: uppercase; letter-spacing: .06em; color: #6b7380; }
:is(.sf, .customPageHtml:has([class*="sf-"])) > :first-child { margin-top: 0; }

:is(.sf, .customPageHtml:has([class*="sf-"])) p { margin: 0 0 1.1em; }
:is(.sf, .customPageHtml:has([class*="sf-"])) strong, :is(.sf, .customPageHtml:has([class*="sf-"])) b { color: #1a1d21; font-weight: 700; }

:is(.sf, .customPageHtml:has([class*="sf-"])) a { color: #d96200; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
:is(.sf, .customPageHtml:has([class*="sf-"])) a:hover { color: #ff7400; text-decoration-thickness: 2px; }

:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-lead { font-size: 1.2em; line-height: 1.55; color: #1a1d21; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-small { font-size: .875em; color: #6b7380; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-kicker {
  display: inline-block; font-size: 13px; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; color: #ff7400;
  margin-bottom: 8px;
}
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-center { text-align: center; }

/* Listor */
:is(.sf, .customPageHtml:has([class*="sf-"])) ul, :is(.sf, .customPageHtml:has([class*="sf-"])) ol { margin: 0 0 1.2em; padding-left: 1.3em; }
:is(.sf, .customPageHtml:has([class*="sf-"])) li { margin-bottom: .4em; }
:is(.sf, .customPageHtml:has([class*="sf-"])) ul.sf-check { list-style: none; padding-left: 0; }
:is(.sf, .customPageHtml:has([class*="sf-"])) ul.sf-check li { position: relative; padding-left: 30px; }
:is(.sf, .customPageHtml:has([class*="sf-"])) ul.sf-check li::before {
  content: ""; position: absolute; left: 0; top: .3em;
  width: 18px; height: 18px; border-radius: 50%;
  background: #ff7400;
}
:is(.sf, .customPageHtml:has([class*="sf-"])) ul.sf-check li::after {
  content: ""; position: absolute; left: 6px; top: calc(.3em + 4px);
  width: 5px; height: 9px; border: solid #fff; border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* Citat */
:is(.sf, .customPageHtml:has([class*="sf-"])) blockquote, :is(.sf, .customPageHtml:has([class*="sf-"])) .sf-quote {
  margin: 1.6em 0; padding: 4px 0 4px 22px;
  border-left: 4px solid #ff7400;
  font-size: 1.15em; font-style: italic; color: #1a1d21;
}
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-quote cite, :is(.sf, .customPageHtml:has([class*="sf-"])) blockquote cite { display: block; margin-top: 8px; font-size: .8em; font-style: normal; color: #6b7380; }

/* Avdelare */
:is(.sf, .customPageHtml:has([class*="sf-"])) hr, :is(.sf, .customPageHtml:has([class*="sf-"])) .sf-divider { border: 0; height: 1px; background: #e6e8eb; margin: 48px 0; }

/* ---------- 4. Sektioner & avstand ---------- */
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-section { padding: 48px 0; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-section-soft {
  background: #f6f7f8; border-radius: 16px;
  padding: 40px 32px; margin: 40px 0;
}
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-section-dark {
  background: #0f3d4c; color: #d7e4e8; border-radius: 16px;
  padding: 44px 32px; margin: 40px 0;
}
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-section-dark h1, :is(.sf, .customPageHtml:has([class*="sf-"])) .sf-section-dark h2, :is(.sf, .customPageHtml:has([class*="sf-"])) .sf-section-dark h3,
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-section-dark strong { color: #fff; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-section-dark a { color: #ffb070; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-narrow { max-width: 720px; margin-left: auto; margin-right: auto; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-mt-0 { margin-top: 0; } :is(.sf, .customPageHtml:has([class*="sf-"])) .sf-mb-0 { margin-bottom: 0; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-mt { margin-top: 40px; } :is(.sf, .customPageHtml:has([class*="sf-"])) .sf-mb { margin-bottom: 40px; }

/* ---------- 5. Grid (responsivt) ---------- */
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-grid { display: grid; gap: 24px; grid-template-columns: 1fr; margin: 24px 0; }
@media (min-width: 640px) {
  :is(.sf, .customPageHtml:has([class*="sf-"])) .sf-grid-2, :is(.sf, .customPageHtml:has([class*="sf-"])) .sf-grid-3, :is(.sf, .customPageHtml:has([class*="sf-"])) .sf-grid-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 900px) {
  :is(.sf, .customPageHtml:has([class*="sf-"])) .sf-grid-3 { grid-template-columns: repeat(3, 1fr); }
  :is(.sf, .customPageHtml:has([class*="sf-"])) .sf-grid-4 { grid-template-columns: repeat(4, 1fr); }
}
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-grid > * { min-width: 0; }

/* Text + bild sida vid sida */
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-split { display: grid; gap: 32px; align-items: center; margin: 40px 0; grid-template-columns: 1fr; }
@media (min-width: 800px) {
  :is(.sf, .customPageHtml:has([class*="sf-"])) .sf-split { grid-template-columns: 1fr 1fr; gap: 48px; }
  :is(.sf, .customPageHtml:has([class*="sf-"])) .sf-split.sf-reverse > :first-child { order: 2; }
}
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-split img { border-radius: 16px; width: 100%; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-split h2:first-child, :is(.sf, .customPageHtml:has([class*="sf-"])) .sf-split h3:first-child { margin-top: 0; }

/* ---------- 6. Hero / sidhuvud ---------- */
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-hero {
  position: relative; overflow: hidden;
  border-radius: 16px;
  background: #0f3d4c center / cover no-repeat;
  color: #fff; padding: 72px 32px; margin: 0 0 40px;
  min-height: 320px; display: flex; flex-direction: column; justify-content: flex-end;
}
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-hero::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10, 25, 32, .05) 0%, rgba(10, 25, 32, .7) 100%);
}
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-hero > * { position: relative; z-index: 1; max-width: 680px; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-hero h1 { color: #fff; margin: 0 0 12px; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-hero p { color: rgba(255, 255, 255, .9); font-size: 1.15em; margin-bottom: 0; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-hero .sf-kicker { color: #ffb070; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-hero .sf-btn { margin-top: 24px; }
@media (min-width: 800px) { :is(.sf, .customPageHtml:has([class*="sf-"])) .sf-hero { padding: 96px 56px; min-height: 420px; } }

/* Enkel sidrubrik utan bild */
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-pagehead { padding: 24px 0 8px; border-bottom: 1px solid #e6e8eb; margin-bottom: 32px; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-pagehead h1 { margin-bottom: 8px; }

/* ---------- 7. Knappar ---------- */
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-btn, :is(.sf, .customPageHtml:has([class*="sf-"])) a.sf-btn {
  display: inline-block; padding: 13px 26px;
  background: #ff7400; color: #fff;
  font-weight: 700; font-size: 16px; line-height: 1.2;
  text-decoration: none; border-radius: 999px; border: 2px solid #ff7400;
  transition: background .2s, border-color .2s, transform .2s, color .2s;
  cursor: pointer;
}
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-btn:hover, :is(.sf, .customPageHtml:has([class*="sf-"])) a.sf-btn:hover {
  background: #d96200; border-color: #d96200;
  color: #fff; transform: translateY(-1px); text-decoration: none;
}
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-btn-outline, :is(.sf, .customPageHtml:has([class*="sf-"])) a.sf-btn-outline { background: transparent; color: #d96200; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-btn-outline:hover, :is(.sf, .customPageHtml:has([class*="sf-"])) a.sf-btn-outline:hover { background: #ff7400; color: #fff; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-btn-dark, :is(.sf, .customPageHtml:has([class*="sf-"])) a.sf-btn-dark { background: #1a1d21; border-color: #1a1d21; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-btn-dark:hover, :is(.sf, .customPageHtml:has([class*="sf-"])) a.sf-btn-dark:hover { background: #000; border-color: #000; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-btn-light, :is(.sf, .customPageHtml:has([class*="sf-"])) a.sf-btn-light { background: #fff; border-color: #fff; color: #1a1d21; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-btn-light:hover, :is(.sf, .customPageHtml:has([class*="sf-"])) a.sf-btn-light:hover { background: #ff7400; border-color: #ff7400; color: #fff; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-btn-row { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0; }

/* ---------- 8. Kort ---------- */
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-card {
  background: #fff; border: 1px solid #e6e8eb; border-radius: 16px;
  overflow: hidden; display: flex; flex-direction: column;
  box-shadow: 0 2px 10px rgba(16, 24, 40, .06); transition: box-shadow .25s, transform .25s;
}
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-card:hover { box-shadow: 0 10px 28px rgba(16, 24, 40, .12); transform: translateY(-3px); }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-card-body { padding: 20px 22px 24px; flex: 1; display: flex; flex-direction: column; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-card-body h3 { margin: 0 0 8px; font-size: 19px; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-card-body p { font-size: 15px; margin-bottom: 14px; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-card-body .sf-link { margin-top: auto; font-weight: 700; text-decoration: none; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-card-body .sf-link::after { content: " \2192"; }

/* Ikon-/sifferruta (utan bild) */
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-feature { padding: 24px; border-radius: 16px; background: #f6f7f8; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-feature h3 { margin: 0 0 6px; font-size: 18px; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-feature p { margin: 0; font-size: 15px; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-feature .sf-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 12px; margin-bottom: 14px;
  background: #fff1e6; color: #d96200;
  font-size: 22px; font-weight: 700;
}

/* ---------- 9. Infoboxar ---------- */
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-box {
  border-radius: 10px; padding: 18px 22px; margin: 24px 0;
  background: #f6f7f8; border-left: 4px solid #6b7380;
}
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-box > :last-child { margin-bottom: 0; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-box-title { display: block; font-weight: 700; color: #1a1d21; margin-bottom: 4px; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-box-tip     { background: #fff1e6; border-left-color: #ff7400; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-box-success { background: #e9f6f0; border-left-color: #1f8a5b; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-box-warning { background: #fff6e0; border-left-color: #b45309; }

/* Call-to-action-ruta */
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-cta {
  background: #ff7400; color: #fff; border-radius: 16px;
  padding: 40px 32px; margin: 48px 0; text-align: center;
}
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-cta h2 { color: #fff; margin: 0 0 10px; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-cta p { color: rgba(255, 255, 255, .92); max-width: 560px; margin: 0 auto 22px; }

/* ---------- 10. Etiketter ---------- */
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-badge {
  display: inline-block; padding: 3px 11px; border-radius: 999px;
  font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  background: #fff1e6; color: #d96200; vertical-align: middle;
}
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-badge-dark { background: #1a1d21; color: #fff; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-badge-green { background: #e9f6f0; color: #1f8a5b; }

/* ---------- 11. Steg-for-steg ---------- */
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-steps { list-style: none; padding: 0; margin: 28px 0; counter-reset: sfstep; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-steps li {
  counter-increment: sfstep; position: relative;
  padding: 0 0 26px 62px; margin: 0;
}
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-steps li::before {
  content: counter(sfstep); position: absolute; left: 0; top: -2px;
  width: 42px; height: 42px; border-radius: 50%;
  background: #ff7400; color: #fff; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-steps li::after {
  content: ""; position: absolute; left: 20px; top: 44px; bottom: 4px;
  width: 2px; background: #e6e8eb;
}
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-steps li:last-child::after { display: none; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-steps strong { display: block; font-size: 1.05em; margin-bottom: 2px; }

/* ---------- 12. Tabeller ---------- */
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 24px 0; border: 1px solid #e6e8eb; border-radius: 10px; }
:is(.sf, .customPageHtml:has([class*="sf-"])) table { width: 100%; border-collapse: collapse; font-size: 15px; background: #fff; }
:is(.sf, .customPageHtml:has([class*="sf-"])) th, :is(.sf, .customPageHtml:has([class*="sf-"])) td { padding: 12px 16px; text-align: left; border: 0; border-bottom: 1px solid #e6e8eb; vertical-align: top; }
:is(.sf, .customPageHtml:has([class*="sf-"])) th { background: #f6f7f8; color: #1a1d21; font-weight: 700; white-space: nowrap; }
:is(.sf, .customPageHtml:has([class*="sf-"])) tr:last-child td { border-bottom: 0; }
:is(.sf, .customPageHtml:has([class*="sf-"])) tbody tr:hover td { background: #fcfcfd; }

/* ---------- 13. FAQ (oppna/stang utan JavaScript) ---------- */
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-faq { margin: 24px 0; border-top: 1px solid #e6e8eb; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-faq details { border-bottom: 1px solid #e6e8eb; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-faq summary {
  cursor: pointer; list-style: none; position: relative;
  padding: 18px 40px 18px 0; font-weight: 700; color: #1a1d21;
}
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-faq summary::-webkit-details-marker { display: none; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-faq summary::after {
  content: "+"; position: absolute; right: 6px; top: 50%; transform: translateY(-50%);
  font-size: 24px; font-weight: 400; color: #ff7400; transition: transform .2s;
}
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-faq details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-faq details > div { padding: 0 0 18px; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-faq details > div > :last-child { margin-bottom: 0; }

/* ---------- 14. Bilder & video ---------- */
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-figure { margin: 32px 0; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-figure img { border-radius: 16px; width: 100%; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-figure figcaption, :is(.sf, .customPageHtml:has([class*="sf-"])) .sf-caption { font-size: 14px; color: #6b7380; margin-top: 10px; text-align: center; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-rounded { border-radius: 16px; }

:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-video { position: relative; padding-top: 56.25%; margin: 32px 0; border-radius: 16px; overflow: hidden; background: #000; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---------- 15. Mobilanpassning ---------- */
@media (max-width: 639px) {
  :is(.sf, .customPageHtml:has([class*="sf-"])) { font-size: 16px; }
  :is(.sf, .customPageHtml:has([class*="sf-"])) .sf-section-soft, :is(.sf, .customPageHtml:has([class*="sf-"])) .sf-section-dark, :is(.sf, .customPageHtml:has([class*="sf-"])) .sf-cta { padding: 28px 20px; border-radius: 10px; }
  :is(.sf, .customPageHtml:has([class*="sf-"])) .sf-hero { padding: 48px 22px; min-height: 260px; border-radius: 10px; }
  :is(.sf, .customPageHtml:has([class*="sf-"])) .sf-btn, :is(.sf, .customPageHtml:has([class*="sf-"])) a.sf-btn { width: 100%; text-align: center; }
  :is(.sf, .customPageHtml:has([class*="sf-"])) .sf-btn-row .sf-btn { width: 100%; }
  :is(.sf, .customPageHtml:has([class*="sf-"])) hr, :is(.sf, .customPageHtml:has([class*="sf-"])) .sf-divider { margin: 32px 0; }
}

/* ---------- 16. Tillagt i v1.2: knappar och kort som fungerar aven nar
   Abicart tar bort klasser pa lankar och style-attribut (t.ex. i guider) ---------- */
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-btn-row a {
  display: inline-block; padding: 13px 26px;
  background: #ff7400; color: #fff;
  font-weight: 700; font-size: 16px; line-height: 1.2;
  text-decoration: none; border-radius: 999px; border: 2px solid #ff7400;
  transition: background .2s, border-color .2s, transform .2s, color .2s;
}
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-btn-row a:hover { background: #d96200; border-color: #d96200; color: #fff; transform: translateY(-1px); text-decoration: none; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-btn-row.sf-row-outline a { background: transparent; color: #d96200; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-btn-row.sf-row-outline a:hover { background: #ff7400; color: #fff; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-btn-row.sf-row-light a { background: #fff; border-color: #fff; color: #1a1d21; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-btn-row.sf-row-light a:hover { background: #ff7400; border-color: #ff7400; color: #fff; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-btn-row.sf-row-dark a { background: #1a1d21; border-color: #1a1d21; color: #fff; }

:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-card-body > a:last-child { margin-top: auto; font-weight: 700; text-decoration: none; color: #d96200; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-card-body > a:last-child::after { content: " \2192"; }
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-card-body .sf-badge { align-self: flex-start; }

/* Produktkort: hela produktbilden syns (ingen beskarning) */
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-card-product img { aspect-ratio: 1 / 1; object-fit: contain; background: #fff; padding: 12px; }
/* Kort med fyrkantiga guidebilder */
:is(.sf, .customPageHtml:has([class*="sf-"])) .sf-card-square img { aspect-ratio: 1 / 1; }

@media (max-width: 639px) {
  :is(.sf, .customPageHtml:has([class*="sf-"])) .sf-btn-row a { width: 100%; text-align: center; }

  :is(.sf, .customPageHtml:has([class*="sf-"])) .sf-cta .sf-btn-row { justify-content: center; }

}
