/* TinySprout theme styles. Tokens come from theme.json; the short aliases keep rules readable. */

:root {
	--mossa: var(--wp--preset--color--mossa);
	--skog: var(--wp--preset--color--skogsmossa);
	--salvia: var(--wp--preset--color--salvia);
	--salviablad: var(--wp--preset--color--salviablad);
	--lera: var(--wp--preset--color--lera);
	--ockra: var(--wp--preset--color--ockra);
	--text: var(--wp--preset--color--valnot);
	--muted: var(--wp--preset--color--drivved);
	--sten: var(--wp--preset--color--sten);
	--sand: var(--wp--preset--color--sand);
	--havre: var(--wp--preset--color--havre);
	--linne: var(--wp--preset--color--linne);
	--bomull: var(--wp--preset--color--bomull);
	--ronn: var(--wp--preset--color--ronnbar);
	--display: var(--wp--preset--font-family--fraunces);
	--body: var(--wp--preset--font-family--figtree);
	--shadow: 0 16px 40px rgba(59, 47, 38, 0.14);
	--i-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
	--i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");
	--i-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5.5' width='17' height='13' rx='2.5'/%3E%3Cpath d='m4.5 7 7.5 6 7.5-6'/%3E%3C/svg%3E");
	--i-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233B2F26' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}

/* ---------- Base ---------- */

html { scroll-padding-top: 100px; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
body.ts-lock { overflow: hidden; }
img { max-width: 100%; height: auto; }
.ts-icon { display: block; flex-shrink: 0; }
:where(a, button, summary, input, select, textarea, [tabindex]):focus-visible { outline: 2px solid var(--mossa); outline-offset: 2px; border-radius: 4px; }
:where(.ts-iconbtn, .ts-wish, .ts-btn, .ts-select, .ts-chip):focus-visible { border-radius: 12px; }
summary { cursor: pointer; list-style: none; }
summary::-webkit-details-marker { display: none; }
[hidden] { display: none !important; }

.ts-wrap { width: min(1600px, 100% - 2 * var(--wp--style--root--padding-left, 20px)); margin-inline: auto; }
.ts-part-header { display: contents; }

.ts-skip { position: absolute; left: 12px; top: -100px; z-index: 200; padding: 12px 18px; border-radius: 12px; background: var(--text); color: var(--linne); font-weight: 600; text-decoration: none; }
.ts-skip:focus { top: 12px; color: var(--linne); }

.ts-eyebrow, p.is-style-eyebrow { margin: 0; font-family: var(--body); font-size: 13px; line-height: 18px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
p.is-style-lead, .is-style-lead { font-size: 20px; line-height: 31px; color: var(--muted); }

.ts-link, .ts-arrowlink a { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; line-height: 22px; font-weight: 600; color: var(--text); text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.ts-link:hover, .ts-arrowlink a:hover { color: var(--mossa); }
.ts-link--moss { color: var(--mossa); font-size: 16px; }
.ts-arrowlink a::after { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--i-arrow) center / contain no-repeat; mask: var(--i-arrow) center / contain no-repeat; }

.ts-btn, .single_add_to_cart_button, .gform_wrapper .gform_button, .woocommerce .button {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 28px; box-sizing: border-box;
	border: 0; border-radius: 12px; background: var(--mossa); color: var(--linne);
	font-family: var(--body); font-size: 16px; line-height: 20px; font-weight: 600; text-decoration: none; cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.ts-btn:hover, .single_add_to_cart_button:hover, .gform_wrapper .gform_button:hover, .woocommerce .button:hover { background: var(--skog); color: var(--linne); }
.ts-btn--sm { min-height: 44px; padding: 0 18px; font-size: 15px; }
.ts-btn--dark { background: var(--text); }
.ts-btn--dark:hover { background: #000; }
.ts-btn--ghost { background: transparent; color: var(--text); box-shadow: inset 0 0 0 1.5px var(--text); }
.ts-btn--ghost:hover { background: var(--text); color: var(--linne); }
.ts-btn--linne { background: var(--linne); color: var(--skog); }
.ts-btn--linne:hover { background: var(--bomull); color: var(--skog); }

.wp-block-button.is-style-ghost .wp-block-button__link { background: transparent; color: var(--text); box-shadow: inset 0 0 0 1.5px var(--text); }
.wp-block-button.is-style-ghost .wp-block-button__link:hover { background: var(--text); color: var(--linne); }
.wp-block-button.is-style-light .wp-block-button__link { background: var(--bomull); color: var(--text); }
.wp-block-button.is-style-light .wp-block-button__link:hover { background: var(--linne); color: var(--text); }
.wp-block-button.is-style-dark .wp-block-button__link { background: var(--skog); }
.wp-block-button.is-style-dark .wp-block-button__link:hover { background: var(--text); }
.wp-block-button__link { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }

.ts-badge { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: 8px; background: var(--bomull); color: var(--text); font-size: 13px; line-height: 16px; font-weight: 600; white-space: nowrap; }
.ts-badge.is-rea { background: var(--ronn); color: var(--bomull); }

.ts-iconbtn { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 12px; background: none; color: var(--text); cursor: pointer; text-decoration: none; }
.ts-iconbtn:hover { color: var(--mossa); }

.ts-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; font-size: 14px; line-height: 20px; font-weight: 500; color: var(--text); }
.ts-crumbs a { color: var(--muted); font-weight: 400; text-decoration: none; }
.ts-crumbs a:hover { color: var(--text); text-decoration: underline; }
.ts-crumbs__sep { color: var(--sten); font-weight: 400; }

/* Photos get the same faint warm tone as in the design. */
.ts-photo, .ts-tile .wp-block-image, .ts-mega__feature, .ts-promo { position: relative; }
.ts-photo::after, .ts-tile .wp-block-image::after, .ts-mega__img-wrap::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: var(--havre); mix-blend-mode: multiply; opacity: 0.35; pointer-events: none; }

.screen-reader-text:focus { clip: auto !important; clip-path: none; height: auto; width: auto; margin: 0; overflow: visible; z-index: 300; padding: 10px; background: var(--bomull); }

/* ---------- Header ---------- */

.ts-header { position: sticky; top: -40px; z-index: 50; font-family: var(--body); }
.ts-usp { background: var(--skog); color: var(--linne); font-size: 13px; line-height: 18px; font-weight: 500; }
.ts-usp__inner { display: flex; align-items: center; justify-content: space-between; height: 40px; }
.ts-usp__list { display: flex; gap: 32px; margin: 0; padding: 0; list-style: none; }
.ts-usp__list li { display: flex; align-items: center; gap: 8px; }
.ts-usp__list .ts-icon { color: var(--salviablad); }
.ts-usp__mobile { display: none; margin: 0; }
.ts-usp__links { display: flex; gap: 24px; margin: 0; padding: 0; list-style: none; }
.ts-usp__links a { color: var(--linne); text-decoration: none; }
.ts-usp__links a:hover { text-decoration: underline; color: var(--linne); }

.ts-bar { position: relative; z-index: 2; background: var(--linne); border-bottom: 1px solid var(--sand); }
.ts-bar__inner { display: flex; align-items: center; height: 84px; }
.ts-bar__mobile-start { display: none; }

.ts-logo { display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; color: var(--text); text-decoration: none; }
.ts-logo:hover { color: var(--text); }
.ts-logo__word { font-family: var(--display); font-weight: 500; letter-spacing: -0.02em; line-height: 1.1; white-space: nowrap; }
.ts-logo--md .ts-sprout { width: 32px; height: 32px; }
.ts-logo--md .ts-logo__word { font-size: 29px; }
.ts-logo--sm .ts-sprout { width: 26px; height: 26px; }
.ts-logo--sm .ts-logo__word { font-size: 24px; }
.ts-logo--light, .ts-logo--light:hover { color: var(--linne); }

.ts-nav { margin-left: 52px; }
.ts-nav__list { display: flex; align-items: center; gap: 30px; margin: 0; padding: 0; list-style: none; }
.ts-nav__link { display: inline-flex; align-items: center; gap: 4px; height: 84px; padding: 0; border: 0; background: none; font-family: var(--body); font-size: 16px; line-height: 22px; font-weight: 500; color: var(--text); text-decoration: none; cursor: pointer; }
.ts-nav__link:hover { color: var(--mossa); }
.ts-nav__link .ts-icon { transition: transform 0.2s ease; }
.ts-nav__link[aria-expanded="true"], .ts-nav__link[aria-current="page"], .is-current > .ts-nav__link { color: var(--mossa); font-weight: 600; box-shadow: inset 0 -2px 0 var(--mossa); }
.ts-nav__link[aria-expanded="true"] .ts-icon { transform: rotate(180deg); }
.ts-nav__link.is-rea, .ts-drawer__row.is-rea { color: var(--ronn); }
.ts-nav__link:focus-visible { outline-offset: -2px; }

.ts-mega { position: absolute; left: 0; right: 0; top: 100%; z-index: 3; padding-top: 40px; background: var(--bomull); border-bottom: 1px solid var(--sand); box-shadow: 0 24px 48px rgba(59, 47, 38, 0.12); }
.ts-mega__body { display: flex; justify-content: space-between; align-items: flex-start; gap: 40px; }
.ts-mega__groups { display: flex; gap: 40px; }
.ts-mega__group { display: flex; flex-direction: column; gap: 16px; width: 228px; }
.ts-mega__heading { font-size: 14px; line-height: 20px; font-weight: 700; letter-spacing: 0.02em; color: var(--skog); text-decoration: none; }
a.ts-mega__heading:hover { text-decoration: underline; color: var(--skog); }
.ts-mega__group ul { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; }
.ts-mega__group li a { font-size: 16px; line-height: 22px; color: var(--text); text-decoration: none; }
.ts-mega__group li a:hover { color: var(--mossa); text-decoration: underline; text-underline-offset: 4px; }
.ts-mega__feature { display: flex; flex-direction: column; gap: 6px; width: 384px; flex-shrink: 0; color: var(--text); text-decoration: none; }
img.ts-mega__img { width: 384px; height: 240px; margin-bottom: 8px; border-radius: 20px; object-fit: cover; }
.ts-mega__feature-title { font-family: var(--display); font-size: 22px; line-height: 28px; font-weight: 500; letter-spacing: -0.015em; }
.ts-mega__feature:hover .ts-link { color: var(--mossa); }
.ts-mega__foot { display: flex; align-items: center; justify-content: space-between; height: 68px; margin-top: 36px; border-top: 1px solid var(--sand); }
.ts-mega__foot p { margin: 0; font-size: 14px; line-height: 20px; color: var(--muted); }
.ts-mega-backdrop { position: fixed; inset: 0; z-index: 1; background: rgba(59, 47, 38, 0.45); }

.ts-actions { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.ts-search { display: flex; align-items: center; gap: 10px; height: 44px; padding: 0 16px; border: 1px solid var(--sten); border-radius: 12px; background: var(--bomull); color: var(--muted); }
.ts-search:focus-within { border-color: var(--mossa); box-shadow: 0 0 0 3px var(--salviablad); }
.ts-search input[type="search"] { flex: 1; min-width: 0; height: 100%; padding: 0; border: 0; outline: 0; background: none; font: inherit; font-size: 15px; color: var(--text); }
.ts-search input::placeholder { color: var(--muted); opacity: 1; }
.ts-search input::-webkit-search-cancel-button { -webkit-appearance: none; }
.ts-search--bar { width: clamp(232px, 20vw, 340px); margin-right: 12px; }

.ts-cart .wc-block-mini-cart { display: flex; }
.ts-cart .wc-block-mini-cart__button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; color: var(--text); }
.ts-cart .wc-block-mini-cart__button:hover { opacity: 1; color: var(--mossa); }
.ts-cart .wc-block-mini-cart__quantity-badge { position: relative; display: flex; }
.ts-cart .wc-block-mini-cart__icon { width: 24px; height: 24px; margin: 0; }
.ts-cart .wc-block-mini-cart__badge { top: -8px; right: -10px; left: auto; min-width: 18px; height: 18px; padding: 0 5px; border: 0; border-radius: 999px; background: var(--mossa) !important; color: var(--linne) !important; font-size: 11px; line-height: 18px; font-weight: 700; transform: none; }

/* Drawer (mobile menu) */
.ts-drawer { position: fixed; inset: 0; z-index: 100; overflow-y: auto; overscroll-behavior: contain; background: var(--linne); font-family: var(--body); }
.ts-drawer__head { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; height: 64px; padding: 0 10px 0 20px; background: var(--linne); border-bottom: 1px solid var(--sand); }
.ts-drawer__close { display: inline-flex; align-items: center; gap: 6px; height: 44px; padding: 0 10px; border: 0; background: none; font: inherit; font-size: 15px; font-weight: 500; color: var(--text); cursor: pointer; }
.ts-drawer__search { padding: 14px 20px; }
.ts-drawer__search .ts-search { height: 48px; }
.ts-drawer__search input[type="search"] { font-size: 16px; }
.ts-drawer__list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--sand); }
.ts-drawer__list--gap { margin-top: 20px; }
.ts-drawer__row { display: flex; align-items: center; justify-content: space-between; gap: 14px; height: 52px; padding: 0 20px; border-bottom: 1px solid var(--sand); font-size: 17px; line-height: 24px; font-weight: 500; color: var(--text); text-decoration: none; }
.ts-drawer__row span:first-child { display: inline-flex; align-items: center; gap: 14px; }
.ts-drawer__row--small { font-size: 16px; }
.ts-drawer__row.is-rea { font-weight: 600; }
.ts-drawer__group[open] > .ts-drawer__row { background: var(--havre); font-weight: 600; }
.ts-drawer__toggle .is-minus, .ts-drawer__group[open] .ts-drawer__toggle .is-plus { display: none; }
.ts-drawer__group[open] .ts-drawer__toggle .is-minus { display: block; }
.ts-drawer__sub { display: flex; flex-direction: column; gap: 20px; padding: 8px 20px 24px; background: var(--havre); border-bottom: 1px solid var(--sand); }
.ts-drawer__subgroup { display: flex; flex-direction: column; gap: 4px; }
.ts-drawer__subgroup a.ts-eyebrow { text-decoration: none; }
.ts-drawer__sub ul { margin: 0; padding: 0; list-style: none; }
.ts-drawer__sub li a { display: flex; align-items: center; min-height: 40px; font-size: 16px; line-height: 22px; color: var(--text); text-decoration: none; }
.ts-drawer__promises { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 24px 20px; list-style: none; }
.ts-drawer__promises li { display: flex; align-items: center; gap: 10px; font-size: 14px; line-height: 20px; font-weight: 500; color: var(--muted); }
.ts-drawer__promises .ts-icon { color: var(--skog); }

/* ---------- Footer ---------- */

.ts-footer { padding: 80px 0 40px; background: var(--skog); color: var(--salviablad); font-family: var(--body); }
.ts-footer a { color: var(--salviablad); text-decoration: none; }
.ts-footer a:hover { color: var(--linne); text-decoration: underline; }
.ts-footer__top { display: flex; justify-content: space-between; gap: 40px; }
.ts-news { width: 440px; }
.ts-news__title { margin: 0 0 10px; font-size: 30px; line-height: 36px; color: var(--linne); }
.ts-news__text { margin: 0; font-size: 16px; line-height: 25px; }
.ts-news__form { display: flex; gap: 10px; margin-top: 20px; }
.ts-news__form input[type="email"] { flex: 1; min-width: 0; height: 52px; padding: 0 16px; border: 0; border-radius: 12px; background: var(--bomull); font: inherit; font-size: 16px; color: var(--text); }
.ts-news__form input::placeholder { color: var(--muted); opacity: 1; }
.ts-news__form input:focus-visible { outline: 2px solid var(--salviablad); outline-offset: 2px; }
.ts-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ts-news__status { margin: 12px 0 0; font-size: 15px; line-height: 22px; font-weight: 600; color: var(--linne); }
.ts-news__status:empty { display: none; }
.ts-news__consent { margin: 20px 0 0; font-size: 13px; line-height: 18px; }
.ts-news__consent a { text-decoration: underline; text-underline-offset: 3px; }
.ts-footer__cols { display: flex; gap: 40px; }
.ts-footer__col { width: 200px; }
.ts-footer__heading { margin: 0 0 14px; font-family: var(--body); font-size: 14px; line-height: 20px; font-weight: 700; letter-spacing: 0.02em; color: var(--linne); }
.ts-footer__links { display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 0; list-style: none; font-size: 15px; line-height: 22px; }
.ts-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 56px; padding-top: 56px; border-top: 1px solid var(--mossa); font-size: 13px; line-height: 18px; }
.ts-footer__brand { display: flex; align-items: center; gap: 24px; }
.ts-footer__brand p { margin: 0; font-size: 15px; line-height: 22px; }
.ts-footer__brand .ts-sprout { width: 28px; height: 28px; }
.ts-footer__brand .ts-logo__word { font-size: 26px; }
.ts-footer__pay { display: flex; align-items: center; gap: 14px; }
.ts-footer__pay p { margin: 0; font-weight: 600; color: var(--linne); }
.ts-footer__pay ul { display: flex; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ts-footer__pay li { display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border-radius: 8px; background: var(--bomull); color: var(--text); font-size: 13px; line-height: 16px; font-weight: 700; }
.ts-footer__legal { margin: 0; }

/* ---------- Main areas ---------- */

.ts-main { margin-block: 0; }
.ts-main--page { padding-top: 56px; padding-bottom: 120px; }
.ts-main--page > .wp-block-post-title, .ts-page-title { margin-bottom: 24px; }
.ts-main--wide { padding-bottom: 120px; }
.ts-main--front { padding-bottom: 120px; }
.ts-section { margin-block-start: 112px !important; }
.ts-section--sm { margin-block-start: 96px !important; }
.ts-pagehead { padding-top: 28px; }
.ts-pagehead__row { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-top: 20px !important; }
.ts-pagehead__row > * { margin: 0; }
.ts-pagehead__row h1 { margin: 16px 0 0; }
.ts-pagehead__row .is-style-lead, .ts-pagehead__row > p { width: 460px; max-width: 100%; font-size: 18px; line-height: 29px; color: var(--muted); }

/* ---------- Product listing ---------- */

.ts-shophead { padding-top: 28px; }
.ts-shophead__title { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; padding-top: 20px; }
.ts-shophead__title h1 { margin: 0; font-size: 60px; line-height: 66px; }
.ts-shophead__title p { width: 440px; margin: 0; font-size: 17px; line-height: 27px; color: var(--muted); }
.ts-chips ul { display: flex; gap: 10px; margin: 0; padding: 32px 0 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.ts-chips ul::-webkit-scrollbar { display: none; }
.ts-chip { display: inline-flex; align-items: center; height: 40px; padding: 0 18px; border: 1px solid var(--sand); border-radius: 999px; background: var(--bomull); font-size: 15px; line-height: 20px; font-weight: 500; color: var(--text); text-decoration: none; white-space: nowrap; }
.ts-chip:hover { border-color: var(--sten); color: var(--text); }
.ts-chip.is-on { border-color: var(--text); background: var(--text); color: var(--linne); font-weight: 600; }
.ts-chip:focus-visible { border-radius: 999px; }

.ts-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 32px; padding: 20px 0; border-block: 1px solid var(--sand); }
.ts-toolbar__filters { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.ts-toolbar__end { display: flex; align-items: center; gap: 20px; }
.ts-toolbar__count { margin: 0; font-size: 15px; line-height: 20px; color: var(--muted); white-space: nowrap; }
.ts-filter { position: relative; }
.ts-filter--all > summary { gap: 10px; }
.ts-select { display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; height: 44px; padding: 0 14px 0 16px; border: 1px solid var(--sten); border-radius: 12px; background: var(--bomull); font-size: 15px; line-height: 20px; font-weight: 500; color: var(--text); white-space: nowrap; }
.ts-select:hover { border-color: var(--text); }
.ts-select.is-on { border-color: var(--text); box-shadow: inset 0 0 0 1px var(--text); font-weight: 600; }
.ts-filter[open] > .ts-select .ts-icon { transform: rotate(180deg); }
.ts-filter__panel { position: absolute; top: calc(100% + 8px); left: 0; z-index: 20; min-width: 260px; padding: 10px; border: 1px solid var(--sand); border-radius: 16px; background: var(--bomull); box-shadow: var(--shadow); }
.ts-filter__panel--all { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 24px; width: min(760px, 90vw); padding: 24px; }
.ts-filter__panel--all > .ts-link { grid-column: 1 / -1; justify-self: start; }
.ts-filter__heading { margin: 0 0 6px 8px; font-size: 14px; line-height: 20px; font-weight: 700; letter-spacing: 0.02em; color: var(--skog); }
.ts-filter__opts { margin: 0; padding: 0; list-style: none; }
.ts-filter__opts a { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 0 8px; border-radius: 8px; font-size: 15px; line-height: 20px; color: var(--text); text-decoration: none; }
.ts-filter__opts a:hover { background: var(--havre); }
.ts-filter__opts a[aria-current] { font-weight: 600; }
.ts-filter__opts a[aria-current] .ts-icon { color: var(--mossa); }
.ts-filter__box { width: 18px; height: 18px; border: 1.5px solid var(--sten); border-radius: 5px; flex-shrink: 0; }
.ts-toggle { display: inline-flex; align-items: center; gap: 10px; margin-left: 12px; font-size: 15px; line-height: 20px; font-weight: 500; color: var(--text); text-decoration: none; }
.ts-toggle:hover { color: var(--text); }
.ts-toggle__track { display: flex; width: 40px; height: 24px; padding: 3px; border-radius: 999px; background: var(--sand); transition: background-color 0.15s ease; box-sizing: border-box; }
.ts-toggle__track span { width: 18px; height: 18px; border-radius: 999px; background: var(--bomull); transition: transform 0.15s ease; }
.ts-toggle[aria-checked="true"] .ts-toggle__track { background: var(--mossa); }
.ts-toggle[aria-checked="true"] .ts-toggle__track span { transform: translateX(16px); }
.ts-sort { position: relative; display: flex; align-items: center; gap: 6px; height: 44px; padding: 0 14px 0 16px; border: 1px solid var(--sten); border-radius: 12px; background: var(--bomull); font-size: 15px; line-height: 20px; font-weight: 500; }
.ts-toolbar .ts-sort label { margin: 0; }
.ts-sort:focus-within { border-color: var(--mossa); box-shadow: 0 0 0 3px var(--salviablad); }
.ts-toolbar .ts-sort select { height: 100%; min-height: 0; padding: 0 24px 0 0; border: 0; background: none; font: inherit; font-weight: 500; color: var(--text); cursor: pointer; -webkit-appearance: none; appearance: none; }
.ts-sort select:focus-visible { outline: none; }
.ts-sort .ts-icon { position: absolute; right: 14px; pointer-events: none; }

.ts-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 56px 24px; margin: 0; padding: 0; list-style: none; }
.ts-listing .ts-grid { padding-top: 40px; }
.ts-grid > li { min-width: 0; }
.ts-grid__promo { grid-column: span 2; }
.ts-promo { display: block; height: 100%; min-height: 470px; overflow: hidden; border-radius: 20px; color: var(--text); text-decoration: none; }
img.ts-promo__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; }
.ts-promo::after { content: ""; position: absolute; inset: 0; background: var(--havre); mix-blend-mode: multiply; opacity: 0.35; pointer-events: none; }
.ts-promo__card { position: absolute; left: 20px; bottom: 20px; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; width: 340px; max-width: calc(100% - 40px); padding: 24px 24px 26px; border-radius: 20px; background: var(--linne); box-sizing: border-box; }
.ts-promo__title { font-family: var(--display); font-size: 28px; line-height: 34px; letter-spacing: -0.015em; }
.ts-promo:hover .ts-link { color: var(--mossa); }

