/* /wp-content/plugins/woo-product-bundle/assets/css/frontend.css */
.woosb-wrap {
    display: block;
    width: 100%;
    clear: both;
}

.woosb-wrap .woosb-text, .woosb-wrap .woosb-products, .woosb-bundles .woosb-text, .woosb-bundles .woosb-products {
    margin: 0 0 15px 0;
}

.woosb-wrap .woosb-text, .woosb-bundles .woosb-text {
    white-space: pre-line;
}

.woosb-wrap .woosb-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.woosb-wrap .woosb-summary .woosb-total {
    flex-grow: 1;
}

.woosb-products {
    border-width: 1px 0 0 0;
    border-style: dotted;
    border-color: #e5e5e5;
}

.woosb-products .woosb-item-text {
    padding: 10px 0;
    margin: 0;
    border-bottom: 1px dotted #e5e5e5;
}

.woosb-item-text-type-h1 > h1, .woosb-item-text-type-h2 > h2, .woosb-item-text-type-h3 > h3, .woosb-item-text-type-h4 > h4, .woosb-item-text-type-h5 > h5, .woosb-item-text-type-h6 > h6, .woosb-item-text-type-p > p {
    margin: 0 !important;
}

.woosb-products .woosb-product {
    display: flex;
    align-items: center;
    padding: 10px 0;
    margin: 0;
    border-bottom: 1px dotted #e5e5e5;
}

.woosb-products .woosb-product.woosb-product-hidden {
    display: none;
}

.woosb-products[data-exclude-unpurchasable="yes"] .woosb-product.woosb-product-unpurchasable {
    display: none;
}

.woosb-products .woosb-product > div {
    padding: 0 5px;
}

.woosb-products .woosb-product .woosb-thumb {
    width: 50px;
    flex: 0 0 50px;
}

.woosb-products .woosb-product .woosb-thumb img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
}

.woosb-products .woosb-product .woosb-quantity {
    width: 80px;
    flex: 0 0 80px;
}

.woosb-products .woosb-product .woosb-quantity.woosb-quantity-plus-minus {
    width: 130px;
    flex: 0 0 130px;
}

.woosb-products .woosb-product .woosb-quantity label {
    display: none;
}

.woosb-products .woosb-product .woosb-quantity input {
    width: 100%;
    min-width: 40px;
    text-align: center;
}

.woosb-products .woosb-product .woosb-price {
    width: 100px;
    flex: 0 0 100px;
    text-align: end;
}

.woosb-products .woosb-product .woosb-price * {
    font-size: inherit !important;
}

.woosb-products .woosb-product .woosb-price del {
    opacity: .5;
    text-decoration: line-through;
}

.woosb-products .woosb-product .woosb-price del span {
    text-decoration: line-through;
}

.woosb-products .woosb-product .woosb-price ins {
    font-weight: normal;
}

.woosb-products .woosb-product .woosb-price .amount {
    display: inline-block;
}

.woosb-products .woosb-product .woosb-title {
    flex-grow: 1;
    text-align: start;
}

.woosb-products .woosb-product .woosb-title .woosb-name {
    display: block;
    overflow: hidden;
}

.woosb-products .woosb-product .woosb-title .woosb-name a {
    text-decoration: none;
    box-shadow: none;
}

.woosb-products .woosb-product .woosb-title .woosb-price {
    width: auto;
    flex: 0 0 auto;
    text-align: inherit;
}

.woosb-products .woosb-product .woosb-title .woovr-variations-select .woovr-variation-image, .woosb-products .woosb-product .woosb-title .woovr-variations-select .woovr-variation-price {
    display: none !important;
}

.woosb-products .woosb-product .variations_form {
    margin: 0;
    padding: 0;
}

.woosb-products .woosb-product .woosb-title .stock {
    font-size: 14px;
    margin: 0;
    padding: 0;
}

.woosb-products .woosb-product .woosb-title .stock.in-stock {
    color: green;
}

.woosb-products .woosb-product .woosb-title .stock.available-on-backorder {
    color: orange;
}

.woosb-products .woosb-product .woosb-title .stock.out-of-stock {
    color: red;
}

.woosb-products .woosb-product .woosb-description, .woosb-products .woosb-product .woosb-variation-description {
    font-size: 14px;
}

.woosb-products .woosb-product .variations_form .variations {
    display: inline-block;
    margin: 0 -3px;
    padding: 0;
}

.woosb-products .woosb-product .variations_form .variations .variation {
    display: inline-block;
    border-width: 1px;
    border-style: solid;
    border-color: #e5e5e5;
    padding: 5px 10px;
    margin: 5px 3px 0 3px;
    max-width: 100%;
    border-radius: 2px;
    float: none;
    vertical-align: top;
}

.woosb-products .woosb-product .variations_form .variations .variation > div {
    display: block;
}

.woosb-products .woosb-product .variations_form .variations .reset {
    display: inline-block;
}

.woosb-products .woosb-product .variations_form .variations .variation:last-child {
    margin-bottom: 0;
}

.woosb-products .woosb-product .variations_form .variations .variation .label {
    font-size: 12px;
    line-height: 1;
}

.woosb-products .woosb-product .variations_form .variations .variation .value {
    line-height: 1;
}

.woosb-products .woosb-product .variations_form .variations .variation .value select {
    width: 100%;
    height: auto;
    line-height: 1;
    padding: 0 16px 0 0;
    margin: 0;
    background-color: transparent;
    border-radius: 0;
    border: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    outline: none;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAECAYAAACtBE5DAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGNEQzN0Y2NTY0NjcxMUU3QjU5NUI5N0U0NjlDMTIzNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGNEQzN0Y2NjY0NjcxMUU3QjU5NUI5N0U0NjlDMTIzNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkY0RDM3RjYzNjQ2NzExRTdCNTk1Qjk3RTQ2OUMxMjM2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkY0RDM3RjY0NjQ2NzExRTdCNTk1Qjk3RTQ2OUMxMjM2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+pzgqpQAAADdJREFUeNpirKioWMDAwBDPgAoWMQGJLCC+hiR4HYgzQRLfgDgUSoNwCIhmgaq6BtXJCNMNEGAAbM0MK7OUU3AAAAAASUVORK5CYII=');
    background-repeat: no-repeat;
    background-position: 100% 50%;
    background-size: auto;
}

.woosb-products .woosb-product .variations_form .variations a.reset_variations {
    margin: 0;
    font-size: 12px;
}

.woosb-item-child .product-price .amount, .woosb-item-child .product-price .tax_label,
.woosb-item-child .product-subtotal .amount, .woosb-item-child .product-subtotal .tax_label,
.woosb-item-child .product-total .amount, .woosb-item-child .product-total .tax_label {
    opacity: .3;
}

.woosb-alert {
    padding: 6px 10px 6px 14px;
    border-left: 4px solid #222;
    background-color: #eeeeee;
    font-size: 14px;
}

body.woocommerce-no-js .woosb-wrap + form.cart {
    display: none;
}

.woosb-disabled {
    opacity: .5 !important;
    pointer-events: none !important;
    cursor: not-allowed !important;
}


