.product-content { margin-top: 1.5rem; min-width: 0; }
.product-content [hidden] { display: none !important; }
/* Keep both sections readable until native tabs initialize, including without JS. */
.public-product-content[data-porto-product-tabs]:not([data-porto-tabs-ready]) > .tabs > .tab-content > .tab-pane { display: block; }
/* Match the first content baseline in initialized product panels, including prose/FAQ wrappers. */
.public-product-content[data-porto-tabs-ready] > .tabs > .tab-content > .tab-pane > :first-child,
.public-product-content[data-porto-tabs-ready] > .tabs > .tab-content > .tab-pane > :first-child > :first-child { margin-top: 0 !important; }
.product-content-nav { margin-bottom: 1.5rem; }
.product-content-nav .nav-tabs { display: flex; gap: .5rem; list-style: none; padding: 0; margin: 0; border-bottom: 1px solid #dce5e9; }
.product-content-nav .nav-link { display: block; padding: .8rem 1rem; text-decoration: none; border: 0; border-bottom: 3px solid transparent; color: #425e6d; font-weight: 600; }
.product-content-nav .nav-link.active { color: #147c9f; border-bottom-color: #67b7da; }
.product-content .product-content-nav .nav-tabs li .nav-link { border: 0; border-bottom: 3px solid transparent; background: transparent; color: #425e6d; opacity: 1; }
.product-content .product-content-nav .nav-tabs li .nav-link[aria-selected=true] { color: #147c9f; border-bottom-color: #67b7da; background: #f1f8fb; }
.product-content-nav a:focus-visible, :where(.product-content:not(.public-product-content)) .product-faq .accordion-toggle:focus-visible, .product-content:where(:not(.public-product-content)) [role=tabpanel]:focus-visible { outline: 2px solid #147c9f; outline-offset: 3px; }
.product-content .shop-rich-text { white-space: normal; overflow-wrap: anywhere; }
.shop-rich-text p, .shop-rich-text div { margin: 0 0 .5rem; }
.shop-rich-text > :last-child { margin-bottom: 0; }
.shop-rich-text ul, .shop-rich-text ol { padding-left: 1.4rem; margin-top: 0; margin-bottom: .5rem; }
.shop-rich-text .product-paragraph-break { display: block; height: .5rem; }
.shop-rich-text .product-empty-paragraph { display: block; height: 0; margin-bottom: .5rem; }
.shop-rich-text:where(:not(.public-prose)) h2, .shop-rich-text:where(:not(.public-prose)) h3, .shop-rich-text:where(:not(.public-prose)) h4 { font-size: 1.15rem; line-height: 1.5; margin: 1.5rem 0 .75rem; letter-spacing: 0; }
.shop-rich-text a { text-decoration: underline; }
.product-faq { margin: 0 0 2rem; }
:where(.product-content:not(.public-product-content)) .product-information-heading { margin: 1.75rem 0 1rem; line-height: 1.5; letter-spacing: 0; }
.product-faq .accordion-toggle { overflow-wrap: anywhere; }
.product-faq .card-title { text-transform: none; }
@media (max-width: 600px) { .product-content-nav .nav-link { padding: .75rem; } }

.shop-card-image, .shop-product-image, .shop-banner-image { position: relative; overflow: hidden; }
.shop-product-ribbon { position: absolute; z-index: 2; top: 29px; right: -57px; width: 210px; padding: 6px 0; transform: rotate(45deg); background: #147c9f; color: #fff; font-size: 12px; line-height: 1.5; font-weight: 700; text-align: center; box-shadow: 0 2px 5px #0002; pointer-events: none; }
.shop-product-ribbon-offer { background: #bd1536; }
/* Validated campaign gradients retain readable text when clipping is unsupported. */
.campaign-gradient-text { color: var(--campaign-gradient-fallback, #e6bc59); }
.campaign-solid-text { -webkit-text-fill-color: currentColor; }
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
    .campaign-gradient-text { background-image: var(--campaign-gradient); background-clip: text; -webkit-background-clip: text; color: transparent !important; -webkit-text-fill-color: transparent; }
    .campaign-solid-text { -webkit-text-fill-color: currentColor; }
}

/* Shared price-row and offers-page purchase markers. */
/* Offer artwork follows the content column instead of its stored editor width. */
.page-erbjudande .offers-list .offer-description img { width: 100%; height: auto; }
:is(.page-priser .price-list, .page-erbjudande .offers-list) .price-buy { display: inline-flex; align-items: center; gap: 10px; min-height: 46px; max-width: 100%; padding: 10px 20px; border: 1px solid var(--primary); border-radius: 6px; background: var(--primary); color: #fff; font-weight: 600; line-height: 24px; text-align: left; white-space: normal; vertical-align: middle; }
:is(.page-priser .price-list, .page-erbjudande .offers-list) .price-buy .icons { flex: 0 0 auto; font-size: 18px; color: inherit; }
:is(.page-priser .price-list, .page-erbjudande .offers-list) .price-buy:hover, :is(.page-priser .price-list, .page-erbjudande .offers-list) .price-buy:active { background: var(--primary-100); border-color: var(--primary-100); color: #fff; }
:is(.page-priser .price-list, .page-erbjudande .offers-list) .price-buy:focus-visible { outline: 3px solid var(--primary-200); outline-offset: 3px; box-shadow: 0 0 0 2px #fff; }
:is(.page-priser .price-list, .page-erbjudande .offers-list) .price-buy-left, :is(.page-priser .price-list, .page-erbjudande .offers-list) .price-buy-center, :is(.page-priser .price-list, .page-erbjudande .offers-list) .price-buy-right { display: flex; width: fit-content; }
:is(.page-priser .price-list, .page-erbjudande .offers-list) .price-buy-left { margin-left: 0; margin-right: auto; }
:is(.page-priser .price-list, .page-erbjudande .offers-list) .price-buy-center { margin-left: auto; margin-right: auto; }
:is(.page-priser .price-list, .page-erbjudande .offers-list) .price-buy-right { margin-left: auto; margin-right: 0; }