.ts-card { position: relative; display: flex; flex-direction: column; gap: 14px; }
.ts-card__media { position: relative; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 20px; background: var(--havre); }
img.ts-card__img { display: block; width: 100%; height: 100%; }
.is-contain > .ts-card__img, .is-contain > img { object-fit: contain; mix-blend-mode: multiply; }
.is-cover > .ts-card__img, .is-cover > img { object-fit: cover; }
.ts-card__media .ts-badge { position: absolute; top: 12px; left: 12px; }
.ts-wish { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 999px; background: var(--bomull); color: var(--text); cursor: pointer; }
.ts-wish:hover { color: var(--ronn); }
.ts-wish[aria-pressed="true"] { color: var(--ronn); }
.ts-wish[aria-pressed="true"] svg { fill: currentColor; }
.ts-card__media .ts-wish { position: absolute; top: 12px; right: 12px; z-index: 2; }
.ts-card__body { display: flex; flex-direction: column; gap: 4px; }
.ts-card__brand { margin: 0; font-size: 13px; line-height: 18px; color: var(--muted); }
.ts-card__title { margin: 0; font-family: var(--body); font-size: 16px; line-height: 22px; font-weight: 500; letter-spacing: 0; }
.ts-card__title a { color: var(--text); text-decoration: none; }
.ts-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.ts-card:hover .ts-card__title a { text-decoration: underline; text-underline-offset: 4px; }
.ts-card__title a:focus-visible { outline: none; }
.ts-card:has(.ts-card__title a:focus-visible) .ts-card__media { outline: 2px solid var(--mossa); outline-offset: 2px; }
.ts-card__price { padding-top: 4px; }
.ts-price { margin: 0; font-size: 16px; line-height: 22px; font-weight: 700; color: var(--text); }
.ts-price ins { color: var(--ronn); text-decoration: none; }
.ts-price del { margin-left: 8px; font-size: 14px; font-weight: 400; color: var(--muted); }
.ts-lowest { margin: 2px 0 0; font-size: 13px; line-height: 18px; color: var(--muted); }
.ts-stock { display: flex; flex-wrap: wrap; align-items: center; gap: 0 6px; margin: 0; padding-top: 4px; font-size: 13px; line-height: 18px; color: var(--muted); }
.ts-stock__dot { width: 7px; height: 7px; border-radius: 999px; background: var(--mossa); }
.ts-stock.is-outofstock .ts-stock__dot { background: var(--ronn); }
.ts-stock.is-onbackorder .ts-stock__dot { background: var(--ockra); }