.woosb-quantity-input {
    display: flex;
    align-items: center;
}

.woosb-quantity-input .quantity {
    flex-grow: 1;
    height: auto;
    margin: 0;
}

.woosb-quantity-plus-minus .plus, .woosb-quantity-plus-minus .minus, .woosb-quantity-plus-minus .quantity-minus, .woosb-quantity-plus-minus .quantity-plus, .woosb-quantity-plus-minus .plus-btn, .woosb-quantity-plus-minus .minus-btn {
    display: none !important;
}

.woosb-quantity-input-plus, .woosb-quantity-input-minus {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    line-height: 38px;
    text-align: center;
    cursor: pointer;
    background-color: #fefefe;
    border: 1px solid #e5e5e5;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.woosb-quantity-input .woosb-qty {
    width: 100%;
    min-width: 40px;
    height: 40px;
    line-height: 38px;
    margin: 0;
    padding: 0 5px;
    box-shadow: none;
    border-width: 1px 0;
    border-style: solid;
    border-color: #e5e5e5;
    border-radius: 0;
    background-color: #fefefe;
    -moz-appearance: textfield;
}

.woosb-quantity-input .woosb-qty:focus {
    outline: none;
    outline-color: transparent;
}

.woosb-quantity-input-plus:hover, .woosb-quantity-input-minus:hover {
    background-color: #f0f0f0;
}

.woosb-quantity-input input::-webkit-outer-spin-button, .woosb-quantity-input input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Grid */

.woosb-products[class*="woosb-products-layout-grid"] {
    display: flex;
    flex-wrap: wrap;
    margin-left: -10px;
    margin-right: -10px;
    border: none;
}

.woosb-products[class*="woosb-products-layout-grid"] .woosb-item-text {
    width: 100%;
    margin: 10px;
    padding: 10px 0;
}

.woosb-products[class*="woosb-products-layout-grid"] .woosb-product {
    width: calc(50% - 20px);
    margin: 10px;
    padding: 10px;
    border: 1px solid #dddddd;
    font-size: 14px;
    text-align: center;
    position: relative;
    display: flex;
    flex-direction: column;
}

.woosb-products[class*="woosb-products-layout-grid"] .woosb-product:hover {
    border-color: green;
}

.woosb-products[class*="woosb-products-layout-grid"] .woosb-product .woosb-name {
    font-weight: 700;
}

.woosb-products.woosb-products-layout-grid-1 .woosb-product {
    width: calc(100% - 20px);
}

.woosb-products.woosb-products-layout-grid-3 .woosb-product {
    width: calc(100% / 3 - 20px);
}

.woosb-products.woosb-products-layout-grid-4 .woosb-product {
    width: calc(25% - 20px);
}

.woosb-products[class*="woosb-products-layout-grid"] .woosb-product > div {
    width: 100% !important;
    flex: 0 0 auto !important;
    text-align: center;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 5px;
}

.woosb-products[class*="woosb-products-layout-grid"] .woosb-product > div:last-child {
    margin-bottom: 0;
}

.woosb-products[class*="woosb-products-layout-grid"] .woosb-product select {
    text-align: center;
}

.woosb-products[class*="woosb-products-layout-grid"] .woosb-product .variations_form .variations .reset {
    display: none;
}

.woosb-cart-item-edit:before {
    content: '✎';
    display: inline-block;
    margin-right: 5px;
}

@media only screen and (max-width: 767px) {
    .woosb-products[class*="woosb-products-layout-grid"] .woosb-product {
        width: calc(50% - 20px);
    }
}

@media only screen and (max-width: 479px) {
    .woosb-products[class*="woosb-products-layout-grid"] .woosb-product {
        width: calc(100% - 20px);
    }
}

/* RTL */

body.rtl .woosb-alert {
    padding: 6px 14px 6px 10px;
    border-right: 4px solid #222;
    border-left: none;
}
/* /wp-content/themes/strumpsnodden/assets/css/base.css */
/* Strumpsnodden base. Every colour, size and face comes from theme.json presets. */
:root {
	--sn-navy: var(--wp--preset--color--navy);
	--sn-muted: var(--wp--preset--color--muted);
	--sn-green: var(--wp--preset--color--green);
	--sn-pink: var(--wp--preset--color--pink);
	--sn-cream: var(--wp--preset--color--cream);
	--sn-sand: var(--wp--preset--color--sand);
	--sn-line: var(--wp--preset--color--line);
	--sn-white: var(--wp--preset--color--white);
	--sn-heading: var(--wp--preset--font-family--heading);
	--sn-gutter: clamp(1rem, 3vw, 2.5rem);
	--sn-max: 1320px;
	--sn-radius: 20px;
	--sn-shadow: 0 2px 0 var(--sn-line);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; overflow-x: hidden; }
img, svg, video { max-width: 100%; height: auto; }
h1, h2, h3, h4, p, ul, ol, figure { margin: 0; }
:where(a) { text-underline-offset: 0.15em; }
:focus-visible { outline: 3px solid var(--sn-pink); outline-offset: 3px; border-radius: 4px; }
.screen-reader-text, .sn-visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.sn-skip-link:focus { position: fixed !important; left: 1rem; top: 1rem; z-index: 1000; width: auto; height: auto; clip: auto; padding: 0.75rem 1rem; background: var(--sn-white); color: var(--sn-navy); font-weight: 700; border-radius: 8px; }

/* Layout */
.sn-main { padding: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.sn-container { width: 100%; max-width: calc(var(--sn-max) + 2 * var(--sn-gutter)); margin-inline: auto; padding-inline: var(--sn-gutter); }
/* Section blocks draw their own container; the page around them adds no padding. */
.sn-main > .entry-content, .sn-main > .wp-block-post-content { padding: 0; }
.wp-block-post-content > .alignfull { max-width: none; }

/* Text */
.sn-eyebrow { font-weight: 700; font-size: var(--wp--preset--font-size--small); letter-spacing: 0.08em; text-transform: uppercase; color: var(--sn-green); }
.sn-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.4; }
.sn-muted { color: var(--sn-muted); }
.sn-center { text-align: center; }

/* Buttons: one component, three looks. 48px minimum target. */
.sn-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.6rem; min-height: 3.5rem; padding: 0 1.75rem; border-radius: 999px; border: 2px solid var(--sn-green); background: var(--sn-green); color: var(--sn-white); font: 700 1.0625rem/1.1 var(--wp--preset--font-family--body); text-decoration: none; white-space: nowrap; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease; }
.sn-btn:hover { color: var(--sn-white); transform: translateY(-1px); box-shadow: 0 6px 16px rgb(22 32 79 / 0.16); }
.sn-btn--outline { background: var(--sn-white); color: var(--sn-navy); border-color: var(--sn-navy); }
.sn-btn--outline:hover { color: var(--sn-navy); }
.sn-btn--pink { background: var(--sn-pink); border-color: var(--sn-pink); }
.sn-btn--pink-outline { background: var(--sn-white); color: var(--sn-pink); border-color: var(--sn-pink); }
.sn-btn--pink-outline:hover { color: var(--sn-pink); }
.sn-btn--small { min-height: 3rem; padding: 0 1.25rem; font-size: 0.9375rem; }
.sn-btn svg { flex: 0 0 auto; }
@media (prefers-reduced-motion: reduce) { .sn-btn { transition: none; } .sn-btn:hover { transform: none; } }

