/* =========================================================
   ELBODEN – KOMPLETT EGEN CSS
   Ersätter hela innehållet i Abicarts fält "Egen CSS".
   ========================================================= */

:root {
  --elb-text: #282622;
  --elb-muted: #6d6860;
  --elb-line: #e8e3da;
  --elb-paper: #ffffff;
  --elb-soft: #f5f2ed;
  --elb-button: #35312b;
  --elb-button-hover: #211f1b;
  --elb-footer: #e8e6e1;
  --elb-radius: 8px;
}

body {
  color: var(--elb-text);
  background-color: var(--elb-soft);
  text-rendering: optimizeLegibility;
}

.nordic--body-wrapper {
  background-color: transparent;
}

.nordic--main-wrapper {
  background-color: var(--elb-paper);
}

/* ---------- Sidhuvud ---------- */

.nordic--header {
  background-color: var(--elb-paper);
  border-bottom: 1px solid var(--elb-line);
}

.nordic--header .nordic--header-wrapper {
  padding: 7px 30px;
}

.nordic--top-bar {
  color: #3d3933;
  background-color: #e4ddd2;
  border-bottom: 1px solid #d8d0c4;
}

.nordic--top-bar a,
.nordic--top-bar i,
.nordic--top-bar span {
  color: #3d3933;
}

/* ---------- Gemensam innehållsyta ---------- */

.nordic--component-container {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0 !important;
  padding-bottom: 16px !important;
}

body.startpage .nordic--main-wrapper {
  padding-bottom: 10px !important;
}

body.startpage .nordic--body-wrapper {
  padding-bottom: 10px !important;
}

.nordic--component-container > :first-child {
  margin-top: -15px !important;
}

/* ---------- Startsida: bildrutor ---------- */

body.startpage .nordic--component-container > :first-child {
  margin-bottom: -15px !important;
}

body.startpage .tws-content-box--inner-wrapper {
  overflow: hidden;
}

body.startpage .tws-content-box--first-line,
body.startpage .tws-content-box--second-line {
  text-shadow: 0 2px 9px rgba(0, 0, 0, 0.42);
}

body.startpage .tws-content-box--first-line {
  font-weight: 600;
  letter-spacing: -0.02em;
}

/* ---------- Startsida: introduktion ---------- */

body.startpage .nordic--component-container > :nth-child(2),
body.startpage .tws-container--tws-custom-html.introduction,
body.startpage .elboden-home-intro {
  max-width: 980px;
  margin: 22px auto 0 !important;
  padding: 0 18px !important;
  text-align: center;
}

body.startpage .tws-container--tws-custom-html.introduction h1,
body.startpage .elboden-home-intro h1 {
  margin: 0 0 4px !important;
  color: var(--elb-text);
  font-size: clamp(30px, 3.2vw, 46px) !important;
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -0.035em;
}

body.startpage .tws-container--tws-custom-html.introduction h3,
body.startpage .elboden-home-intro h3 {
  margin: 0 !important;
  color: var(--elb-muted);
  font-size: clamp(18px, 1.8vw, 25px) !important;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -0.01em;
}

body.startpage .elboden-home-intro p {
  margin: 8px 0;
  color: var(--elb-muted);
  font-size: 17px;
  line-height: 1.6;
}

body.startpage .nordic--component-container > :nth-child(3) {
  margin-top: 12px !important;
  padding-top: 0 !important;
}

/* ---------- Startsida: knappar och längre text ---------- */

.elboden-home-cta {
  margin: 8px auto 28px;
  padding: 0 16px;
  text-align: center;
}

.elboden-home-cta a {
  display: inline-block;
  margin: 5px;
  padding: 11px 17px;
  color: var(--elb-button);
  border: 1px solid var(--elb-button);
  border-radius: 5px;
  font-weight: 600;
  text-decoration: none;
}

.elboden-home-cta a:hover,
.elboden-home-cta a:focus {
  color: #fff;
  background-color: var(--elb-button);
}

.elboden-home-copy {
  max-width: 900px;
  margin: 28px auto;
  padding: 0 18px;
  color: var(--elb-muted);
  text-align: center;
}

.elboden-home-copy p {
  margin: 0 0 12px;
  font-size: 16px;
  line-height: 1.65;
}

/* ---------- Startsida: sektionsrubriker ---------- */

body.startpage .tws-articles-two--heading {
  margin-bottom: 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--elb-line);
}