.ts-more { display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 72px 0 0; }
.ts-more p { margin: 0; font-size: 15px; line-height: 20px; color: var(--muted); }
.ts-more__bar { width: 240px; height: 3px; border-radius: 999px; background: var(--sand); overflow: hidden; }
.ts-more__bar span { display: block; height: 100%; border-radius: inherit; background: var(--text); transition: width 0.3s ease; }
.ts-more .ts-btn { margin-top: 8px; }
.ts-more .ts-btn[aria-busy="true"] { opacity: 0.6; pointer-events: none; }
.ts-empty { display: flex; flex-direction: column; align-items: center; gap: 20px; padding: 64px 20px; border-radius: 20px; background: var(--havre); text-align: center; }
.ts-empty p { max-width: 460px; margin: 0; font-size: 17px; line-height: 27px; }
.ts-listing .ts-empty { margin-top: 40px; }

/* Product rows */
.ts-row { display: flex; flex-direction: column; gap: 36px; }
.ts-sectionhead { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.ts-sectionhead h2 { margin: 0; font-size: 36px; line-height: 44px; }
.ts-sectionhead p { margin: 8px 0 0; font-size: 16px; line-height: 25px; color: var(--muted); }
.ts-grid--row { gap: 24px; }
.ts-related { margin-block-start: 120px !important; }

/* ---------- Single product ---------- */

.ts-main--product { padding-bottom: 120px; }
.ts-product-crumbs { padding-top: 28px; }
.ts-product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(420px, 520px); align-items: start; gap: clamp(40px, 5vw, 96px); margin-block-start: 24px !important; }