/* Check list */
.sn-checks { list-style: none; padding: 0; display: grid; gap: 0.5rem; }
.sn-checks li { display: flex; gap: 0.6rem; align-items: flex-start; line-height: 1.4; }
.sn-checks li > .sn-check { flex: 0 0 1.375rem; width: 1.375rem; height: 1.375rem; border-radius: 999px; background: var(--sn-green); display: inline-flex; align-items: center; justify-content: center; margin-top: 0.05em; }

/* Text in [hakparentes] that must be filled in before launch. */
.sn-todo { background: #FFF3C4; outline: 1px dashed #C9A100; border-radius: 4px; padding: 0 0.2em; }

/* Ordinary pages (villkor, om oss, WooCommerce shortcodes) */
.sn-prose { padding-block: var(--wp--preset--spacing--50); }
.sn-prose > * + * { margin-block-start: 1rem; }
.sn-prose h1 { font-size: clamp(2rem, 1.5rem + 2vw, 3rem); }
.sn-img-missing { display: flex; align-items: center; justify-content: center; background: repeating-linear-gradient(45deg, #efe8dc 0 12px, #f6f1e8 12px 24px); color: var(--sn-muted); font-weight: 600; font-size: 0.875rem; min-height: 120px; }
.sn-section-head { text-align: center; margin-bottom: 1.75rem; }
.sn-section-head p { margin-top: 0.375rem; font-size: 1.1875rem; color: var(--sn-muted); }
.sn-num { flex: 0 0 2.75rem; width: 2.75rem; height: 2.75rem; border-radius: 999px; background: #FCE1EA; color: var(--sn-navy); font: 700 1.5rem/1 var(--sn-heading); display: inline-flex; align-items: center; justify-content: center; }


/* === Undersidor (ägs av tråden undersidor) ===================================
 * Ordinary pages built from core blocks: sections, page hero, cards, steps,
 * chips, FAQ, call to action and long text. Every class is set on a core block
 * in the page content, so the pages need neither WPBakery nor Woodmart.
 *
 * Colours: only theme.json presets (via --sn-*). Tints are mixed from them with
 * color-mix(), so a palette change in theme.json carries through.
 * Rhythm: bands 96 / 64 / 48 px (desktop / tablet / mobile), as in the design
 * system (milstolpe 1, A5). Two bands in a row with the same tone share their
 * padding, so the page never shows a double gap.
 */
.sn-sec, .sn-phero {
	/* Köpgrön a touch darker so white button text passes WCAG AA (5.2:1; the
	   plain token gives 4.3:1, too low for 17 px text). */
	--snu-green: color-mix(in srgb, var(--sn-green) 85%, var(--sn-navy));
	--snu-green-hover: color-mix(in srgb, var(--sn-green) 72%, var(--sn-navy));
	--snu-pink-soft: color-mix(in srgb, var(--sn-pink) 14%, var(--sn-white));
	--snu-band: clamp(3rem, 1.75rem + 4.5vw, 6rem);
	--snu-radius: 20px;
	--snu-radius-lg: 28px;
	--snu-pad: clamp(1.25rem, 0.9rem + 1.2vw, 2rem);
}

/* ---- Bands ---------------------------------------------------------------- */
.sn-sec { padding-block: var(--snu-band); }
.sn-sec--cream { background: var(--sn-cream); }
.sn-sec--sand { background: var(--sn-sand); }
.sn-sec--white { background: var(--sn-white); }
.sn-sec--tight { padding-block: clamp(1.5rem, 1rem + 2vw, 2.5rem); }
.sn-sec--white + .sn-sec--white,
.sn-sec--cream + .sn-sec--cream,
.sn-sec--sand + .sn-sec--sand,
.sn-phero + .sn-sec--cream { padding-top: 0; }
.sn-sec.sn-sec--flush-top { padding-top: 0; }
/* Terms and other short-hero pages: the text starts closer to the title. */
.sn-phero--small + .sn-sec { padding-top: clamp(2.25rem, 1.5rem + 3vw, 4rem); }
.wp-block-post-content > .sn-sec, .wp-block-post-content > .sn-phero { margin-block: 0; width: 100vw; max-width: 100vw; margin-inline: calc(50% - 50vw) !important; }
.sn-sec__in { width: 100%; max-width: calc(1200px + 2 * var(--sn-gutter)); margin-inline: auto; padding-inline: var(--sn-gutter); }
.sn-sec__in--narrow { max-width: calc(820px + 2 * var(--sn-gutter)); }
.sn-sec__in > * + * { margin-block-start: 1.5rem; }

/* ---- Type ----------------------------------------------------------------- */
.sn-sec h1, .sn-sec h2, .sn-sec h3, .sn-phero h1 { color: var(--sn-navy); text-wrap: balance; }
.sn-sec h2 { font-size: var(--wp--preset--font-size--title); line-height: 1.1; letter-spacing: -0.01em; }
.sn-sec h3 { font-family: var(--wp--preset--font-family--body); font-weight: 800; font-size: 1.1875rem; line-height: 1.3; }
.sn-sec p, .sn-sec li { color: var(--sn-muted); line-height: 1.65; text-wrap: pretty; }
.sn-sec strong { color: var(--sn-navy); }
.sn-sec a:not(.wp-block-button__link), .sn-phero a:not(.wp-block-button__link) { color: var(--sn-navy); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
.sn-sec a:not(.wp-block-button__link):hover, .sn-phero a:not(.wp-block-button__link):hover { color: var(--snu-green); text-decoration-thickness: 2px; }
.sn-sec .sn-eyebrow, .sn-phero .sn-eyebrow { color: var(--snu-green); }

/* Centred section heading with intro */
.sn-head { text-align: center; max-width: 780px; margin-inline: auto; }
.sn-head > * + * { margin-block-start: 0.75rem; }
.sn-head p { font-size: var(--wp--preset--font-size--large); line-height: 1.55; }
.sn-sec__in > .sn-head + * { margin-block-start: clamp(1.75rem, 1.25rem + 1.5vw, 2.75rem); }

/* ---- Page hero ------------------------------------------------------------ */
.sn-phero { background: var(--sn-cream); padding-block: clamp(2.25rem, 1rem + 4vw, 5rem); }
.sn-phero .wp-block-columns { gap: clamp(1.5rem, 1rem + 3vw, 4rem); align-items: center; margin: 0; }
.sn-phero__copy > * + * { margin-block-start: 1.25rem; }
.sn-phero h1 { font-size: clamp(2.375rem, 1.6rem + 3vw, 4.25rem); line-height: 1.02; letter-spacing: -0.02em; }
.sn-phero__sub { font: 700 clamp(1.1875rem, 1rem + 0.8vw, 1.625rem)/1.25 var(--wp--preset--font-family--body); color: var(--sn-navy) !important; margin-block-start: 0.75rem !important; }
.sn-phero__lead { font-size: var(--wp--preset--font-size--large); line-height: 1.55; max-width: 38rem; color: var(--sn-navy); }
.sn-phero .wp-block-buttons { margin-block-start: 1.75rem !important; }
.sn-phero--center { text-align: center; }
.sn-phero--center .sn-phero__copy { max-width: 860px; margin-inline: auto; }
.sn-phero--center .sn-phero__lead { margin-inline: auto; }
.sn-phero--center .wp-block-buttons, .sn-phero--center .sn-chips { justify-content: center; }
.sn-phero--small { padding-block: clamp(2rem, 1rem + 3vw, 3.75rem); }
.sn-phero--small h1 { font-size: clamp(2.125rem, 1.5rem + 2.2vw, 3.25rem); }
.sn-phero--small .sn-phero__lead { font-size: 1.1875rem; }
.sn-logo-small img { width: auto; max-width: 220px; max-height: 64px; object-fit: contain; }
.sn-phero--center .sn-logo-small { display: flex; justify-content: center; }
.sn-media img, img.sn-media { width: 100%; height: auto; border-radius: var(--snu-radius-lg, 28px); display: block; }
.sn-media { margin: 0; }

/* ---- Pill list ------------------------------------------------------------ */
.sn-chips { list-style: none; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.sn-chips li { margin: 0 !important; background: var(--sn-white); border: 1px solid var(--sn-line); border-radius: 999px; padding: 0.4375rem 0.9375rem; font-size: 0.9375rem; font-weight: 600; color: var(--sn-navy) !important; line-height: 1.3; }
.sn-chips--grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; }
.sn-chips--grid li { position: relative; border-radius: 14px; padding: 0.875rem 1rem 0.875rem 2.5rem; font-size: 1rem; }
.sn-chips--grid li::before { content: ""; position: absolute; left: 1rem; top: 50%; width: 0.625rem; height: 0.625rem; margin-top: -0.3125rem; border-radius: 999px; background: var(--sn-pink); }

/* ---- Buttons: core button block drawn as the theme's .sn-btn -------------- */
.sn-sec .wp-block-buttons, .sn-phero .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.sn-sec .wp-block-button__link, .sn-phero .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: 0.625rem; min-height: 3.5rem; padding: 0 1.75rem; border-radius: 999px; border: 2px solid var(--snu-green); background: var(--snu-green); color: var(--sn-white); font: 700 1.0625rem/1.15 var(--wp--preset--font-family--body); text-decoration: none; transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, border-color .15s ease; }
/* Arrow on the primary button, as in the mockup. Drawn with a mask so screen readers say nothing. */
.sn-sec .wp-block-button:not(.is-style-outline) .wp-block-button__link::after, .sn-phero .wp-block-button:not(.is-style-outline) .wp-block-button__link::after { content: ""; flex: 0 0 auto; width: 1.125rem; height: 1.125rem; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .15s ease; }
.sn-sec .wp-block-button__link:hover, .sn-phero .wp-block-button__link:hover { color: var(--sn-white); background: var(--snu-green-hover); border-color: var(--snu-green-hover); transform: translateY(-1px); box-shadow: 0 6px 16px rgb(22 32 79 / 0.16); }
.sn-sec .wp-block-button__link:hover::after, .sn-phero .wp-block-button__link:hover::after { transform: translateX(2px); }
.sn-sec .is-style-outline .wp-block-button__link, .sn-phero .is-style-outline .wp-block-button__link { background: var(--sn-white); color: var(--sn-navy); border-color: var(--sn-navy); }
.sn-sec .is-style-outline .wp-block-button__link:hover, .sn-phero .is-style-outline .wp-block-button__link:hover { color: var(--sn-navy); background: var(--sn-white); border-color: var(--sn-navy); }
.sn-sec .wp-block-button__link:focus-visible, .sn-phero .wp-block-button__link:focus-visible { outline: 3px solid var(--sn-pink); outline-offset: 3px; border-radius: 999px; }
@media (prefers-reduced-motion: reduce) {
	.sn-sec .wp-block-button__link, .sn-phero .wp-block-button__link, .sn-sec .wp-block-button__link::after, .sn-phero .wp-block-button__link::after { transition: none; }
	.sn-sec .wp-block-button__link:hover, .sn-phero .wp-block-button__link:hover, .sn-sec .wp-block-button__link:hover::after, .sn-phero .wp-block-button__link:hover::after { transform: none; }
}

/* ---- Cards ---------------------------------------------------------------- */
.sn-cards.wp-block-columns { gap: clamp(1rem, 0.75rem + 1vw, 1.5rem); margin-inline: 0; margin-bottom: 0; align-items: stretch; }
.sn-cards.wp-block-columns + .sn-cards.wp-block-columns { margin-top: clamp(1rem, 0.75rem + 1vw, 1.5rem); }
.sn-cards > .wp-block-column { display: flex; flex-direction: column; }
.sn-card { --snu-tone: var(--sn-line); flex: 1 1 auto; background: var(--sn-white); border: 1px solid var(--sn-line); border-radius: var(--snu-radius); padding: var(--snu-pad); }
.sn-card > * + * { margin-block-start: 0.625rem; }
.sn-sec .sn-card h3 { font-family: var(--sn-heading); font-weight: 700; font-size: var(--wp--preset--font-size--subtitle); line-height: 1.15; letter-spacing: -0.005em; }
/* Short colour bar above the title of a toned card. */
.sn-card h3::before { content: ""; display: block; width: 2.25rem; height: 4px; border-radius: 4px; background: var(--snu-tone); margin-bottom: 1rem; }
.sn-card--img h3::before, .sn-card:not([class*="sn-card--"]) h3::before { display: none; }
.sn-card p, .sn-card li { font-size: 1rem; }
.sn-card ul { padding-left: 1.2rem; }
.sn-card--pink { --snu-tone: var(--sn-pink); background: color-mix(in srgb, var(--sn-pink) 5%, var(--sn-white)); border-color: color-mix(in srgb, var(--sn-pink) 18%, var(--sn-white)); }
.sn-card--green { --snu-tone: var(--sn-green); background: color-mix(in srgb, var(--sn-green) 5%, var(--sn-white)); border-color: color-mix(in srgb, var(--sn-green) 18%, var(--sn-white)); }
.sn-card--sand { --snu-tone: color-mix(in srgb, var(--sn-pink) 45%, var(--sn-line)); background: color-mix(in srgb, var(--sn-sand) 60%, var(--sn-white)); border-color: var(--sn-line); }
.sn-card--blue { --snu-tone: var(--sn-navy); background: color-mix(in srgb, var(--sn-navy) 4%, var(--sn-white)); border-color: color-mix(in srgb, var(--sn-navy) 13%, var(--sn-white)); }
.sn-sec--cream .sn-card--sand, .sn-sec--sand .sn-card--sand { background: var(--sn-white); }
.sn-card--img { padding: 0; overflow: hidden; }
.sn-card--img > :not(figure) { padding-inline: var(--snu-pad); }
.sn-card--img > figure + * { margin-block-start: var(--snu-pad); }
.sn-card--img > :last-child { padding-bottom: var(--snu-pad); }
.sn-card--img figure { margin: 0; }
.sn-card--img figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; border-radius: 0; }

/* Core columns force align-items: normal !important, so centre each column. */
.sn-phero .wp-block-column, .sn-split .wp-block-column { align-self: center; }

/* ---- Image next to text --------------------------------------------------- */
.sn-split.wp-block-columns { gap: clamp(1.5rem, 1rem + 3vw, 4.5rem); align-items: center; margin-inline: 0; margin-bottom: 0; }
.sn-split .wp-block-column > * + * { margin-block-start: 1rem; }
.sn-split .wp-block-column > h2 + p { margin-block-start: 0.75rem; }
.sn-split .wp-block-column > .sn-steps, .sn-split .wp-block-column > .sn-checklist, .sn-split .wp-block-column > .wp-block-buttons { margin-block-start: 1.5rem; }

/* ---- Numbered steps: an ordered list of cards ----------------------------- */
ol.sn-steps { list-style: none; counter-reset: sn-step; padding: 0 !important; display: grid; gap: 0.75rem; }
ol.sn-steps > li { counter-increment: sn-step; position: relative; background: var(--sn-white); border: 1px solid var(--sn-line); border-radius: 18px; padding: 1.125rem 1.375rem 1.125rem 4.75rem; margin: 0 !important; min-height: 4.75rem; font-size: 1rem; line-height: 1.6; }
ol.sn-steps > li::before { content: counter(sn-step); position: absolute; left: 1.25rem; top: 1.125rem; width: 2.5rem; height: 2.5rem; border-radius: 999px; background: var(--snu-pink-soft); color: var(--sn-navy); font: 700 1.3125rem/2.5rem var(--sn-heading); text-align: center; }
ol.sn-steps > li strong:first-child { display: block; color: var(--sn-navy); font-size: 1.0625rem; font-weight: 800; line-height: 1.3; margin-bottom: 0.25rem; }
ol.sn-steps--row { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 1rem; }
ol.sn-steps--row > li { padding: 1.375rem 1.375rem 1.5rem; }
ol.sn-steps--row > li::before { position: static; display: block; margin-bottom: 0.875rem; width: 3rem; height: 3rem; font-size: 1.5rem; line-height: 3rem; }
/* On a white band the step cards take the cream tone instead of a white box on white. */
.sn-sec--white ol.sn-steps > li { background: var(--sn-cream); border-color: transparent; }
.sn-sec--white .sn-panel ol.sn-steps > li, .sn-sec--white .sn-card ol.sn-steps > li { background: var(--sn-white); border-color: var(--sn-line); }

/* ---- Check list on core lists --------------------------------------------- */
ul.sn-checklist { list-style: none; padding: 0 !important; display: grid; gap: 0.625rem; }
ul.sn-checklist li { position: relative; padding-left: 2.125rem; margin: 0 !important; }
ul.sn-checklist li::before { content: ""; position: absolute; left: 0; top: 0.2em; width: 1.375rem; height: 1.375rem; border-radius: 999px; background: var(--snu-green, var(--sn-green)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 0.875rem no-repeat; }
ul.sn-checklist--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.5rem; }

/* ---- Questions and answers (core details block) --------------------------- */
.sn-faq { display: grid; gap: 0.625rem; }
.sn-faq > * { margin: 0 !important; }
.sn-faq .wp-block-details { background: var(--sn-white); border: 1px solid var(--sn-line); border-radius: 18px; padding: 0; transition: border-color .15s ease, box-shadow .15s ease; }
.sn-sec--white .sn-faq .wp-block-details { background: var(--sn-cream); border-color: transparent; }
.sn-faq .wp-block-details:hover { border-color: color-mix(in srgb, var(--sn-navy) 25%, var(--sn-line)); }
.sn-sec .sn-faq .wp-block-details[open] { background: var(--sn-white); border-color: var(--sn-line); box-shadow: 0 4px 18px rgb(22 32 79 / 0.07); }
.sn-faq .wp-block-details summary { cursor: pointer; list-style: none; position: relative; padding: 1.1875rem 4rem 1.1875rem 1.375rem; font-weight: 700; color: var(--sn-navy); font-size: 1.0625rem; line-height: 1.35; border-radius: 18px; }
.sn-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.sn-faq .wp-block-details summary::after { content: ""; position: absolute; right: 1.125rem; top: 50%; width: 2rem; height: 2rem; margin-top: -1rem; border-radius: 999px; background: var(--snu-pink-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316204F' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 0.875rem no-repeat; transition: transform .2s ease; }
.sn-faq .wp-block-details[open] summary::after { transform: rotate(45deg); }
.sn-faq .wp-block-details > :not(summary) { padding: 0 1.375rem; margin: 0 0 1.25rem; }
.sn-faq .wp-block-details > summary + * { margin-top: -0.25rem; }
.sn-faq .wp-block-details summary:focus-visible { outline: 3px solid var(--sn-pink); outline-offset: -3px; border-radius: 18px; }
@media (prefers-reduced-motion: reduce) { .sn-faq .wp-block-details, .sn-faq .wp-block-details summary::after { transition: none; } }

/* ---- Dark call to action -------------------------------------------------- */
.sn-cta { background: var(--sn-navy); border-radius: var(--snu-radius-lg, 28px); padding: clamp(2.25rem, 1.25rem + 3.5vw, 4.25rem) clamp(1.25rem, 1rem + 3vw, 3.75rem); text-align: center; }
.sn-cta > * + * { margin-block-start: 1rem; }
.sn-cta h2 { color: var(--sn-white) !important; max-width: 20em; margin-inline: auto; }
.sn-cta p { color: var(--sn-white) !important; max-width: 640px; margin-inline: auto; font-size: 1.125rem; }
.sn-cta a:not(.wp-block-button__link) { color: var(--sn-white) !important; }
.sn-cta .wp-block-buttons { justify-content: center; margin-block-start: 1.75rem !important; }
.sn-sec .sn-cta .is-style-outline .wp-block-button__link, .sn-sec .sn-cta .is-style-outline .wp-block-button__link:hover { background: transparent; color: var(--sn-white); border-color: var(--sn-white); }
.sn-sec .sn-cta .wp-block-button__link:focus-visible { outline-color: var(--sn-white); }

/* ---- Soft panel ----------------------------------------------------------- */
.sn-panel { background: color-mix(in srgb, var(--sn-green) 5%, var(--sn-white)); border: 1px solid color-mix(in srgb, var(--sn-green) 14%, var(--sn-white)); border-radius: var(--snu-radius-lg, 28px); padding: clamp(1.5rem, 1rem + 2.5vw, 3.25rem); }
.sn-sec--cream .sn-panel, .sn-sec--sand .sn-panel { background: var(--sn-white); border-color: var(--sn-line); }
.sn-panel > * + * { margin-block-start: 1rem; }
.sn-panel > h2 + p { margin-block-start: 0.75rem; max-width: 46rem; }
.sn-panel > .sn-chips, .sn-panel > .sn-checklist, .sn-panel > .wp-block-buttons { margin-block-start: 1.5rem; }

/* ---- Long text: terms, policies, tips ------------------------------------- */
.sn-prose { padding-block: 0; max-width: 44rem; margin-inline: auto; }
.sn-sec .sn-prose > * + * { margin-block-start: 1.125rem; }
.sn-sec .sn-prose > :first-child { margin-block-start: 0 !important; }
.sn-sec .sn-prose h2 { font-size: clamp(1.5rem, 1.25rem + 1vw, 2rem); line-height: 1.15; margin-block-start: clamp(2.5rem, 2rem + 1.5vw, 3.25rem) !important; }
.sn-sec .sn-prose h2 + * { margin-block-start: 0.875rem; }
.sn-sec .sn-prose h3 { font-size: 1.1875rem; margin-block-start: 2rem !important; }
.sn-sec .sn-prose h3 + * { margin-block-start: 0.5rem; }
.sn-sec .sn-prose h4 { font: 800 1rem/1.4 var(--wp--preset--font-family--body); color: var(--sn-navy); margin-block-start: 1.5rem !important; }
.sn-prose p, .sn-prose li { font-size: 1.0625rem; line-height: 1.75; }
.sn-prose ul, .sn-prose ol { padding-left: 1.375rem; }
.sn-prose ul li::marker { color: var(--sn-pink); }
.sn-prose ol li::marker { color: var(--sn-navy); font-weight: 700; }
.sn-prose li + li { margin-top: 0.375rem; }
.sn-prose li > ul, .sn-prose li > ol { margin-top: 0.375rem; }
.sn-prose a { text-decoration: underline; overflow-wrap: anywhere; }
.sn-prose .wp-block-table, .sn-table { margin-inline: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--sn-line); border-radius: 14px; }
.sn-prose table, .sn-table table { width: 100%; border-collapse: collapse; font-size: 0.9375rem; }
.sn-prose th, .sn-prose td, .sn-table th, .sn-table td { border: 0; border-bottom: 1px solid var(--sn-line); padding: 0.75rem 1rem; text-align: left; vertical-align: top; color: var(--sn-muted); line-height: 1.5; }
.sn-prose tbody tr:last-child td, .sn-table tbody tr:last-child td { border-bottom: 0; }
.sn-prose thead th, .sn-table thead th { background: var(--sn-sand); color: var(--sn-navy); font-weight: 700; border-bottom: 1px solid var(--sn-line); }
.sn-prose .wp-block-table thead, .sn-table thead { border-bottom: 0; }
.sn-prose .wp-block-table figcaption { font-size: 0.875rem; color: var(--sn-muted); padding: 0.625rem 1rem; }
.sn-address { background: var(--sn-sand); border-radius: 18px; padding: 1.125rem 1.25rem; }
.sn-address p { margin: 0 !important; line-height: 1.55; }

/* ---- Contact -------------------------------------------------------------- */
.sn-contact-card { text-align: left; }
.sn-contact-card .sn-big { font: 700 1.375rem/1.3 var(--wp--preset--font-family--body); color: var(--sn-navy) !important; }

/* ---- Tablet and phone ----------------------------------------------------- */
@media (max-width: 1024px) {
	.sn-chips--grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 781px) {
	.sn-sec__in > * + * { margin-block-start: 1.25rem; }
	.sn-phero__copy > * + * { margin-block-start: 1rem; }
	.sn-phero .wp-block-buttons { margin-block-start: 1.5rem !important; }
	.sn-logo-small img { max-width: 168px; max-height: 52px; }
	.sn-chips li { font-size: 0.875rem; padding: 0.375rem 0.8125rem; }
	.sn-chips--grid li { font-size: 0.9375rem; padding: 0.75rem 1rem 0.75rem 2.375rem; }
	ul.sn-checklist--2 { grid-template-columns: 1fr; }
	.sn-sec .wp-block-buttons > .wp-block-button, .sn-phero .wp-block-buttons > .wp-block-button { width: 100%; }
	.sn-sec .wp-block-button__link, .sn-phero .wp-block-button__link { width: 100%; white-space: normal; text-align: center; }
	.sn-media img, img.sn-media { border-radius: var(--snu-radius, 20px); }
	ol.sn-steps > li { padding: 1rem 1.125rem 1.125rem 4rem; }
	ol.sn-steps > li::before { left: 1rem; top: 1rem; width: 2.25rem; height: 2.25rem; font-size: 1.1875rem; line-height: 2.25rem; }
	ol.sn-steps--row > li { padding: 1.25rem; }
	.sn-faq .wp-block-details summary { padding: 1.0625rem 3.5rem 1.0625rem 1.125rem; font-size: 1rem; }
	.sn-faq .wp-block-details summary::after { right: 0.875rem; width: 1.875rem; height: 1.875rem; margin-top: -0.9375rem; }
	.sn-faq .wp-block-details > :not(summary) { padding: 0 1.125rem; }
	.sn-cta { border-radius: var(--snu-radius, 20px); }
	.sn-cta p { font-size: 1.0625rem; }
	.sn-panel { border-radius: var(--snu-radius, 20px); }
	.sn-prose p, .sn-prose li { font-size: 1rem; line-height: 1.7; }
	.sn-prose th, .sn-prose td, .sn-table th, .sn-table td { padding: 0.625rem 0.75rem; }
}
@media (max-width: 480px) {
	.sn-chips--grid { grid-template-columns: 1fr; }
}

/* ---- Small portrait (core/image .sn-portrait) ----------------------------- */
.sn-portrait { margin: 0; }
.sn-portrait img, .sn-portrait.sn-media img { display: block; width: auto; max-width: min(220px, 100%); height: auto; border-radius: var(--snu-radius, 20px); }
@media (max-width: 781px) {
	.sn-portrait { display: flex; justify-content: center; }
	.sn-portrait img { margin-inline: auto; }
}

/* Steps in a row with only one sentence each (no <strong> title). */
ol.sn-steps--row > li:not(:has(> strong:first-child)) { color: var(--sn-navy); font-weight: 600; line-height: 1.5; }

/* ---- Fix for Sales Platform: ghost button kept white text on a light ground. */
.snsp-wrap .snsp-button-row .snsp-button.snsp-button-ghost { color: var(--snsp-primary, var(--sn-navy)) !important; }

/* ---- Short pages: the footer sits at the bottom of the window ------------- */
.wp-site-blocks:has(.sn-phero) { display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh; }
.wp-site-blocks:has(.sn-phero) > main { flex: 1 0 auto; }

/* ---- Cards whose images are small or cut out: shown whole ----------------- */
.sn-cards--contain .sn-card--img > figure { display: flex; align-items: center; justify-content: center; background: var(--sn-white); padding: 1rem 1rem 0.5rem; border-bottom: 1px solid color-mix(in srgb, var(--sn-line) 70%, transparent); }
.sn-cards--contain .sn-card--img > figure img { width: auto; max-width: 100%; height: auto; max-height: 13.5rem; aspect-ratio: auto; object-fit: contain; }

/* Rows of four cards (or sn-cards--2) go two by two on tablets. */
@media (min-width: 782px) and (max-width: 1100px) {
	.wp-block-columns.sn-cards--2, .wp-block-columns.sn-cards:has(> .wp-block-column:nth-child(4)) { flex-wrap: wrap !important; }
	.sn-cards--2 > .wp-block-column, .sn-cards:has(> .wp-block-column:nth-child(4)) > .wp-block-column { flex: 0 0 calc(50% - 0.75rem) !important; }
}

/* ---- Video ---------------------------------------------------------------- */
.wp-block-video.sn-media { margin: 0; border-radius: var(--snu-radius-lg, 28px); overflow: hidden; background: var(--sn-navy); }
.wp-block-video.sn-media video { display: block; width: 100%; height: auto; }

/* ---- Long text on a white sheet (prose(tone='cream')) --------------------- */
.sn-sec--cream .sn-prose, .sn-sec--sand .sn-prose { background: var(--sn-white); border: 1px solid var(--sn-line); border-radius: var(--snu-radius-lg, 28px); padding: clamp(1.5rem, 0.75rem + 3.5vw, 3.75rem); max-width: 50rem; }
.sn-phero--small + .sn-sec--cream, .sn-phero--small + .sn-sec--sand { padding-top: 0; }
.sn-prose .sn-panel { padding: clamp(1.125rem, 0.9rem + 1vw, 1.75rem); border-radius: var(--snu-radius, 20px); }
.sn-prose .sn-panel > * + * { margin-block-start: 0.75rem; }
.sn-prose .sn-address { padding: 1.125rem 1.375rem; }

/* ---- Long reference tables (water hardness) ------------------------------- */
.sn-prose .sn-hardness table { font-size: 0.9375rem; font-variant-numeric: tabular-nums; }
.sn-prose .sn-hardness th, .sn-prose .sn-hardness td { padding: 0.4375rem 0.875rem; border-bottom-color: color-mix(in srgb, var(--sn-line) 60%, transparent); }
.sn-prose .sn-hardness tbody tr:nth-child(even) td { background: color-mix(in srgb, var(--sn-cream) 70%, var(--sn-white)); }
.sn-prose .sn-hardness td:nth-child(odd) { color: var(--sn-navy); }
.sn-prose .sn-hardness th:nth-child(even), .sn-prose .sn-hardness td:nth-child(even) { text-align: right; width: 4.5rem; font-weight: 700; color: var(--sn-navy); }
.sn-prose .sn-hardness th:nth-child(3), .sn-prose .sn-hardness td:nth-child(3) { border-left: 1px solid var(--sn-line); }

@media (max-width: 781px) {
	/* Leads in the page hero: a calmer size on phones. */
	.sn-phero__lead, .sn-phero--small .sn-phero__lead { font-size: 1.0625rem; line-height: 1.6; }
	.sn-phero h1 { font-size: clamp(2.125rem, 1.5rem + 3vw, 2.625rem); }
	.sn-phero--small h1 { font-size: clamp(1.875rem, 1.4rem + 2.4vw, 2.375rem); }
	.sn-head p { font-size: 1.0625rem; }
	/* Steps in a row: number beside the text on phones, as in the column version. */
	ol.sn-steps--row > li { padding: 1rem 1.125rem 1.125rem 4rem; }
	ol.sn-steps--row > li::before { position: absolute; left: 1rem; top: 1rem; margin: 0; width: 2.25rem; height: 2.25rem; font-size: 1.1875rem; line-height: 2.25rem; }
	/* Cards with whole images: image on the left, text on the right. */
	.sn-cards--contain .sn-card--img { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); column-gap: 1rem; row-gap: 0.375rem; align-content: start; padding: 0.875rem; }
	.sn-cards--contain .sn-card--img > figure { grid-row: 1 / span 6; align-self: start; padding: 0.375rem; border: 1px solid var(--sn-line); border-radius: 14px; }
	.sn-cards--contain .sn-card--img > figure img { max-height: none; width: 100%; }
	.sn-cards--contain .sn-card--img > :not(figure) { grid-column: 2; padding: 0 !important; margin: 0 !important; }
	.sn-cards--contain .sn-card--img > h3 { align-self: center; margin-top: 0.25rem !important; }
	.sn-cards--contain .sn-card--img p { font-size: 0.9375rem; line-height: 1.55; }
	.sn-cards--contain.wp-block-columns { gap: 0.75rem; }
	.sn-prose .sn-hardness th, .sn-prose .sn-hardness td { padding: 0.375rem 0.5rem; font-size: 0.875rem; }
	.sn-prose .sn-hardness th:nth-child(even), .sn-prose .sn-hardness td:nth-child(even) { width: 1%; white-space: nowrap; padding-inline: 0.375rem 0.625rem; }
	.wp-block-video.sn-media { border-radius: var(--snu-radius, 20px); }
}
/* A page that ends on a coloured band keeps that colour down to the footer. */
.sn-main:has(.wp-block-post-content > .sn-sec--cream:last-child) { background: var(--sn-cream); }
.sn-main:has(.wp-block-post-content > .sn-sec--sand:last-child) { background: var(--sn-sand); }
@media (max-width: 781px) {
	/* On phones the page title and its lead read from the left, like the start page and the text below. */
	.sn-phero--center { text-align: left; }
	.sn-phero--center .wp-block-buttons, .sn-phero--center .sn-chips, .sn-phero--center .sn-logo-small { justify-content: flex-start; }
}

/* ---- Köpvillkor and Säljarvillkor ------------------------------------------ */
/* Sales Platform swaps these two pages' text for its own campaign-aware terms as
   plain HTML (h2, address, h3 + p), so the white sheet is drawn around it here. */
:is(.page-id-21057, .page-id-21055) .sn-main { background: var(--sn-cream); padding-block: clamp(2rem, 1rem + 3vw, 4rem) clamp(3rem, 2rem + 4vw, 6rem) !important; }
:is(.page-id-21057, .page-id-21055) .sn-main > .wp-block-post-content { box-sizing: border-box; width: calc(100% - 2 * var(--sn-gutter)); max-width: 50rem; margin-inline: auto; background: var(--sn-white); border: 1px solid var(--sn-line); border-radius: var(--snu-radius-lg, 28px); padding: clamp(1.5rem, 0.75rem + 3.5vw, 3.75rem) !important; }
:is(.page-id-21057, .page-id-21055) .wp-block-post-content > * { max-width: none !important; margin-inline: 0 !important; }
:is(.page-id-21057, .page-id-21055) .wp-block-post-content > * + * { margin-block-start: 1.125rem; }
:is(.page-id-21057, .page-id-21055) .wp-block-post-content > h2:first-child { margin: 0; color: var(--sn-navy); font-size: clamp(1.875rem, 1.4rem + 2.2vw, 3.25rem); line-height: 1.05; letter-spacing: -0.02em; text-wrap: balance; }
:is(.page-id-21057, .page-id-21055) .wp-block-post-content > h2:first-child + p { margin-block-start: 1.5rem; background: var(--sn-sand); border-radius: 18px; padding: 1.125rem 1.375rem; line-height: 1.55; }
:is(.page-id-21057, .page-id-21055) .wp-block-post-content h3 { color: var(--sn-navy); font-family: var(--wp--preset--font-family--body); font-weight: 800; font-size: 1.1875rem; line-height: 1.3; margin-block-start: 2rem; }
:is(.page-id-21057, .page-id-21055) .wp-block-post-content h3 + * { margin-block-start: 0.5rem; }
:is(.page-id-21057, .page-id-21055) .wp-block-post-content :is(p, li) { font-size: 1.0625rem; line-height: 1.75; }
:is(.page-id-21057, .page-id-21055) .wp-block-post-content > h2:first-child + p { font-size: 1rem; }
:is(.page-id-21057, .page-id-21055) .wp-block-post-content a { text-decoration: underline; overflow-wrap: anywhere; }

/* /wp-content/plugins/woo-swish-e-commerce/assets/stylesheets/swish.css */
.swish-logo img {
  max-width: 70px !important;
  z-index: 100001;
}

.bjorntech-logo img {
  max-width: 500px;
  z-index: 100001;
}

.swish-circle img {
  max-width: 70px !important;
  z-index: 100001;
}

.swish-centered {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  margin-bottom: 10px;
}

.swish-fixed {
  position: fixed;
}

.swish-top-left {
  top: 0;
  left: 10;
}

#swish-status {
  z-index: 100002;
}

.swish-close {
  color: #aaaaaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.swish-close:hover,
.swish-close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
}

/* The Modal (background) */
.swish-modal {
  position: fixed;
  /* Stay in place */
  z-index: 100000;
  /* Sit on top */
  padding-top: 100px;
  /* Location of the box */
  left: 0;
  top: 0;
  width: 100%;
  /* Full width */
  height: 100%;
  /* Full height */
  overflow: auto;
  /* Enable scroll if needed */
  background-color: rgb(0, 0, 0);
  /* Fallback color */
  background-color: rgba(0, 0, 0, 0.4);
  /* Black w/ opacity */
}

/* The Modal (background) */
.swish-modal-admin {
  display: none;
  /* Hidden by default */
  position: fixed;
  /* Stay in place */
  z-index: 100000;
  /* Sit on top */
  padding-top: 100px;
  /* Location of the box */
  left: 0;
  top: 0;
  width: 100%;
  /* Full width */
  height: 100%;
  /* Full height */
  overflow: auto;
  /* Enable scroll if needed */
  background-color: rgb(0, 0, 0);
  /* Fallback color */
  background-color: rgba(0, 0, 0, 0.4);
  /* Black w/ opacity */
}

/* Modal Content */
.swish-modal-content {
  background-color: #fefefe;
  margin: auto;
  padding: 20px;
  border: 1px solid #888;
  width: 80%;
}

/* .swish-loader {
  -webkit-animation: spin 2s linear infinite;
   Safari
  animation: spin 2s linear infinite;
} */

/* Safari */
/*@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
  }
}*/

/*@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}*/

#overlay {
  position: fixed;
  display: none;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 100002;
  cursor: pointer;
}

#swish-text {
  position: fixed;
  text-align: center;
  font-size: 25px;
  color: black;
}