body.startpage .tws-articles-two--heading .tws-util-heading--heading {
  margin: 0;
  color: var(--elb-text);
  font-size: clamp(21px, 2vw, 27px);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

body.startpage .tws-container--tws-articles-two {
  margin-bottom: 30px;
}

/* ---------- Produktsida: diskret och utan boxar ---------- */

body.article .nordic--article-right-col {
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.article .tws-article-images--current-image {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.article .slot--article-name {
  margin-bottom: 6px;
}

body.article .tws-article-name h1 {
  margin: 0;
  color: var(--elb-text);
  font-size: clamp(25px, 2.4vw, 34px);
  font-weight: 600;
  line-height: 1.16;
  letter-spacing: -0.025em;
}

body.article .brandName a {
  color: var(--elb-muted);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.article .slot--article-price {
  margin-top: 4px;
  margin-bottom: 10px;
}

body.article .tws-article-price--price > .tws-api--price-current {
  color: var(--elb-text);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
}

body.article .tws-article-price--price > .tws-api--price-regular {
  color: var(--elb-muted);
  font-size: 15px;
  font-weight: 400;
}

body.article .tws-article-price--compare-at-price {
  display: block;
  margin-top: 4px;
  color: var(--elb-muted);
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.4;
}

body.article .tws-article-price--compare-at-price-title {
  margin-right: 4px;
  color: var(--elb-muted);
  font-size: 12px !important;
  font-weight: 400 !important;
}

body.article .tws-article-price--compare-at-price .tws-api-price,
body.article .tws-article-price--compare-at-price .tws-api--price-current {
  color: var(--elb-muted) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.4;
}

body.article .slot--article-introduction {
  margin-top: 10px;
  margin-bottom: 10px;
}

body.article .tws-article-introduction--text {
  color: #4e4a44;
  font-size: 15px;
  line-height: 1.55;
}

body.article .tws-article-introduction--read-more {
  margin-top: 5px;
  font-size: 13px;
}

body.article .slot--article-introduction.has-elb-store-stock
.tws-article-introduction--read-more {
  display: none !important;
}

body.article .slot--article-introduction.has-elb-store-stock
.tws-article-introduction--text {
  max-height: none !important;
}

body.article .nordic--article-choices-wrapper,
body.article .slot--article-choices {
  margin-top: 8px;
  margin-bottom: 8px;
}

body.article .tws-article-stock-shipping--stock-message {
  margin-top: 4px;
  margin-bottom: 4px;
  font-size: 14px;
  line-height: 1.4;
}

body.article .slot--article-stock-shipping + .elb-store-stock {
  margin: 2px 0 8px;
  color: var(--elb-muted);
  font-size: 13px;
  font-style: italic;
  line-height: 1.4;
}

body.article .nordic--buy-button-group {
  margin-top: 8px;
  margin-bottom: 14px;
}

body.article .tws-article-quantity .control-label {
  margin-bottom: 4px;
  color: var(--elb-muted);
  font-size: 13px;
  font-weight: 500;
}

body.article .tws-article-buy-button-with-modal--buy-button {
  min-height: 44px;
  color: #fff;
  background-color: var(--elb-button);
  border-color: var(--elb-button);
  border-radius: 5px;
  font-weight: 700;
}

body.article .tws-article-buy-button-with-modal--buy-button:hover,
body.article .tws-article-buy-button-with-modal--buy-button:focus {
  color: #fff;
  background-color: var(--elb-button-hover);
  border-color: var(--elb-button-hover);
}

body.article .slot--unique-selling-points {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--elb-line);
}

body.article .tws-unique-selling-points li {
  margin-bottom: 5px;
  line-height: 1.4;
}

body.article .tws-article-attributes ul {
  margin-top: 12px;
  margin-bottom: 0;
  padding-left: 0;
  border: 0 !important;
}

body.article .tws-article-attributes li {
  display: flex;
  padding: 9px 0;
  background-color: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--elb-line) !important;
}

body.article .tws-article-attribute-title {
  width: 42%;
  padding-right: 12px;
  color: var(--elb-text);
  font-weight: 600;
}

body.article .tws-article-attribute-value {
  width: 58%;
  color: #4e4a44;
}

body.article .slot--article-share {
  margin-top: 10px !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.article .nordic--article-bottom {
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid var(--elb-line);
}

body.article .tws-article-description--heading {
  margin-top: 0;
  margin-bottom: 5px;
  color: var(--elb-text);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.25;
}

body.article .tws-article-description--article-number {
  margin-bottom: 12px;
  color: var(--elb-muted);
  font-size: 13px;
}

body.article .tws-article-description--text {
  color: #4e4a44;
  font-size: 15px;
  line-height: 1.65;
}

/* ---------- Produktkort ---------- */

.tws-article-list .tws-list--grid-item {
  margin-bottom: 14px;
}

.tws-article-list .tws-list--grid-item .thumbnail {
  overflow: hidden;
  height: 100%;
  margin-bottom: 0;
  background-color: var(--elb-paper);
  border: 1px solid var(--elb-line);
  border-radius: var(--elb-radius);
  box-shadow: 0 2px 9px rgba(45, 39, 31, 0.05);
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.tws-article-list .tws-list--grid-item .thumbnail:hover {
  border-color: #d5cec3;
  box-shadow: 0 7px 22px rgba(45, 39, 31, 0.09);
  transform: translateY(-2px);
}

.tws-article-list .thumbnail .caption {
  padding: 12px 12px 14px;
}

.tws-article-list .tws-article-list--article-name,
.tws-article-list .tws-article-list--article-name a,
.tws-article-list .tws-article-list--article-name .tws-util-heading--heading {
  color: var(--elb-text);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}

.tws-article-list .tws-api--price-current {
  color: var(--elb-text);
  font-weight: 700;
}

.tws-article-list .btn-primary {
  min-height: 40px;
  color: #fff;
  background-color: var(--elb-button);
  border-color: var(--elb-button);
  border-radius: 5px;
  font-weight: 700;
}

.tws-article-list .btn-primary:hover,
.tws-article-list .btn-primary:focus {
  color: #fff;
  background-color: var(--elb-button-hover);
  border-color: var(--elb-button-hover);
}

/* ---------- Kategorisidor ---------- */

body.articlegroup .nordic--main-wrapper {
  padding-bottom: 34px;
}

body.articlegroup .pagination {
  margin-top: 24px;
  margin-bottom: 8px;
}

body.articlegroup .pagination > li > a,
body.articlegroup .pagination > li > span {
  min-width: 40px;
  min-height: 40px;
  margin: 0 3px;
  color: var(--elb-button);
  background-color: #fff;
  border-color: #ddd6cb;
  border-radius: 5px;
  text-align: center;
}

body.articlegroup .pagination > .active > a,
body.articlegroup .pagination > .active > span,
body.articlegroup .pagination > .active > a:hover,
body.articlegroup .pagination > .active > span:hover {
  color: #fff;
  background-color: var(--elb-button);
  border-color: var(--elb-button);
}

/* ---------- Sidfot ---------- */

.nordic--footer {
  margin-top: 32px;
  color: #3d3934;
  background-color: var(--elb-footer);
  border-top: 1px solid #ddd8cf;
}

body.startpage .nordic--footer {
  margin-top: 16px;
}

.nordic--footer a {
  color: #3d3934;
  text-decoration-color: #9f978b;
}

/* ---------- Mobil och surfplatta ---------- */

@media (max-width: 767px) {
  .nordic--header .nordic--header-wrapper {
    padding: 6px 12px;
  }

  .nordic--component-container {
    padding-bottom: 14px !important;
  }

  .nordic--component-container > :first-child {
    margin-top: -8px !important;
  }

  body.startpage .nordic--component-container > :first-child {
    margin-bottom: -8px !important;
  }

  body.startpage .tws-content-box--first-line {
    font-size: clamp(21px, 7vw, 29px) !important;
    line-height: 1.15;
  }

  body.startpage .tws-content-box--second-line {
    font-size: 15px !important;
    line-height: 1.4;
  }

  body.startpage .nordic--component-container > :nth-child(2),
  body.startpage .tws-container--tws-custom-html.introduction,
  body.startpage .elboden-home-intro {
    margin-top: 18px !important;
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  body.startpage .tws-container--tws-custom-html.introduction h1,
  body.startpage .elboden-home-intro h1 {
    margin-bottom: 7px !important;
    font-size: clamp(27px, 9vw, 35px) !important;
    line-height: 1.08;
  }

  body.startpage .tws-container--tws-custom-html.introduction h3,
  body.startpage .elboden-home-intro h3 {
    font-size: 17px !important;
    line-height: 1.35;
  }

  body.startpage .elboden-home-intro p {
    font-size: 16px;
  }

  body.startpage .nordic--component-container > :nth-child(3) {
    margin-top: 18px !important;
  }

  .elboden-home-cta {
    margin-bottom: 24px;
  }

  .elboden-home-cta a {
    display: block;
    margin: 8px 0;
  }

  .elboden-home-copy {
    margin-top: 24px;
    margin-bottom: 24px;
    padding-right: 14px;
    padding-left: 14px;
    text-align: left;
  }

  .elboden-home-copy p {
    font-size: 14px;
    line-height: 1.6;
  }

  body.startpage .tws-container--tws-articles-two {
    margin-bottom: 26px;
  }

  body.article .tws-article-name h1 {
    font-size: 25px;
    line-height: 1.14;
  }

  body.article .tws-article-price--price > .tws-api--price-current {
    font-size: 22px;
  }

  body.article .slot--article-introduction {
    margin-top: 8px;
    margin-bottom: 8px;
  }

  body.article .tws-article-introduction--text,
  body.article .tws-article-description--text {
    font-size: 14px;
    line-height: 1.55;
  }

  body.article .nordic--buy-button-group {
    margin-top: 7px;
    margin-bottom: 12px;
  }

  body.article .tws-article-buy-button-with-modal--buy-button {
    width: 100%;
    min-height: 46px;
  }

  body.article .slot--unique-selling-points {
    margin-top: 12px;
    padding-top: 10px;
  }

  body.article .tws-article-attributes li {
    padding-top: 8px;
    padding-bottom: 8px;
  }

  body.article .nordic--article-bottom {
    margin-top: 18px;
    padding-top: 18px;
  }

  body.article .tws-article-description--heading {
    font-size: 21px;
  }

  body.startpage .tws-articles-two--heading {
    margin-bottom: 12px;
    padding-bottom: 10px;
  }

  body.startpage .tws-articles-two--heading .tws-util-heading--heading {
    font-size: 21px;
  }

  .tws-article-list .tws-list--grid-item {
    margin-bottom: 10px;
  }

  .tws-article-list .tws-list--grid-item .thumbnail {
    border-radius: 6px;
    box-shadow: none;
  }

  .tws-article-list .tws-list--grid-item .thumbnail:hover {
    transform: none;
  }

  .tws-article-list .thumbnail .caption {
    padding: 9px 9px 11px;
  }

  .tws-article-list .tws-article-list--article-name,
  .tws-article-list .tws-article-list--article-name a,
  .tws-article-list .tws-article-list--article-name .tws-util-heading--heading {
    font-size: 13px;
    line-height: 1.35;
  }

  body.articlegroup .nordic--main-wrapper {
    padding-bottom: 24px;
  }

  body.articlegroup .pagination > li > a,
  body.articlegroup .pagination > li > span {
    min-width: 38px;
    min-height: 38px;
    margin-right: 2px;
    margin-left: 2px;
    padding-right: 9px;
    padding-left: 9px;
  }

  .nordic--footer {
    margin-top: 24px;
  }

  .nordic--footer-mid-left {
    display: none !important;
  }

  .nordic--footer .row {
    display: flex;
    flex-direction: column;
  }

  .nordic--footer [class*="col-"] {
    float: none !important;
    width: 100% !important;
    min-height: 0 !important;
    margin-bottom: 0;
  }

  .nordic--footer [class*="col-"] + [class*="col-"] {
    margin-top: 26px;
  }
}

/* ---------- 30-dagarspris: samma lilla storlek överallt ---------- */

body.article .slot--article-price
.tws-article-price > .tws-article-price--compare-at-price,
body.article .slot--article-price
.tws-article-price > .tws-article-price--compare-at-price * {
  color: #6d6860 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}

body.article .slot--article-price
.tws-article-price > .tws-article-price--compare-at-price {
  display: block !important;
  margin-top: 4px !important;
}

body.article .slot--article-price
.tws-article-price > .tws-article-price--compare-at-price
.tws-article-price--compare-at-price-title,
body.article .slot--article-price
.tws-article-price > .tws-article-price--compare-at-price
.tws-api-price,
body.article .slot--article-price
.tws-article-price > .tws-article-price--compare-at-price
.tws-api-price span {
  display: inline !important;
}