.ts-gallery { display: grid; grid-template-columns: 72px minmax(0, 1fr); grid-template-areas: "thumbs stage" ". more"; gap: 12px; }
.ts-gallery:not(:has(.ts-gallery__thumbs)) { grid-template-columns: minmax(0, 1fr); grid-template-areas: "stage" "more"; }
.ts-gallery__thumbs { grid-area: thumbs; display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; }
.ts-gallery__thumb { display: block; width: 72px; height: 90px; padding: 0; overflow: hidden; border: 0; border-radius: 12px; background: var(--havre); cursor: pointer; }
.ts-gallery__thumb img { width: 100%; height: 100%; object-position: 50% 20%; }
.ts-gallery__thumb[aria-pressed="true"] { outline: 2px solid var(--text); outline-offset: -2px; }
.ts-gallery__stage { grid-area: stage; position: relative; aspect-ratio: 4 / 5; max-height: max(600px, calc(100vh - 160px)); overflow: hidden; border-radius: 20px; background: var(--havre); }
.ts-gallery__track { display: flex; height: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
.ts-gallery__track::-webkit-scrollbar { display: none; }
.ts-gallery__slide { flex: 0 0 100%; height: 100%; margin: 0; scroll-snap-align: start; }
.ts-gallery__slide img { display: block; width: 100%; height: 100%; }
.ts-gallery__slide.is-cover img, .ts-gallery__more .is-cover img { object-position: 50% 30%; }
.ts-gallery__stage > .ts-badge { position: absolute; top: 16px; left: 16px; height: 28px; padding: 0 12px; font-size: 14px; }
.ts-wish--gallery { display: none; }
.ts-gallery__dots { display: none; }
.ts-gallery__more { grid-area: more; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ts-gallery__more figure { aspect-ratio: 282 / 352; margin: 0; overflow: hidden; border-radius: 20px; background: var(--havre); }
.ts-gallery__more img { display: block; width: 100%; height: 100%; }

.ts-buy { display: flex; flex-direction: column; gap: 28px; min-width: 0; }
.ts-buy__head { display: flex; flex-direction: column; gap: 10px; }
.ts-buy__brand { align-self: flex-start; font-size: 15px; line-height: 20px; font-weight: 500; color: var(--muted); text-underline-offset: 4px; }
.ts-buy__title { margin: 0; font-size: 44px; line-height: 52px; letter-spacing: -0.025em; }
.ts-buy__lead p { margin: 0; font-size: 17px; line-height: 27px; color: var(--muted); }
.ts-buy__price { display: flex; flex-direction: column; gap: 6px; padding-bottom: 28px; border-bottom: 1px solid var(--sand); }
.ts-buy .ts-price { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: 30px; line-height: 36px; }
.ts-buy .ts-price del { margin: 0; font-size: 18px; line-height: 24px; }
.ts-buy .ts-lowest { margin: 0; font-size: 14px; line-height: 20px; font-weight: 500; color: var(--text); }
.ts-buy__note { margin: 0; font-size: 14px; line-height: 20px; color: var(--muted); }
.ts-buy__options { display: flex; flex-direction: column; gap: 28px; }

.ts-opt { margin: 0; padding: 0; border: 0; min-width: 0; }
.ts-opt legend { float: left; padding: 0; font-size: 15px; line-height: 20px; }
.ts-opt legend strong { font-weight: 600; }
.ts-opt__list { clear: both; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding-top: 14px; }
.ts-opt--size .ts-opt__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(80px, 1fr)); }
.ts-opt__help { margin: 10px 0 0; font-size: 13px; line-height: 18px; color: var(--muted); }
.ts-swatch, .ts-size { position: relative; cursor: pointer; }
.ts-swatch input, .ts-size input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.ts-swatch { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 999px; }
.ts-swatch__dot { width: 32px; height: 32px; border-radius: 999px; background: var(--swatch); box-shadow: inset 0 0 0 1px rgba(59, 47, 38, 0.12); }
.ts-swatch:has(input:checked) { box-shadow: inset 0 0 0 2px var(--text); }
.ts-swatch:hover:not(:has(input:checked)) { box-shadow: inset 0 0 0 1px var(--sten); }
.ts-size > span { display: flex; align-items: center; justify-content: center; height: 48px; padding: 0 10px; border: 1px solid var(--sten); border-radius: 12px; background: var(--bomull); font-size: 15px; line-height: 20px; font-weight: 500; }
.ts-size:hover > span { border-color: var(--text); }
.ts-size:has(input:checked) > span { border-color: var(--text); box-shadow: inset 0 0 0 1px var(--text); font-weight: 700; }
.ts-swatch:has(input:focus-visible), .ts-size:has(input:focus-visible) > span { outline: 2px solid var(--mossa); outline-offset: 2px; }
.ts-swatch.is-unavailable, .ts-size.is-unavailable { opacity: 0.4; }
.ts-size.is-unavailable > span { text-decoration: line-through; }
.ts-guide { position: relative; float: right; }
.ts-guide > summary { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; line-height: 20px; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.ts-guide__panel { position: absolute; right: 0; top: calc(100% + 8px); z-index: 10; width: 300px; padding: 18px; border: 1px solid var(--sand); border-radius: 16px; background: var(--bomull); box-shadow: var(--shadow); font-size: 14px; line-height: 21px; }
.ts-guide__panel p { margin: 0; }

.ts-buy__stock .ts-stock { padding: 0; font-size: 15px; line-height: 20px; gap: 0 8px; }
.ts-buy__stock .ts-stock__dot { width: 8px; height: 8px; }
.ts-buy__stock .ts-stock__label { font-weight: 600; color: var(--mossa); }
.ts-buy__stock .is-outofstock .ts-stock__label { color: var(--ronn); }
.ts-stock.is-outofstock .ts-stock__extra { display: none; }
.ts-buy__stock .is-onbackorder .ts-stock__label { color: var(--ockra); }

.ts-buy div.ts-buy__form form.cart { margin: 0; }
.ts-buy__form form.cart:not(.variations_form), .ts-buy__form .woocommerce-variation-add-to-cart { display: flex; gap: 10px; }
.ts-buy__form table.variations, .ts-buy__form .single_variation, .ts-buy__form .reset_variations { display: none !important; }
.ts-buy__form .quantity { display: flex; align-items: center; justify-content: space-between; width: 124px; height: 56px; padding: 0 8px; border: 1px solid var(--sten); border-radius: 12px; background: var(--bomull); box-sizing: border-box; flex-shrink: 0; }
.ts-buy__form .quantity:has(input[type="hidden"]) { display: none; }
.ts-qty__btn { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 8px; background: none; color: var(--text); cursor: pointer; }
.ts-qty__btn:hover { background: var(--havre); }
.ts-buy .ts-buy__form .quantity input.qty { width: 32px; height: 36px; min-height: 0; padding: 0; border: 0; border-radius: 0; background: none; font: inherit; font-size: 16px; font-weight: 600; text-align: center; color: var(--text); -moz-appearance: textfield; }
.ts-buy__form input.qty::-webkit-inner-spin-button, .ts-buy__form input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.ts-buy__form .single_add_to_cart_button { flex: 1; min-height: 56px; }
.ts-buy__form .single_add_to_cart_button.disabled { opacity: 0.5; cursor: not-allowed; }
.ts-buy__form .single_add_to_cart_button.loading { opacity: 0.7; }
.ts-buy__form .added_to_cart { display: none; }
.ts-wish--buy { width: 56px; height: 56px; border: 1px solid var(--sten); border-radius: 12px; }
.ts-buy__form .stock { display: none; }

.ts-perks { display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 22px; border-radius: 20px; background: var(--havre); list-style: none; }
.ts-perks li { display: flex; align-items: center; gap: 12px; font-size: 15px; line-height: 22px; font-weight: 500; }
.ts-perks .ts-icon { color: var(--skog); }
.ts-buy__meta { display: flex; flex-direction: column; gap: 4px; margin: 0; font-size: 14px; line-height: 20px; color: var(--muted); }
.ts-buy__meta > div { display: flex; flex-wrap: wrap; gap: 0 4px; }
.ts-buy__meta dt, .ts-buy__meta dd { margin: 0; }
.ts-buy__meta dd + dt::before { content: "·"; margin-right: 6px; }
.ts-buy__meta a { color: inherit; }

.ts-accordions { border-bottom: 1px solid var(--sand); }
.ts-acc { border-top: 1px solid var(--sand); }
.ts-acc > summary, .wp-block-details.is-style-faq > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 0; font-size: 17px; line-height: 24px; font-weight: 600; }
.ts-acc__icon, .wp-block-details.is-style-faq > summary::after { position: relative; width: 20px; height: 20px; flex-shrink: 0; }
.ts-acc__icon::before, .ts-acc__icon::after { content: ""; position: absolute; left: 3px; right: 3px; top: 9.25px; height: 1.5px; border-radius: 2px; background: var(--text); transition: transform 0.2s ease; }
.ts-acc__icon::after { transform: rotate(90deg); }
.ts-acc[open] .ts-acc__icon::after { transform: rotate(0); }
.ts-acc__body { padding-bottom: 20px; font-size: 15px; line-height: 24px; }
.ts-acc__body > :first-child { margin-top: 0; }
.ts-acc__body > :last-child { margin-bottom: 0; }
.ts-acc__body p { margin: 0 0 10px; }
.ts-acc__body ul { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; }
.ts-acc__body li { position: relative; padding-left: 15px; }
.ts-acc__body li::before { content: ""; position: absolute; left: 0; top: 10px; width: 5px; height: 5px; border-radius: 999px; background: var(--text); }