.swishcontent {
  display: none;
}

label[for=payment_method_swish] {
  line-height: 32px;
}

.wc-swish-label-container > img {
  float: right !important;
}

.wc-swish-label-container > span {
  float: left !important;
}

.swish_container {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  height: 100%;
}

.swish-centered-internal {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.swish-circle-internal {
  transform: scale(2);
}

.swish-logo-internal {
  transform: scale(2);
  margin-top: max(50px, calc(1% + 3vw));
  margin-bottom: max(50px, calc(1% + 3vw));
}

.swish-button-internal {
  background: linear-gradient(180deg,#1dafec,#129bd4 98.72%);
  border-radius: 8px;
  display: inline-flex; /* Changed to inline-flex */
  width: auto; /* Added width: auto; */
  padding: 16px 28px;
  justify-content: center; /* Centered text horizontally */
  align-items: center; /* Centered text vertically */
  text-align: center;
  margin-top: max(50px, calc(1% + 3vw));
  transition: background-color 0.3s;
}

.swish-button-internal a {
  color: #fff;
  font-family: Museo Sans Rounded,sans-serif;
  font-weight: 600;
  font-size: 1.6rem;
  text-decoration: none;
}

.swish-button-internal:hover {
  background-color: #129bd4;
}

.swish-status-new {
  font-family: Museo Sans Rounded, sans-serif;
  font-weight: 600;
  font-size: 3.5rem;
  margin-bottom:max(80px, calc(1% + 6vw));
  line-height: 1.3;
}

/* /wp-content/plugins/mailin/css/mailin-front.css */
div.sib-sms-field {
    display: inline-block;
    position: relative;
    width: 100%;
}

.sib-sms-field .sib-country-block {
    position: absolute;
    right: auto;
    left: 0;
    top: 0;
    bottom: 0;
    padding: 1px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.sib-country-block .sib-toggle.sib-country-flg {
    z-index: 1;
    position: relative;
    width: 46px;
    height: 100%;
    padding: 0 0 0 8px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #dbdbdb;
    cursor: pointer;
}

.sib-country-block .sib-toggle .sib-cflags {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    height: 15px;
    width: 20px;
    background-repeat: no-repeat;
    background-color: #dbdbdb;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background-image: url('/wp-content/plugins/mailin/img/flags/fr.png');
}
.sib-country-block .sib-toggle .sib-icon-arrow {
    position: absolute;
    top: 50%;
    margin-top: -2px;
    right: 6px;
    width:  0;
    height: 0;
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
    border-top: 4px solid;
}
.sib-sms-field ul.sib-country-list {
    position: absolute;
    z-index: 2;
    list-style: none;
    text-align: left;
    padding: 0px;
    margin: 0px 0px 0px -1px;
    box-shadow: rgba(0, 0, 0, 0.2) 1px 1px 4px;
    background-color: white;
    border: 1px solid rgb(204, 204, 204);
    white-space: nowrap;
    max-height: 150px;
    overflow-y: scroll;
    overflow-x: hidden;
    top: 50px;
    width: 250px;
}
.sib-sms-field ul.sib-country-list li.sib-country-prefix {
    font-size: 14px;
    padding:1px 10px;
    cursor: pointer;
}
.sib-sms-field ul.sib-country-list li.sib-country-prefix:hover {
    background-color: #dbdbdb;
}
.sib-sms-field ul.sib-country-list li .sib-flag-box {
    width: 20px;
}

.sib-sms-field ul.sib-country-list li .sib-flag-box .sib-flag {
    height: 18px;
    width: 20px;
    background-image: url("/wp-content/plugins/mailin/img/flags/ad.png");
    vertical-align: middle;
    display: inline-block;
    background-repeat:no-repeat;
}
.sib-sms-field ul.sib-country-list li .sib-flag-box .sib-dial-code {
    margin-left: 20px;
}
.sib-sms-field .sib-sms {
    padding-right: 6px;
    padding-left: 52px;
    margin-left: 0;
    position: relative;
    z-index: 0;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-right: 0;
}
.sib-multi-lists.sib_error {
    color: #A94442;
}
