/* Andningssmycke Configurator — showcase styling */
.asc-root {
  font-family: inherit;
  color: #1f1d1a;
  margin: 0 0 1rem;
  --asc-accent: #8a5a3b;
  --asc-accent-dark: #6b4325;
  --asc-bg: #fafaf7;
  --asc-bg-soft: #f5f2ec;
  --asc-border: #e5e1d8;
  --asc-muted: #7a7468;
}
.asc-root * { box-sizing: border-box; }

.asc-topline {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  margin-bottom: .6rem;
  flex-wrap: wrap;
}
.asc-rating { display: flex; align-items: center; gap: .4rem; font-size: .85rem; color: var(--asc-muted); }
.asc-stars { color: #d4a017; letter-spacing: 1px; font-size: .95rem; }
.asc-from { text-align: right; }
.asc-from-lead { font-size: .75rem; color: var(--asc-muted); text-transform: uppercase; letter-spacing: .08em; display: block; line-height: 1; margin-bottom: .1rem; }
.asc-from-price { font-size: 1.4rem; font-weight: 600; color: #1f1d1a; }
.asc-from-price .woocommerce-Price-currencySymbol { font-size: .85em; margin-left: .1em; }

.asc-lead {
  font-size: .98rem;
  line-height: 1.55;
  color: #3a352f;
  margin: 0 0 1.3rem;
}

.asc-section {
  margin: 0 0 1.1rem;
  padding: 0;
}
.asc-section-head { margin-bottom: .6rem; }
.asc-section-title {
  font-size: 1.02rem;
  font-weight: 600;
  margin: 0 0 .15rem;
  letter-spacing: -.005em;
}
.asc-section-title .asc-hint {
  font-size: .78rem;
  font-weight: 500;
  color: var(--asc-muted);
  margin-left: .5rem;
  letter-spacing: 0;
}
.asc-section-desc {
  font-size: .85rem;
  color: var(--asc-muted);
  margin: .15rem 0 0;
  line-height: 1.5;
}

/* Sizes */
.asc-size-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: .55rem;
}
.asc-size-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: .85rem;
  align-items: center;
  padding: .7rem .85rem;
  background: #fff;
  border: 1px solid var(--asc-border);
  border-radius: 10px;
  transition: border-color .15s ease, box-shadow .15s ease;
  position: relative;
}
.asc-size-card:hover { border-color: #c8c1b1; }
.asc-size-card.is-oos { opacity: .55; }
.asc-size-img { width: 56px; height: 56px; object-fit: cover; border-radius: 6px; flex-shrink: 0; }
.asc-size-body { min-width: 0; }
.asc-size-name { font-weight: 600; font-size: .98rem; line-height: 1.2; }
.asc-size-sub { font-size: .8rem; color: var(--asc-muted); margin: 1px 0 3px; line-height: 1.35; }
.asc-size-price { font-size: .9rem; font-weight: 500; color: #1f1d1a; }
.asc-size-price .amount { font-weight: 500; }

/* Qty stepper */
.asc-qty {
  display: inline-flex;
  align-items: center;
  gap: 0;
  border: 1px solid var(--asc-border);
  border-radius: 999px;
  background: #fff;
  padding: 2px;
}
.asc-qty-btn {
  width: 30px;
  height: 30px;
  border: 0;
  background: transparent;
  font-size: 1.05rem;
  font-weight: 500;
  color: #1f1d1a;
  cursor: pointer;
  border-radius: 999px;
  line-height: 1;
  padding: 0;
  transition: background .12s ease;
}
.asc-qty-btn:hover:not(:disabled) { background: var(--asc-bg-soft); }
.asc-qty-btn:disabled { opacity: .35; cursor: default; }
.asc-qty-value {
  min-width: 24px;
  text-align: center;
  font-weight: 600;
  font-size: .95rem;
  padding: 0 2px;
  user-select: none;
}
.asc-oos-link {
  font-size: .82rem;
  color: var(--asc-accent);
  text-decoration: none;
  font-weight: 500;
  white-space: nowrap;
}
.asc-oos-link:hover { text-decoration: underline; }

/* Savings bar */
.asc-savings {
  background: var(--asc-bg);
  border: 1px solid var(--asc-border);
  border-radius: 10px;
  padding: .6rem .75rem;
  margin: .7rem 0 1.2rem;
}
.asc-savings-bar {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  justify-content: space-between;
}
.asc-tier {
  font-size: .76rem;
  color: var(--asc-muted);
  padding: .2rem .5rem;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--asc-border);
  transition: all .15s ease;
  white-space: nowrap;
}
.asc-tier b { color: #1f1d1a; font-weight: 600; }
.asc-tier.is-active {
  background: var(--asc-accent);
  border-color: var(--asc-accent);
  color: #fff;
}
.asc-tier.is-active b { color: #fff; }
.asc-tier.is-next { border-color: var(--asc-accent); }
.asc-savings-msg {
  font-size: .83rem;
  color: var(--asc-accent-dark);
  margin-top: .5rem;
  font-weight: 500;
  min-height: 1.15em;
}
.asc-savings-msg:empty { display: none; }

/* Chains */
.asc-chain-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: .5rem;
}
.asc-chain-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: .8rem;
  align-items: center;
  padding: .6rem .75rem;
  background: #fff;
  border: 1px solid var(--asc-border);
  border-radius: 10px;
  cursor: pointer;
  transition: all .15s ease;
  position: relative;
}
.asc-chain-card { cursor: default; }
.asc-chain-card:hover:not(.is-oos) { border-color: #c8c1b1; }
.asc-chain-card.is-active {
  border-color: var(--asc-accent);
  background: #fff9f4;
  box-shadow: 0 0 0 1px var(--asc-accent) inset;
}
.asc-chain-card.is-oos { opacity: .5; }
.asc-chain-img { width: 46px; height: 46px; object-fit: cover; border-radius: 4px; }
.asc-chain-body { min-width: 0; }
.asc-chain-name { font-weight: 600; font-size: .93rem; }
.asc-chain-sub { font-size: .78rem; color: var(--asc-muted); line-height: 1.35; margin-top: 1px; }
.asc-chain-price { font-size: .82rem; font-weight: 500; color: var(--asc-muted); margin-top: 2px; }
.asc-chain-price .amount { font-weight: 500; }
.asc-chain-note {
  font-size: .78rem;
  color: var(--asc-muted);
  margin: .5rem .15rem 0;
  line-height: 1.45;
}

/* CTA */
.asc-cta {
  margin: 1.3rem 0 0;
  padding: 1rem 1.1rem;
  background: var(--asc-bg);
  border: 1px solid var(--asc-border);
  border-radius: 12px;
}
.asc-total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .5rem;
  margin-bottom: .7rem;
}
.asc-total-amount { font-size: 1.55rem; font-weight: 700; color: #1f1d1a; letter-spacing: -.01em; }
.asc-total-amount .amount { font-weight: 700; }
.asc-total-strike { color: var(--asc-muted); text-decoration: line-through; font-size: 1.05rem; font-weight: 500; }
.asc-total-strike:empty { display: none; }

.asc-add {
  width: 100%;
  padding: .95em 1.2em !important;
  font-size: 1.02rem !important;
  font-weight: 600 !important;
  letter-spacing: .005em !important;
  border-radius: 8px !important;
  position: relative;
  transition: transform .1s ease;
}
.asc-add:hover { transform: translateY(-1px); }
.asc-add:disabled { opacity: .6; cursor: not-allowed; transform: none; }
.asc-add-label { display: inline-block; }
.asc-add-spinner {
  display: none;
  width: 14px; height: 14px;
  border: 2px solid rgba(255,255,255,.45);
  border-top-color: #fff;
  border-radius: 50%;
  animation: asc-spin .7s linear infinite;
  margin-left: .55em;
  vertical-align: -2px;
}
.asc-add.is-loading .asc-add-spinner { display: inline-block; }
.asc-add.is-loading .asc-add-label::after { content: '…'; }
@keyframes asc-spin { to { transform: rotate(360deg); } }

.asc-trust {
  list-style: none;
  padding: 0;
  margin: .85rem 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .9rem;
  font-size: .78rem;
  color: var(--asc-muted);
  justify-content: center;
}
.asc-trust li { position: relative; padding-left: 1em; }
.asc-trust li::before { content: '✓'; position: absolute; left: 0; color: #4f9960; font-weight: 700; }

.asc-feedback {
  margin-top: .55rem;
  font-size: .85rem;
  min-height: 1.2em;
  text-align: center;
}
.asc-feedback.is-error { color: #b43a3a; }
.asc-feedback.is-success { color: #2a7c3f; }

/* Why bullets */
.asc-why {
  display: grid;
  gap: .7rem;
  margin: 1.4rem 0 .5rem;
  padding: 1.1rem 1rem;
  background: #fff;
  border: 1px solid var(--asc-border);
  border-radius: 12px;
}
.asc-why-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .8rem;
  align-items: start;
  font-size: .88rem;
  line-height: 1.5;
}
.asc-why-ico {
  width: 34px; height: 34px;
  border-radius: 50%;
  background: var(--asc-bg-soft);
  color: var(--asc-accent);
  font-size: 1.1rem;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  line-height: 1;
}
.asc-why-item strong { display: block; color: #1f1d1a; margin-bottom: .15em; font-weight: 600; font-size: .94rem; }
.asc-why-item p { margin: 0; color: var(--asc-muted); font-size: .84rem; line-height: 1.5; }

/* Responsive */
@media (min-width: 480px) {
  .asc-size-grid { grid-template-columns: 1fr; }
  .asc-chain-grid { grid-template-columns: 1fr; }
}
@media (min-width: 640px) {
  .asc-savings-bar { justify-content: flex-start; gap: .4rem; }
}
@media (max-width: 420px) {
  .asc-size-img { width: 48px; height: 48px; }
  .asc-qty-btn { width: 28px; height: 28px; }
  .asc-from-price { font-size: 1.25rem; }
  .asc-trust { gap: .25rem .7rem; font-size: .74rem; }
}

/* ============================================================
   SHOWCASE — below product summary
   ============================================================ */
.asc-showcase {
  font-family: inherit;
  color: #1f1d1a;
  max-width: 1040px;
  margin: 3rem auto 2rem;
  padding: 0 1rem;
  --asc-accent: #8a5a3b;
  --asc-accent-dark: #6b4325;
  --asc-bg: #fafaf7;
  --asc-bg-soft: #f5f2ec;
  --asc-border: #e5e1d8;
  --asc-muted: #7a7468;
}
.asc-showcase * { box-sizing: border-box; }
.asc-showcase .asc-show { margin: 0 0 4rem; }
.asc-show-title {
  font-size: clamp(1.45rem, 2.4vw, 1.95rem);
  font-weight: 700;
  letter-spacing: -.015em;
  margin: 0 0 .3rem;
  color: #1f1d1a;
  line-height: 1.2;
}
.asc-show-lead {
  font-size: 1.05rem;
  color: var(--asc-muted);
  margin: 0 0 1.5rem;
  line-height: 1.55;
}
.asc-show-note {
  font-size: .78rem;
  color: var(--asc-muted);
  margin: 1.2rem 0 0;
  line-height: 1.55;
  font-style: italic;
}

/* Moment prose section */
.asc-moment-body p {
  font-size: 1rem;
  line-height: 1.7;
  color: #2a2521;
  margin: 0 0 1rem;
  max-width: 62ch;
}
.asc-moment-body p:last-child { margin-bottom: 0; }

/* How it works: 3 steps */
.asc-steps {
  list-style: none;
  padding: 0;
  margin: 0 0 1rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.1rem;
  counter-reset: none;
}
.asc-steps li {
  position: relative;
  padding: 1.2rem 1.3rem 1.2rem 3.6rem;
  background: var(--asc-bg);
  border-radius: 14px;
  border: 1px solid var(--asc-border);
}
.asc-step-num {
  position: absolute;
  top: 1.15rem;
  left: 1.15rem;
  width: 1.9rem;
  height: 1.9rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--asc-accent);
  color: #fff;
  font-weight: 700;
  font-size: .92rem;
  letter-spacing: 0;
  line-height: 1;
}
.asc-steps h3 {
  font-size: 1.02rem;
  font-weight: 600;
  margin: 0 0 .2rem;
  color: #1f1d1a;
}
.asc-steps p {
  font-size: .92rem;
  color: #3a352f;
  margin: 0;
  line-height: 1.55;
}
.asc-steps-note {
  font-size: .88rem;
  color: var(--asc-muted);
  margin: 1rem 0 0;
  font-style: italic;
  line-height: 1.55;
}
@media (min-width: 720px) {
  .asc-steps { grid-template-columns: repeat(3, 1fr); gap: .85rem; }
  .asc-steps li { padding: 1.3rem 1.1rem 1.2rem; }
  .asc-step-num { position: static; margin-bottom: .7rem; }
}

/* Benefits grid */
.asc-benefits {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
.asc-benefit {
  padding: 1.2rem 1.25rem;
  background: #fff;
  border: 1px solid var(--asc-border);
  border-radius: 14px;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.asc-benefit:hover { border-color: #c8c1b1; box-shadow: 0 2px 10px rgba(0,0,0,.04); }
.asc-benefit-ico {
  display: grid;
  place-items: center;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  background: var(--asc-bg-soft);
  color: var(--asc-accent);
  font-size: 1.25rem;
  margin-bottom: .8rem;
  line-height: 1;
}
.asc-benefit h3 {
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 .25rem;
  color: #1f1d1a;
}
.asc-benefit p {
  font-size: .9rem;
  color: #3a352f;
  margin: 0;
  line-height: 1.55;
}
@media (min-width: 640px) {
  .asc-benefits { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 960px) {
  .asc-benefits { grid-template-columns: repeat(4, 1fr); gap: .85rem; }
}

/* Reviews */
.asc-reviews-head {
  margin-bottom: 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  flex-wrap: wrap;
}
.asc-reviews-meta {
  display: flex;
  align-items: center;
  gap: .55rem;
  font-size: .95rem;
  color: #3a352f;
}
.asc-stars-lg { color: #d4a017; font-size: 1.05rem; letter-spacing: 1px; }
.asc-review-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: .85rem;
}
.asc-review-card {
  padding: 1.1rem 1.2rem;
  background: #fff;
  border: 1px solid var(--asc-border);
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  gap: .55rem;
}
.asc-review-stars {
  color: #d4a017;
  font-size: .95rem;
  letter-spacing: 1px;
  line-height: 1;
}
.asc-review-stars .asc-star-dim { color: #e6dfcf; }
.asc-review-quote {
  margin: 0;
  font-size: .94rem;
  line-height: 1.6;
  color: #2a2521;
  font-style: normal;
  position: relative;
}
.asc-review-quote::before {
  content: '“';
  font-size: 1.8em;
  color: var(--asc-accent);
  line-height: 0;
  position: relative;
  top: .22em;
  margin-right: .1em;
  font-family: Georgia, serif;
}
.asc-review-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
  padding-top: .3rem;
  gap: .5rem;
  flex-wrap: wrap;
}
.asc-review-author {
  font-size: .86rem;
  font-weight: 600;
  color: #1f1d1a;
}
.asc-review-verified {
  font-size: .74rem;
  color: #4f9960;
  font-weight: 500;
}
@media (min-width: 640px) { .asc-review-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .asc-review-grid { grid-template-columns: repeat(3, 1fr); gap: 1rem; } }

/* Details / specs */
.asc-specs {
  display: grid;
  grid-template-columns: 1fr;
  gap: .05rem;
  background: var(--asc-border);
  border: 1px solid var(--asc-border);
  border-radius: 14px;
  overflow: hidden;
}
.asc-spec {
  display: grid;
  grid-template-columns: 1fr;
  gap: .15rem;
  padding: .95rem 1.15rem;
  background: #fff;
}
.asc-spec dt {
  font-size: .78rem;
  font-weight: 600;
  color: var(--asc-muted);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin: 0;
}
.asc-spec dd {
  margin: 0;
  font-size: .94rem;
  color: #1f1d1a;
  line-height: 1.5;
}
@media (min-width: 640px) {
  .asc-specs { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 900px) {
  .asc-spec { grid-template-columns: 35% 1fr; align-items: baseline; gap: 1rem; }
  .asc-spec dt { padding-top: 2px; }
}

/* Companion products */
.asc-comp-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
.asc-comp-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 1rem;
  align-items: center;
  padding: .85rem 1rem;
  background: #fff;
  border: 1px solid var(--asc-border);
  border-radius: 14px;
  text-decoration: none;
  color: inherit;
  transition: border-color .15s ease, box-shadow .15s ease, transform .1s ease;
}
.asc-comp-card:hover {
  border-color: var(--asc-accent);
  box-shadow: 0 4px 14px rgba(138,90,59,.08);
  transform: translateY(-1px);
}
.asc-comp-img-wrap {
  width: 84px;
  height: 84px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--asc-bg-soft);
  flex-shrink: 0;
}
.asc-comp-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.asc-comp-name {
  font-weight: 600;
  font-size: 1rem;
  color: #1f1d1a;
  margin-bottom: .2rem;
}
.asc-comp-sub {
  font-size: .85rem;
  color: var(--asc-muted);
  line-height: 1.45;
  margin-bottom: .35rem;
}
.asc-comp-price {
  font-size: .92rem;
  font-weight: 500;
  color: #1f1d1a;
}
.asc-comp-arrow {
  color: var(--asc-accent);
  font-size: 1.25rem;
  font-weight: 600;
  flex-shrink: 0;
  opacity: .55;
  transition: opacity .15s ease, transform .15s ease;
}
.asc-comp-card:hover .asc-comp-arrow {
  opacity: 1;
  transform: translateX(2px);
}
@media (min-width: 640px) { .asc-comp-grid { grid-template-columns: repeat(2, 1fr); } }

/* FAQ */
.asc-faq {
  border: 1px solid var(--asc-border);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}
.asc-faq-item {
  border-bottom: 1px solid var(--asc-border);
}
.asc-faq-item:last-child { border-bottom: 0; }
.asc-faq-item summary {
  padding: 1rem 1.25rem;
  cursor: pointer;
  font-weight: 600;
  font-size: .98rem;
  color: #1f1d1a;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  list-style: none;
  transition: background .12s ease;
}
.asc-faq-item summary:hover { background: var(--asc-bg); }
.asc-faq-item summary::-webkit-details-marker { display: none; }
.asc-faq-item summary::after {
  content: '+';
  font-size: 1.35rem;
  font-weight: 400;
  color: var(--asc-accent);
  line-height: 1;
  flex-shrink: 0;
  transition: transform .2s ease;
}
.asc-faq-item[open] summary::after { content: '−'; }
.asc-faq-item[open] summary { background: var(--asc-bg); }
.asc-faq-body {
  padding: 0 1.25rem 1.1rem;
}
.asc-faq-body p {
  margin: 0;
  font-size: .93rem;
  color: #3a352f;
  line-height: 1.65;
}

/* Closing CTA */
.asc-show--close { margin-bottom: 1rem; }
.asc-close-box {
  padding: 2.4rem 1.5rem;
  background: linear-gradient(135deg, var(--asc-bg-soft) 0%, var(--asc-bg) 100%);
  border-radius: 18px;
  text-align: center;
  border: 1px solid var(--asc-border);
}
.asc-close-box h2 {
  font-size: clamp(1.3rem, 2.2vw, 1.7rem);
  font-weight: 700;
  letter-spacing: -.01em;
  margin: 0 0 .6rem;
  color: #1f1d1a;
}
.asc-close-box p {
  font-size: 1rem;
  color: #3a352f;
  margin: 0 0 1.3rem;
  line-height: 1.55;
  max-width: 46ch;
  margin-left: auto;
  margin-right: auto;
}
.asc-close-btn {
  display: inline-block;
  padding: .95em 1.8em;
  background: var(--asc-accent);
  color: #fff !important;
  text-decoration: none !important;
  border-radius: 8px;
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: .005em;
  transition: background .15s ease, transform .1s ease;
}
.asc-close-btn:hover {
  background: var(--asc-accent-dark);
  transform: translateY(-1px);
}
.asc-close-trust {
  font-size: .8rem !important;
  color: var(--asc-muted) !important;
  margin-top: 1.2rem !important;
  max-width: none !important;
}

/* ============================================================
   FULL EDITORIAL PDP (2026 redesign) — matches Produkt - Andningssmycket.html.
   Layout classes (.ed-hero/.ed-main/.chapter/.gallery/.story-block/.specs-block/
   .buy-box/.facts) are styled by the scoped momojord-editorial.css; this adds the
   page takeover, full-bleed, and Andningssmycke-specific components.
   ============================================================ */
.mj-andn-page #content,.mj-andn-page .site-content,.mj-andn-page #primary,.mj-andn-page .content-area,
.mj-andn-page .site-main,.mj-andn-page .col-full,.mj-andn-page .single-product div.product,
.mj-andn-page .product-details-wrapper{ width:100%!important; max-width:none!important; padding-left:0!important; padding-right:0!important; margin-left:0!important; margin-right:0!important; display:block!important; }
.mj-andn-page #content,.mj-andn-page .site-content{ padding-top:0!important; margin-top:0!important; }
.mj-andn-page .woocommerce-product-gallery,.mj-andn-page #commercegurus-pdp-gallery-wrapper,
.mj-andn-page .product-details-wrapper > .images,.mj-andn-page .summary.entry-summary,
.mj-andn-page .single-product div.product .woocommerce-tabs,.mj-andn-page .related,.mj-andn-page .up-sells,
.mj-andn-page .woocommerce-breadcrumb,.mj-andn-page .shoptimizer-breadcrumb,.mj-andn-page .rank-math-breadcrumb{ display:none!important; }
/* Full-bleed via full-width ancestors (the col-full override below) + width:100%,
   NOT 100vw — iOS Safari leaves cream side-strips with a 100vw + negative-margin
   bleed when an ancestor (theme's full-width-content col-full) keeps 6px padding. */
body.mj-andn-page .col-full{ padding-left:0 !important; padding-right:0 !important; }
.mj-scope.mj-andn{ width:100%; max-width:100%; margin-left:0; margin-right:0; overflow-x:clip; color:var(--ink); }
.mj-andn .wrap{ max-width:1400px; margin:0 auto; padding:0 32px; }
.mj-andn .ed-main-section{ padding:80px 0; }

/* hero stock dot + gold accents */
.mj-andn .ed-hero-meta .andn-dot{ display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 4px color-mix(in oklab,var(--gold) 24%,transparent); margin-right:6px; vertical-align:middle; }
.mj-andn .andn-gold{ color:var(--gold); }

/* gallery badge */
.mj-andn .gallery-main{ position:relative; }
.mj-andn .gallery-main .badge-tl{ position:absolute; top:14px; left:14px; z-index:2; background:var(--gold); color:var(--ink); padding:5px 12px; border-radius:999px; font-family:var(--ff-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }

/* buy-box: heading + embed the .asc-root engine, hide its now-redundant parts */
.mj-andn .buy-box .buy-head h3{ font-family:var(--ff-display); font-weight:var(--display-weight); font-size:30px; letter-spacing:-.01em; margin:6px 0 0; }
.mj-andn .buy-box .buy-head h3 em{ font-style:italic; color:var(--brand); }
.mj-andn .buy-box .asc-root{ margin:0; }
.mj-andn .buy-box .asc-topline,.mj-andn .buy-box .asc-lead,.mj-andn .buy-box .asc-why{ display:none; }

/* silver quote band */
.mj-andn .andn-quote{ background:var(--ink); color:var(--paper); border-radius:12px; padding:64px 40px; text-align:center; }
.mj-andn .andn-quote .lbl{ font-family:var(--ff-mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin-bottom:18px; }
.mj-andn .andn-quote blockquote{ font-family:var(--ff-display); font-weight:var(--display-weight); font-size:clamp(28px,3.8vw,46px); line-height:1.15; letter-spacing:-.015em; max-width:22ch; margin:0 auto; }
.mj-andn .andn-quote blockquote em{ font-style:italic; color:var(--gold); }
.mj-andn .andn-quote cite{ display:block; margin-top:24px; font-family:var(--ff-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:color-mix(in oklab,var(--paper) 70%,transparent); font-style:normal; }
.mj-andn .andn-disclaimer{ font-size:12px; color:var(--ink-mute); line-height:1.55; margin-top:18px; }

/* reviews + companions */
.mj-andn .andn-reviews{ padding:72px 0; border-top:1px solid var(--hairline); }
.mj-andn .andn-reviews-head{ display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:8px; flex-wrap:wrap; }
.mj-andn .andn-reviews-head h2{ font-family:var(--ff-display); font-weight:var(--display-weight); font-size:clamp(32px,4vw,52px); letter-spacing:-.02em; }
.mj-andn .andn-reviews-head h2 em{ font-style:italic; color:var(--brand); }
.mj-andn .andn-reviews-meta{ font-size:14px; color:var(--ink-soft); } .mj-andn .andn-reviews-meta .stars{ color:#d29a2a; }
.mj-andn .andn-reviews-disclaimer{ font-size:12px; color:var(--ink-mute); margin:0 0 28px; }
.mj-andn .andn-review-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.mj-andn .andn-review{ background:var(--card); border:1px solid var(--hairline); border-radius:10px; padding:26px; display:flex; flex-direction:column; gap:12px; }
.mj-andn .andn-review .stars{ color:#d29a2a; font-size:15px; letter-spacing:2px; }
.mj-andn .andn-review blockquote{ font-family:var(--ff-display); font-weight:var(--display-weight); font-size:18px; line-height:1.4; margin:0; }
.mj-andn .andn-review footer{ display:flex; gap:10px; align-items:center; margin-top:auto; padding-top:14px; border-top:1px solid var(--hairline); font-size:13px; }
.mj-andn .andn-review .verified{ color:var(--brand); font-family:var(--ff-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.mj-andn .andn-companions{ padding:0 0 84px; }
.mj-andn .andn-companions h2{ font-family:var(--ff-display); font-weight:var(--display-weight); font-size:clamp(28px,3vw,44px); letter-spacing:-.02em; margin-bottom:24px; }
.mj-andn .andn-companions h2 em{ font-style:italic; color:var(--brand); }
.mj-andn .andn-comp-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.mj-andn .andn-comp{ display:flex; gap:16px; align-items:center; background:var(--card); border:1px solid var(--hairline); border-radius:10px; padding:16px; }
.mj-andn .andn-comp:hover{ border-color:var(--ink-soft); }
.mj-andn .andn-comp-art{ width:90px; height:90px; border-radius:8px; overflow:hidden; flex:none; background:var(--paper-2); }
.mj-andn .andn-comp-art img{ width:100%; height:100%; object-fit:cover; }
.mj-andn .andn-comp-name{ font-family:var(--ff-display); font-weight:var(--display-weight); font-size:19px; }
.mj-andn .andn-comp-sub{ font-size:13px; color:var(--ink-soft); margin:2px 0 6px; }
.mj-andn .andn-comp-price{ font-family:var(--ff-display); font-weight:var(--display-weight); }

/* Mobile/tablet: it's a store first — hoist the buy-box (size/chain/price/ATC)
   ABOVE the editorial chapters so you can buy without scrolling through the
   whole story (Leon 1919). Editorial story then follows below. */
@media (max-width:1100px){
  /* Single column that can actually shrink to the viewport: a bare 1fr track keeps
     its auto min-content floor and blew out to ~2146px (qty steppers off-screen).
     minmax(0,1fr) + min-width:0 clamp it. order:-1 hoists the buy-box above the story. */
  .mj-andn .ed-main{ grid-template-columns:minmax(0,1fr) !important; }
  .mj-andn .ed-sections,
  .mj-andn .buy-box{ min-width:0; }
  .mj-andn .buy-box{ position:static; order:-1; margin-bottom:8px; }
}
/* Big gallery image: lock to a calm portrait ratio so an odd/portrait source
   can't render as a tight zoom-crop (Leon 1914 "buggigt med stora bilden"). */
.mj-andn .gallery-main{ aspect-ratio:4/5; }
.mj-andn .gallery-main img{ object-position:center; }
@media (max-width:820px){
  .mj-andn .wrap{ padding:0 20px; } .mj-andn .ed-main-section{ padding:48px 0; }
  .mj-andn .andn-review-grid{ grid-template-columns:1fr; } .mj-andn .andn-comp-grid{ grid-template-columns:1fr; }
  .mj-andn .ed-hero .inner > .wrap{ grid-template-columns:1fr; } .mj-andn .ed-hero-meta{ text-align:left; }
  .mj-andn .story-block,.mj-andn .story-block.reverse{ grid-template-columns:1fr; } .mj-andn .andn-quote{ padding:48px 24px; }
}

/* ============================================================
   Gallery rework (2026-06-03): main image + thumbnail row + "Visa fler" → lightbox.
   Replaces the left-filmstrip .gallery, which blew out on mobile (21 horizontal
   thumbs forced the 1fr track to ~2176px and oversized the main image).
   ============================================================ */
.mj-andn .andn-gallery{ display:flex; flex-direction:column; gap:12px; }
.mj-andn .andn-gallery-main{ position:relative; display:block; width:100%; margin:0; padding:0; border:0; background:var(--paper-2); border-radius:10px; overflow:hidden; aspect-ratio:4/5; cursor:zoom-in; }
.mj-andn .andn-gallery-main img{ width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.mj-andn .andn-gallery-main .badge-tl{ position:absolute; top:14px; left:14px; z-index:2; background:var(--gold); color:var(--ink); padding:5px 12px; border-radius:999px; font-family:var(--ff-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.mj-andn .andn-gallery-main .andn-zoom{ position:absolute; right:12px; bottom:12px; z-index:2; width:34px; height:34px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(20,24,15,.55); color:#fff; font-size:15px; line-height:1; backdrop-filter:blur(4px); }
.mj-andn .andn-gallery-thumbs{ display:grid; grid-template-columns:repeat(6,1fr); gap:8px; }
.mj-andn .andn-thumb{ position:relative; aspect-ratio:1/1; min-width:0; margin:0; padding:0; border:2px solid var(--hairline); border-radius:7px; overflow:hidden; background:var(--paper-2); cursor:pointer; transition:border-color .15s ease; }
.mj-andn .andn-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.mj-andn .andn-thumb.on{ border-color:var(--ink); }
.mj-andn .andn-thumb:hover{ border-color:var(--ink-soft); }
.mj-andn .andn-thumb.is-hidden{ display:none; }
.mj-andn .andn-thumb-more{ display:flex; align-items:center; justify-content:center; font-family:var(--ff-mono); font-size:14px; font-weight:600; letter-spacing:.02em; color:var(--ink); background:var(--paper-2); }
.mj-andn .andn-thumb-more:hover{ border-color:var(--ink); }

/* Lightbox (config.js appends .andn-lb to <body>) */
.andn-lb[hidden]{ display:none; }
.andn-lb{ position:fixed; inset:0; z-index:100000; display:flex; align-items:center; justify-content:center; background:rgba(16,18,13,.94); padding:16px; }
.andn-lb-stage{ max-width:min(1100px,92vw); max-height:88vh; display:flex; align-items:center; justify-content:center; }
.andn-lb-img{ max-width:100%; max-height:88vh; object-fit:contain; border-radius:6px; box-shadow:0 20px 60px rgba(0,0,0,.5); }
.andn-lb-close{ position:absolute; top:14px; right:16px; width:44px; height:44px; border:0; background:transparent; color:#fff; font-size:34px; line-height:1; cursor:pointer; opacity:.85; }
.andn-lb-close:hover{ opacity:1; }
.andn-lb-nav{ position:absolute; top:50%; transform:translateY(-50%); width:52px; height:52px; border-radius:50%; border:0; background:rgba(255,255,255,.12); color:#fff; font-size:30px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .15s ease; }
.andn-lb-nav:hover{ background:rgba(255,255,255,.24); }
.andn-lb-prev{ left:16px; } .andn-lb-next{ right:16px; }
.andn-lb-count{ position:absolute; bottom:18px; left:50%; transform:translateX(-50%); color:#fff; font-family:var(--ff-mono,monospace); font-size:12px; letter-spacing:.1em; opacity:.8; }
@media (max-width:640px){ .andn-lb-nav{ width:42px; height:42px; font-size:24px; } .andn-lb-prev{ left:8px; } .andn-lb-next{ right:8px; } }

/* Sticky mobile add-to-cart bar (shown by config.js only on mobile while the
   in-page add button is scrolled out of view). */
.andn-sticky[hidden]{ display:none; }
.andn-sticky{ position:fixed; left:0; right:0; bottom:0; z-index:9000; display:flex; align-items:center; gap:14px; padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px)); background:var(--paper); border-top:1px solid var(--hairline); box-shadow:0 -6px 22px rgba(0,0,0,.10); }
.andn-sticky-info{ display:flex; flex-direction:column; line-height:1.15; min-width:0; }
.andn-sticky-label{ font-size:11px; letter-spacing:.04em; color:var(--ink-soft); text-transform:uppercase; font-family:var(--ff-mono); }
.andn-sticky-price{ font-family:var(--ff-display); font-weight:var(--display-weight); font-size:19px; color:var(--ink); }
.mj-andn .andn-sticky-add{ margin-left:auto; flex:0 1 auto; background:var(--brand); color:#fff; border:0; border-radius:999px; padding:14px 22px; font-family:var(--ff-sans,inherit); font-weight:600; font-size:15px; cursor:pointer; white-space:nowrap; }
.mj-andn .andn-sticky-add:disabled{ opacity:.5; cursor:default; }
@media (min-width:1101px){ .andn-sticky{ display:none!important; } }

/* Clear the fixed mobile sticky bar so it never covers the end of the footer. */
@media (max-width:1100px){ body.mj-andn-page{ padding-bottom:76px; } }

/* Reviews: collapse beyond the first 5 + "Visa fler" toggle (2026-06-03) */
.mj-andn .andn-review.is-hidden{ display:none; }
.mj-andn .andn-reviews-all{ text-align:center; margin-top:28px; }
.mj-andn .andn-reviews-more{ display:inline-flex; align-items:center; justify-content:center; gap:8px; background:transparent; color:var(--ink); border:1px solid var(--hairline-strong); border-radius:999px; padding:13px 28px; font-family:var(--ff-sans); font-weight:600; font-size:15px; cursor:pointer; transition:border-color .15s ease, background .15s ease; }
.mj-andn .andn-reviews-more:hover{ border-color:var(--ink); background:var(--paper-2); }