/* ---------- Pages and content ---------- */

.wp-block-image.ts-rounded img, .ts-rounded img { border-radius: 20px; }
.ts-prose .wp-block-post-content > * { margin-block: 56px 0; }
.ts-prose .wp-block-post-content > :first-child { margin-top: 20px; }
.ts-prose .wp-block-post-content > :is(h2, h3) + * { margin-top: 12px; }
.ts-prose .wp-block-post-content > p + :is(p, ul, ol) { margin-top: 16px; }
.ts-prose .wp-block-post-content > :is(p, ul, ol) + :is(h2, h3) { margin-top: 44px; }
.ts-prose .wp-block-post-content > h2 + .wp-block-details { margin-top: 20px; }
.ts-prose .wp-block-post-content > .wp-block-details + .wp-block-details { margin-top: 0; }
.ts-prose .wp-block-post-content > .wp-block-details + :not(.wp-block-details) { margin-top: 56px; }
.ts-prose h1 { margin: 20px 0 0; font-size: 60px; line-height: 66px; }
.ts-prose h2 { margin: 0; font-size: 30px; line-height: 38px; }
.ts-prose h3 { margin: 0; font-size: 24px; line-height: 30px; }
.ts-prose p, .ts-prose li { max-width: 680px; font-size: 17px; line-height: 28px; }
.ts-prose p.is-style-lead { max-width: none; font-size: 20px; line-height: 31px; }
.ts-prose .wp-block-image img { width: 100%; border-radius: 20px; }

.wp-block-details.is-style-faq { padding: 0; border-top: 1px solid var(--sand); }
.wp-block-details.is-style-faq:last-of-type, .wp-block-details.is-style-faq:not(:has(+ .wp-block-details)) { border-bottom: 1px solid var(--sand); }
.wp-block-details.is-style-faq > summary { align-items: flex-start; line-height: 25px; }
.wp-block-details.is-style-faq > summary::after { content: ""; top: 2px; background: var(--text); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%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='%23000' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / contain no-repeat; }
.wp-block-details.is-style-faq[open] > summary::after { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E"); }
.wp-block-details.is-style-faq > :not(summary) { margin: -8px 0 20px; font-size: 16px; line-height: 26px; color: var(--muted); }

.ts-facts { display: flex; gap: 16px; }
.ts-facts > .ts-fact { flex: 1; display: flex; flex-direction: column; gap: 6px; margin: 0 !important; padding: 26px 24px; border-radius: 20px; background: var(--havre); }
.ts-fact p { margin: 0; font-size: 15px; line-height: 22px; font-weight: 500; }
.ts-fact p.ts-fact__big { font-family: var(--display); font-size: 44px; line-height: 50px; font-weight: 400; letter-spacing: -0.025em; }
.ts-linkcards { display: flex; gap: 16px; }
.ts-linkcards > p { flex: 1; margin: 0 !important; max-width: none; }
.ts-linkcards a { display: flex; align-items: center; justify-content: space-between; height: 72px; padding: 0 24px; border: 1px solid var(--sand); border-radius: 20px; background: var(--bomull); font-size: 16px; line-height: 22px; font-weight: 600; color: var(--text); text-decoration: none; }
.ts-linkcards a:hover { border-color: var(--sten); }
.ts-linkcards a::after { content: ""; width: 20px; height: 20px; background: currentColor; -webkit-mask: var(--i-arrow) center / contain no-repeat; mask: var(--i-arrow) center / contain no-repeat; }

.ts-service-layout { display: grid; grid-template-columns: 300px minmax(0, 880px); grid-template-areas: "crumbs crumbs" "side main"; justify-content: space-between; align-items: start; row-gap: 40px; padding-top: 28px; padding-bottom: 120px; }
.ts-service-layout > * { margin: 0 !important; }
.ts-service-layout__crumbs { grid-area: crumbs; }
.ts-service { grid-area: side; position: sticky; top: 108px; display: flex; flex-direction: column; gap: 28px; }
.ts-service-layout__main { grid-area: main; min-width: 0; }
.ts-service__title { margin: 0; padding: 0 0 10px 14px; font-family: var(--display); font-size: 24px; line-height: 30px; font-weight: 500; letter-spacing: -0.015em; }
.ts-service__list { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; }
.ts-service__list a { display: flex; align-items: center; min-height: 44px; padding: 0 14px; border-radius: 12px; font-size: 15px; line-height: 20px; font-weight: 500; color: var(--text); text-decoration: none; }
.ts-service__list a:hover { background: var(--havre); }
.ts-service__list a[aria-current] { background: var(--salviablad); color: var(--skog); font-weight: 600; }
.ts-service__list li.is-divider-before { margin-top: 10px; padding-top: 16px; border-top: 1px solid var(--sand); }
.ts-service__picker { display: none; }
.ts-help { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 28px; border-radius: 20px; background: var(--salviablad); }
.ts-help p { margin: 0; font-size: 15px; line-height: 23px; }
.ts-help .ts-help__title { font-family: var(--display); font-size: 24px; line-height: 30px; font-weight: 500; letter-spacing: -0.015em; }

/* Contact */
.ts-contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(380px, 520px); align-items: start; gap: clamp(40px, 5vw, 96px); margin-block-start: 48px !important; }
.ts-contact > *, .ts-contact__aside > * { margin: 0 !important; }
.ts-contact__aside { display: flex; flex-direction: column; gap: 32px; }
.ts-contact__aside .wp-block-image img { width: 100%; aspect-ratio: 436 / 320; object-fit: cover; border-radius: 20px; }
.ts-formcard { padding: 44px 48px; border: 1px solid var(--sand); border-radius: 28px; background: var(--bomull); }
.ts-formcard > h2 { margin: 0 0 22px; font-size: 30px; line-height: 38px; }
.ts-mailcard { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 28px; border-radius: 20px; background: var(--salviablad); }
.ts-mailcard > * { margin: 0 !important; }
.ts-mailcard h2 { display: flex; align-items: center; gap: 12px; font-size: 24px; line-height: 30px; font-weight: 500; }
.ts-mailcard h2::before { content: ""; width: 24px; height: 24px; background: var(--skog); -webkit-mask: var(--i-mail) center / contain no-repeat; mask: var(--i-mail) center / contain no-repeat; }
.ts-mailcard .ts-mailcard__address { font-size: 17px; line-height: 24px; font-weight: 600; }
.ts-mailcard .ts-mailcard__address a { color: var(--text); text-underline-offset: 4px; }
.ts-mailcard p { font-size: 15px; line-height: 22px; }
.ts-quick { display: flex; flex-direction: column; gap: 14px; }
.ts-quick__title { margin: 0; font-size: 17px; line-height: 24px; font-weight: 600; }
.ts-quick ul { margin: 0; padding: 0; list-style: none; border: 1px solid var(--sand); border-radius: 20px; background: var(--bomull); overflow: hidden; }
.ts-quick li + li { border-top: 1px solid var(--sand); }
.ts-quick a { display: flex; align-items: center; gap: 14px; height: 60px; padding: 0 20px; font-size: 16px; line-height: 22px; font-weight: 500; color: var(--text); text-decoration: none; }
.ts-quick a:hover { background: var(--havre); }
.ts-quick a span { flex: 1; }
.ts-quick a .ts-icon:first-child { color: var(--skog); }
.ts-quick a:focus-visible { outline-offset: -2px; border-radius: 0; }

/* Gravity Forms (theme CSS from the plugin is switched off) */
.gform_wrapper { font-family: var(--body); }
.gform_wrapper .gform_fields { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 22px 16px; }
.gform_wrapper .gfield { grid-column: span 12; min-width: 0; margin: 0; padding: 0; border: 0; }
.gform_wrapper .gfield--width-half { grid-column: span 6; }
.gform_wrapper .gfield_label, .gform_wrapper .gform-field-label { display: flex; gap: 4px; margin-bottom: 8px; font-size: 15px; line-height: 20px; font-weight: 600; color: var(--text); }
.gform_wrapper .gfield_required { display: none; }
.gform_wrapper .gfield_description { margin-top: 6px; font-size: 14px; line-height: 20px; color: var(--muted); }
.gform_wrapper input[type="text"], .gform_wrapper input[type="email"], .gform_wrapper input[type="tel"], .gform_wrapper select, .gform_wrapper textarea {
	width: 100%; height: 52px; padding: 0 16px; border: 1px solid var(--sten); border-radius: 12px; background: var(--bomull); box-sizing: border-box;
	font: inherit; font-size: 16px; line-height: 22px; color: var(--text);
}
.gform_wrapper textarea { height: 168px; padding: 14px 16px; resize: vertical; }
.gform_wrapper select { padding-right: 44px; background: var(--bomull) var(--i-down) right 14px center / 20px no-repeat; -webkit-appearance: none; appearance: none; cursor: pointer; }
.gform_wrapper :is(input, select, textarea)::placeholder { color: var(--muted); opacity: 1; }
.gform_wrapper :is(input, select, textarea):focus { border-color: var(--mossa); outline: none; box-shadow: 0 0 0 3px var(--salviablad); }
.gform_wrapper .gfield_error :is(input, select, textarea) { border-color: var(--ronn); }
.gform_wrapper .gfield_validation_message, .gform_wrapper .validation_message { margin-top: 6px; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--ronn); }
.gform_wrapper .gform_validation_errors { margin-bottom: 22px; padding: 16px 18px; border-radius: 12px; background: #F6E3DF; color: var(--ronn); }
.gform_wrapper .gform_validation_errors h2 { margin: 0; font-family: var(--body); font-size: 15px; line-height: 22px; font-weight: 600; color: var(--ronn); }
.gform_wrapper .gfield--type-html { font-size: 14px; line-height: 21px; color: var(--muted); }
.gform_wrapper .gfield--type-html a { color: var(--muted); text-underline-offset: 3px; }
.gform_wrapper .gform_footer { margin-top: 22px; padding: 0; }
.gform_wrapper .gform_validation_container, .gform_wrapper .gfield--type-honeypot, .gform_wrapper .gform_hidden, .gform_wrapper .gfield_visibility_hidden { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.gform_wrapper .gform_ajax_spinner { margin-left: 12px; vertical-align: middle; }
.gform_confirmation_message { padding: 20px 22px; border-radius: 16px; background: var(--salviablad); font-size: 16px; line-height: 25px; font-weight: 500; }
.gform_required_legend { display: none; }

/* Front page */
.ts-hero.wp-block-cover { margin-top: 32px !important; padding: 48px clamp(48px, 5vw, 96px); overflow: hidden; border-radius: 28px; color: var(--text); }
.ts-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: var(--havre); mix-blend-mode: multiply; opacity: 0.3; pointer-events: none; }
.ts-hero .wp-block-cover__inner-container { z-index: 2; width: 470px; max-width: 100%; color: var(--text); }
.ts-hero .wp-block-cover__inner-container > * { margin: 0; }
.ts-hero .wp-block-cover__inner-container > * + * { margin-top: 24px; }
.ts-hero .ts-eyebrow { color: var(--text); }
.ts-hero h1 { font-size: 72px; line-height: 76px; letter-spacing: -0.03em; color: var(--text); }
.ts-hero p:not(.ts-eyebrow) { max-width: 400px; font-size: 18px; line-height: 29px; }
.ts-hero .wp-block-buttons { gap: 12px; padding-top: 4px; }

.ts-trust { display: flex; gap: 32px; margin: 0; padding: 36px 0; border-bottom: 1px solid var(--sand); list-style: none; }
.ts-trust li { flex: 1; display: flex; align-items: center; gap: 14px; }
.ts-trust__icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 999px; background: var(--salviablad); color: var(--skog); flex-shrink: 0; }
.ts-trust li > span:last-child { display: flex; flex-direction: column; gap: 2px; font-size: 14px; line-height: 20px; color: var(--muted); }
.ts-trust strong { font-size: 16px; line-height: 22px; font-weight: 600; color: var(--text); }

.ts-sectiontitle { margin: 0 !important; font-size: 36px; line-height: 44px; }
.ts-tiles { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-top: 36px !important; }
.ts-tiles > * { margin: 0 !important; }
.ts-tile { position: relative; display: flex; flex-direction: column; gap: 18px; }
.ts-tile > * { margin: 0 !important; }
.ts-tile .wp-block-image { overflow: hidden; border-radius: 20px; }
.ts-tile .wp-block-image img { display: block; width: 100%; aspect-ratio: 282 / 360; object-fit: cover; transition: transform 0.4s ease; }
.ts-tile:hover .wp-block-image img { transform: scale(1.03); }
.ts-tile h3 { margin: 0; padding-right: 52px; font-size: 26px; line-height: 32px; font-weight: 500; }
.ts-tile h3 a { color: var(--text); text-decoration: none; }
.ts-tile h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.ts-tile h3 a:focus-visible { outline: none; }
.ts-tile:has(h3 a:focus-visible) .wp-block-image { outline: 2px solid var(--mossa); outline-offset: 2px; }
.ts-tile p { margin: 4px 0 0 !important; padding-right: 52px; font-size: 15px; line-height: 22px; color: var(--muted); }
.ts-tile::after { content: ""; position: absolute; right: 0; bottom: 14px; width: 40px; height: 40px; border: 1px solid var(--sand); border-radius: 999px; box-sizing: border-box; background: linear-gradient(var(--text), var(--text)) center / 0 0 no-repeat; }
.ts-tile::before { content: ""; position: absolute; right: 11px; bottom: 25px; z-index: 0; width: 18px; height: 18px; background: var(--text); -webkit-mask: var(--i-arrow) center / contain no-repeat; mask: var(--i-arrow) center / contain no-repeat; }
.ts-tile:hover::after { border-color: var(--text); }

.ts-merino { display: grid !important; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); overflow: hidden; border-radius: 28px; background: var(--salviablad); }
.ts-merino > * { margin: 0 !important; }
.ts-merino__img img { display: block; width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; }
.ts-merino__content { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 24px; max-width: 640px; padding: 48px clamp(48px, 6vw, 112px); }
.ts-merino__content > * { margin: 0 !important; }
.ts-merino .ts-eyebrow { color: var(--skog); }
.ts-merino h2 { font-size: 48px; line-height: 56px; }
.ts-merino p:not(.ts-eyebrow) { font-size: 18px; line-height: 29px; }
.ts-checks { display: flex; flex-direction: column; gap: 12px; padding: 4px 0 8px !important; list-style: none; }
.ts-checks li { position: relative; padding-left: 32px; font-size: 16px; line-height: 24px; }
.ts-checks li::before { content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px; background: var(--skog); -webkit-mask: var(--i-check) center / contain no-repeat; mask: var(--i-check) center / contain no-repeat; }

.ts-split { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); align-items: center; gap: clamp(48px, 7vw, 128px); }
.ts-split__text { max-width: 560px; }
.ts-split > * { margin: 0 !important; }
.ts-split__text { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
.ts-split__text > * { margin: 0 !important; }
.ts-split__text h2 { font-size: 44px; line-height: 52px; }
.ts-split__text p:not(.ts-eyebrow):not(.ts-arrowlink) { font-size: 18px; line-height: 29px; color: var(--muted); }
.ts-split .wp-block-image img { display: block; width: 100%; aspect-ratio: 604 / 460; object-fit: cover; border-radius: 28px; }

/* Account, cart and other WooCommerce pages keep their defaults; only fields and notices are aligned with the theme. */
.woocommerce form .input-text, .woocommerce form select { min-height: 48px; padding: 0 14px; border: 1px solid var(--sten); border-radius: 12px; background: var(--bomull); font: inherit; }
.woocommerce form textarea.input-text { padding: 12px 14px; }
.wc-block-components-notice-banner { border-radius: 12px; }

/* ---------- Responsive ---------- */

@media (max-width: 1260px) {
	.ts-product { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
	.ts-service-layout { grid-template-columns: 260px minmax(0, 1fr); column-gap: 48px; }
	.ts-contact { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }
	.ts-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
	.ts-mega__feature { width: 300px; }
	img.ts-mega__img { width: 300px; height: 188px; }
	.ts-mega__group { width: auto; min-width: 160px; }
	.ts-search--bar { width: 190px; }
	.ts-nav { margin-left: 36px; }
	.ts-nav__list { gap: 22px; }
	.ts-news { width: 340px; }
	.ts-footer__cols { gap: 32px; }
	.ts-footer__col { width: 160px; }
}

@media (min-width: 1024px) and (max-width: 1180px) {
	.ts-logo--md .ts-sprout { width: 28px; height: 28px; }
	.ts-logo--md .ts-logo__word { font-size: 25px; }
	.ts-nav { margin-left: 24px; }
	.ts-nav__list { gap: 16px; }
	.ts-search--bar { width: 150px; margin-right: 6px; }
}

@media (max-width: 1023px) {
	.ts-hide-mobile { display: none !important; }

	.ts-header { top: -36px; }
	.ts-usp__inner { justify-content: center; height: 36px; }
	.ts-usp__list, .ts-usp__links { display: none; }
	.ts-usp__mobile { display: block; }
	.ts-bar__inner { display: grid; grid-template-columns: 88px 1fr 88px; width: 100%; height: 64px; padding: 0 10px; box-sizing: border-box; }
	.ts-bar__mobile-start { display: flex; }
	.ts-bar .ts-logo { justify-self: center; }
	.ts-bar .ts-logo .ts-sprout { width: 26px; height: 26px; }
	.ts-bar .ts-logo__word { font-size: 24px; }
	.ts-nav, .ts-search--bar, .ts-mega-backdrop { display: none !important; }
	.ts-actions { justify-content: flex-end; gap: 0; margin: 0; }

	.ts-footer { padding: 48px 0 32px; }
	.ts-footer__top { flex-direction: column; gap: 40px; }
	.ts-news { width: auto; }
	.ts-news__title { font-size: 26px; line-height: 32px; }
	.ts-news__form { flex-direction: column; }
	.ts-news__form input[type="email"] { flex: none; }
	.ts-news__form .ts-btn { width: 100%; }
	.ts-footer__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 40px 20px; padding-top: 40px; border-top: 1px solid var(--mossa); }
	.ts-footer__col { width: auto; }
	.ts-footer__bottom { flex-direction: column; align-items: flex-start; gap: 24px; margin-top: 40px; padding-top: 40px; }
	.ts-footer__brand { flex-direction: column; align-items: flex-start; gap: 16px; }
	.ts-footer__brand .ts-sprout { width: 26px; height: 26px; }
	.ts-footer__brand .ts-logo__word { font-size: 24px; }
	.ts-footer__pay { flex-direction: column; align-items: flex-start; gap: 10px; }

	.ts-main--page { padding-top: 32px; padding-bottom: 72px; }
	.ts-main--wide, .ts-main--front, .ts-main--product { padding-bottom: 72px; }
	.ts-section { margin-block-start: 64px !important; }
	.ts-section--sm { margin-block-start: 56px !important; }
	h1.wp-block-post-title, .ts-pagehead__row h1 { font-size: 40px; line-height: 46px; }
	p.is-style-lead, .is-style-lead { font-size: 17px; line-height: 27px; }
	.ts-pagehead { padding-top: 16px; }
	.ts-pagehead__row { flex-direction: column; align-items: flex-start; gap: 14px; margin-top: 6px !important; }
	.ts-pagehead__row h1 { margin-top: 14px; }
	.ts-pagehead__row .is-style-lead, .ts-pagehead__row > p { width: auto; font-size: 16px; line-height: 25px; }

	.ts-shophead { padding-top: 20px; }
	.ts-shophead__title { flex-direction: column; align-items: flex-start; gap: 14px; padding-top: 14px; }
	.ts-shophead__title h1 { font-size: 40px; line-height: 46px; }
	.ts-shophead__title p { width: auto; font-size: 16px; line-height: 25px; }
	.ts-chips ul { gap: 8px; margin-right: -20px; padding: 24px 20px 0 0; }
	.ts-chip { height: 38px; }
	.ts-toolbar { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 10px; margin-top: 20px; padding: 0; border: 0; }
	.ts-toolbar__filters, .ts-toolbar__end { display: contents; }
	.ts-filter--all { order: 1; }
	.ts-filter--all > summary { width: 100%; min-height: 48px; }
	.ts-sort { order: 2; justify-content: center; height: 48px; font-weight: 600; }
	.ts-sort label { display: none; }
	.ts-toolbar .ts-sort select { font-weight: 600; text-align: center; }
	.ts-toolbar__count { order: 3; grid-column: 1 / -1; font-size: 14px; }
	.ts-toolbar > :only-child, .ts-toolbar:not(:has(.ts-filter--all)) .ts-sort { grid-column: 1 / -1; }
	.ts-filter__panel--all { position: fixed; inset: auto 0 0 0; top: auto; z-index: 90; width: auto; max-height: 82vh; overflow-y: auto; grid-template-columns: 1fr; gap: 20px; padding: 0 20px 24px; border: 0; border-radius: 20px 20px 0 0; box-shadow: 0 0 0 100vmax rgba(59, 47, 38, 0.45); }
	.ts-filter__sheethead { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; margin: 0 -20px; padding: 14px 12px 14px 20px; border-bottom: 1px solid var(--sand); background: inherit; }
	.ts-filter__sheethead p { margin: 0; font-family: var(--display); font-size: 22px; line-height: 28px; }
	.ts-filter__done { position: sticky; bottom: 0; width: 100%; box-shadow: 0 -12px 16px var(--bomull); }

	.ts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 16px; }
	.ts-listing .ts-grid { padding-top: 24px; }
	.ts-grid__promo { grid-column: 1 / -1; }
	.ts-promo { min-height: 400px; border-radius: 12px; }
	.ts-promo__card { left: 12px; bottom: 12px; gap: 8px; width: auto; max-width: none; right: 12px; padding: 18px 18px 20px; border-radius: 12px; }
	.ts-promo__title { font-size: 22px; line-height: 28px; }
	.ts-card__media { border-radius: 12px; }
	.ts-card__media .ts-wish { top: 8px; right: 8px; width: 36px; height: 36px; }
	.ts-card__media .ts-wish svg { width: 18px; height: 18px; }
	.ts-card__media .ts-badge { top: 10px; left: 10px; }
	.ts-card__title { font-size: 15px; line-height: 21px; }
	.ts-price { font-size: 15px; }
	.ts-more { gap: 14px; padding-top: 48px; }
	.ts-more__bar { width: 200px; }
	.ts-more .ts-btn { width: 100%; }

	.ts-row { gap: 24px; }
	.ts-sectionhead { flex-direction: column; align-items: flex-start; gap: 12px; }
	.ts-sectionhead h2, .ts-sectiontitle { font-size: 30px; line-height: 36px; }
	.ts-row.is-mobile-carousel .ts-grid--row { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 148px; gap: 16px; margin-right: -20px; padding-right: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.ts-row.is-mobile-carousel .ts-grid--row > li { scroll-snap-align: start; }
	.ts-grid--row { gap: 28px 16px; }
	.ts-related { margin-block-start: 64px !important; }
	.ts-related .ts-sectionhead h2 { font-size: 26px; line-height: 32px; }

	.ts-product-crumbs { padding-top: 14px; }
	.ts-product { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-block-start: 14px !important; }
	.ts-gallery { display: block; margin-inline: -20px; }
	.ts-gallery__thumbs, .ts-gallery__more { display: none; }
	.ts-gallery__stage { aspect-ratio: 390 / 488; border-radius: 0; }
	.ts-gallery__stage > .ts-badge { top: 14px; left: 20px; height: 26px; padding: 0 10px; font-size: 13px; }
	.ts-wish--gallery { position: absolute; top: 12px; right: 16px; display: inline-flex; width: 44px; height: 44px; }
	.ts-gallery__dots { position: absolute; left: 0; right: 0; bottom: 16px; display: flex; justify-content: center; gap: 6px; }
	.ts-gallery__dots span { width: 6px; height: 6px; border-radius: 999px; background: var(--bomull); transition: width 0.2s ease; }
	.ts-gallery__dots span.is-on { width: 20px; background: var(--text); }
	.ts-buy { gap: 24px; }
	.ts-buy__head { gap: 8px; }
	.ts-buy__brand { font-size: 14px; }
	.ts-buy__title { font-size: 32px; line-height: 38px; }
	.ts-buy__lead p { font-size: 16px; line-height: 25px; }
	.ts-buy__price { padding-bottom: 24px; }
	.ts-buy .ts-price { font-size: 26px; line-height: 32px; }
	.ts-buy .ts-price del { font-size: 17px; }
	.ts-buy__options { gap: 24px; }
	.ts-opt__list { padding-top: 12px; }
	.ts-buy__form .quantity { width: 112px; }
	.ts-wish--buy { display: none; }
	.ts-perks { padding: 18px; }
	.ts-guide__panel { width: min(300px, calc(100vw - 40px)); }

	.ts-service-layout { display: flex; flex-direction: column; gap: 32px; padding-top: 16px; padding-bottom: 72px; }
	.ts-service { display: contents; }
	.ts-service__nav { display: none; }
	.ts-service__picker { display: block; order: 1; margin-top: -16px !important; }
	.ts-service-layout__main { order: 2; }
	.ts-service__help { order: 3; padding: 24px; }
	.ts-service__help .ts-help__title { font-size: 22px; line-height: 28px; }
	.ts-service__picker > summary { display: flex; align-items: center; justify-content: space-between; height: 52px; padding: 0 16px; border: 1px solid var(--sten); border-radius: 12px; background: var(--bomull); }
	.ts-service__picker > summary > span { display: flex; flex-direction: column; font-size: 15px; line-height: 20px; font-weight: 600; }
	.ts-service__picker small { font-size: 12px; line-height: 16px; font-weight: 500; color: var(--muted); }
	.ts-service__picker[open] > summary .ts-icon { transform: rotate(180deg); }
	.ts-service__picker > .ts-service__list { margin-top: 8px; padding: 8px; border: 1px solid var(--sand); border-radius: 12px; background: var(--bomull); }
	.ts-prose .wp-block-post-content > * { margin-top: 32px; }
	.ts-prose .wp-block-post-content > :is(h2, h3) + * { margin-top: 10px; }
	.ts-prose .wp-block-post-content > :is(p, ul, ol) + :is(h2, h3) { margin-top: 32px; }
	.ts-prose .wp-block-post-content > .wp-block-details + :not(.wp-block-details) { margin-top: 32px; }
	.ts-prose h1 { margin-top: 14px; font-size: 38px; line-height: 44px; }
	.ts-prose h2 { font-size: 24px; line-height: 30px; }
	.ts-prose p, .ts-prose li { font-size: 16px; line-height: 26px; }
	.ts-prose p.is-style-lead { font-size: 17px; line-height: 27px; }
	.ts-prose .wp-block-image img { aspect-ratio: 350 / 240; object-fit: cover; }
	.ts-facts { flex-direction: column; gap: 0; padding: 4px 20px; border-radius: 20px; background: var(--havre); }
	.ts-facts > .ts-fact { flex-direction: row; align-items: center; gap: 16px; padding: 16px 0; border-radius: 0; background: none; }
	.ts-facts > .ts-fact + .ts-fact { border-top: 1px solid var(--sand); }
	.ts-fact p.ts-fact__big { width: 84px; flex-shrink: 0; font-size: 30px; line-height: 36px; }
	.ts-linkcards { flex-direction: column; gap: 12px; }
	.wp-block-details.is-style-faq > summary { font-size: 16px; line-height: 23px; }
	.wp-block-details.is-style-faq > :not(summary) { font-size: 15px; line-height: 24px; }

	.ts-contact { display: flex; flex-direction: column; gap: 32px; margin-block-start: 32px !important; }
	.ts-contact__aside { display: contents; }
	.ts-contact__aside .wp-block-image { display: none; }
	.ts-contact .ts-quick { order: 1; }
	.ts-contact > .ts-formcard { order: 2; }
	.ts-contact .ts-mailcard { order: 3; }
	.ts-formcard { padding: 24px 20px; border-radius: 20px; }
	.ts-formcard > h2 { margin-bottom: 18px; font-size: 24px; line-height: 30px; }
	.gform_wrapper .gform_fields { gap: 18px; }
	.gform_wrapper .gfield--width-half { grid-column: span 12; }
	.gform_wrapper .gform_button { width: 100%; }
	.ts-mailcard { padding: 24px; }
	.ts-mailcard h2 { font-size: 22px; }
	.ts-quick__title { font-size: 16px; }

	.ts-hero.wp-block-cover { display: block; min-height: 0 !important; margin-top: 16px !important; padding: 0; overflow: visible; border-radius: 0; }
	.ts-hero::before { inset: 0 0 auto; height: 340px; border-radius: 20px; opacity: 0.25; }
	.ts-hero .wp-block-cover__background { display: none; }
	.ts-hero .wp-block-cover__image-background { position: relative; display: block; height: 340px; border-radius: 20px; object-position: 50% 45% !important; }
	.ts-hero .wp-block-cover__inner-container { width: auto; padding-top: 28px; }
	.ts-hero .wp-block-cover__inner-container > * + * { margin-top: 18px; }
	.ts-hero h1 { font-size: 46px; line-height: 50px; }
	.ts-hero p:not(.ts-eyebrow) { font-size: 17px; line-height: 26px; }
	.ts-hero .wp-block-buttons { flex-direction: column; align-items: stretch; gap: 10px; padding-top: 6px; }
	.ts-hero .wp-block-button__link { width: 100%; }
	.ts-hero .wp-block-button.is-style-light .wp-block-button__link { background: transparent; box-shadow: inset 0 0 0 1.5px var(--text); }

	.ts-trust { flex-direction: column; gap: 18px; margin-top: 36px !important; padding: 24px 20px; border: 0; border-radius: 20px; background: var(--havre); }
	.ts-trust__icon { width: 40px; height: 40px; }
	.ts-trust__icon .ts-icon { width: 20px; height: 20px; }
	.ts-trust strong { font-size: 14px; line-height: 20px; }
	.ts-trust li > span:last-child { font-size: 13px; line-height: 18px; }

	.ts-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; margin-top: 24px !important; }
	.ts-tile { gap: 12px; }
	.ts-tile .wp-block-image { border-radius: 12px; }
	.ts-tile .wp-block-image img { aspect-ratio: 167 / 210; }
	.ts-tile h3 { padding-right: 24px; font-size: 20px; line-height: 26px; }
	.ts-tile p { display: none; }
	.ts-tile::after { display: none; }
	.ts-tile::before { right: 0; bottom: 4px; }

	.ts-merino { grid-template-columns: 100%; border-radius: 20px; }
	.ts-merino__img img { aspect-ratio: 350 / 320; }
	.ts-merino__content { gap: 16px; padding: 28px 24px 32px; }
	.ts-merino h2 { font-size: 32px; line-height: 38px; }
	.ts-merino p:not(.ts-eyebrow) { font-size: 16px; line-height: 25px; }
	.ts-merino .wp-block-button, .ts-merino .wp-block-button__link { width: 100%; }
	.ts-checks { gap: 10px; }
	.ts-checks li { padding-left: 28px; font-size: 15px; line-height: 22px; }

	.ts-split { display: flex !important; flex-direction: column; align-items: stretch; gap: 20px; }
	.ts-split .wp-block-image { order: -1; }
	.ts-split .wp-block-image img { aspect-ratio: 350 / 300; border-radius: 20px; }
	.ts-split__text { gap: 16px; padding-top: 8px; }
	.ts-split__text h2 { font-size: 30px; line-height: 36px; }
	.ts-split__text p:not(.ts-eyebrow):not(.ts-arrowlink) { font-size: 16px; line-height: 25px; }
}

@media (min-width: 1024px) {
	.ts-drawer, .ts-show-mobile { display: none !important; }
}

@media (min-width: 640px) and (max-width: 1023px) {
	.ts-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ts-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.ts-gallery { margin-inline: 0; }
	.ts-gallery__stage { border-radius: 20px; aspect-ratio: 4 / 5; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}
