:root {
    --bg: #ffffff;
    --bg-soft: #f4f6f8;
    --surface: #ffffff;
    --surface-alt: #0F172A;
    --surface-alt-text: #ffffff;
    --surface-soft: #f3f4f6;
    --surface-panel: #f7f8fa;
    --line: #d8dee8;
    --ink: #0F172A;
    --muted: #2B2B2B;
    --accent: #003B5C;
    --accent-dark: #002640;
    --accent-rgb: 0, 59, 92;
    --accent-secondary: #0A5875;
    --accent-secondary-rgb: 10, 88, 117;
    --accent-contrast: #145C38;
    --accent-contrast-rgb: 20, 92, 56;
    --accent-contrast-dark: #145C38;
    --wishlist-red: #C8102E;
    --wishlist-red-rgb: 200, 16, 46;
    --wishlist-red-dark: #9E0C24;
    --midnight: #0F172A;
    --charcoal: #2B2B2B;
    --success: #0A5875;
    --shadow: 0 18px 50px rgba(15, 23, 42, 0.1);
    --radius-lg: 26px;
    --radius-md: 18px;
    --radius-sm: 12px;
    --btn-radius: 8px;
    --btn-border-width: 8px;
    --site-width: 1320px;
    --site-edge-padding: clamp(20px, 4vw, 70px);
    --product-media-bg: #eceef2;
    --product-breadcrumb-bg: #ffffff;
}

/* Google Material Symbols — base icon system */
.material-symbols-outlined {
    font-family: "Material Symbols Outlined", sans-serif;
    font-weight: normal;
    font-style: normal;
    font-size: 1.25em;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    font-feature-settings: "liga";
    -webkit-font-smoothing: antialiased;
    font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
    color: inherit;
    vertical-align: middle;
    user-select: none;
    speak: never;
}

.material-symbols-outlined.is-filled,
.material-symbols-outlined[data-filled="1"] {
    font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
}

.nav-actions .material-symbols-outlined,
.icon-link .material-symbols-outlined,
.cart-icon .material-symbols-outlined,
.search-btn .material-symbols-outlined,
.top-bar .material-symbols-outlined {
    font-size: 22px;
    font-variation-settings: "FILL" 0, "wght" 500, "GRAD" 0, "opsz" 24;
}

.nav-actions .material-symbols-outlined.is-filled,
.icon-link .material-symbols-outlined.is-filled {
    font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24;
}

.mobile-bottom-nav .material-symbols-outlined,
.mobile-nav-item .material-symbols-outlined {
    font-size: 24px;
    font-variation-settings: "FILL" 0, "wght" 500, "GRAD" 0, "opsz" 24;
}

.terms-hub-card__icon .material-symbols-outlined,
.ks-topic__icon .material-symbols-outlined {
    font-size: 28px;
    font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 28;
}

html,
body {
    margin: 0;
    padding: 0;
    background: var(--bg);
    color: var(--ink);
    font-family: "Segoe UI", Arial, sans-serif;
    overflow-x: clip;
}

body.no-scroll {
    overflow: hidden;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

img {
    display: block;
    max-width: 100%;
}

button,
input {
    font: inherit;
}

a {
    color: inherit;
    text-decoration: none;
}

a:hover {
    color: #2563EB;
}

button {
    border: none;
    background: none;
    cursor: pointer;
}

.top-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    padding: 12px var(--site-edge-padding);
    background: var(--accent);
    color: #f8f8f8;
    font-size: 0.9rem;
}

.top-bar-left,
.top-bar-right {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.top-bar-item {
    color: inherit;
    text-decoration: none;
}

.top-bar-item--email {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.top-bar-item--email i {
    font-size: 0.95em;
    opacity: 0.9;
}

.top-bar-item--address {
    margin-left: auto;
}

.top-bar-item--cvr,
.top-bar-item--free-shipping {
    flex-shrink: 0;
}

.top-bar a:hover,
.top-bar-item--email:hover {
    color: #2563EB;
}

.navbar {
    position: sticky;
    top: 0;
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 20px;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    padding: 18px var(--site-edge-padding);
    background: #ffffff;
    backdrop-filter: none;
    border-bottom: 1px solid rgba(18, 18, 18, 0.08);
    margin-top: 0;
    overflow: visible;
}

@media (min-width: 901px) {
    :root {
        --zilenzo-topbar-h: 47px;
    }

    .top-bar {
        position: sticky;
        top: 0;
        z-index: 1201;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        align-items: center;
        gap: 16px;
    }

    .top-bar-left,
    .top-bar-item--email {
        justify-self: start;
        grid-column: 1;
    }

    .top-bar-right {
        display: contents;
    }

    .top-bar [data-i18n="top.bar.promo"],
    .top-bar-item--address,
    .top-bar-right span:first-child {
        justify-self: center;
        grid-column: 2;
        margin-left: 0;
        text-align: center;
        font-weight: 600;
        letter-spacing: 0.03em;
        white-space: nowrap;
    }

    .top-bar-item--cvr,
    .top-bar-item--free-shipping,
    .top-bar-right span:last-child {
        justify-self: end;
        grid-column: 3;
        text-align: right;
    }

    .navbar {
        position: sticky;
        top: var(--zilenzo-topbar-h);
        z-index: 1200;
        margin-top: 0;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: nowrap;
        gap: clamp(12px, 1.4vw, 20px);
        padding-block: 14px;
        padding-inline: var(--site-edge-padding);
        min-height: 72px;
        box-sizing: border-box;
    }

    .nav-links {
        flex: 0 1 auto;
        justify-self: auto;
        align-self: center;
        gap: clamp(16px, 1.6vw, 26px);
        margin-right: 0;
    }

    .nav-links a,
    .nav-dropdown-toggle {
        padding-block: 4px;
        padding-inline: 0;
    }

    .navbar > .logo {
        flex: 0 0 auto;
        align-self: center;
        margin: 0;
        margin-right: clamp(8px, 1.2vw, 18px);
    }

    body[data-page="home"] .navbar > .logo {
        margin-left: 0;
        margin-right: clamp(10px, 1.2vw, 16px);
    }

    .navbar > .logo img {
        display: block;
        margin-inline: 0;
        object-position: left center;
    }

    .nav-actions {
        flex: 0 0 auto;
        margin-left: auto;
        align-self: center;
        min-width: 0;
        align-items: center;
    }

    .navbar.is-stuck {
        box-shadow: 0 10px 28px rgba(15, 23, 42, 0.1);
        border-bottom-color: rgba(18, 18, 18, 0.12);
    }
}

.logo {
    flex: 0 0 auto;
    flex-shrink: 0;
}

.logo img {
    height: 38px;
    width: auto;
}

.nav-links {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex: 0 1 auto;
    gap: clamp(18px, 2vw, 28px);
    margin-right: clamp(16px, 2vw, 28px);
    min-width: 0;
    flex-wrap: nowrap;
    overflow: visible;
}

.nav-dropdown {
    position: relative;
    flex: 0 0 auto;
}

.nav-dropdown-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 0;
    border: 0;
    background: transparent;
    color: var(--muted);
    font: inherit;
    font-size: 0.92rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    cursor: pointer;
}

.nav-dropdown-toggle i {
    font-size: 0.72rem;
    transition: transform 0.2s ease;
}

.nav-dropdown.is-open .nav-dropdown-toggle i {
    transform: rotate(180deg);
}

.nav-dropdown-toggle::after,
.nav-dropdown-toggle.active-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background: transparent;
    transition: background 0.2s ease;
}

.nav-dropdown-toggle:hover,
.nav-dropdown-toggle.active-link,
.nav-dropdown.is-active .nav-dropdown-toggle {
    color: var(--ink);
}

.nav-dropdown-toggle:hover::after,
.nav-dropdown-toggle.active-link::after,
.nav-dropdown.is-active .nav-dropdown-toggle::after {
    background: var(--accent);
}

.nav-dropdown-panel {
    position: absolute;
    top: 100%;
    left: 0;
    right: auto;
    z-index: 1300;
    min-width: 240px;
    width: max-content;
    max-width: min(320px, calc(100vw - 32px));
    margin-top: 8px;
    padding: 10px;
    border-radius: 16px;
    border: 1px solid rgba(18, 18, 18, 0.08);
    background: #ffffff;
    box-shadow: 0 18px 40px rgba(13, 15, 44, 0.12);
    gap: 4px;
}

.nav-dropdown-panel[hidden] {
    display: none !important;
}

.nav-dropdown-panel:not([hidden]) {
    display: grid;
}

.nav-dropdown-panel::before {
    content: "";
    position: absolute;
    top: -10px;
    left: 0;
    right: 0;
    height: 10px;
}

.nav-dropdown.is-open {
    z-index: 1310;
}

.nav-dropdown-panel a {
    display: block;
    padding: 10px 12px;
    border-radius: 10px;
    color: var(--ink);
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
}

.nav-dropdown-panel a::after {
    display: none;
}

.nav-dropdown-panel a:hover,
.nav-dropdown-panel a.active-link {
    background: rgba(var(--accent-rgb), 0.08);
    color: #2563EB;
}

.nav-mega .nav-mega-panel {
    min-width: 260px;
    padding: 12px;
}

.nav-mega .nav-mega-panel a {
    padding: 11px 14px;
    font-size: 0.92rem;
    white-space: nowrap;
}

.nav-links a {
    position: relative;
    padding: 4px 0;
    color: var(--muted);
    font-size: 0.92rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.nav-links a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background: var(--accent);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.2s ease;
}

.nav-links a:hover,
.nav-links a.active-link {
    color: #2563EB;
}

.nav-links a:hover::after,
.nav-links a.active-link::after {
    transform: scaleX(1);
}

.nav-links a.nav-link-no-underline::after {
    display: none;
}

.nav-links .nav-dropdown-panel a {
    padding-bottom: 11px;
    text-transform: none;
    letter-spacing: 0;
    font-size: 0.92rem;
    white-space: normal;
}

.nav-links .nav-dropdown-panel a::after {
    display: none;
}

.nav-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 1 1 0;
    gap: 12px;
    margin-left: 0;
    min-width: 0;
    white-space: nowrap;
}

.lang-switch {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}

.skip-link {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    z-index: 10000;
    padding: 0.7rem 1rem;
    border-radius: 999px;
    background: var(--ink);
    color: #fff;
    font-size: 0.88rem;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 8px 24px rgba(3, 4, 18, 0.18);
    transform: translateY(-160%);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.skip-link:focus,
.skip-link:focus-visible {
    transform: translateY(0);
    outline: 3px solid rgba(var(--accent-rgb), 0.55);
    outline-offset: 2px;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.lang-switch--dropdown {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.lang-switch-trigger {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 36px;
    padding: 4px 6px 4px 4px;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: var(--ink);
    box-shadow: none;
    cursor: pointer;
    font: inherit;
    transition: background 0.2s ease;
}

.lang-switch-trigger:hover,
.lang-switch-trigger:focus-visible {
    background: rgba(15, 23, 42, 0.06);
    box-shadow: none;
    outline: 3px solid rgba(var(--accent-rgb), 0.35);
    outline-offset: 2px;
}

.lang-switch.is-open .lang-switch-trigger {
    background: rgba(15, 23, 42, 0.08);
    box-shadow: none;
}

.lang-switch-caret {
    font-size: 0.62rem;
    color: rgba(3, 4, 18, 0.45);
    transition: transform 0.2s ease;
    margin-left: 1px;
}

.lang-switch-label {
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1;
}

.lang-switch-code {
    display: none;
}

.lang-switch-menu {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 1200;
    gap: 2px;
    width: 11.75rem;
    max-width: calc(100vw - 24px);
    padding: 4px;
    border: 1px solid rgba(3, 4, 18, 0.08);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(3, 4, 18, 0.12);
}

.lang-switch-menu[hidden] {
    display: none !important;
}

.lang-switch-menu:not([hidden]) {
    display: grid;
}

.lang-switch.is-open .lang-switch-caret {
    transform: rotate(180deg);
}

.lang-switch-option {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-height: 34px;
    padding: 5px 7px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    text-align: left;
    cursor: pointer;
    transition: background 0.16s ease;
}

.lang-switch-option-copy {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
}

.lang-switch-option-copy strong {
    flex-shrink: 0;
    min-width: 1.35rem;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1;
}

.lang-switch-option-name {
    font-size: 0.78rem;
    font-weight: 500;
    color: rgba(3, 4, 18, 0.62);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lang-switch-option-check {
    display: none;
    font-size: 0.82rem;
    color: var(--accent);
}

.lang-switch-option.is-active .lang-switch-option-check {
    display: block;
}

.lang-switch-option:hover,
.lang-switch-option:focus-visible {
    background: rgba(var(--accent-rgb), 0.07);
    outline: none;
}

.lang-switch-option.is-active {
    background: rgba(var(--accent-rgb), 0.1);
}

.lang-switch-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 0;
    padding: 5px 11px 5px 6px;
    border: 1px solid transparent;
    border-radius: 999px;
    background: transparent;
    color: rgba(3, 4, 18, 0.68);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    line-height: 1;
    cursor: pointer;
    transition:
        background 0.22s ease,
        color 0.22s ease,
        box-shadow 0.22s ease,
        border-color 0.22s ease,
        transform 0.18s ease;
}

.lang-switch-flag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 16px;
    flex-shrink: 0;
}

.lang-switch-flag svg,
.lang-switch-flag .lang-flag-svg {
    display: block;
    width: 100%;
    height: 100%;
}

.lang-switch-trigger .lang-switch-flag {
    width: 24px;
    height: 16px;
}

.lang-switch-option .lang-switch-flag {
    width: 22px;
    height: 15px;
}

.lang-switch-btn:hover,
.lang-switch-btn:focus-visible {
    color: var(--ink);
    background: rgba(255, 255, 255, 0.88);
    border-color: rgba(3, 4, 18, 0.08);
    outline: none;
    transform: translateY(-1px);
}

.lang-switch-btn.is-active {
    background: #fff;
    color: var(--ink);
    border-color: rgba(var(--accent-rgb), 0.22);
    box-shadow:
        0 2px 8px rgba(3, 4, 18, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.lang-switch-btn.is-active .lang-switch-flag {
    filter:
        drop-shadow(0 0 0 1px rgba(var(--accent-rgb), 0.34))
        drop-shadow(0 2px 5px rgba(3, 4, 18, 0.16));
}

.search-container {
    display: flex;
    align-items: center;
    flex: 1 1 280px;
    min-width: 220px;
    max-width: min(420px, 34vw);
    gap: 6px;
    padding: 6px 8px 6px 14px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 999px;
    background: #f4f6f8;
    color: var(--ink);
    box-sizing: border-box;
    transition: border-color 0.16s ease, background 0.16s ease, box-shadow 0.16s ease;
}

.search-container-has-dropdown {
    position: relative;
}

.site-search-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    width: max(100%, min(500px, 92vw));
    max-height: min(70vh, 520px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 12px;
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.14);
    z-index: 1200;
    padding: 10px;
}

.site-search-dropdown-section + .site-search-dropdown-section {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.site-search-dropdown-label {
    padding: 4px 10px 10px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #6b7280;
}

.site-search-dropdown-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    min-width: 0;
    padding: 10px 12px;
    border: none;
    border-radius: 10px;
    background: transparent;
    color: #111111;
    text-align: left;
    cursor: pointer;
    box-sizing: border-box;
}

.site-search-dropdown-item:hover,
.site-search-dropdown-item.is-active {
    background: rgba(15, 23, 42, 0.05);
}

.site-search-dropdown-item i {
    color: #6b7280;
    font-size: 15px;
}

.site-search-dropdown-thumb {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    object-fit: contain;
    object-position: center center;
    background: #f3f4f6;
    flex-shrink: 0;
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.site-search-dropdown-thumb-empty {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #6b7280;
    background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
}

.site-search-dropdown-thumb-empty img {
    width: 22px;
    height: auto;
    opacity: 0.72;
}

.site-search-dropdown-copy {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    overflow: hidden;
}

.site-search-dropdown-title {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
    color: #111111;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.site-search-dropdown-price {
    font-size: 12px;
    font-weight: 500;
    color: #6b7280;
}

.site-search-dropdown-copy strong {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.site-search-dropdown-copy span {
    font-size: 12px;
    color: #6b7280;
}

.site-search-dropdown-empty {
    padding: 14px 12px;
    color: #6b7280;
    font-size: 14px;
}

.search-container:focus-within {
    border-color: rgba(var(--accent-contrast-rgb, 20, 92, 56), 0.45);
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(var(--accent-contrast-rgb, 20, 92, 56), 0.14);
}

.search-container input {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    border: none !important;
    background: transparent !important;
    outline: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    color: var(--ink);
    font-size: 0.92rem;
    line-height: 1.2;
    min-height: 0 !important;
}

.search-container input::placeholder {
    color: rgba(3, 4, 18, 0.45);
    font-size: 0.88rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.search-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    border: none;
    background: transparent;
    border-radius: 999px;
    color: var(--ink);
    cursor: pointer;
    padding: 0;
}

.search-btn:hover {
    background: rgba(var(--accent-contrast-rgb, 20, 92, 56), 0.1);
    color: var(--accent-contrast, #145C38);
}

.icon-link,
.account-toggle-btn,
.mobile-nav-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--ink);
}

.icon-link {
    position: relative;
    font-size: 1rem;
}

.account-toggle-btn {
    min-height: 44px;
    padding: 0 10px;
    border-radius: var(--btn-radius);
    font-weight: 600;
}

.account-toggle-btn:hover {
    background: var(--surface-alt);
    color: var(--surface-alt-text);
}

.nav-actions > .icon-link:not(.account-toggle-btn):not(.cart-icon) {
    width: 44px;
    height: 44px;
    border-radius: var(--btn-radius);
    text-decoration: none;
    border: 1px solid transparent;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.nav-actions > .icon-link:not(.account-toggle-btn):not(.cart-icon):hover {
    background: rgba(var(--accent-rgb), 0.08);
    color: var(--accent);
    border-color: rgba(var(--accent-rgb), 0.12);
    transform: translateY(-1px);
}

.nav-actions > a.account-toggle-btn,
.nav-actions > .account-toggle-btn.icon-link {
    width: auto;
    min-width: 44px;
    height: 44px;
    padding: 0 14px;
    gap: 8px;
    text-decoration: none;
    border: 1px solid transparent;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.nav-actions > a.account-toggle-btn:hover,
.nav-actions > .account-toggle-btn.icon-link:hover,
.nav-actions > button.account-toggle-btn:hover {
    background: rgba(var(--accent-rgb), 0.08);
    color: #2563EB;
    border-color: rgba(var(--accent-rgb), 0.12);
    transform: translateY(-1px);
}

.nav-actions > a.cart-icon,
.nav-actions > button.cart-icon {
    border: none;
    text-decoration: none;
    cursor: pointer;
    font-family: inherit;
}

.nav-actions > .icon-link i,
.nav-actions > .account-toggle-btn i {
    font-size: 1.12rem;
}

.account-menu {
    position: relative;
}

.nav-actions > .account-menu {
    flex: 0 0 auto;
}

.nav-actions > .account-menu > .account-toggle-btn {
    width: auto;
    min-width: 44px;
    max-width: none;
    height: 44px;
    padding: 0 12px 0 10px;
    justify-content: flex-start;
}

.nav-actions > .account-menu > .account-toggle-btn [data-account-label] {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    white-space: nowrap;
    text-overflow: clip;
    max-width: none;
    font-size: 0.92rem;
}

.account-menu-caret {
    font-size: 0.82rem;
    color: var(--muted);
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

.account-menu.is-open .account-menu-caret {
    transform: rotate(180deg);
}

.account-menu-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 230px;
    padding: 8px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.14);
    z-index: 1200;
}

.account-menu-dropdown[hidden] {
    display: none !important;
}

.account-menu.is-open .account-menu-dropdown:not([hidden]) {
    display: block;
}

.account-menu-dropdown-header {
    padding: 8px 10px 10px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    margin-bottom: 6px;
}

.account-menu-dropdown-header strong {
    display: block;
    font-size: 0.95rem;
    color: var(--ink);
}

.account-menu-dropdown-header span {
    display: block;
    margin-top: 2px;
    font-size: 0.8rem;
    color: var(--muted);
}

.account-menu-dropdown a,
.account-menu-dropdown button {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 12px;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: var(--ink);
    text-decoration: none;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: background-color 0.16s ease, color 0.16s ease;
}

.account-menu-dropdown a i,
.account-menu-dropdown button i {
    color: var(--muted);
    transition: color 0.16s ease;
}

.account-menu-dropdown a:hover,
.account-menu-dropdown a:focus-visible,
.account-menu-dropdown button:hover,
.account-menu-dropdown button:focus-visible {
    background: rgba(var(--accent-rgb), 0.08);
    color: var(--accent);
    outline: none;
}

.account-menu-dropdown a:hover i,
.account-menu-dropdown a:focus-visible i,
.account-menu-dropdown button:hover i,
.account-menu-dropdown button:focus-visible i {
    color: var(--accent);
}

.account-menu-dropdown .account-menu-logout {
    color: #8f1111;
}

.account-menu-dropdown .account-menu-logout i {
    color: #8f1111;
}

.account-menu-dropdown .account-menu-logout:hover,
.account-menu-dropdown .account-menu-logout:focus-visible {
    background: #fff1f1;
    color: #8f1111;
}

.account-menu-dropdown .account-menu-logout:hover i,
.account-menu-dropdown .account-menu-logout:focus-visible i {
    color: #8f1111;
}

.nav-actions > .account-toggle-btn:not(.account-toggle-btn--labeled) {
    width: 44px;
    height: 44px;
    padding: 0;
}

.menu-badge,
.mobile-badge {
    position: absolute;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    color: #ffffff;
    font-size: 0.68rem;
    font-weight: 700;
}

.menu-badge {
    top: 2px;
    right: 0;
}

.mobile-badge {
    top: -4px;
    right: 20px;
}

.badge-red {
    background: var(--wishlist-red);
}

.badge-dark {
    background: var(--accent);
}

.mobile-nav-item [data-cart-count].mobile-badge {
    top: -4px;
    right: 20px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: var(--accent);
    color: #ffffff;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 2px 8px rgba(var(--accent-rgb), 0.35);
}

[data-cart-count][hidden],
[data-wishlist-count][hidden] {
    display: none !important;
}

.cart-icon,
.primary-btn,
.primary-link,
.secondary-btn,
.slide-btn {
    border-radius: var(--btn-radius);
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

.slide-btn {
    background: var(--accent);
    color: #ffffff;
    border: var(--btn-border-width) solid var(--accent);
    box-sizing: border-box;
}

.cart-icon {
    background: var(--accent-contrast, #145C38);
    color: #ffffff;
    border: 8px solid var(--accent-contrast, #145C38);
    box-sizing: border-box;
}

.primary-btn,
.primary-link {
    background: var(--accent-contrast);
    color: #ffffff;
    border: var(--btn-border-width) solid var(--accent-contrast);
    box-sizing: border-box;
}

.cart-icon {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    gap: 10px;
    min-height: 44px;
    padding: 0 16px;
    font-weight: 700;
    font-size: 0.92rem;
    letter-spacing: -0.01em;
}

.cart-icon i {
    font-size: 1.05rem;
    flex-shrink: 0;
    color: #ffffff;
}

.cart-icon-graphic {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1.35rem;
    height: 1.35rem;
    color: #ffffff;
}

.cart-icon-graphic > i {
    font-size: 1.28rem;
    line-height: 1;
    color: #ffffff;
}

.cart-icon > .cart-icon-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.cart-icon .cart-count-badge,
.cart-icon [data-cart-count].cart-count-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 7px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
}

.cart-icon-graphic > .cart-count-badge,
.cart-icon-graphic > [data-cart-count].cart-count-badge {
    position: absolute;
    top: -7px;
    right: -10px;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    font-size: 0.62rem;
    background: #ffffff;
    color: var(--accent-dark, #002640);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.92);
}

.slide-btn:hover {
    transform: translateY(-1px);
    background: var(--accent-dark);
    border-color: var(--accent-dark);
}

.cart-icon:hover {
    transform: translateY(-1px);
    background: var(--accent-contrast-dark, #145C38);
    border-color: var(--accent-contrast-dark, #145C38);
}

.primary-btn:hover,
.primary-link:hover {
    transform: translateY(-1px);
    background: var(--accent-contrast-dark);
    border-color: var(--accent-contrast-dark);
}

.cart-icon.has-items {
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.18), 0 10px 24px rgba(13, 15, 44, 0.18);
}

.primary-btn,
.secondary-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    padding: 0 22px;
    font-weight: 700;
}

.primary-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.primary-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 22px;
    font-weight: 700;
}

.secondary-btn {
    background: #ffffff;
    color: var(--ink);
    border: var(--btn-border-width) solid var(--line);
    box-sizing: border-box;
}

.secondary-btn:hover {
    border-color: rgba(var(--accent-rgb), 0.4);
    color: var(--accent);
}

.secondary-btn.is-active:not([data-wishlist-toggle]) {
    border-color: rgba(var(--accent-rgb), 0.4);
    color: var(--accent);
}

.full-width {
    width: 100%;
}

.eyebrow,
.section-kicker,
.product-kicker {
    margin: 0;
    color: var(--accent);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.page-main {
    min-height: calc(100vh - 180px);
}

.slideshow-container {
    position: relative;
    min-height: 68vh;
    background: #0d0d0d;
    overflow: hidden;
}

.slideshow-wrapper {
    position: relative;
    width: 100%;
    min-height: 68vh;
}

.slide {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    padding: 0 8%;
    background-size: cover;
    background-position: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.45s ease;
}

.slide.active-slide {
    opacity: 1;
    visibility: visible;
}

.slide-content {
    max-width: 640px;
    color: #ffffff;
}

.slide-content h1 {
    margin: 10px 0 14px;
    font-size: clamp(2.5rem, 5vw, 4.6rem);
    line-height: 0.95;
    text-transform: uppercase;
}

.slide-content p {
    margin: 0 0 28px;
    font-size: 1.08rem;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.88);
}

.slide-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 15px 22px;
}

.slide-arrow,
.prod-arrow,
.close-cart-btn,
.close-modal-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.slide-arrow {
    position: absolute;
    top: 50%;
    z-index: 2;
    width: 52px;
    height: 52px;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.14);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.22);
}

.slide-arrow:hover {
    background: rgba(255, 255, 255, 0.22);
}

.slide-arrow.prev {
    left: 28px;
}

.slide-arrow.next {
    right: 28px;
}

.product-slider-section,
.content-shell {
    padding: 72px 4%;
}

.slider-header,
.product-slider-wrapper,
.page-hero,
.content-shell,
.footer-container {
    max-width: var(--site-width);
    margin: 0 auto;
}

.product-slider-section .slider-header,
.product-slider-section .product-slider-wrapper {
    max-width: none;
    width: 100%;
}

.slider-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 32px;
}

.slider-actions {
    display: flex;
    align-items: center;
    gap: 16px;
}

.slider-counter {
    margin: 0;
    color: var(--muted);
    font-size: 0.95rem;
}

.section-title,
.section-heading h2,
.page-hero h1,
.status-card h1,
.product-detail-copy h1 {
    margin: 10px 0 0;
    font-size: clamp(2rem, 4vw, 3.1rem);
    line-height: 1;
}

.slider-arrows-container {
    display: flex;
    gap: 10px;
}

.prod-arrow,
.close-cart-btn,
.close-modal-btn {
    width: 46px;
    height: 46px;
    background: #ffffff;
    border: 1px solid var(--line);
    color: var(--ink);
}

.prod-arrow:hover,
.close-cart-btn:hover,
.close-modal-btn:hover {
    background: rgba(var(--accent-rgb), 0.08);
    border-color: rgba(var(--accent-rgb), 0.18);
    color: var(--accent);
}

.prod-arrow:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.product-slider-wrapper {
    overflow: hidden;
}

.product-slider-track {
    display: flex;
    align-items: stretch;
    gap: 24px;
    transition: transform 0.35s ease;
    will-change: transform;
}

.product-slider-track.is-empty {
    transform: none !important;
}

.product-card {
    flex: 0 0 calc((100% - 72px) / 4);
    display: flex;
    flex-direction: column;
    min-height: 610px;
    height: 100%;
    background: var(--surface);
    border: 1px solid rgba(18, 18, 18, 0.05);
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow);
}

.product-card-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.product-image-box {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 320px;
    min-height: 320px;
    padding: 24px;
    background: var(--product-media-bg);
}

img.product-jpg-blend,
.product-image-box img.product-jpg-blend,
.zilenzo-product-image img.product-jpg-blend,
.product-detail-image.product-jpg-blend,
.zilenzo-model-carousel-image.product-jpg-blend {
    mix-blend-mode: multiply;
}

.product-png {
    width: 216px;
    height: 260px;
    max-width: 72%;
    max-height: 260px;
    object-fit: contain;
}

.product-image-fallback {
    object-fit: contain;
    padding: 24px;
    opacity: 0.35;
    background: #f7f7f7;
}

.wishlist-add-btn {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    color: var(--ink);
    box-shadow: 0 8px 18px rgba(18, 18, 18, 0.12);
}

.wishlist-add-btn.is-active {
    color: var(--wishlist-red);
}

.wishlist-add-btn:hover {
    color: var(--ink);
}

.wishlist-add-btn.is-active:hover {
    color: var(--wishlist-red-dark);
}

[data-wishlist-toggle].is-active,
[data-wishlist-toggle].is-active i,
.catalog-product-card__wishlist.is-active,
.catalog-product-card__wishlist.is-active i,
.product-detail-wishlist.is-active,
.product-detail-wishlist.is-active i {
    color: var(--wishlist-red);
}

[data-wishlist-toggle].is-active {
    border-color: rgba(var(--wishlist-red-rgb), 0.35);
}

.product-info {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 24px 24px 12px;
}

.product-info h3 {
    margin: 10px 0 8px;
    font-size: 1.15rem;
}

.product-info h3 a:hover {
    color: #2563EB;
}

.product-description,
.page-hero p,
.status-card p,
.detail-text,
.form-note,
.account-status-text {
    margin: 0;
    color: var(--muted);
    line-height: 1.65;
}

.product-description {
    min-height: 3.3em;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.price {
    margin-top: auto;
    font-size: 1.2rem;
    font-weight: 800;
}

.detail-price {
    margin-top: 0;
    font-size: 1.2rem;
    font-weight: 800;
}

.product-card-actions {
    padding: 0 24px 24px;
}

.add-to-cart-btn {
    width: 100%;
    min-height: 50px;
    border-radius: var(--btn-radius);
    background: var(--accent-contrast);
    border: var(--btn-border-width) solid var(--accent-contrast);
    color: #ffffff;
    font-weight: 700;
    box-sizing: border-box;
}

.add-to-cart-btn:hover:not(:disabled) {
    background: var(--accent-contrast-dark);
    border-color: var(--accent-contrast-dark);
}

.add-to-cart-btn.large {
    max-width: 240px;
}

.empty-track,
.empty-state,
.drawer-empty-state,
.status-card {
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 44px;
    border-radius: var(--radius-md);
    border: 1px dashed rgba(255, 255, 255, 0.18);
    background: var(--surface-alt);
    color: var(--surface-alt-text);
}

.empty-track {
    flex: 0 0 100%;
    min-height: 280px;
}

.empty-track i,
.empty-state i {
    font-size: 2.4rem;
    color: #ffffff;
}

.drawer-empty-state i {
    font-size: 2.4rem;
    color: var(--accent);
}

.page-hero {
    padding: 72px 4% 28px;
}

.page-hero.compact {
    padding-bottom: 10px;
}

.page-hero h1 {
    margin-bottom: 12px;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}

.section-heading.left,
.section-heading {
    margin-bottom: 22px;
}

.section-heading h2 {
    font-size: 1.8rem;
}

.section-card,
.account-modal,
.cart-drawer,
.status-card {
    background: #ffffff;
    border: 1px solid rgba(18, 18, 18, 0.06);
    box-shadow: var(--shadow);
}

.section-card {
    padding: 28px;
    border-radius: var(--radius-md);
}

.webshop-editor-grid {
    display: grid;
    gap: 24px;
}

.webshop-editor-grid--1 {
    grid-template-columns: 1fr;
}

.webshop-editor-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.webshop-editor-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.webshop-editor-grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.webshop-editor-grid--5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

/* Layout-rækker: samme fulde bredde som produkt-slideren ovenover */
section.webshop-editor-row.content-shell,
.content-shell.webshop-editor-row {
    max-width: none;
    width: 100%;
    margin: 0;
    padding: 48px 70px 72px;
    box-sizing: border-box;
}

section.webshop-editor-row .webshop-editor-grid,
.content-shell.webshop-editor-row .webshop-editor-grid {
    width: 100%;
    max-width: none;
}

section.webshop-editor-row .section-card,
.content-shell.webshop-editor-row .section-card {
    width: 100%;
    min-width: 0;
}

.product-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 30px;
    min-width: 0;
}

.product-detail-layout > * {
    min-width: 0;
}

.product-detail-media {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 520px;
    padding: 30px;
    border-radius: var(--radius-md);
    background: #ffffff;
}

.product-detail-image {
    max-height: 420px;
    object-fit: contain;
}

.product-detail-copy {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 4px 0 12px;
}

.stock-line {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    width: fit-content;
    margin: 0;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(var(--accent-rgb), 0.08);
    color: var(--success);
    font-size: 0.95rem;
    font-weight: 700;
}

.stock-line-out {
    background: rgba(160, 0, 0, 0.08);
    color: #a00000;
}

.product-stock-alert {
    display: grid;
    gap: 12px;
    width: 100%;
    padding: 16px;
    border-radius: 16px;
    border: 1px solid rgba(var(--accent-rgb), 0.16);
    background: rgba(var(--accent-rgb), 0.05);
}

.product-stock-alert__title {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.45;
    color: var(--ink);
}

.product-stock-alert__title i {
    color: var(--accent);
    font-size: 1.1rem;
    margin-top: 2px;
}

.product-stock-alert__form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}

.product-stock-alert__field {
    display: block;
    min-width: 0;
}

.product-stock-alert__field input {
    width: 100%;
    min-height: 46px;
    padding: 0 14px;
    border: 1px solid rgba(3, 4, 18, 0.12);
    border-radius: 12px;
    background: #fff;
    font-size: 0.95rem;
}

.product-stock-alert__submit {
    min-height: 46px;
    white-space: nowrap;
}

.product-stock-alert__feedback {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.45;
}

.product-stock-alert__feedback.is-success {
    color: var(--success);
}

.product-stock-alert__feedback.is-error {
    color: #a00000;
}

.zilenzo-product-stock-alert-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

@media (max-width: 640px) {
    .product-stock-alert__form {
        grid-template-columns: 1fr;
    }

    .product-stock-alert__submit {
        width: 100%;
    }
}

.product-accessories,
.product-upsells {
    display: grid;
    gap: 12px;
    padding: 18px 0 4px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.product-accessories-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
}

.product-accessories-header h2 {
    margin: 0;
    font-size: 1rem;
}

.product-accessories-header span {
    color: var(--muted);
    font-size: 0.9rem;
}

.product-accessories-list,
.product-upsell-list {
    display: grid;
    gap: 10px;
}

.product-accessory-item,
.product-upsell-item {
    display: grid;
    grid-template-columns: auto 52px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 14px;
    background: #fff;
    text-decoration: none;
    color: inherit;
}

.product-upsell-item {
    grid-template-columns: 52px minmax(0, 1fr);
}

.product-accessory-item.is-disabled {
    opacity: 0.55;
}

.product-accessory-media {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 10px;
    background: #f5f6fa;
    overflow: hidden;
}

.product-accessory-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.product-accessory-copy {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.product-accessory-copy strong {
    font-size: 0.95rem;
}

.product-accessory-copy span {
    color: var(--muted);
    font-size: 0.88rem;
}

.size-selector {
    display: grid;
    gap: 14px;
    padding: 18px 0 4px;
}

.size-selector-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
}

.size-selector-header h2 {
    margin: 0;
    font-size: 1rem;
    letter-spacing: 0;
}

.size-selector-header span {
    color: var(--muted);
    font-size: 0.9rem;
}

.size-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.size-option {
    min-height: 48px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #ffffff;
    color: var(--ink);
    font-weight: 800;
    transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.size-option:hover,
.size-option.is-selected {
    border-color: var(--accent);
    background: var(--accent);
    color: #ffffff;
}

.product-info-panels {
    display: grid;
    border-top: 1px solid var(--line);
}

.product-info-panel {
    border-bottom: 1px solid var(--line);
}

.product-info-panel summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 64px;
    padding: 14px 0;
    color: var(--ink);
    font-weight: 800;
    list-style: none;
    cursor: pointer;
}

.product-info-panel summary::-webkit-details-marker {
    display: none;
}

.product-info-panel summary::after {
    content: "+";
    color: var(--muted);
    font-size: 1.2rem;
    font-weight: 500;
}

.product-info-panel[open] summary::after {
    content: "-";
}

.product-info-panel p,
.product-info-panel ul {
    margin: 0 0 22px;
    padding-bottom: 4px;
    color: var(--muted);
    line-height: 1.65;
}

.product-info-panel ul {
    padding-left: 18px;
}

.size-read-more {
    margin: 12px 0 18px;
    padding: 12px 14px;
    border-radius: 12px;
    background: var(--surface-alt);
}

.product-info-panel .size-read-more summary {
    min-height: auto;
    font-size: 0.92rem;
}

.product-info-panel .size-read-more summary::after {
    content: "+";
}

.product-info-panel .size-read-more[open] summary::after {
    content: "-";
}

.product-info-panel .size-read-more p {
    margin: 10px 0 0;
    font-size: 0.92rem;
}

.tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.tag-pill {
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(226, 85, 47, 0.08);
    color: var(--accent);
    font-size: 0.88rem;
    font-weight: 700;
    text-transform: capitalize;
}

.detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.checkout-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    gap: 28px;
}

body[data-page="checkout"] .checkout-page-main {
    width: 100%;
    max-width: none;
}

body[data-page="checkout"] .checkout-page-hero,
body[data-page="checkout"] .content-shell.checkout-layout {
    max-width: none;
    width: 100%;
    margin: 0;
    padding-left: var(--site-edge-padding);
    padding-right: var(--site-edge-padding);
    box-sizing: border-box;
}

body[data-page="checkout"] .checkout-page-hero {
    padding-top: 48px;
    padding-bottom: 16px;
}

body[data-page="checkout"] .content-shell.checkout-layout {
    padding-top: 24px;
    padding-bottom: 72px;
}

.checkout-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.checkbox-field,
.checkout-consent-field {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    font-size: 0.92rem;
    line-height: 1.55;
    font-weight: 500;
    color: var(--ink);
}

.checkbox-field input,
.checkout-consent-field input {
    margin-top: 4px;
    flex-shrink: 0;
}

.checkout-consent-field a,
.checkout-trust-note a {
    text-decoration: underline;
}

.checkout-pay-trust {
    text-align: center;
    color: var(--muted);
}

.contact-success-card[hidden] {
    display: none !important;
}

.contact-success-card {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 16px 18px;
    border-radius: 14px;
    background: rgba(16, 185, 129, 0.08);
    border: 1px solid rgba(16, 185, 129, 0.22);
    margin-bottom: 18px;
}

.contact-success-card i {
    color: #059669;
    font-size: 1.25rem;
    margin-top: 2px;
}

.footer-bottom-trust {
    margin: 6px 0 0;
    font-size: 0.84rem;
    color: rgba(255, 255, 255, 0.82);
    text-align: center;
}

.checkout-form.is-disabled {
    opacity: 0.92;
}

.checkout-form.is-disabled .checkout-payment-block,
.checkout-form.is-disabled .form-field,
.checkout-form.is-disabled .summary-line {
    opacity: 1;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.form-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    color: var(--ink);
    font-weight: 600;
}

.form-field span {
    font-size: 0.9rem;
}

.form-field input {
    min-height: 50px;
    padding: 0 16px;
    border: 1px solid var(--line);
    border-radius: 16px;
    outline: none;
    background: #ffffff;
}

.form-field input:focus {
    border-color: rgba(var(--accent-rgb), 0.45);
    box-shadow: 0 0 0 4px rgba(var(--accent-rgb), 0.08);
}

.checkbox-row {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--muted);
}

.checkbox-row input {
    width: 18px;
    height: 18px;
}

.summary-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 0;
    border-top: 1px solid var(--line);
}

.summary-total {
    font-size: 1.06rem;
    font-weight: 800;
}

.checkout-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 0;
    border-bottom: 1px solid var(--line);
}

.checkout-item-img {
    width: 80px;
    height: 80px;
    padding: 10px;
    border-radius: 18px;
    border: 1px solid rgba(0, 0, 0, 0.05);
    background: var(--surface-soft);
    object-fit: contain;
}

.checkout-item-copy {
    flex: 1;
}

.checkout-item-copy h3 {
    margin: 0 0 6px;
}

.checkout-item-copy p {
    margin: 0;
    color: var(--muted);
}

.checkout-item-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 4px;
}

.checkout-item-qty {
    margin-left: auto;
}

.checkout-v2-items .checkout-item-copy h3 {
    font-size: 0.95rem;
    line-height: 1.35;
}

.thanks-shell {
    display: grid;
    gap: 24px;
}

.club-thanks-shell {
    max-width: 760px;
    margin: 0 auto;
    padding: clamp(28px, 5vw, 48px) 0 64px;
}

.club-thanks-card {
    padding: clamp(32px, 5vw, 52px);
    border-radius: var(--radius-lg);
    border: 1px solid rgba(15, 23, 42, 0.08);
    background:
        linear-gradient(165deg, rgba(var(--accent-rgb), 0.06) 0%, rgba(255, 255, 255, 1) 42%),
        #ffffff;
    box-shadow: var(--shadow);
    text-align: center;
}

.club-thanks-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 14px;
    font-size: 0.78rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--accent);
    font-weight: 700;
}

.club-thanks-kicker::before,
.club-thanks-kicker::after {
    content: "";
    width: 28px;
    height: 1px;
    background: rgba(var(--accent-rgb), 0.35);
}

.club-thanks-card h1 {
    margin: 0 0 12px;
    font-size: clamp(1.8rem, 4vw, 2.5rem);
    color: var(--ink);
    line-height: 1.15;
}

.club-thanks-lead {
    margin: 0 auto 18px;
    max-width: 34rem;
    color: var(--muted);
    font-size: 1.05rem;
    line-height: 1.75;
}

.club-thanks-email-note {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 auto 28px;
    padding: 12px 16px;
    border-radius: 999px;
    background: rgba(var(--accent-rgb), 0.08);
    color: var(--accent);
    font-size: 0.95rem;
}

.club-thanks-perks {
    display: grid;
    gap: 12px;
    margin: 0 0 28px;
    padding: 0;
    list-style: none;
    text-align: left;
}

.club-thanks-perks li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 16px;
    background: var(--bg-soft);
    color: var(--charcoal);
    line-height: 1.55;
}

.club-thanks-perks i {
    color: var(--accent);
    font-size: 1.1rem;
    margin-top: 2px;
}

.club-thanks-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
}

.status-card {
    padding: 38px;
    border-radius: var(--radius-md);
}

.status-card.compact {
    align-items: flex-start;
    text-align: left;
}

.status-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    color: var(--muted);
    font-size: 0.95rem;
}

.order-list {
    display: grid;
    gap: 12px;
    margin: 22px 0;
}

.order-list-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.cart-overlay,
.modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 2190;
    background: rgba(10, 10, 10, 0.45);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

.cart-overlay.open,
.modal-overlay.open {
    opacity: 1;
    pointer-events: auto;
}

.cart-drawer {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 2200;
    display: flex;
    flex-direction: column;
    width: min(440px, 100%);
    max-width: 100%;
    height: 100vh;
    height: 100dvh;
    background: #ffffff;
    box-shadow: -20px 0 48px rgba(0, 63, 36, 0.14);
    transform: translateX(100%);
    pointer-events: none;
    visibility: hidden;
    transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.32s ease;
}

.cart-drawer.open {
    transform: translateX(0);
    pointer-events: auto;
    visibility: visible;
}

.cart-drawer-header,
.cart-drawer-footer {
    flex-shrink: 0;
    padding: 20px 24px;
    background: #ffffff;
}

.cart-drawer-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid rgba(var(--accent-rgb), 0.08);
}

.cart-drawer-header-copy {
    min-width: 0;
}

.cart-drawer-header h3,
.cart-drawer-footer h3 {
    margin: 0;
    font-size: 1.28rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--ink);
}

.cart-drawer-header-meta {
    margin: 6px 0 0;
    color: rgba(3, 4, 18, 0.56);
    font-size: 0.88rem;
    font-weight: 600;
}

.cart-drawer-content {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: linear-gradient(180deg, #f7faf8 0%, #ffffff 100%);
    -webkit-overflow-scrolling: touch;
}

.cart-drawer-footer {
    border-top: 1px solid rgba(var(--accent-rgb), 0.08);
    box-shadow: 0 -16px 40px rgba(0, 63, 36, 0.08);
}

.cart-drawer-actions {
    display: grid;
    gap: 10px;
}

.cart-total-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
    padding: 14px 16px;
    border-radius: 12px;
    background: rgba(var(--accent-rgb), 0.06);
}

.cart-total-line span {
    font-size: 0.95rem;
    font-weight: 700;
    color: rgba(3, 4, 18, 0.72);
}

.cart-total-line strong {
    font-size: 1.22rem;
    font-weight: 800;
    color: var(--accent);
    letter-spacing: -0.02em;
}

.cart-summary-lines {
    display: grid;
    gap: 8px;
    margin-bottom: 14px;
}

.cart-summary-lines .cart-total-line {
    margin-bottom: 0;
    padding: 10px 14px;
}

.cart-summary-subtotal strong,
.cart-summary-shipping strong {
    font-size: 1rem;
    font-weight: 700;
    color: rgba(3, 4, 18, 0.82);
}

.cart-summary-shipping strong.is-free {
    color: var(--accent-contrast);
}

.cart-summary-total {
    background: rgba(var(--accent-rgb), 0.1);
}

.cart-summary-total strong {
    font-size: 1.28rem;
}

.cart-free-shipping {
    margin-bottom: 14px;
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid rgba(var(--accent-rgb), 0.12);
    background: linear-gradient(180deg, #f8fbf9 0%, #ffffff 100%);
}

.cart-free-shipping.is-unlocked {
    border-color: rgba(22, 163, 74, 0.28);
    background: linear-gradient(180deg, #f0fdf4 0%, #ffffff 100%);
    box-shadow: 0 10px 24px rgba(22, 163, 74, 0.08);
}

.cart-free-shipping-head {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.cart-free-shipping-icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: rgba(var(--accent-rgb), 0.1);
    color: var(--accent);
    font-size: 1rem;
}

.cart-free-shipping.is-unlocked .cart-free-shipping-icon {
    background: rgba(22, 163, 74, 0.14);
    color: var(--accent-contrast);
}

.cart-free-shipping-text {
    margin: 0;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.45;
    color: rgba(3, 4, 18, 0.82);
}

.cart-free-shipping.is-unlocked .cart-free-shipping-text {
    color: #166534;
}

.cart-free-shipping-track {
    margin-top: 10px;
    height: 8px;
    border-radius: 999px;
    background: rgba(var(--accent-rgb), 0.1);
    overflow: hidden;
}

.cart-free-shipping-fill {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--accent) 0%, var(--accent-contrast) 100%);
    transition: width 0.35s ease;
}

.cart-free-shipping.is-unlocked .cart-free-shipping-fill {
    background: var(--accent-contrast);
}

.cart-free-shipping-hint {
    margin: 8px 0 0;
    font-size: 0.78rem;
    font-weight: 600;
    color: rgba(3, 4, 18, 0.5);
}

.cart-free-shipping-hint:empty {
    display: none;
    margin: 0;
}

.cart-shipping-free,
#checkoutShipping.is-free,
#cartShippingBridge.is-free {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--accent-contrast);
    font-weight: 800;
}

.cart-shipping-free i,
#checkoutShipping.is-free i,
#cartShippingBridge.is-free i {
    font-size: 1.05rem;
}

.checkout-free-shipping-slot {
    margin: 4px 0 12px;
}

.checkout-shipping-line strong {
    font-weight: 800;
}

.cart-item {
    display: flex;
    align-items: stretch;
    gap: 14px;
    padding: 14px;
    border: 1px solid rgba(var(--accent-rgb), 0.08);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 10px 28px rgba(0, 63, 36, 0.05);
}

.cart-item-media {
    flex-shrink: 0;
}

.cart-item-img {
    display: block;
    width: 88px;
    height: 88px;
    padding: 8px;
    border-radius: 14px;
    border: 1px solid rgba(0, 0, 0, 0.05);
    background: #f8faf9;
    object-fit: contain;
}

.cart-item-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.cart-item-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.cart-item-head h4,
.cart-item-details h4 {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.35;
    font-weight: 800;
    color: var(--ink);
}

.cart-item-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.cart-item-size-pill {
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(var(--accent-rgb), 0.1);
    color: var(--accent);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.cart-item-unit-price {
    margin: 0;
    color: rgba(3, 4, 18, 0.56);
    font-size: 0.84rem;
    font-weight: 600;
}

.cart-item-size-guide-link {
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--accent);
    font: inherit;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

.cart-item-size-guide-link:hover,
.cart-item-size-guide-link:focus-visible {
    color: var(--accent-dark);
}

.cart-item-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
}

.cart-item-line-total {
    flex-shrink: 0;
    font-size: 1rem;
    font-weight: 800;
    color: var(--accent);
    white-space: nowrap;
}

.cart-item-qty {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px;
    border-radius: 999px;
    background: #f3f6f5;
    border: 1px solid rgba(var(--accent-rgb), 0.08);
}

.cart-item-qty button {
    width: 30px;
    height: 30px;
    border: 1px solid rgba(var(--accent-rgb), 0.14);
    border-radius: 50%;
    background: #ffffff;
    color: var(--accent);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
}

.cart-item-qty button:hover {
    background: rgba(var(--accent-rgb), 0.08);
    border-color: rgba(var(--accent-rgb), 0.24);
}

.cart-item-qty span {
    min-width: 20px;
    text-align: center;
    font-size: 0.92rem;
    font-weight: 800;
    color: var(--ink);
}

.remove-item-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    border: none;
    border-radius: 50%;
    color: rgba(3, 4, 18, 0.45);
    background: #f3f4f6;
    font-size: 0.9rem;
}

.remove-item-btn:hover {
    color: #a00000;
    background: rgba(160, 0, 0, 0.08);
}

.drawer-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: min(52vh, 360px);
    margin: 8px 0;
    padding: 36px 24px;
    border-radius: 18px;
    border: 1px dashed rgba(var(--accent-rgb), 0.18);
    background: #ffffff;
    color: var(--ink);
    text-align: center;
}

.drawer-empty-state i {
    font-size: 2.5rem;
    color: var(--accent);
    opacity: 0.72;
}

.drawer-empty-state p {
    margin: 0;
    max-width: 24ch;
    color: rgba(3, 4, 18, 0.68);
    font-size: 0.96rem;
    line-height: 1.5;
}

.cart-drawer-continue {
    min-height: 46px;
}

.account-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 2300;
    width: min(440px, calc(100vw - 32px));
    padding: 34px 30px 30px;
    border-radius: 28px;
    border: 1px solid rgba(var(--accent-rgb), 0.12);
    transform: translate(-50%, -50%) scale(0.96);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.account-modal .close-modal-btn {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 2;
}

.account-modal.open {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, -50%) scale(1);
}

.account-modal h2 {
    margin: 10px 0 12px;
    font-size: 1.9rem;
}

.account-modal .modal-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    padding: 4px;
    margin: 24px 0 20px;
    border-radius: 999px;
    background: #edf2ef;
    border: 1px solid rgba(var(--accent-rgb), 0.14);
}

.account-modal .tab-btn {
    min-height: 46px;
    padding: 0 16px;
    border-radius: 999px;
    color: #667085;
    font-weight: 700;
    font-size: 0.92rem;
    letter-spacing: 0.01em;
    background: transparent;
    border: none;
    cursor: pointer;
    transition: background 0.22s ease, color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
}

.account-modal .tab-btn:hover:not(.active) {
    color: var(--accent);
    background: rgba(255, 255, 255, 0.55);
}

.account-modal .tab-btn.active {
    background: var(--accent);
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(var(--accent-rgb), 0.24);
    transform: translateY(-1px);
}

.form-panel {
    display: none;
    gap: 14px;
}

.form-panel.active {
    display: grid;
}

.text-link {
    margin-top: 18px;
    color: var(--accent);
    font-weight: 700;
}

.toast-stack {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 2600;
    display: grid;
    gap: 10px;
}

.toast {
    padding: 14px 18px;
    border-radius: 16px;
    background: var(--accent);
    color: #ffffff;
    box-shadow: 0 18px 30px rgba(18, 18, 18, 0.18);
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.toast.is-hiding {
    opacity: 0;
    transform: translateY(8px);
}

.site-footer {
    position: relative;
    width: 100%;
    margin-top: 48px;
    padding: 0;
    background: #000000;
    color: #ffffff;
    overflow-x: clip;
}

.site-footer--editorial,
.site-footer--fusion {
    background: #000000;
    color: #ffffff;
}

/* Fusion footer */
.footer-fusion-top {
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    width: 100%;
}

.footer-fusion-container {
    width: 100%;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
}

.footer-fusion-container--links-only {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    padding: clamp(36px, 4vw, 56px) var(--site-edge-padding) 0;
}

.footer-fusion-club {
    display: grid;
    gap: 22px;
    align-content: start;
}

.footer-fusion-kicker {
    margin: 0;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.58);
}

.footer-fusion-club h2 {
    margin: 0;
    font-size: clamp(1.45rem, 2.4vw, 2rem);
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #ffffff;
}

.footer-fusion-about {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.72);
}

.footer-fusion-signup {
    display: grid;
    gap: 14px;
}

.footer-fusion-form {
    display: grid;
    gap: 16px;
    margin: 0;
}

.footer-fusion-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.footer-fusion-field {
    display: grid;
    gap: 8px;
}

.footer-fusion-field-label {
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.52);
}

.footer-fusion-form input {
    width: 100%;
    min-height: 44px;
    padding: 0;
    border: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.42);
    border-radius: 0;
    background: transparent;
    color: #ffffff;
    outline: none;
    font-size: 0.95rem;
    transition: border-color 0.2s ease;
}

.footer-fusion-form input::placeholder {
    color: rgba(255, 255, 255, 0.38);
}

.footer-fusion-form input:focus {
    border-bottom-color: #ffffff;
}

.footer-fusion-form button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    margin-top: 4px;
    padding: 0 20px;
    border: var(--btn-border-width) solid #8f1d2c;
    border-radius: 0;
    background: #8f1d2c;
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    cursor: pointer;
    box-sizing: border-box;
    transition: background-color 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.footer-fusion-form button:hover {
    background: #a52435;
    border-color: #a52435;
    transform: translateY(-1px);
}

.footer-fusion-form button:disabled {
    opacity: 0.72;
    cursor: wait;
    transform: none;
}

.footer-fusion-club .footer-club-banner-note {
    margin: 0;
    font-size: 0.72rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.42);
}

.footer-fusion-links {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: start;
    gap: clamp(24px, 3vw, 40px);
    width: 100%;
    padding-bottom: clamp(24px, 3vw, 36px);
}

.site-footer--fusion .footer-fusion-col,
.site-footer--fusion .footer-col {
    flex: none;
    min-width: 0;
    max-width: none;
}

.footer-col--company .footer-company-details {
    display: grid;
    gap: 8px;
}

.footer-col--company .footer-company-details p {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.72);
}

.footer-col--company .footer-company-owner {
    color: rgba(255, 255, 255, 0.88);
    font-weight: 600;
}

.footer-col--company .footer-company-details a {
    color: rgba(255, 255, 255, 0.88);
    text-decoration: none;
    transition: color 0.2s ease;
}

.footer-col--company .footer-company-details a:hover {
    color: #2563EB;
}

@media (max-width: 1200px) {
    .footer-fusion-links {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .footer-fusion-links {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .footer-col--company {
        padding-top: 12px;
    }
}

.footer-fusion-meta {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    padding: clamp(24px, 3vw, 36px) 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-fusion-socials {
    width: auto;
}

.footer-fusion-socials .footer-socials {
    display: flex;
    gap: 16px;
}

.footer-fusion-socials .footer-socials a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    border-radius: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.82);
    font-size: 1.15rem;
    transition: color 0.2s ease, transform 0.2s ease;
}

.footer-fusion-socials .footer-socials a:hover {
    color: #2563EB;
    transform: translateY(-1px);
    background: transparent;
}
.site-footer--fusion .footer-fusion-col h3,
.site-footer--fusion .footer-col h3 {
    margin: 0 0 18px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #ffffff;
}

.site-footer--fusion .footer-col p,
.site-footer--fusion .footer-col li,
.site-footer--fusion .footer-col a {
    color: rgba(255, 255, 255, 0.68);
    line-height: 1.7;
    font-size: 0.86rem;
}

.site-footer--fusion .footer-col a:hover {
    color: #2563EB;
}

.site-footer--fusion .footer-col ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-fusion-wordmark {
    overflow: hidden;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    width: 100%;
}

.footer-fusion-wordmark-inner {
    width: 100%;
    max-width: none;
    margin: 0;
    padding-inline: var(--site-edge-padding);
    box-sizing: border-box;
    container-type: inline-size;
}

.footer-fusion-wordmark-text {
    margin: 0;
    padding: clamp(32px, 4vw, 50px) 0;
    font-size: clamp(2.25rem, calc(100cqw / 25), 5.5rem);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: 0;
    color: #ffffff;
    text-align: justify;
    text-align-last: justify;
    white-space: nowrap;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.footer-fusion-wordmark-justify {
    display: inline-block;
    width: 100%;
    height: 0;
    overflow: hidden;
}

.site-footer--fusion .footer-bottom {
    background: #000000;
    border-top: none;
    color: rgba(255, 255, 255, 0.58);
    width: 100%;
}

.site-footer--fusion .footer-bottom-inner,
.site-footer--fusion .footer-fusion-bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px 24px;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 14px var(--site-edge-padding) 18px;
    box-sizing: border-box;
    flex-wrap: nowrap;
}

.footer-fusion-bottom-start {
    display: flex;
    align-items: center;
    gap: clamp(20px, 3vw, 40px);
    min-width: 0;
    flex: 1 1 auto;
}

.footer-fusion-country {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 0.82rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.72);
    white-space: nowrap;
    flex: 0 0 auto;
}

.footer-fusion-flag {
    display: inline-block;
    width: 22px;
    height: 16px;
    flex: 0 0 auto;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background:
        linear-gradient(#ffffff, #ffffff) 0 42% / 100% 16% no-repeat,
        linear-gradient(#ffffff, #ffffff) 32% 0 / 16% 100% no-repeat,
        #c8102e;
}

.site-footer--fusion .footer-payments-row {
    justify-content: flex-start;
    justify-self: auto;
    margin: 0;
    min-width: 0;
    flex: 0 1 auto;
}

.site-footer--fusion .footer-payments-block {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.site-footer--fusion .footer-payments-label {
    color: rgba(255, 255, 255, 0.58);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.site-footer--fusion .payment-icons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-footer--fusion .payment-icons li {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
}

.site-footer--fusion .payment-icons svg {
    display: block;
    width: clamp(38px, 4vw, 48px);
    height: auto;
}

.site-footer--fusion .footer-payment-methods-image {
    display: block;
    height: clamp(26px, 2.8vw, 36px);
    width: auto;
    max-width: none;
    margin: 0;
    object-fit: contain;
    object-position: left center;
    filter: brightness(1.05);
}

.site-footer--fusion .footer-bottom-copy {
    margin: 0;
    flex: 1 1 16rem;
    min-width: 0;
    text-align: right;
    color: rgba(255, 255, 255, 0.52);
    font-size: clamp(0.68rem, 0.85vw, 0.76rem);
    font-weight: 500;
    line-height: 1.35;
    white-space: normal;
}

@media (min-width: 901px) {
    .footer-fusion-wordmark-text {
        padding-top: clamp(32px, 4vw, 50px);
        padding-bottom: clamp(32px, 4vw, 50px);
        line-height: 1.12;
        font-size: clamp(2.5rem, calc(100cqw / 24.5), 6.25rem);
    }

    .site-footer--fusion .footer-bottom-copy {
        font-size: 0.74rem;
    }
}

@media (min-width: 901px) and (max-width: 1280px) {
    .site-footer--fusion .footer-fusion-bottom-inner {
        flex-wrap: wrap;
        row-gap: 10px;
    }

    .site-footer--fusion .footer-bottom-copy {
        flex-basis: 100%;
        text-align: right;
    }
}

#tidio-chat,
#tidio-chat-iframe,
#tidio-chat-code,
.crisp-client,
#intercom-container,
.intercom-lightweight-app,
.tawk-min-container,
#tawkchat-container,
#hubspot-messages-iframe-container,
[data-testid="chat-bubble"] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.footer-club-banner-note.is-success,
.club-newsletter-status.is-success,
.club-signup-note.is-success {
    color: #9fd9b5;
}

.footer-club-banner-note.is-error,
.club-newsletter-status.is-error,
.club-signup-note.is-error {
    color: #ffb4b4;
}

.footer-club-banner {
    --club-luxury-gold: #a68966;
    --club-luxury-gold-light: #c4a882;
    --club-luxury-gold-soft: rgba(166, 137, 102, 0.42);
    --club-panel-bg: rgba(8, 10, 18, 0.72);
    position: relative;
    min-height: clamp(520px, 52vw, 720px);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #050608;
}

.footer-club-banner-media {
    position: absolute;
    inset: 0;
    transform: scale(1.01);
    filter: saturate(0.95) brightness(0.9);
}

.footer-club-banner-media picture {
    display: block;
    width: 100%;
    height: 100%;
}

.footer-club-banner-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

body[data-page="home"] .footer-club-banner--home .footer-club-banner-media img {
    object-position: right center;
}

.footer-club-banner--no-media {
    background:
        linear-gradient(180deg, #0a0c12 0%, #050608 100%);
}

.footer-club-banner--no-media .footer-club-banner-overlay,
.footer-club-banner--no-media .footer-club-banner-shine,
.footer-club-banner--no-media .footer-club-banner-media {
    display: none;
}

.footer-club-banner-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        radial-gradient(ellipse 72% 88% at 50% 52%, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.62) 100%),
        linear-gradient(90deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.02) 28%, rgba(0, 0, 0, 0.02) 72%, rgba(0, 0, 0, 0.22) 100%),
        linear-gradient(180deg, rgba(5, 6, 8, 0.12) 0%, rgba(5, 6, 8, 0.55) 100%);
}

body[data-page="home"] .footer-club-banner--home .footer-club-banner-overlay {
    background:
        linear-gradient(90deg, rgba(3, 4, 18, 0.78) 0%, rgba(3, 4, 18, 0.34) 42%, rgba(3, 4, 18, 0.12) 68%, transparent 100%),
        linear-gradient(180deg, rgba(5, 6, 8, 0.2) 0%, rgba(5, 6, 8, 0.62) 100%);
}

.footer-club-banner-shine {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        radial-gradient(ellipse 48% 42% at 50% 44%, rgba(166, 137, 102, 0.14) 0%, rgba(166, 137, 102, 0) 72%),
        linear-gradient(115deg, rgba(196, 168, 130, 0.06) 0%, rgba(196, 168, 130, 0) 30%);
}

.footer-club-banner-content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: min(760px, 100%);
    margin: 0 auto;
    padding: clamp(40px, 6vw, 72px) var(--site-edge-padding);
    color: #ffffff;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.footer-club-banner-panel {
    width: 100%;
    display: grid;
    gap: clamp(22px, 3vw, 30px);
    padding: clamp(28px, 4.2vw, 40px) clamp(22px, 4vw, 44px);
    border: 1px solid rgba(166, 137, 102, 0.34);
    border-radius: 18px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.02) 100%),
        var(--club-panel-bg);
    box-shadow:
        0 32px 90px rgba(0, 0, 0, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.footer-club-banner-intro,
.footer-club-banner-benefits,
.footer-club-banner-signup {
    display: grid;
    gap: 14px;
}

.footer-club-banner-kicker {
    margin: 0;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--club-luxury-gold-light);
}

.footer-club-banner-content h2 {
    margin: 0;
    font-size: clamp(2rem, 4.8vw, 3.2rem);
    line-height: 1.05;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #ffffff;
}

.footer-club-banner-text {
    margin: 0 auto;
    max-width: 52ch;
    font-size: clamp(0.94rem, 1.55vw, 1.04rem);
    line-height: 1.72;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.84);
}

.footer-club-banner-text + .footer-club-banner-text {
    margin-top: -4px;
}

.footer-club-banner-perks-title,
.footer-club-banner-signup-title {
    margin: 0;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--club-luxury-gold-light);
}

.footer-club-banner-signup-title {
    margin-bottom: 2px;
}

.footer-club-banner-perks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-club-banner-perks li {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid rgba(166, 137, 102, 0.32);
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    line-height: 1.25;
    text-align: left;
    color: rgba(255, 255, 255, 0.92);
    background: rgba(0, 0, 0, 0.28);
}

.footer-club-banner-perks li i {
    flex: 0 0 auto;
    font-size: 0.95rem;
    color: var(--club-luxury-gold-light);
}

.footer-club-banner-perks li span {
    min-width: 0;
}

.footer-club-banner-form {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    width: 100%;
    margin: 0;
}

.footer-club-banner-form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
}

.footer-club-banner-field--birthday {
    grid-column: 1 / -1;
}

.footer-club-banner-field {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
    text-align: left;
}

.footer-club-banner-field-label {
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--club-luxury-gold-light);
}

.footer-club-banner-field-label small {
    font-size: 0.62rem;
    letter-spacing: 0.08em;
    text-transform: lowercase;
    color: rgba(255, 255, 255, 0.5);
}

.footer-club-banner-form input {
    width: 100%;
    min-height: 46px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.34);
    color: #ffffff;
    outline: none;
    font-size: 0.94rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.footer-club-banner-form input[type="date"] {
    color-scheme: dark;
}

.footer-club-banner-form input::placeholder {
    color: rgba(255, 255, 255, 0.38);
}

.footer-club-banner-form input:focus {
    border-color: rgba(166, 137, 102, 0.72);
    background: rgba(0, 0, 0, 0.48);
    box-shadow: 0 0 0 3px rgba(166, 137, 102, 0.16);
}

.footer-club-banner-form button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    min-height: 52px;
    padding: 0 24px;
    border: var(--btn-border-width) solid #a68966;
    border-radius: 10px;
    background: linear-gradient(135deg, #b89a74 0%, #8f7354 52%, #a68966 100%);
    color: #120f0c;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    cursor: pointer;
    box-sizing: border-box;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
    transition: transform 0.2s ease, filter 0.2s ease, box-shadow 0.2s ease;
}

.footer-club-banner-form button:hover {
    transform: translateY(-1px);
    filter: brightness(1.05);
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.34);
}

.footer-club-banner-form button:disabled {
    opacity: 0.72;
    cursor: wait;
    transform: none;
}

.footer-club-banner-note {
    margin: 0;
    font-size: 0.76rem;
    line-height: 1.55;
    letter-spacing: 0.02em;
    color: rgba(255, 255, 255, 0.46);
}

@media (max-width: 900px) {
    .footer-club-banner-form-grid {
        grid-template-columns: 1fr;
    }

    .footer-club-banner-field--birthday,
    .footer-club-banner-field--email {
        grid-column: auto;
    }
}

.footer-main {
    background: #ffffff;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.site-footer .footer-container,
.site-footer .footer-bottom,
.site-footer .footer-payments-row {
    max-width: none;
    width: 100%;
}

.footer-container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
    gap: 40px;
    padding: 52px var(--site-edge-padding) 36px;
}

.footer-links-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px 24px;
}

.footer-col h3 {
    margin: 0 0 16px;
    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
    color: var(--ink);
}

.footer-col p,
.footer-col li,
.footer-col a {
    color: rgba(3, 4, 18, 0.72);
    line-height: 1.65;
    font-size: 0.9rem;
}

.footer-col a {
    transition: color 0.2s ease;
}

.footer-col a:hover {
    color: #2563EB;
}

.footer-col ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-brand-panel {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
}

.footer-logo {
    height: 34px;
    width: auto;
    filter: none;
}

.footer-social-label {
    margin: 4px 0 0;
    color: rgba(3, 4, 18, 0.62);
    font-size: 0.84rem;
    font-weight: 600;
}

.footer-socials {
    display: flex;
    gap: 10px;
}

.footer-socials a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--ink);
    color: #ffffff;
    font-size: 1rem;
    transition: transform 0.2s ease, background 0.2s ease;
}

.footer-socials a:hover {
    transform: translateY(-2px);
    background: var(--accent);
}

.footer-payments-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-shrink: 0;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
}

.footer-payments-block {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.payment-icons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.payment-icons li {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

.payment-icons svg {
    display: block;
    width: clamp(40px, 4.5vw, 52px);
    height: auto;
}

.footer-payment-methods-image {
    display: block;
    width: auto;
    height: clamp(46px, 4.8vw, 68px);
    max-width: min(760px, 62vw);
    object-fit: contain;
    object-position: right center;
}

.footer-payments-label {
    color: rgba(3, 4, 18, 0.58);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    white-space: nowrap;
}

.footer-payment-cards {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.footer-pay-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 88px;
    height: 40px;
    padding: 0 12px;
    border-radius: 8px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.footer-pay-chip {
    width: 20px;
    height: 14px;
    border-radius: 3px;
    background: linear-gradient(135deg, #d8b44f 0%, #f4e6a8 100%);
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
    flex-shrink: 0;
}

.footer-pay-chip-light {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0.55) 100%);
}

.footer-pay-visa {
    color: #1a1f71;
}

.footer-pay-mastercard {
    color: #111111;
}

.footer-pay-dankort {
    color: #c8102e;
}

.footer-pay-mobilepay {
    background: linear-gradient(135deg, #5a78ff 0%, #4a67ef 100%);
    color: #ffffff;
}

.footer-pay-apple {
    color: #111111;
    font-size: 0.82rem;
    letter-spacing: 0;
    text-transform: none;
}

.footer-pay-apple i {
    font-size: 1.05rem;
}

.footer-pay-google {
    color: #1f1f1f;
    letter-spacing: 0;
    text-transform: none;
    font-size: 0.9rem;
    font-weight: 800;
}

.footer-pay-g {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: conic-gradient(from 180deg, #ea4335 0deg, #fbbc05 90deg, #34a853 180deg, #4285f4 270deg, #ea4335 360deg);
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 900;
}

.footer-bottom {
    width: 100%;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    background: #ffffff;
    color: rgba(3, 4, 18, 0.56);
    font-size: 0.82rem;
}

.footer-bottom-inner {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto;
    align-items: center;
    column-gap: 32px;
    width: 100%;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
    padding: 20px var(--site-edge-padding) 24px;
}

.footer-bottom-copy {
    margin: 0;
    justify-self: start;
    line-height: 1.4;
    color: rgba(3, 4, 18, 0.62);
    font-size: 0.84rem;
    font-weight: 500;
    white-space: nowrap;
}

.footer-bottom .footer-payments-row {
    justify-self: end;
}

.mobile-bottom-nav {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 3600;
    width: 100%;
    justify-content: space-around;
    padding: 12px 14px calc(12px + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, 0.98);
    border-top: 1px solid rgba(18, 18, 18, 0.08);
    backdrop-filter: blur(14px);
    box-shadow: 0 -10px 30px rgba(3, 4, 18, 0.08);
}

.mobile-nav-item {
    position: relative;
    flex-direction: column;
    gap: 6px;
    min-width: 72px;
    color: var(--muted);
    font-size: 0.74rem;
    background: transparent;
}

.mobile-nav-item.active {
    color: var(--ink);
    font-weight: 700;
}

.mobile-bottom-nav [data-cart-open].is-cart-open {
    color: var(--ink);
    font-weight: 700;
}

.mobile-bottom-nav [data-cart-open].is-cart-open i {
    position: relative;
}

.mobile-bottom-nav [data-cart-open].is-cart-open i::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -7px;
    transform: translateX(-50%);
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--ink);
}

.mobile-nav-item i {
    font-size: 1.2rem;
}

.mobile-bottom-nav [data-cart-open] [data-cart-count].mobile-badge,
.mobile-bottom-nav [data-wishlist-count].mobile-badge {
    position: absolute;
    top: 0;
    left: calc(50% + 8px);
    right: auto;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    color: #ffffff;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

.mobile-bottom-nav [data-cart-open] [data-cart-count].mobile-badge,
.mobile-bottom-nav [data-cart-open] [data-cart-count].badge-dark {
    background: var(--accent);
    box-shadow: 0 2px 8px rgba(var(--accent-rgb), 0.35);
}

.mobile-bottom-nav [data-wishlist-count].mobile-badge.badge-red {
    background: var(--wishlist-red);
    box-shadow: 0 2px 8px rgba(200, 16, 46, 0.35);
}

.mobile-bottom-nav [data-account-label] {
    display: block;
    max-width: min(96px, 24vw);
    white-space: normal;
    line-height: 1.15;
    text-align: center;
    word-break: break-word;
}

/* Mobil bundmenu + header-layout */
@media (max-width: 900px) {
    .mobile-bottom-nav {
        display: flex !important;
    }

    body {
        padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px));
    }

    body.no-scroll .mobile-bottom-nav {
        display: flex !important;
    }

    .navbar {
        display: grid;
        grid-template-columns: minmax(0, auto) minmax(0, 1fr);
        align-items: center;
        gap: 8px;
        padding: 10px 8px;
        min-height: 60px;
    }

    .navbar-brand-row {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        justify-self: start;
        gap: 8px;
        grid-column: 1;
        grid-row: 1;
        width: auto;
        min-width: 0;
        max-width: none;
    }

    .navbar > .logo {
        display: inline-flex !important;
        align-items: center;
        flex: 0 0 auto;
        grid-column: 1;
        grid-row: 1;
        justify-self: start;
        margin: 0;
    }

    .navbar:has(.navbar-brand-row .logo) > .logo {
        display: none !important;
    }

    .navbar-brand-row .logo {
        display: inline-flex !important;
        align-items: center;
        flex: 0 0 auto;
        width: auto;
        min-width: 0;
        max-width: min(120px, 30vw);
        margin: 0;
    }

    .navbar-brand-row .logo img {
        display: block;
        height: 28px;
        width: auto;
        max-width: min(110px, 28vw);
        margin: 0;
        object-fit: contain;
        object-position: left center;
    }

    .nav-actions {
        grid-column: 2;
        grid-row: 1;
        justify-self: stretch;
        width: 100%;
        min-width: 0;
        margin-left: 0;
        gap: 6px;
    }
}

/* ================================
   Zilenzo forside hero
================================ */

:root {
    --zilenzo-home-header-h: 118px;
}

body[data-page="home"] {
    --zilenzo-home-header-h: 118px;
    --zilenzo-home-align: var(--site-edge-padding);
    --zilenzo-home-edge: var(--site-edge-padding);
    background: #ffffff;
}

body[data-page="home"] .top-bar {
    padding-inline: var(--site-edge-padding);
}

body[data-page="home"] .navbar {
    padding-inline: var(--site-edge-padding);
}

body[data-page="home"] .navbar {
    margin-top: 0;
}

.zilenzo-front-hero {
    position: relative;
    width: 100%;
    max-width: 100vw;
    height: calc(100svh - var(--zilenzo-home-header-h, 118px));
    min-height: calc(100svh - var(--zilenzo-home-header-h, 118px));
    max-height: none;
    overflow: hidden;
    background: var(--ink);
    margin-top: 0;
    padding-top: 0;
    box-sizing: border-box;
}

.zilenzo-front-video,
.zilenzo-front-image {
    position: absolute;
    inset: 0;
    width: 100%;
    min-width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center 38%;
    z-index: 1;
}

.zilenzo-front-hero--photo {
    --zilenzo-photo-hero-h: calc(100svh - var(--zilenzo-home-header-h, 118px));
    width: 100%;
    max-width: 100%;
    height: var(--zilenzo-photo-hero-h);
    min-height: 0;
    max-height: var(--zilenzo-photo-hero-h);
    overflow: hidden;
    margin: 0;
    padding: 0;
}

@supports (height: 100dvh) {
    .zilenzo-front-hero--photo {
        --zilenzo-photo-hero-h: calc(100dvh - var(--zilenzo-home-header-h, 118px));
    }
}

.zilenzo-front-hero--photo .zilenzo-front-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    object-position: center center;
    transform: none;
    filter: none;
    will-change: auto;
}

.zilenzo-front-hero-media-link {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    color: inherit;
    text-decoration: none;
}

.zilenzo-front-hero--photo .zilenzo-front-hero-media-link picture {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
}

.zilenzo-front-hero--photo .zilenzo-front-hero-media-link picture .zilenzo-front-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
}

.zilenzo-front-hero--photo .zilenzo-front-overlay,
.zilenzo-front-hero--photo .zilenzo-front-content {
    position: absolute;
    inset: 0;
}

.zilenzo-front-hero--photo .zilenzo-front-content {
    inset: 0;
    width: 100%;
    max-width: 100%;
    margin: 0;
    height: 100%;
    color: #ffffff;
    text-shadow:
        0 2px 18px rgba(0, 0, 0, 0.85),
        0 1px 3px rgba(0, 0, 0, 0.95);
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: clamp(28px, 5vh, 56px) var(--site-edge-padding);
}

.zilenzo-front-content--showcase {
    pointer-events: none;
}

.zilenzo-front-content--showcase a {
    pointer-events: auto;
}

.zilenzo-front-showcase-stack {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(20px, 3vh, 32px);
    width: 100%;
    max-width: min(920px, 100%);
    margin: 0 auto;
    text-align: center;
}

.zilenzo-front-showcase-copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: inherit;
    width: 100%;
}

.zilenzo-front-hero--photo .zilenzo-front-showcase-stack {
    transform: translateY(clamp(22px, 5.5vh, 72px));
}

.zilenzo-front-hero--photo .zilenzo-front-brand {
    color: #ffffff;
    margin: 0;
    width: 100%;
    text-align: center;
    text-transform: uppercase;
    font-size: clamp(13px, 1.1vw, 16px);
    font-weight: 700;
    letter-spacing: 0.24em;
    padding-left: 0.24em;
}

.zilenzo-front-showcase-title {
    margin: 0 auto;
    width: 100%;
    max-width: min(820px, 100%);
    font-size: clamp(1.5rem, 2vw + 0.85rem, 3.1rem);
    font-weight: 700;
    line-height: 1.16;
    letter-spacing: -0.03em;
    color: #ffffff;
    text-wrap: balance;
    white-space: normal;
    text-align: center;
    text-shadow:
        0 2px 22px rgba(0, 0, 0, 0.9),
        0 1px 4px rgba(0, 0, 0, 0.95);
}

.zilenzo-front-content h1.zilenzo-front-showcase-title {
    width: 100%;
    max-width: 100%;
    white-space: normal;
    font-weight: 700;
    text-align: center;
    margin-inline: auto;
}

.zilenzo-hero-title-line {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.22em;
    width: 100%;
    text-align: center;
}

.zilenzo-hero-title-line--primary,
.zilenzo-hero-title-line--secondary {
    display: block;
    width: 100%;
    text-align: center;
}

.zilenzo-hero-title-line--secondary {
    margin-top: 0.18em;
    font-size: 0.84em;
    font-weight: 600;
    letter-spacing: 0.01em;
    opacity: 0.94;
}

.zilenzo-hero-title-line--nowrap {
    flex-wrap: wrap;
    white-space: normal;
}

@media (min-width: 1400px) {
    .zilenzo-hero-title-line--nowrap {
        flex-wrap: nowrap;
        white-space: nowrap;
    }
}

.zilenzo-front-hero--photo .zilenzo-hero-title-line--nowrap {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    gap: 0.18em;
    font-size: inherit;
    letter-spacing: inherit;
}

@media (min-width: 1400px) {
    .zilenzo-front-hero--photo .zilenzo-hero-title-line--nowrap {
        flex-wrap: nowrap;
        white-space: nowrap;
        letter-spacing: -0.03em;
    }
}

@media (max-width: 1399px) {
    .zilenzo-front-hero--photo .zilenzo-hero-title-line--nowrap {
        flex-wrap: wrap;
        white-space: normal;
        justify-content: center;
    }

    .zilenzo-front-showcase-title,
    .zilenzo-front-hero--photo .zilenzo-front-content h1.zilenzo-front-showcase-title {
        font-size: clamp(1.2rem, 1.35vw + 0.7rem, 1.95rem);
        line-height: 1.2;
        max-width: min(640px, 94vw);
    }

    .zilenzo-front-hero--photo .zilenzo-front-showcase-title,
    .zilenzo-front-hero--photo .zilenzo-front-content h1.zilenzo-front-showcase-title {
        max-width: 100%;
    }

    .zilenzo-front-showcase-spec {
        font-size: clamp(0.92rem, 1.1vw + 0.55rem, 1.12rem);
        max-width: 36ch;
    }

    .zilenzo-front-hero--photo .zilenzo-front-showcase-spec {
        max-width: 100%;
    }

    .zilenzo-front-hero--photo .zilenzo-front-showcase-stack {
        transform: translateY(clamp(6px, 2vh, 24px));
        gap: clamp(12px, 2vh, 20px);
    }
}

@media (min-width: 901px) {
    .zilenzo-front-hero--photo .zilenzo-front-showcase-stack {
        width: 80%;
        max-width: 80%;
        margin-inline: auto;
    }

    .zilenzo-front-hero--photo .zilenzo-front-showcase-title,
    .zilenzo-front-hero--photo .zilenzo-front-content h1.zilenzo-front-showcase-title {
        max-width: 100%;
        font-size: clamp(1.85rem, 2.4vw + 0.75rem, 3.15rem);
        line-height: 1.12;
    }

    .zilenzo-front-hero--photo .zilenzo-front-showcase-spec {
        max-width: 100%;
        font-size: clamp(1.12rem, 1.5vw + 0.55rem, 1.6rem);
        line-height: 1.5;
    }

    .zilenzo-front-hero--photo .zilenzo-front-brand {
        font-size: clamp(14px, 1.05vw, 18px);
    }

    .zilenzo-front-hero--photo .zilenzo-hero-btn {
        min-height: 52px;
        padding: 0 32px;
        font-size: 1.05rem;
    }

    .zilenzo-front-hero--photo .zilenzo-hero-title-line--nowrap {
        font-size: inherit;
        letter-spacing: inherit;
    }
}

@media (min-width: 1400px) {
    .zilenzo-front-hero--photo .zilenzo-front-content h1.zilenzo-front-showcase-title {
        font-size: clamp(2.35rem, 2.8vw + 0.4rem, 3.6rem);
    }

    .zilenzo-front-hero--photo .zilenzo-front-showcase-spec {
        font-size: clamp(1.2rem, 1.35vw + 0.5rem, 1.7rem);
    }
}

.zilenzo-hero-title-line + .zilenzo-hero-title-line {
    margin-top: 0.06em;
}

.zilenzo-hero-word {
    display: inline-block;
    margin: 0;
    opacity: 0;
    transform: translate3d(0, 1.15em, 0);
    filter: blur(10px);
    animation:
        zilenzoHeroWordIn 0.95s cubic-bezier(0.22, 1, 0.36, 1) forwards,
        zilenzoHeroWordGlow 5.5s ease-in-out infinite;
    animation-delay:
        calc(0.14s * var(--word-i) + 0.15s),
        calc(0.14s * var(--word-i) + 1.1s);
}

.zilenzo-hero-word:last-child {
    margin-right: 0;
}

@keyframes zilenzoHeroWordIn {
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        filter: blur(0);
    }
}

@keyframes zilenzoHeroWordGlow {
    0%,
    100% {
        text-shadow: 0 2px 28px rgba(0, 0, 0, 0.45);
    }

    50% {
        text-shadow:
            0 2px 28px rgba(0, 0, 0, 0.45),
            0 0 22px rgba(255, 255, 255, 0.22);
    }
}

.zilenzo-front-hero--photo .zilenzo-hero-word {
    animation: zilenzoHeroWordIn 0.95s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: calc(0.14s * var(--word-i) + 0.15s);
}

.zilenzo-front-showcase-spec {
    margin: 0 auto;
    max-width: none;
    font-size: clamp(1.05rem, 2vw, 1.55rem);
    font-weight: 400;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.96);
    text-wrap: nowrap;
    white-space: nowrap;
    text-align: center;
    text-shadow:
        0 2px 16px rgba(0, 0, 0, 0.88),
        0 1px 3px rgba(0, 0, 0, 0.92);
    opacity: 0;
    transform: translate3d(0, 12px, 0);
    animation: zilenzoHeroSpecIn 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.72s forwards;
}

@keyframes zilenzoHeroSpecIn {
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.zilenzo-front-showcase-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: clamp(4px, 1vh, 12px);
    opacity: 0;
    transform: translate3d(0, 16px, 0);
    animation: zilenzoHeroSpecIn 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.95s forwards;
}

.zilenzo-hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 28px;
    border: 1px solid transparent;
    border-radius: 4px;
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.01em;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.zilenzo-hero-btn-arrow {
    font-size: 1.05em;
    line-height: 1;
}

.zilenzo-hero-btn--primary {
    background: #ffffff;
    color: #111111;
    border-color: #ffffff;
    font-weight: 400;
}

.zilenzo-hero-btn--primary:hover {
    background: #f3f4f6;
    color: #111111;
}

.zilenzo-hero-btn--ghost {
    background: transparent;
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.88);
}

.zilenzo-hero-btn--ghost:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
}

.zilenzo-front-hero--photo .zilenzo-front-headline,
.zilenzo-front-hero--photo .zilenzo-front-content h1 {
    color: #ffffff;
}

.zilenzo-front-hero--photo .zilenzo-front-overlay {
    display: none;
}

.zilenzo-front-hero--photo .zilenzo-front-showcase-actions {
    gap: 16px;
    width: min(100%, 640px);
}

.zilenzo-front-hero--photo .zilenzo-hero-btn {
    min-height: 56px;
    padding: 0 38px;
    font-size: 1.08rem;
    font-weight: 500;
    border-radius: 6px;
}

.zilenzo-front-hero--photo .zilenzo-hero-btn--primary {
    font-weight: 400;
}

.zilenzo-front-hero--photo .zilenzo-hero-btn--ghost {
    font-weight: 500;
}

@media (min-width: 901px) {
    .zilenzo-front-hero--photo .zilenzo-front-showcase-actions {
        gap: 18px;
        width: 100%;
        max-width: 100%;
    }

    .zilenzo-front-hero--photo .zilenzo-hero-btn {
        min-height: 62px;
        padding: 0 44px;
        font-size: 1.14rem;
        border-radius: 7px;
    }
}

.zilenzo-front-hero--dark-video {
    --zilenzo-dark-hero-h: calc(100svh - var(--zilenzo-home-header-h, 118px));
    width: 100%;
    max-width: 100%;
    height: var(--zilenzo-dark-hero-h);
    min-height: 0;
    max-height: var(--zilenzo-dark-hero-h);
    overflow: hidden;
    margin: 0;
    padding: 0;
}

@supports (height: 100dvh) {
    .zilenzo-front-hero--dark-video {
        --zilenzo-dark-hero-h: calc(100dvh - var(--zilenzo-home-header-h, 118px));
    }
}

.zilenzo-front-hero--dark-video .zilenzo-front-video {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    object-position: center 50%;
}

.zilenzo-front-hero--dark-video .zilenzo-front-overlay,
.zilenzo-front-hero--dark-video .zilenzo-front-content {
    position: absolute;
    inset: 0;
}

.zilenzo-front-hero--dark-video .zilenzo-front-content {
    inset: auto 0 0 0;
    height: 100%;
}

.zilenzo-front-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.72) 0%,
            rgba(255, 255, 255, 0.34) 28%,
            rgba(255, 255, 255, 0) 52%
        ),
        linear-gradient(
            0deg,
            rgba(255, 255, 255, 0.88) 0%,
            rgba(255, 255, 255, 0.42) 24%,
            rgba(255, 255, 255, 0) 52%
        );
}

.zilenzo-front-hero--dark-video .zilenzo-front-overlay {
    background:
        radial-gradient(
            ellipse 36rem 14rem at 10% 92%,
            rgba(255, 255, 255, 0.9) 0%,
            rgba(255, 255, 255, 0.42) 38%,
            rgba(255, 255, 255, 0) 72%
        ),
        linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.18) 0%,
            rgba(0, 0, 0, 0) 22%,
            rgba(0, 0, 0, 0) 78%,
            rgba(255, 255, 255, 0.08) 100%
        );
}

.zilenzo-front-hero--dark-video .zilenzo-front-content {
    text-shadow: 0 1px 16px rgba(255, 255, 255, 0.35);
}

.zilenzo-front-content {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: min(720px, 54vw);
    height: 100%;
    color: #030412;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 0 var(--site-edge-padding) clamp(32px, 6vh, 72px);
    box-sizing: border-box;
    pointer-events: none;
}

.zilenzo-front-hero--photo .zilenzo-front-content.zilenzo-front-content--showcase {
    position: absolute;
    inset: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-width: none;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: clamp(28px, 5vh, 56px) var(--site-edge-padding);
    color: #ffffff;
}

.zilenzo-front-content a,
.zilenzo-front-news {
    pointer-events: auto;
}

.zilenzo-front-brand {
    font-size: clamp(16px, 1.2vw, 22px);
    font-weight: 900;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.zilenzo-front-headline,
.zilenzo-front-content h1:not(.zilenzo-front-showcase-title):not(.zilenzo-front-homepage-title) {
    margin: 0;
    width: max-content;
    max-width: 100%;
    font-size: clamp(28px, 6.8vw, 96px);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 950;
    white-space: nowrap;
}

.zilenzo-front-hero--photo .zilenzo-front-content h1.zilenzo-front-showcase-title {
    width: 100%;
    max-width: min(820px, 100%);
    white-space: normal;
    font-weight: 700;
    font-size: clamp(1.5rem, 2vw + 0.85rem, 3.1rem);
    line-height: 1.16;
    letter-spacing: -0.03em;
    text-align: center;
    margin-inline: auto;
}

.zilenzo-front-headline-feed {
    display: block;
    position: relative;
}

.zilenzo-front-headline-line {
    display: block;
    transition: opacity 0.52s ease, transform 0.52s ease;
    will-change: opacity, transform;
}

.zilenzo-front-headline-line.is-leaving {
    opacity: 0;
    transform: translateY(-18px);
}

.zilenzo-front-headline-line.is-entering {
    opacity: 0;
    transform: translateY(18px);
}

.zilenzo-front-headline-line.is-active:not(.is-leaving):not(.is-entering) {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .zilenzo-front-headline-line {
        transition: none;
    }

    .zilenzo-hero-word,
    .zilenzo-front-showcase-spec,
    .zilenzo-front-showcase-actions {
        opacity: 1;
        transform: none;
        filter: none;
        animation: none;
    }
}


/* Topbar og navbar ovenpå hero */

.zilenzo-overlay-topbar,
.zilenzo-overlay-navbar {
    position: relative;
    z-index: 10;
}

.zilenzo-overlay-topbar {
    background: rgba(0,0,0,0.78);
    color: #ffffff;
}

.zilenzo-overlay-navbar {
    background: #ffffff;
    backdrop-filter: none;
}

/* Nyheds-banner nederst til højre */

.zilenzo-front-news {
    position: absolute;
    right: 55px;
    bottom: 36px;
    z-index: 4;
    width: 320px;
    background: rgba(13, 15, 44, 0.94);
    color: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    box-shadow: 0 24px 70px rgba(0,0,0,0.42);
    backdrop-filter: blur(12px);
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.zilenzo-front-news:hover {
    transform: translateY(-4px);
    opacity: 0.95;
}

.zilenzo-front-news-img {
    position: relative;
    height: 135px;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.14), rgba(255,255,255,0)),
        linear-gradient(135deg, #141414, #434343);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.zilenzo-front-news-img img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.zilenzo-front-news-img span {
    position: relative;
    z-index: 1;
    font-size: 28px;
    font-weight: 950;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.55);
}

.zilenzo-front-news-body {
    position: relative;
    padding: 18px;
}

.zilenzo-front-news-body div {
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #bfbfbf;
    margin-bottom: 18px;
}

.zilenzo-front-news-body h3 {
    margin: 0;
    padding-right: 28px;
    font-size: 21px;
    line-height: 1.15;
    font-weight: 950;
}

.zilenzo-front-news-body span {
    position: absolute;
    right: 18px;
    bottom: 18px;
    font-size: 18px;
}

.zilenzo-front-news-light {
    background: rgba(255, 255, 255, 0.96);
    color: #030412;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.18);
}

.zilenzo-front-news-light .zilenzo-front-news-body div {
    color: #030412;
}

.zilenzo-front-news-light .zilenzo-front-news-body h3,
.zilenzo-front-news-light .zilenzo-front-news-body span {
    color: #030412;
}

.zilenzo-front-news-light .zilenzo-front-news-img span {
    color: #030412;
    text-shadow: 0 2px 12px rgba(255, 255, 255, 0.85);
}

body.zilenzo-category-coming-soon {
    background: #ffffff;
}

body.zilenzo-category-nyheder {
    background: #ffffff;
}

body.zilenzo-category-alle {
    background: #ffffff;
}

body.zilenzo-category-alle .zilenzo-front-hero {
    display: none !important;
}

.zilenzo-nyheder-overview {
    width: 100%;
    padding: clamp(36px, 5vw, 64px) var(--site-edge-padding) clamp(48px, 6vw, 80px);
    background: linear-gradient(180deg, #ffffff 0%, #f7faf8 100%);
}

.zilenzo-nyheder-overview-inner {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: clamp(24px, 4vw, 56px);
    align-items: center;
    max-width: 1400px;
    margin: 0 auto;
}

.zilenzo-nyheder-overview-kicker {
    display: inline-flex;
    margin-bottom: 14px;
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--accent);
    background: rgba(var(--accent-rgb), 0.1);
}

.zilenzo-nyheder-overview-copy h2 {
    margin: 0 0 16px;
    font-size: clamp(2rem, 4.2vw, 3.4rem);
    line-height: 0.98;
    letter-spacing: -0.04em;
    color: var(--ink);
    text-wrap: balance;
}

.zilenzo-nyheder-overview-lead {
    margin: 0 0 20px;
    max-width: 52ch;
    color: #5f6670;
    font-size: 1.02rem;
    line-height: 1.75;
}

.zilenzo-nyheder-overview-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 18px;
    margin-bottom: 24px;
}

.zilenzo-nyheder-overview-meta strong {
    font-size: 1.35rem;
    color: var(--ink);
}

.zilenzo-nyheder-overview-meta span {
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--accent);
}

.zilenzo-nyheder-overview-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 24px;
    border-radius: 999px;
    font-weight: 700;
    color: #ffffff;
    background: var(--accent);
    text-decoration: none;
}

.zilenzo-nyheder-overview-cta:hover {
    background: var(--accent-dark);
    color: #ffffff;
}

.zilenzo-nyheder-overview-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: clamp(360px, 52vh, 620px);
    padding: clamp(18px, 3vw, 32px);
    border-radius: 28px;
    background:
        radial-gradient(circle at 50% 38%, rgba(var(--accent-rgb), 0.08) 0%, rgba(var(--accent-rgb), 0) 58%),
        linear-gradient(180deg, #ffffff 0%, #eef4f1 100%);
    border: 1px solid rgba(var(--accent-rgb), 0.1);
    text-decoration: none;
    overflow: hidden;
}

.zilenzo-nyheder-overview-visual img {
    width: 100%;
    max-width: min(100%, 520px);
    height: auto;
    max-height: min(72vh, 560px);
    object-fit: contain;
    object-position: center;
    filter: drop-shadow(0 28px 48px rgba(3, 4, 18, 0.14));
}

/* Populære produkter kommer efter hero */

.popular-products-section {
    position: relative;
    z-index: 2;
}

/* Mobil */

@media (max-width: 900px) {
    body[data-page="home"] .navbar {
        margin-top: 0;
    }

    .navbar {
        margin-top: 0;
    }

    .zilenzo-front-video,
    .zilenzo-front-image {
        width: 100%;
        min-width: 100%;
        height: 100%;
        min-height: 100%;
        object-position: center 36%;
    }

    .zilenzo-front-hero--photo .zilenzo-front-image {
        object-position: center 28%;
        transform: none;
        transform-origin: center center;
        filter: contrast(1.04) saturate(1.06) brightness(0.98);
    }

    .zilenzo-front-hero--photo .zilenzo-front-overlay,
    .zilenzo-front-hero--photo .zilenzo-front-content {
        position: absolute;
        inset: 0;
    }

    .zilenzo-front-hero--photo .zilenzo-front-content {
        inset: 0;
        height: 100%;
        max-width: 100%;
        padding: 0 20px calc(96px + env(safe-area-inset-bottom, 0px));
    }

    .zilenzo-front-showcase-title {
        max-width: 100%;
        font-size: clamp(1.2rem, 4.2vw + 0.35rem, 1.9rem);
        line-height: 1.16;
    }

    .zilenzo-hero-title-line--nowrap {
        flex-wrap: wrap;
        white-space: normal;
        justify-content: center;
    }

    .zilenzo-front-hero--photo .zilenzo-hero-title-line:not(.zilenzo-hero-title-line--nowrap) {
        font-size: inherit;
    }

    .zilenzo-front-showcase-spec {
        font-size: clamp(0.92rem, 3.6vw, 1.08rem);
        max-width: 34ch;
    }

    .zilenzo-front-showcase-actions {
        width: 100%;
        max-width: 520px;
    }

    .zilenzo-front-hero--photo .zilenzo-hero-btn {
        flex: 1 1 100%;
        width: 100%;
        min-height: 54px;
        padding: 0 28px;
        font-size: 1.02rem;
    }

    .zilenzo-front-hero--dark-video .zilenzo-front-overlay,
    .zilenzo-front-hero--dark-video .zilenzo-front-content {
        position: absolute;
        inset: 0;
    }

    .zilenzo-front-hero--dark-video .zilenzo-front-content {
        inset: auto 0 0 0;
        height: 100%;
    }

    body[data-page="home"] {
        --zilenzo-home-header-h: 138px;
    }

    .zilenzo-front-hero {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        width: 100%;
        max-width: 100vw;
        height: calc(100svh - var(--zilenzo-home-header-h, 118px));
        min-height: calc(100svh - var(--zilenzo-home-header-h, 118px));
        margin-top: 0;
        padding-top: 0;
    }

    .zilenzo-front-overlay {
        background:
            linear-gradient(
                180deg,
                rgba(255, 255, 255, 0) 0%,
                rgba(255, 255, 255, 0) 62%,
                rgba(255, 255, 255, 0.28) 82%,
                rgba(255, 255, 255, 0.48) 100%
            ),
            linear-gradient(
                90deg,
                rgba(255, 255, 255, 0.52) 0%,
                rgba(255, 255, 255, 0.22) 26%,
                rgba(255, 255, 255, 0) 52%
            );
    }

    .zilenzo-front-hero--dark-video .zilenzo-front-overlay {
        background:
            radial-gradient(
                ellipse 120% 42% at 8% 96%,
                rgba(255, 255, 255, 0.92) 0%,
                rgba(255, 255, 255, 0.45) 36%,
                rgba(255, 255, 255, 0) 72%
            ),
            linear-gradient(
                180deg,
                rgba(0, 0, 0, 0.14) 0%,
                rgba(0, 0, 0, 0) 18%
            );
    }

    .zilenzo-front-content:not(.zilenzo-front-content--homepage) {
        flex: 0 1 auto;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-end;
        width: 100%;
        max-width: 100%;
        padding: 0 20px calc(96px + env(safe-area-inset-bottom, 0px)) 28px;
        margin: 0 0 36px 10px;
        background: none;
    }

    .zilenzo-front-brand {
        font-size: clamp(18px, 4.8vw, 26px);
        letter-spacing: 0.24em;
        margin-bottom: 14px;
        color: var(--accent);
    }

    .zilenzo-front-headline,
    .zilenzo-front-content h1:not(.zilenzo-front-homepage-title) {
        width: 100%;
        max-width: 100%;
        font-size: clamp(22px, 7.2vw, 62px);
        line-height: 1.02;
        letter-spacing: -0.045em;
        font-weight: 950;
        white-space: nowrap;
        color: var(--ink);
    }

    .zilenzo-front-headline-line {
        display: block;
        white-space: nowrap;
        text-shadow:
            0 1px 12px rgba(255, 255, 255, 0.75),
            0 0 1px rgba(255, 255, 255, 0.9);
    }

    .zilenzo-front-brand {
        max-width: min(88%, 320px);
    }

    .zilenzo-front-headline {
        max-width: 100%;
    }

    .zilenzo-front-news {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        width: auto;
        margin: 0 24px 28px;
        flex: 0 0 auto;
    }

    .zilenzo-front-news-body h3 {
        font-size: 18px;
        padding-right: 22px;
        line-height: 1.25;
    }

    .zilenzo-front-news-img {
        height: 110px;
    }

    .zilenzo-nyheder-overview-inner {
        grid-template-columns: 1fr;
    }

    .zilenzo-nyheder-overview-copy {
        order: 2;
    }

    .zilenzo-nyheder-overview-visual {
        order: 1;
        min-height: 320px;
    }

    .zilenzo-front-hero--photo .zilenzo-front-brand {
        color: #ffffff;
        width: 100%;
        max-width: none;
        text-align: center;
    }

    .zilenzo-front-hero--photo .zilenzo-front-content h1.zilenzo-front-showcase-title {
        width: 100%;
        max-width: 100%;
        text-align: center;
        white-space: normal;
        color: #ffffff;
        font-size: clamp(1.1rem, 5vw, 1.65rem);
    }

    .zilenzo-front-hero--photo .zilenzo-front-showcase-spec {
        font-size: 0.9rem;
        max-width: 30ch;
    }

    .zilenzo-front-hero--photo .zilenzo-hero-btn {
        min-height: 48px;
        font-size: 0.92rem;
        padding: 0 20px;
    }

    .zilenzo-front-hero--photo .zilenzo-hero-title-line {
        width: 100%;
        text-align: center;
    }

    .zilenzo-front-hero--photo .zilenzo-front-showcase-spec {
        margin-inline: auto;
        text-align: center;
    }

}


@media (max-width: 1500px) {
    .search-container {
        flex: 1 1 260px;
        min-width: 220px;
        max-width: min(380px, 40vw);
    }

    .nav-actions > .account-toggle-btn [data-account-label],
    .cart-icon > .cart-icon-label {
        display: none;
    }

    .nav-actions > .account-toggle-btn,
    .nav-actions > .account-menu > .account-toggle-btn {
        width: 44px;
        min-width: 44px;
        padding: 0;
        justify-content: center;
    }

    .cart-icon {
        width: 44px;
        min-width: 44px;
        padding: 0;
        justify-content: center;
    }

    .nav-links {
        gap: 12px;
        margin-right: 10px;
    }

    .nav-links > a,
    .nav-dropdown-toggle {
        font-size: 0.8rem;
        letter-spacing: 0.04em;
    }
}

@media (max-width: 1280px) {
    .search-container {
        min-width: 200px;
        max-width: min(340px, 44vw);
    }
}

@media (max-width: 1100px) {
    section.webshop-editor-row.content-shell,
    .content-shell.webshop-editor-row {
        padding-left: 30px;
        padding-right: 30px;
    }

    .nav-links {
        gap: 14px;
        margin-right: 12px;
        flex-wrap: wrap;
        row-gap: 8px;
    }

    .nav-links > a,
    .nav-dropdown-toggle {
        font-size: 0.82rem;
        letter-spacing: 0.05em;
    }

    .search-container {
        max-width: min(300px, 48vw);
        min-width: 180px;
    }
}

@media (max-width: 1200px) {
    .product-card {
        flex-basis: calc((100% - 24px) / 2);
    }

    .product-grid,
    .webshop-editor-grid--5,
    .webshop-editor-grid--4,
    .webshop-editor-grid--3,
    .footer-container,
    .checkout-layout {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .checkout-layout {
        align-items: start;
    }
}

@media (max-width: 768px) {
    .desktop-only {
        display: none !important;
    }

    .top-bar {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        grid-template-rows: auto;
        align-items: center;
        gap: 0;
        padding: 10px 8px;
        font-size: clamp(0.58rem, 2.35vw, 0.7rem);
        line-height: 1.2;
        letter-spacing: 0.01em;
    }

    .top-bar-item,
    .top-bar-left,
    .top-bar-right span,
    .top-bar a {
        min-width: 0;
        max-width: 100%;
        font-size: inherit;
        font-weight: 600;
        line-height: 1.2;
        border-right: none !important;
    }

    .top-bar-item {
        display: block;
        padding: 0 4px;
    }

    .top-bar-item--email,
    .top-bar-left {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        justify-content: flex-start;
        justify-self: start;
        text-align: left;
        padding-left: 0;
        font-weight: 700;
        grid-column: 1;
        grid-row: 1;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .top-bar-item--email span,
    .top-bar-left a {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .top-bar-item--email i,
    .top-bar-left i {
        flex-shrink: 0;
        font-size: 0.7rem;
        opacity: 0.88;
    }

    .top-bar [data-i18n="top.bar.promo"],
    .top-bar-item--address,
    .top-bar-right span:nth-child(1) {
        grid-column: 2;
        grid-row: 1;
        justify-self: center;
        align-self: center;
        text-align: center;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: min(100%, 34vw);
        padding: 0 6px;
        font-weight: 700;
        letter-spacing: 0.015em;
    }

    .top-bar-item--cvr,
    .top-bar-item--free-shipping,
    .top-bar-right span:nth-child(2) {
        grid-column: 3;
        grid-row: 1;
        text-align: right;
        justify-self: end;
        padding-right: 0;
        font-weight: 600;
        opacity: 0.96;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .top-bar-left {
        border-right: none;
    }

    .top-bar-right {
        display: contents;
    }

    body[data-page="home"] {
        --zilenzo-home-header-h: 100px;
    }

    .zilenzo-front-overlay {
        background:
            linear-gradient(
                180deg,
                rgba(255, 255, 255, 0) 0%,
                rgba(255, 255, 255, 0) 58%,
                rgba(255, 255, 255, 0.24) 80%,
                rgba(255, 255, 255, 0.42) 100%
            ),
            linear-gradient(
                90deg,
                rgba(255, 255, 255, 0.46) 0%,
                rgba(255, 255, 255, 0.18) 24%,
                rgba(255, 255, 255, 0) 50%
            );
    }

    .zilenzo-front-content:not(.zilenzo-front-content--homepage) {
        max-width: 100%;
        padding: 0 18px calc(100px + env(safe-area-inset-bottom, 0px)) 34px;
        margin: 0 0 44px 14px;
        background: none;
    }

    .zilenzo-front-brand {
        font-size: clamp(17px, 4.6vw, 24px);
        letter-spacing: 0.22em;
        margin-bottom: 12px;
        color: var(--accent);
    }

    .zilenzo-front-headline,
    .zilenzo-front-content h1:not(.zilenzo-front-homepage-title) {
        width: 100%;
        max-width: 100%;
        font-size: clamp(20px, 6.8vw, 56px);
        line-height: 1.02;
        letter-spacing: -0.045em;
        white-space: nowrap;
        color: var(--ink);
    }

    .zilenzo-front-headline-line {
        display: block;
        white-space: nowrap;
        text-shadow:
            0 1px 14px rgba(255, 255, 255, 0.8),
            0 0 1px rgba(255, 255, 255, 0.95);
    }

    .zilenzo-front-brand {
        max-width: min(84%, 300px);
    }

    .zilenzo-front-headline {
        max-width: 100%;
    }

    .zilenzo-front-hero--photo .zilenzo-front-showcase-stack {
        transform: translateY(clamp(14px, 4vh, 48px));
    }

    .zilenzo-front-hero--photo .zilenzo-front-content.zilenzo-front-content--showcase {
        inset: 0;
        width: 100%;
        max-width: 100%;
        margin: 0;
        justify-content: center;
        align-items: center;
        text-align: center;
        padding: clamp(24px, 4vh, 40px) var(--site-edge-padding) calc(100px + env(safe-area-inset-bottom, 0px));
    }

    .zilenzo-front-hero--photo .zilenzo-front-brand {
        color: #ffffff;
        width: 100%;
        max-width: none;
        text-align: center;
    }

    .zilenzo-front-hero--photo .zilenzo-front-content h1.zilenzo-front-showcase-title {
        width: 100%;
        max-width: 100%;
        text-align: center;
        white-space: normal;
        color: #ffffff;
        font-size: clamp(1.1rem, 5vw, 1.65rem);
    }

    .zilenzo-front-hero--photo .zilenzo-front-showcase-spec {
        font-size: 0.9rem;
        max-width: 30ch;
    }

    .zilenzo-front-hero--photo .zilenzo-hero-btn {
        min-height: 48px;
        font-size: 0.92rem;
        padding: 0 20px;
    }

    .zilenzo-front-hero--photo .zilenzo-hero-title-line {
        width: 100%;
        text-align: center;
    }

    .zilenzo-front-hero--photo .zilenzo-front-showcase-spec {
        margin-inline: auto;
        text-align: center;
    }

    .mobile-bottom-nav {
        display: flex !important;
    }

    .mobile-menu-toggle {
        display: inline-flex;
        flex-shrink: 0;
    }

    .navbar {
        display: grid;
        grid-template-columns: minmax(0, auto) minmax(0, 1fr);
        align-items: center;
        gap: 8px;
        padding: 10px 8px;
        min-height: 60px;
    }

    .navbar-brand-row {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        justify-self: start;
        gap: 8px;
        grid-column: 1;
        grid-row: 1;
        width: auto;
        min-width: 0;
        max-width: none;
    }

    .mobile-menu-toggle {
        width: 38px;
        height: 38px;
        font-size: 1.2rem;
        border-radius: 8px;
    }

    .navbar > .logo {
        display: inline-flex !important;
        align-items: center;
        flex: 0 0 auto;
        grid-column: 1;
        grid-row: 1;
        justify-self: start;
        margin: 0;
    }

    .navbar:has(.navbar-brand-row .logo) > .logo {
        display: none !important;
    }

    .navbar-brand-row .logo {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        width: 38px;
        height: 38px;
        min-width: 38px;
        max-width: 38px;
        margin: 0;
        padding: 0;
        overflow: hidden;
        line-height: 0;
        border-radius: 8px;
        box-sizing: border-box;
    }

    .navbar-brand-row .logo img {
        display: block;
        height: 22px;
        width: auto;
        max-width: 30px;
        margin: 0;
        object-fit: contain;
        object-position: center;
    }

    .navbar-brand-identity {
        display: none !important;
    }

    .nav-links {
        display: none !important;
    }

    .nav-actions {
        grid-column: 2;
        justify-self: stretch;
        width: 100%;
        min-width: 0;
        margin-left: 0;
        gap: 6px;
    }

    .nav-actions > .cart-icon {
        display: none !important;
    }

    .nav-actions > .lang-switch {
        flex-shrink: 0;
        order: 2;
    }

    .lang-switch-menu {
        right: 0;
        left: auto;
        width: 10.75rem;
    }

    .lang-switch-trigger {
        min-height: 34px;
        padding: 4px;
        gap: 0;
    }

    .lang-switch-label,
    .lang-switch-caret {
        display: none;
    }

    .lang-switch-trigger .lang-switch-flag {
        display: inline-flex !important;
        width: 24px;
        height: 16px;
    }

    .lang-switch-trigger .lang-switch-code {
        display: none !important;
    }

    .lang-switch-option .lang-switch-flag {
        display: inline-flex !important;
        width: 20px;
        height: 14px;
    }

    .lang-switch-option-name {
        font-size: 0.74rem;
    }

    .nav-actions > .search-container {
        display: flex !important;
        position: relative;
        z-index: 1300;
        order: 1;
        width: 100%;
        min-width: 0;
        max-width: none;
        flex: 1 1 auto;
        padding: 4px 6px 4px 12px;
        background: #f3f6f5;
        border-color: rgba(var(--accent-rgb), 0.12);
    }

    .nav-actions > .search-container input {
        width: 100%;
        min-width: 0;
        padding: 8px 0;
        font-size: 0.95rem;
        font-weight: 600;
        letter-spacing: 0.01em;
    }

    .nav-actions > .search-container input::placeholder {
        font-size: 0.82rem;
        font-weight: 500;
        letter-spacing: 0;
        color: rgba(3, 4, 18, 0.48);
    }

    .nav-actions > .search-container .search-btn {
        flex-shrink: 0;
        width: 36px;
        height: 36px;
        padding: 0;
    }

    .nav-actions .site-search-dropdown {
        left: 0;
        right: auto;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .search-container-has-dropdown {
        overflow: visible;
    }

    body.no-scroll .mobile-bottom-nav {
        display: flex !important;
    }

    .slide {
        padding: 0 6%;
    }

    .slide-arrow {
        width: 44px;
        height: 44px;
    }

    .slide-arrow.prev {
        left: 14px;
    }

    .slide-arrow.next {
        right: 14px;
    }

    .slider-header,
    .slider-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .footer-bottom-inner {
        grid-template-columns: 1fr;
        row-gap: 16px;
        padding: 18px var(--site-edge-padding) calc(20px + env(safe-area-inset-bottom, 0px));
    }

    .footer-bottom-copy {
        white-space: normal;
    }

    .footer-bottom .footer-payments-row {
        width: 100%;
        justify-self: stretch;
        justify-content: flex-start;
    }

    .footer-bottom .footer-payment-methods-image {
        width: 100%;
        height: auto;
        max-width: 100%;
        max-height: 56px;
        object-position: left center;
    }

    .cart-drawer {
        top: auto;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 3400;
        width: 100%;
        max-width: 100%;
        height: auto;
        max-height: calc(100dvh - 72px);
        border-radius: 28px 28px 0 0;
        box-shadow: 0 -24px 64px rgba(0, 63, 36, 0.18);
        transform: translateY(105%);
    }

    .cart-drawer.open {
        transform: translateY(0);
    }

    .cart-overlay,
    .modal-overlay {
        width: 100%;
        max-width: 100%;
    }

    .cart-overlay,
    .modal-overlay {
        z-index: 3300;
    }

    .account-modal {
        z-index: 3350;
    }

    .cart-drawer-header {
        position: relative;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        padding: 22px 18px 16px;
        border-bottom: none;
    }

    .cart-drawer-header-copy {
        flex: 1 1 auto;
        min-width: 0;
        padding-top: 8px;
    }

    .cart-drawer-header h3 {
        font-size: 1.2rem;
        line-height: 1.2;
    }

    .cart-drawer-header-meta {
        display: block;
        margin-top: 4px;
        line-height: 1.4;
        color: rgba(3, 4, 18, 0.52);
        font-size: 0.86rem;
    }

    .close-cart-btn {
        flex-shrink: 0;
        width: 42px;
        height: 42px;
        margin-top: 4px;
        border-radius: 50%;
        background: #f3f6f5;
        border-color: transparent;
    }

    .cart-drawer-header::before {
        content: "";
        position: absolute;
        top: 8px;
        left: 50%;
        width: 48px;
        height: 5px;
        border-radius: 999px;
        background: rgba(3, 4, 18, 0.14);
        transform: translateX(-50%);
    }

    .cart-drawer-content {
        padding: 4px 16px 12px;
        gap: 12px;
        background: #f7faf8;
    }

    .cart-drawer-footer {
        padding: 18px 18px calc(18px + env(safe-area-inset-bottom, 0px));
        border-top: 1px solid rgba(var(--accent-rgb), 0.08);
        border-radius: 0;
    }

    .cart-item {
        gap: 12px;
        padding: 12px;
        border-radius: 16px;
    }

    .cart-item-img {
        width: 76px;
        height: 76px;
        border-radius: 12px;
    }

    .cart-item-head h4 {
        font-size: 0.94rem;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .cart-item-qty button {
        width: 34px;
        height: 34px;
    }

    .cart-total-line {
        margin-bottom: 14px;
        padding: 14px 16px;
        border-radius: 14px;
        background: rgba(var(--accent-rgb), 0.08);
    }

    .cart-total-line strong {
        font-size: 1.28rem;
    }

    .cart-drawer-actions .primary-btn,
    .cart-drawer-actions .secondary-btn {
        min-height: 52px;
        font-size: 1rem;
        border-radius: 12px;
    }

    .cart-drawer-actions .primary-btn {
        box-shadow: 0 12px 28px rgba(0, 63, 36, 0.22);
    }

    .drawer-empty-state {
        min-height: min(40vh, 280px);
        padding: 28px 20px;
        border-radius: 16px;
        background: #ffffff;
    }

    .footer-links-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 20px;
    }

    .footer-fusion-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 20px;
    }

    .footer-col--company {
        grid-column: 1 / -1;
        padding-top: 8px;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
    }

    .site-footer--fusion .footer-fusion-col,
    .site-footer--fusion .footer-col {
        max-width: none;
    }

    .footer-fusion-container--links-only {
        padding-bottom: 0;
    }

    .footer-fusion-meta {
        padding: 20px 0;
    }

    .footer-fusion-wordmark-text {
        font-size: clamp(1rem, 4.6vw, 1.65rem);
        white-space: normal;
        text-align: left;
        text-align-last: left;
        line-height: 1.16;
        padding-top: 24px;
        padding-bottom: 24px;
    }

    .footer-fusion-wordmark-justify {
        display: none;
    }

    .site-footer--fusion .footer-bottom-inner,
    .site-footer--fusion .footer-fusion-bottom-inner {
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 12px;
    }

    .footer-fusion-bottom-start {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        width: 100%;
    }

    .site-footer--fusion .footer-bottom-copy {
        text-align: left;
        white-space: normal;
    }

    .footer-brand-panel {
        order: 2;
        padding-top: 8px;
        border-top: 1px solid rgba(0, 0, 0, 0.06);
    }

    .footer-links-grid {
        order: 1;
    }

    .footer-club-banner--home {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        min-height: clamp(520px, 72vh, 760px);
        background: #050608;
    }

    .footer-club-banner--home .footer-club-banner-media {
        position: absolute;
        inset: 0;
        flex: none;
        height: auto;
        transform: scale(1.01);
        filter: saturate(0.98) brightness(0.92);
    }

    .footer-club-banner--home .footer-club-banner-media picture,
    .footer-club-banner--home .footer-club-banner-media img {
        height: 100%;
    }

    .footer-club-banner--home .footer-club-banner-media img {
        width: 100%;
        max-height: none;
        min-height: 100%;
        object-fit: cover;
        object-position: center center;
    }

    .footer-club-banner--home .footer-club-banner-overlay,
    .footer-club-banner--home .footer-club-banner-shine {
        display: block;
    }

    .footer-club-banner--home .footer-club-banner-content {
        max-width: min(760px, 100%);
        flex: 1 1 auto;
        margin-top: 0;
        padding: clamp(36px, 8vw, 56px) 16px 40px;
    }

    .footer-club-banner:not(.footer-club-banner--home) {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        min-height: auto;
        background: #050608;
    }

    .footer-club-banner:not(.footer-club-banner--home) .footer-club-banner-media {
        position: relative;
        inset: auto;
        flex: 0 0 auto;
        height: auto;
        transform: none;
        filter: none;
    }

    .footer-club-banner:not(.footer-club-banner--home) .footer-club-banner-media picture,
    .footer-club-banner:not(.footer-club-banner--home) .footer-club-banner-media img {
        height: auto;
    }

    .footer-club-banner:not(.footer-club-banner--home) .footer-club-banner-media img {
        width: 100%;
        max-height: min(78vh, 680px);
        object-fit: cover;
        object-position: center top;
    }

    .footer-club-banner:not(.footer-club-banner--home) .footer-club-banner-overlay,
    .footer-club-banner:not(.footer-club-banner--home) .footer-club-banner-shine {
        display: none;
    }

    .footer-club-banner:not(.footer-club-banner--home) .footer-club-banner-content {
        max-width: none;
        flex: 1 1 auto;
        margin-top: -36px;
        padding: 0 16px 40px;
    }

    .footer-club-banner-panel {
        padding: 22px 16px;
        border-radius: 14px;
        gap: 20px;
    }

    .footer-club-banner-perks {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .footer-club-banner-perks li {
        justify-content: flex-start;
        font-size: 0.64rem;
        min-height: 40px;
        padding: 9px 12px;
    }

    .footer-club-banner-form-grid {
        grid-template-columns: 1fr;
    }

    .footer-club-banner-field--birthday,
    .footer-club-banner-field--email {
        grid-column: auto;
    }

    .footer-club-banner-form button {
        width: 100%;
    }

    .product-card,
    .product-grid,
    .webshop-editor-grid,
    .checkout-layout,
    .form-grid {
        grid-template-columns: 1fr;
    }

    .product-card {
        flex-basis: 100%;
    }

    .product-image-box {
        min-height: 250px;
    }

    .product-slider-section,
    .content-shell,
    .page-hero {
        padding-top: 54px;
        padding-bottom: 54px;
    }

    section.webshop-editor-row.content-shell,
    .content-shell.webshop-editor-row {
        padding-left: 14px;
        padding-right: 14px;
        padding-top: 30px;
    }

    .section-card,
    .account-modal {
        padding: 22px;
    }

    .product-detail-shell .product-detail-layout {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .product-detail-shell .product-detail-media {
        min-height: auto;
        border-right: none;
        border-bottom: 1px solid rgba(18, 18, 18, 0.06);
        padding: 0;
    }

    .product-detail-shell .product-detail-copy {
        padding: 28px 16px 40px;
    }

    .product-breadcrumb-shell {
        padding: 14px 16px 16px;
    }

    .product-detail-trust {
        grid-template-columns: 1fr;
    }

    .size-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .size-selector-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .mobile-bottom-nav {
        display: flex !important;
    }

    body {
        padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px));
    }

    .account-welcome-chip {
        display: none;
    }
}

.account-form-error {
    margin: 0 0 14px;
    padding: 10px 12px;
    border-radius: 10px;
    background: #fff1f1;
    color: #a00000;
    font-size: 0.92rem;
}

.account-form-hint {
    margin: -6px 0 14px;
    color: #777;
    font-size: 0.88rem;
    line-height: 1.45;
}

.account-welcome-chip {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(var(--accent-rgb), 0.12);
    color: var(--accent);
    font-size: 0.85rem;
    font-weight: 700;
}

.customer-panel-page {
    padding: 88px 0 96px;
    background: linear-gradient(180deg, #f7faf8 0%, #ffffff 55%);
    min-height: 70vh;
}

.customer-panel-page .container {
    width: min(1240px, calc(100% - 40px));
    max-width: 1240px;
    margin: 0 auto;
}

.customer-panel-loading {
    color: #777;
    font-size: 1rem;
}

.customer-panel-card {
    max-width: 1240px;
    margin: 0 auto;
    padding: 44px 40px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid rgba(var(--accent-rgb), 0.1);
    box-shadow: 0 18px 50px rgba(3, 4, 18, 0.06);
}

.customer-panel-eyebrow {
    margin: 0 0 8px;
    font-size: 0.78rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--accent);
    font-weight: 800;
}

.customer-panel-card h1 {
    margin: 0 0 12px;
    font-size: clamp(2.2rem, 4.5vw, 3.2rem);
}

.customer-panel-lead {
    margin: 0 0 28px;
    color: #5f6670;
    font-size: 1.08rem;
    line-height: 1.6;
}

.customer-panel-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 32px;
}

.customer-panel-box {
    padding: 20px;
    border-radius: 16px;
    background: rgba(var(--accent-rgb), 0.04);
    border: 1px solid rgba(var(--accent-rgb), 0.08);
}

.customer-panel-box-wide {
    grid-column: 1 / -1;
}

.customer-panel-label {
    display: block;
    margin-bottom: 6px;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #777;
}

.customer-panel-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
}

.customer-panel-logout-btn {
    color: #8f1111;
    border-color: rgba(160, 0, 0, 0.22);
}

.customer-panel-logout-btn:hover {
    background: #fff1f1;
    border-color: rgba(160, 0, 0, 0.34);
    color: #8f1111;
}

.customer-panel-sidebar-logout {
    width: 100%;
    margin-top: 18px;
    justify-content: center;
}

.customer-panel-section-note,
.customer-panel-order-hint {
    margin: 8px 0 0;
    color: #666;
    font-size: 0.95rem;
    line-height: 1.5;
}

.customer-panel-section-note {
    margin-top: 6px;
}

.customer-panel-cancel-btn {
    border-color: rgba(160, 0, 0, 0.18);
    color: #8f1111;
}

.customer-panel-cancel-btn:hover {
    background: #fff1f1;
    border-color: rgba(160, 0, 0, 0.34);
    color: #8f1111;
}

.customer-panel-card-wide {
    max-width: 1240px;
}

.customer-panel-section {
    max-width: 1240px;
    margin: 32px auto 0;
    padding: 40px 36px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid rgba(var(--accent-rgb), 0.1);
    box-shadow: 0 18px 50px rgba(3, 4, 18, 0.06);
}

.customer-panel-section-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 22px;
    flex-wrap: wrap;
}

.customer-panel-section-head h2 {
    margin: 0;
    font-size: 1.95rem;
}

.customer-panel-order {
    padding: 26px;
    border-radius: 18px;
    background: rgba(var(--accent-rgb), 0.04);
    border: 1px solid rgba(var(--accent-rgb), 0.08);
    margin-bottom: 16px;
}

.customer-panel-order:last-child {
    margin-bottom: 0;
}

.customer-panel-order-head,
.customer-panel-order-summary,
.customer-panel-list-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    flex-wrap: wrap;
}

.customer-panel-order-number {
    margin: 0 0 6px;
    font-size: 1.05rem;
    font-weight: 700;
}

.customer-panel-order-meta {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.customer-panel-pill {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(var(--accent-rgb), 0.12);
    color: var(--accent);
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.customer-panel-pill-dark {
    background: var(--accent);
    color: #fff;
}

.customer-panel-notice {
    margin: 0 0 24px;
    padding: 14px 16px;
    border-radius: 16px;
    background: rgba(var(--accent-rgb), 0.1);
    color: var(--ink);
    font-weight: 600;
}

.customer-panel-notice.is-error {
    background: #fff1f1;
    color: #a00000;
}

.customer-panel-order-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin: 0 0 18px;
}

.customer-panel-action-btn {
    min-height: 44px;
    padding: 0 18px;
}

.customer-panel-action-btn:disabled {
    opacity: 0.6;
    cursor: wait;
}

.customer-panel-action-btn-danger {
    border-color: rgba(160, 0, 0, 0.18);
    color: #8f1111;
}

.customer-panel-action-btn-danger:hover {
    border-color: rgba(160, 0, 0, 0.34);
    color: #8f1111;
}

.customer-panel-order-summary {
    margin: 18px 0;
    padding: 16px 0;
    border-top: 1px solid rgba(17, 17, 17, 0.08);
    border-bottom: 1px solid rgba(17, 17, 17, 0.08);
}

.customer-panel-list {
    display: grid;
    gap: 12px;
}

.customer-panel-list-row {
    padding: 14px 0;
    border-bottom: 1px solid rgba(17, 17, 17, 0.08);
}

.customer-panel-list-row:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

.customer-panel-subtle {
    margin: 4px 0 0;
    color: #666;
    font-size: 0.92rem;
}

.customer-panel-empty {
    padding: 28px;
    border-radius: 18px;
    background: #f7f7f7;
}

.customer-panel-empty h3 {
    margin: 0 0 10px;
}

.customer-panel-empty p {
    margin: 0 0 18px;
    color: #555;
}

.customer-panel-favorites {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.customer-panel-favorite {
    border-radius: 18px;
    overflow: hidden;
    background: #f7f7f7;
    border: 1px solid rgba(17, 17, 17, 0.06);
}

.customer-panel-favorite-media {
    display: block;
    aspect-ratio: 1 / 1;
    background: #ececec;
}

.customer-panel-favorite-media img,
.customer-panel-favorite-media span {
    width: 100%;
    height: 100%;
}

.customer-panel-favorite-media img {
    object-fit: cover;
}

.customer-panel-favorite-media span {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #111;
    font-weight: 700;
}

.customer-panel-favorite-copy {
    padding: 18px;
}

.customer-panel-favorite-copy h3 {
    margin: 6px 0 10px;
    font-size: 1.05rem;
}

.customer-panel-favorite-price {
    margin: 0 0 16px;
    font-weight: 700;
}

.customer-panel-layout {
    display: grid;
    grid-template-columns: minmax(250px, 300px) minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

.customer-panel-sidebar {
    position: sticky;
    top: 96px;
    border-radius: 24px;
    padding: 28px 24px;
}

.customer-panel-sidebar h2 {
    margin: 0 0 6px;
    font-size: 1.45rem;
}

.customer-panel-sidebar-email {
    margin: 0 0 22px;
    color: #666;
    font-size: 0.92rem;
    word-break: break-word;
}

.customer-panel-nav {
    display: grid;
    gap: 8px;
}

.customer-panel-nav-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid transparent;
    background: rgba(var(--accent-rgb), 0.05);
    color: var(--ink);
    font-weight: 600;
    font-size: 0.94rem;
    text-align: left;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.customer-panel-nav-btn:hover,
.customer-panel-nav-btn.is-active {
    background: rgba(var(--accent-rgb), 0.12);
    border-color: rgba(var(--accent-rgb), 0.18);
    color: var(--accent);
}

.customer-panel-nav-btn.is-danger {
    color: #8f1111;
    background: #fff5f5;
}

.customer-panel-nav-btn.is-danger.is-active,
.customer-panel-nav-btn.is-danger:hover {
    background: #ffecec;
    border-color: rgba(160, 0, 0, 0.2);
    color: #8f1111;
}

.customer-panel-main {
    display: grid;
    gap: 24px;
}

.customer-panel-content-card {
    padding: 36px 32px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid rgba(var(--accent-rgb), 0.1);
    box-shadow: 0 18px 50px rgba(3, 4, 18, 0.06);
}

.customer-panel-content-card h1 {
    margin: 0 0 12px;
    font-size: clamp(1.8rem, 3vw, 2.4rem);
}

.customer-panel-form {
    margin-top: 24px;
}

.customer-panel-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.customer-panel-field {
    display: grid;
    gap: 8px;
}

.customer-panel-field span {
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #666;
}

.customer-panel-field input {
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    border-radius: 12px;
    border: 1px solid rgba(17, 17, 17, 0.12);
    font: inherit;
}

.customer-panel-field-wide {
    grid-column: 1 / -1;
}

.customer-panel-form-divider {
    margin: 28px 0 16px;
    font-size: 1.1rem;
}

.customer-panel-doc-links {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin: 0 0 14px;
}

.customer-panel-doc-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
}

.customer-panel-doc-meta {
    color: #666;
    font-size: 0.9rem;
}

.customer-panel-help-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 24px;
}

.customer-panel-help-card {
    padding: 22px;
    border-radius: 18px;
    background: rgba(var(--accent-rgb), 0.04);
    border: 1px solid rgba(var(--accent-rgb), 0.08);
}

.customer-panel-help-card i {
    font-size: 1.4rem;
    color: var(--accent);
    margin-bottom: 12px;
}

.customer-panel-help-card h3 {
    margin: 0 0 10px;
}

.customer-panel-help-card p {
    margin: 0 0 16px;
    color: #555;
    line-height: 1.55;
}

.customer-panel-support-box {
    display: grid;
    gap: 16px;
    margin-top: 24px;
}

.customer-panel-support-item {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 18px 20px;
    border-radius: 16px;
    background: rgba(var(--accent-rgb), 0.04);
    border: 1px solid rgba(var(--accent-rgb), 0.08);
}

.customer-panel-support-item i {
    font-size: 1.3rem;
    color: var(--accent);
    margin-top: 2px;
}

.customer-panel-support-item p {
    margin: 6px 0 0;
    color: #555;
}

.customer-panel-club-status {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 20px 22px;
    border-radius: 18px;
    background: #f7f7f7;
    border: 1px solid rgba(17, 17, 17, 0.08);
    margin: 20px 0;
}

.customer-panel-club-status.is-member {
    background: rgba(var(--accent-rgb), 0.08);
    border-color: rgba(var(--accent-rgb), 0.16);
}

.customer-panel-club-status i {
    font-size: 1.5rem;
    color: var(--accent);
}

.customer-panel-consent-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    margin-top: 24px;
    padding: 22px;
    border-radius: 18px;
    background: rgba(var(--accent-rgb), 0.04);
    border: 1px solid rgba(var(--accent-rgb), 0.08);
}

.customer-panel-danger-card {
    border-color: rgba(160, 0, 0, 0.14);
}

@media (max-width: 700px) {
    .customer-panel-page {
        padding-top: 64px;
    }

    .customer-panel-page .container {
        width: min(1240px, calc(100% - 24px));
    }

    .customer-panel-layout {
        grid-template-columns: 1fr;
    }

    .customer-panel-sidebar {
        position: static;
    }

    .customer-panel-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .customer-panel-nav-btn {
        font-size: 0.82rem;
        padding: 10px 12px;
    }

    .customer-panel-content-card {
        padding: 28px 22px;
    }

    .customer-panel-form-grid,
    .customer-panel-help-grid {
        grid-template-columns: 1fr;
    }

    .customer-panel-card {
        padding: 28px 22px;
    }

    .customer-panel-grid {
        grid-template-columns: 1fr;
    }

    .customer-panel-section {
        padding: 28px 22px;
    }

    .customer-panel-favorites {
        grid-template-columns: 1fr;
    }
}

/* Knapper: ens 8px radius på tværs af shoppen */
button,
input[type="submit"],
input[type="button"],
.cart-icon,
.primary-btn,
.primary-link,
.secondary-btn,
.slide-btn,
.add-to-cart-btn,
.product-add-cta,
.tab-btn,
.close-cart-btn,
.close-modal-btn,
.remove-item-btn,
.cart-item-qty button,
.footer-newsletter-form button,
.mobile-nav-item,
.account-toggle-btn,
.search-btn,
.wishlist-add-btn {
    border-radius: var(--btn-radius);
}

/* Knapper: ens 8px border på CTA-knapper */
.primary-btn,
.primary-link,
.secondary-btn,
.slide-btn,
.cart-icon,
.add-to-cart-btn,
.product-add-cta,
.contact-quick-btn,
.contact-submit-btn,
.checkout-v2-submit,
.theme-content-card__btn,
.theme-slider-card__btn,
.theme-campaign__cta,
.theme-hero__cta,
.theme-topbanner__cta,
.cookie-consent-btn,
.cookie-consent-reopen,
.cookie-settings-actions .btn-primary,
.cookie-settings-actions .btn-secondary,
.cookie-revoke-actions .btn-secondary,
.cookie-revoke-actions .btn-danger,
.btn-danger,
.footer-fusion-form button,
.footer-club-banner-form button,
a.primary-btn,
button.primary-btn,
input.primary-btn {
    box-sizing: border-box;
}

/* Udvalgte varer: fuld bredde, altid én række, hvid baggrund */
section.product-grid-section.content-shell,
.content-shell.product-grid-section,
[data-zilenzo-featured-products-mount],
.popular-products-section,
.product-grid-slider-wrapper,
.product-grid-slider-window {
    background: #ffffff !important;
}

section.product-grid-section.content-shell,
.content-shell.product-grid-section {
    max-width: none;
    width: 100%;
    margin: 0;
    padding: 48px 70px 72px;
    box-sizing: border-box;
}

body[data-page="home"] {
    background: #ffffff;
}

.product-grid-section .webshop-editor-grid {
    width: 100%;
    max-width: none;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.product-grid-section .webshop-editor-grid--1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

.product-grid-section .webshop-editor-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.product-grid-section .webshop-editor-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.product-grid-section .webshop-editor-grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.product-grid-section .webshop-editor-grid--5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.product-grid-section .product-card {
    flex: none;
    min-height: auto;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: none;
    box-shadow: none;
}

.product-grid-section .product-card:hover {
    box-shadow: none;
    transform: none;
}

.product-grid-section .product-image-box {
    min-height: 220px;
    height: 220px;
    background: var(--product-media-bg);
}

.product-grid-section .product-png {
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 180px;
    object-fit: contain;
}

.product-grid-section .product-description {
    -webkit-line-clamp: 3;
    min-height: 0;
}

.product-grid-section .add-to-cart-btn {
    width: 100%;
}

.product-grid-slider-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
}

.product-grid-slider-window {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.product-grid-section .product-grid-track {
    display: grid;
    grid-template-columns: repeat(var(--product-grid-visible, 5), minmax(0, 1fr));
    gap: 16px;
    width: 100%;
}

.product-grid-slider-arrow {
    width: 42px;
    height: 42px;
    border-radius: var(--btn-radius);
    border: none;
    background: var(--accent-contrast);
    color: #fff;
    font-size: 22px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.product-grid-slider-arrow:hover {
    opacity: 0.85;
}

.checkout-payment-block {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.checkout-payment-title {
    margin: 0 0 14px;
    font-size: 1.05rem;
}

.checkout-payment-options {
    display: grid;
    gap: 10px;
}

.payment-option {
    display: block;
    cursor: pointer;
}

.payment-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.payment-option-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border: 2px solid rgba(0, 0, 0, 0.08);
    border-radius: var(--btn-radius);
    background: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.payment-option input:checked + .payment-option-card {
    border-color: var(--accent);
    box-shadow: 0 0 0 1px var(--accent);
}

.payment-option-card-mobilepay {
    background: linear-gradient(135deg, #f8f9ff 0%, #ffffff 100%);
}

.payment-option-icon {
    width: 42px;
    height: 42px;
    border-radius: var(--btn-radius);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    flex-shrink: 0;
}

.payment-option-icon-card {
    background: var(--accent);
    color: #fff;
}

.payment-option-icon-mobilepay {
    background: #5a78ff;
    color: #fff;
}

.payment-option-copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.payment-option-copy strong {
    font-size: 0.95rem;
}

.payment-option-copy small {
    color: #666;
    font-size: 0.82rem;
}

.checkout-payment-note {
    margin-top: 12px;
}

.status-confirmation-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 18px 0 8px;
}

.status-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: var(--btn-radius);
    font-size: 0.85rem;
    font-weight: 600;
}

.status-badge-ok {
    background: #e8f6e8;
    color: #176b16;
}

.status-badge-muted {
    background: #f3f3f3;
    color: #666;
}

/* Produktside - kant til kant */
body.product-page,
.product-page-main,
.product-detail-shell,
.product-detail-card {
    background: #ffffff;
}

body.product-page .navbar {
    margin-top: 0;
}

/* Favoritter - kant til kant */
body.wishlist-page,
.wishlist-page-main {
    background: #ffffff;
}

body.wishlist-page .navbar {
    margin-top: 0;
}

.wishlist-edge-shell {
    width: 100%;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
    padding-left: var(--site-edge-padding);
    padding-right: var(--site-edge-padding);
}

.wishlist-edge-shell.page-hero {
    padding-top: 48px;
    padding-bottom: 20px;
}

.wishlist-grid-shell {
    padding-top: 0;
    padding-bottom: 72px;
}

.wishlist-product-grid {
    display: grid;
    width: 100%;
    max-width: none;
    margin: 0;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
}

body.wishlist-page .wishlist-product-grid .zilenzo-product-card {
    height: 100%;
    display: flex;
    flex-direction: column;
}

body.wishlist-page .wishlist-product-grid .zilenzo-product-info {
    display: flex;
    flex: 1;
    flex-direction: column;
}

body.wishlist-page .wishlist-product-grid .zilenzo-product-actions {
    margin-top: auto;
}

@media (max-width: 1200px) {
    .wishlist-product-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .wishlist-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.wishlist-scroll-progress {
    position: relative;
    display: none;
    height: 2px;
    margin: 14px 16px 0;
    background: rgba(18, 18, 18, 0.12);
    border-radius: 999px;
    overflow: hidden;
}

.wishlist-grid-shell.is-touch-carousel .wishlist-scroll-progress {
    display: block;
}

.wishlist-scroll-progress__bar {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 42px;
    border-radius: inherit;
    background: #111111;
    transform: translateX(0);
    transition: transform 0.12s ease, width 0.12s ease;
    will-change: transform, width;
}

.wishlist-carousel-shell {
    position: relative;
}

.wishlist-carousel-arrow {
    position: absolute;
    top: 38%;
    z-index: 4;
    display: none;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid rgba(18, 18, 18, 0.1);
    border-radius: 999px;
    background: #ffffff;
    color: var(--accent);
    box-shadow: 0 8px 20px rgba(18, 18, 18, 0.1);
    font-size: 1rem;
    cursor: pointer;
    transform: translateY(-50%);
}

.wishlist-carousel-arrow.is-prev {
    left: 6px;
}

.wishlist-carousel-arrow.is-next {
    right: 6px;
}

@media (max-width: 768px) {
    .wishlist-grid-shell {
        padding-left: 0;
        padding-right: 0;
    }

    .wishlist-grid-shell.is-touch-carousel .wishlist-carousel-arrow {
        display: inline-flex;
    }

    .wishlist-grid-shell.is-touch-carousel .wishlist-carousel-arrow[hidden] {
        display: none;
    }

    .wishlist-grid-shell.is-touch-carousel .wishlist-carousel-window {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 16px;
        scrollbar-width: none;
        overscroll-behavior-x: contain;
    }

    .wishlist-grid-shell.is-touch-carousel .wishlist-carousel-window::-webkit-scrollbar {
        display: none;
    }

    .wishlist-grid-shell.is-touch-carousel .wishlist-product-grid {
        display: flex;
        align-items: stretch;
        gap: 12px;
        width: max-content;
        padding: 4px 16px 8px;
        grid-template-columns: none;
    }

    .wishlist-grid-shell.is-touch-carousel .wishlist-product-grid > .product-card,
    .wishlist-grid-shell.is-touch-carousel .wishlist-product-grid > .zilenzo-product-card {
        flex: 0 0 clamp(236px, 78vw, 300px);
        width: clamp(236px, 78vw, 300px);
        max-width: none;
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }
}

@media (max-width: 600px) {
    .wishlist-edge-shell.page-hero {
        padding-top: 32px;
    }

    .footer-links-grid,
    .footer-fusion-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 18px;
    }

    .footer-fusion-form-grid {
        grid-template-columns: 1fr;
    }

    .footer-col h3 {
        margin-bottom: 12px;
        font-size: 0.86rem;
    }

    .footer-col li {
        margin-bottom: 8px;
    }

    .footer-pay-badge {
        min-width: calc(50% - 5px);
        flex: 1 1 calc(50% - 5px);
    }
}

.product-edge-shell {
    width: 100%;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
}

.product-breadcrumb-shell {
    padding: 16px var(--site-edge-padding) 18px;
    background: var(--product-breadcrumb-bg);
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--ink);
}

.product-detail-shell {
    padding: 0;
}

.product-detail-shell .product-detail-card,
.product-detail-shell .product-detail-layout {
    width: 100%;
    max-width: none;
    margin: 0;
}

@media (min-width: 769px) {
    .product-detail-shell .product-detail-layout {
        display: grid;
        grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
        gap: 0;
        align-items: start;
        min-height: calc(100vh - 180px);
    }

    .product-detail-shell .product-detail-layout:has(.product-avatar-preview) {
        min-height: calc(100vh - 180px);
        align-items: stretch;
    }

    .product-detail-shell .product-detail-media {
        min-height: calc(100vh - 180px);
        height: 100%;
        padding: 0;
        border: none;
        border-radius: 0;
        box-shadow: none;
        border-right: 1px solid rgba(18, 18, 18, 0.06);
        overflow: hidden;
    }

    .product-detail-shell .product-detail-media:has([data-product-gallery]) {
        min-height: 0;
        height: auto;
        overflow: hidden;
        background: var(--product-media-bg);
    }

    .product-detail-shell .product-detail-media:has([data-product-gallery]) .product-gallery:not(.product-gallery--grid) {
        min-height: 100%;
        height: 100%;
    }

    .product-detail-shell .product-detail-media:has([data-product-gallery]) .product-gallery-stage {
        min-height: 0;
        height: 100%;
    }

    body.product-page .product-detail-layout--gallery,
    body.product-page .product-detail-layout:has([data-product-gallery]) {
        grid-template-columns: minmax(0, 1.06fr) minmax(0, 0.94fr);
        grid-template-rows: auto;
        align-items: stretch;
        min-height: auto;
        gap: 0;
    }

    body.product-page .product-detail-studio {
        grid-column: 1;
        grid-row: 1;
        display: flex;
        flex-direction: column;
        min-width: 0;
        background: #eceef2;
        border-right: 1px solid rgba(18, 18, 18, 0.06);
    }

    body.product-page .product-detail-layout--gallery .product-detail-copy,
    body.product-page .product-detail-layout:has([data-product-gallery]) .product-detail-copy {
        display: block;
        grid-column: 2;
        grid-row: 1;
        align-self: start;
        position: sticky;
        top: 76px;
        max-height: none;
        overflow: visible;
    }

    body.product-page .product-detail-layout--gallery .product-buy-panel,
    body.product-page .product-detail-layout:has([data-product-gallery]) .product-buy-panel {
        padding: 20px clamp(22px, 3.2vw, 40px) 32px;
        background: #ffffff;
        border-left: none;
        gap: 20px;
    }

    body.product-page .product-detail-layout--gallery .product-buy-panel .product-kicker,
    body.product-page .product-detail-layout:has([data-product-gallery]) .product-buy-panel .product-kicker {
        margin-bottom: 2px;
        color: #7a8494;
        font-size: 0.68rem;
        font-weight: 800;
        letter-spacing: 0.16em;
    }

    body.product-page .product-detail-layout--gallery .product-buy-panel h1,
    body.product-page .product-detail-layout:has([data-product-gallery]) .product-buy-panel h1 {
        margin: 0;
        font-size: clamp(1.45rem, 2.2vw, 1.9rem);
        line-height: 1.14;
        letter-spacing: -0.02em;
        font-weight: 800;
    }

    body.product-page .product-detail-layout--gallery .product-buy-panel .product-detail-price-row .detail-price,
    body.product-page .product-detail-layout--gallery .product-buy-panel .detail-price,
    body.product-page .product-detail-layout:has([data-product-gallery]) .product-buy-panel .product-detail-price-row .detail-price,
    body.product-page .product-detail-layout:has([data-product-gallery]) .product-buy-panel .detail-price {
        font-size: clamp(1.35rem, 2vw, 1.62rem);
        font-weight: 800;
        letter-spacing: -0.02em;
    }

    body.product-page .product-detail-layout--gallery .product-buy-panel .size-selector,
    body.product-page .product-detail-layout:has([data-product-gallery]) .product-buy-panel .size-selector {
        padding: 24px 0 18px;
        border-top: 1px solid rgba(15, 23, 42, 0.07);
        margin-top: 8px;
    }

    body.product-page .product-detail-layout--gallery .product-buy-panel .product-highlights,
    body.product-page .product-detail-layout:has([data-product-gallery]) .product-buy-panel .product-highlights {
        margin: 8px 0 22px;
        gap: 12px;
    }

    body.product-page .product-detail-layout--gallery .product-buy-panel .product-highlights li,
    body.product-page .product-detail-layout:has([data-product-gallery]) .product-buy-panel .product-highlights li {
        font-size: 0.9rem;
        line-height: 1.45;
    }

    body.product-page .product-detail-layout--gallery .product-detail-lower,
    body.product-page .product-detail-layout:has([data-product-gallery]) .product-detail-lower {
        grid-column: auto;
        grid-row: auto;
        align-self: auto;
        margin: 0;
        padding: 30px 0 44px;
        background: #ffffff;
        border-top: 1px solid rgba(15, 23, 42, 0.07);
        border-right: none;
        gap: 20px;
    }

    body.product-page .product-detail-lower--gallery-stage,
    body.product-page .product-detail-layout:has([data-product-gallery]) .product-detail-lower--gallery-stage {
        display: block;
        margin: 0;
        padding: 0;
        background: #ffffff;
        border-top: 1px solid rgba(15, 23, 42, 0.08);
    }

    body.product-page .product-detail-lower--gallery-stage .product-detail-accordion,
    body.product-page .product-detail-layout:has([data-product-gallery]) .product-detail-lower--gallery-stage .product-detail-accordion {
        width: 100%;
        min-width: 0;
    }

    body.product-page .product-detail-lower--gallery-stage .product-detail-accordion__summary,
    body.product-page .product-detail-layout:has([data-product-gallery]) .product-detail-lower--gallery-stage .product-detail-accordion__summary {
        padding: clamp(18px, 2.4vw, 24px) 40px clamp(18px, 2.4vw, 24px) calc(96px + 16px);
    }

    body.product-page .product-detail-lower--gallery-stage .product-detail-accordion__body,
    body.product-page .product-detail-layout:has([data-product-gallery]) .product-detail-lower--gallery-stage .product-detail-accordion__body {
        padding: 0 40px clamp(20px, 2.6vw, 28px) calc(96px + 16px);
    }

    body.product-page .product-detail-layout--gallery .product-detail-media,
    body.product-page .product-detail-layout:has([data-product-gallery]) .product-detail-media {
        grid-column: auto;
        grid-row: auto;
        align-self: auto;
        display: flex;
        min-height: 0;
        height: auto;
        overflow: hidden;
        border-right: none;
        border-top: none;
        background: #eceef2;
    }

    body.product-page .product-detail-layout--gallery .product-detail-shell .product-detail-media:has([data-product-gallery]),
    body.product-page .product-detail-shell .product-detail-media:has([data-product-gallery]) {
        overflow: hidden;
        min-height: 0;
        height: auto;
        background: #eceef2;
    }

    body.product-page .product-detail-shell .product-detail-media:has([data-product-gallery]) .product-gallery:not(.product-gallery--grid) {
        display: grid;
        grid-template-columns: 96px minmax(0, 1fr);
        align-items: stretch;
        gap: 0;
        width: 100%;
        min-height: 0;
        height: auto;
        padding: 0;
        box-sizing: border-box;
        background: transparent;
    }

    body.product-page .product-detail-shell .product-detail-media:has(.product-gallery--grid) .product-gallery.product-gallery--grid {
        display: block;
        width: 100%;
        min-height: 0;
        height: auto;
        padding: 0;
        background: #ffffff;
    }

    body.product-page .product-gallery {
        min-height: 0;
        height: auto;
    }

    body.product-page .product-gallery-thumbs {
        position: static;
        transform: none;
        flex-direction: column;
        justify-content: flex-start;
        align-self: stretch;
        width: 76px;
        max-width: 76px;
        max-height: min(72vh, 720px);
        margin: 0;
        padding: 24px 10px 24px 14px;
        overflow-x: hidden;
        overflow-y: auto;
        background: transparent;
        border: 0;
        border-right: 1px solid rgba(15, 23, 42, 0.06);
        gap: 8px;
        scrollbar-width: thin;
    }

    body.product-page .product-gallery-stage {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 0;
        height: auto;
        padding: 32px 40px 32px 16px;
        position: relative;
        box-sizing: border-box;
    }

    body.product-page .product-detail-shell .product-gallery-stage > .product-detail-image {
        display: block;
        width: 100%;
        height: auto;
        max-width: 100%;
        max-height: none;
        min-height: 0;
        padding: 0;
        object-fit: cover;
        object-position: center center;
    }

    body.product-page .product-detail-shell .product-detail-media:has([data-product-gallery]) .product-detail-media-stage {
        min-height: 0;
        height: auto;
        align-items: center;
    }

    body.product-page .product-gallery-stage > .product-gallery-arrow {
        z-index: 3;
    }

    body.product-page .product-gallery-thumb {
        width: 100%;
        min-height: 0;
        padding: 0;
        border-radius: 0;
        border: 1px solid rgba(17, 17, 17, 0.14);
        background: var(--product-media-bg, #eceef2);
        transition: border-color 0.18s ease;
    }

    body.product-page .product-gallery-thumb.is-active {
        border-color: #111111;
        border-width: 2px;
        background: var(--product-media-bg, #eceef2);
        box-shadow: none;
    }

    body.product-page .product-gallery-thumb-media {
        width: 100%;
        height: 72px;
        border-radius: 0;
        overflow: hidden;
        background: var(--product-media-bg, #eceef2);
    }

    body.product-page .product-gallery-thumb-label {
        display: none;
    }

    .product-detail-shell .product-detail-image {
        width: 100%;
        max-width: 100%;
        height: 100%;
        max-height: none;
        object-fit: contain;
        object-position: center;
        display: block;
    }

    .product-detail-shell .product-detail-layout:has(.product-avatar-preview) {
        align-items: start;
        grid-template-rows: auto auto;
    }

    body.product-page .product-detail-layout:not(:has([data-product-gallery])) .product-detail-copy {
        grid-column: 2;
        grid-row: 1;
        align-self: start;
    }

    body.product-page .product-detail-layout:not(:has([data-product-gallery])) .product-detail-lower {
        grid-column: 2;
        grid-row: 2;
        align-self: start;
        margin-top: 0;
        padding-top: 8px;
        border-top: none;
    }

    .product-detail-shell .product-detail-media:has(.product-avatar-preview) {
        position: sticky;
        top: 0;
        align-self: start;
        height: calc(100vh - 180px);
        max-height: calc(100vh - 180px);
        min-height: 0;
        overflow: hidden;
    }

    .product-detail-shell .product-detail-media:has(.product-avatar-preview) .product-detail-media-stage {
        height: 100%;
        max-height: 100%;
        min-height: 0;
    }

    .product-detail-shell .product-avatar-preview .product-detail-image,
    .product-detail-shell .product-avatar-preview .product-detail-image-clean {
        width: auto;
        max-width: min(100%, 900px);
        height: auto;
        max-height: 100%;
    }

    .product-detail-shell .product-avatar-preview .avatar-preview-frame {
        width: min(100%, 440px);
        height: 100%;
    }

    .product-detail-shell .product-avatar-preview .avatar-base-image {
        width: 100%;
        height: 100%;
        object-position: center bottom;
    }

    .product-detail-shell .product-detail-copy {
        padding: 20px clamp(20px, 4vw, 48px) 40px;
        justify-content: flex-start;
        gap: 0;
        position: relative;
        z-index: 2;
        background: #ffffff;
    }
}

.related-shell {
    padding: clamp(36px, 4vw, 48px) clamp(16px, 4vw, 48px) 48px;
    margin-top: 0;
}

.product-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
    color: var(--muted);
    font-size: 0.92rem;
}

.product-breadcrumb li + li::before {
    content: "/";
    margin-right: 8px;
    color: rgba(43, 43, 43, 0.45);
}

.product-breadcrumb a {
    color: var(--ink);
    text-decoration: none;
}

.product-breadcrumb a:hover {
    color: var(--accent);
    text-decoration: underline;
}

.product-breadcrumb li[aria-current="page"] {
    color: var(--ink);
    font-weight: 700;
}

.product-detail-card {
    background: #ffffff;
}

.product-detail-placeholder,
.product-png-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 420px;
    background: #ffffff;
    color: var(--ink);
    font-size: 1.6rem;
    font-weight: 900;
}

body.product-page .product-image-fallback {
    background: var(--product-media-bg);
}

.product-detail-copy h1 {
    margin: 0;
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    line-height: 1.1;
}

.product-detail-price-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
}

.product-detail-price-row .detail-price {
    margin: 0;
    font-size: 1.55rem;
}

.detail-price-vat {
    margin: 2px 0 0;
    font-size: 0.88rem;
    color: #6b7280;
    font-weight: 500;
    line-height: 1.3;
}

.detail-price-vat-discount {
    margin: 4px 0 0;
    font-size: 0.88rem;
    color: var(--accent);
    font-weight: 600;
}

.product-detail-price-copy {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.product-detail-price-block {
    margin: 0 0 4px;
}

.detail-price-old {
    margin: 0;
    color: #777;
    font-size: 1rem;
    text-decoration: line-through;
}

.product-sale-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(226, 85, 47, 0.12);
    color: #c2410c;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.product-detail-lead {
    margin-top: 4px;
    font-size: 1rem;
}

.product-detail-subtitle {
    margin: 8px 0 16px;
    max-width: 44ch;
    font-size: 0.98rem;
    line-height: 1.5;
    font-weight: 500;
    color: #5b6673;
    letter-spacing: 0.01em;
}

.product-sales-pitch {
    margin: 0 0 18px;
    max-width: none;
    font-size: 0.94rem;
    line-height: 1.35;
    color: #4b5563;
}

@container (min-width: 480px) {
    .product-buy-panel .product-sales-pitch {
        white-space: nowrap;
        font-size: clamp(0.56rem, 1.16cqi, 0.88rem);
        letter-spacing: -0.015em;
    }
}

.product-availability {
    display: grid;
    gap: 8px;
    margin: 0 0 16px;
}

.product-availability--inline {
    display: block;
    margin: 0 0 12px;
}

.product-availability--inline .stock-line-combined {
    width: auto;
    max-width: 100%;
    white-space: nowrap;
}

.product-availability--inline .stock-line-combined span {
    font-weight: 600;
}

.product-delivery-note {
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.45;
}

.product-delivery-note i {
    color: var(--accent);
    font-size: 0.95rem;
}

.product-trust-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    margin: 0;
    padding: 8px 10px;
    list-style: none;
    border-radius: 12px;
    background: rgba(var(--accent-rgb), 0.05);
    border: 1px solid rgba(var(--accent-rgb), 0.12);
}

.product-trust-strip__item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    color: #4b5563;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.35;
    white-space: nowrap;
}

.product-trust-strip__item i {
    flex: 0 0 auto;
    color: var(--accent);
    font-size: 0.95rem;
}

.product-buy-panel .product-trust-strip {
    margin: 0 0 6px;
}

@media (max-width: 768px) {
    .product-trust-strip {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .product-trust-strip__item {
        white-space: normal;
        font-size: 0.82rem;
    }

    .product-availability--inline .stock-line-combined {
        white-space: normal;
        flex-wrap: wrap;
    }
}

.product-detail-rich-text {
    font-size: 1.02rem;
    line-height: 1.75;
    color: var(--ink);
    width: 100%;
    max-width: 100%;
    letter-spacing: 0.01em;
}

.product-detail-rich-text p {
    margin: 0 0 0.9em;
}

.product-detail-rich-text p:last-child {
    margin-bottom: 0;
}

.product-detail-rich-text ul,
.product-detail-rich-text ol {
    margin: 0 0 0.9em 1.25em;
    padding: 0;
}

.product-detail-rich-text li + li {
    margin-top: 0.35em;
}

.product-detail-rich-text h2,
.product-detail-rich-text h3,
.product-detail-rich-text h4 {
    margin: 0 0 0.65em;
    line-height: 1.3;
    font-weight: 700;
}

.product-detail-rich-text h2 {
    font-size: 1.35rem;
}

.product-detail-rich-text h3 {
    font-size: 1.18rem;
}

.product-detail-rich-text h4 {
    font-size: 1.05rem;
}

.product-detail-rich-text blockquote {
    margin: 0 0 0.9em;
    padding: 0.75em 1em;
    border-left: 3px solid rgba(var(--accent-rgb), 0.35);
    background: rgba(var(--accent-rgb), 0.05);
}

.product-detail-rich-text .ql-align-center {
    text-align: center;
}

.product-detail-rich-text .ql-align-right {
    text-align: right;
}

.product-detail-rich-text .ql-align-justify {
    text-align: justify;
}

.product-detail-rich-text .ql-line-height-tight {
    line-height: 1.35;
}

.product-detail-rich-text .ql-line-height-relaxed {
    line-height: 1.85;
}

.product-detail-rich-text .ql-line-height-normal {
    line-height: 1.65;
}

.product-detail-rich-text .ql-line-height-loose {
    line-height: 2.1;
}

.product-detail-rich-text a {
    color: var(--accent);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.product-detail-rich-text .ql-size-small {
    font-size: 0.85em;
}

.product-detail-rich-text .ql-size-large {
    font-size: 1.15em;
}

.product-detail-rich-text .ql-size-huge {
    font-size: 1.35em;
}

.product-detail-trust {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 4px 0 8px;
}

.product-detail-trust span {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 14px;
    border-radius: var(--btn-radius);
    background: #f8faff;
    color: var(--ink);
    font-size: 0.86rem;
    font-weight: 700;
}

.product-detail-trust i {
    color: var(--accent);
}

.detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 4px 0 8px;
}

.related-shell {
    background: #ffffff;
}

.related-shell-top {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
    padding-top: 8px;
}

.related-shell .section-heading {
    margin-bottom: 0;
}

.related-shell .section-heading h2 {
    font-size: clamp(1.35rem, 2.4vw, 1.75rem);
}

.related-slider-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
}

.related-slider-window {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.related-slider-track {
    display: grid;
    grid-template-columns: repeat(var(--related-visible, 4), minmax(0, 300px));
    gap: 20px;
    align-items: stretch;
    justify-content: start;
    justify-items: start;
    width: 100%;
}

.related-slider-track.is-single-item {
    grid-template-columns: minmax(0, 300px);
    justify-content: start;
}

.related-slider-track.is-sparse-page:not(.is-single-item) {
    justify-content: start;
}

.related-slider-arrow {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    border: 1px solid rgba(18, 18, 18, 0.1);
    background: #ffffff;
    color: var(--accent);
    box-shadow: 0 8px 20px rgba(18, 18, 18, 0.1);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 1.15rem;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.related-slider-arrow:hover {
    background: var(--accent);
    color: #ffffff;
    transform: translateY(-1px);
}

.related-slider-arrow:disabled {
    opacity: 0.35;
    cursor: not-allowed;
    transform: none;
}

.related-slider-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
}

.related-slider-dot {
    width: 8px;
    height: 8px;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: rgba(18, 18, 18, 0.18);
    cursor: pointer;
    transition: width 0.2s ease, background 0.2s ease;
}

.related-slider-dot.is-active {
    width: 22px;
    background: var(--accent);
}

.related-slider-progress {
    position: relative;
    height: 2px;
    margin: 14px 16px 0;
    background: rgba(18, 18, 18, 0.12);
    border-radius: 999px;
    overflow: hidden;
}

.related-slider-progress__bar {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 42px;
    border-radius: inherit;
    background: #111111;
    transform: translateX(0);
    transition: transform 0.12s ease, width 0.12s ease;
    will-change: transform, width;
}

.related-shell.is-touch-carousel .related-slider-progress {
    display: block;
}

.related-shell .related-product-card {
    min-height: 0;
    height: 100%;
    max-width: 300px;
    width: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(18, 18, 18, 0.07);
    border-radius: var(--radius-md);
    box-shadow: 0 10px 24px rgba(18, 18, 18, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    overflow: hidden;
    background: #ffffff;
}

.related-shell .related-product-card:hover {
    transform: translateY(-2px);
    border-color: rgba(var(--accent-rgb), 0.22);
    box-shadow: 0 16px 30px rgba(18, 18, 18, 0.1);
}

.related-shell .related-product-card .product-image-box {
    height: 260px;
    min-height: 260px;
    padding: 20px 18px 14px;
    background: var(--product-media-bg);
}

.related-shell .related-product-card .product-card-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.related-shell .related-product-card .product-png,
.related-shell .related-product-card .product-png-placeholder {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 220px;
    min-height: 0;
    object-fit: contain;
}

.related-shell .related-product-card .product-info {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 6px;
    padding: 16px 16px 10px;
}

.related-shell .related-product-card .product-info h3 {
    margin: 0;
    font-size: 1rem;
    line-height: 1.35;
}

.related-shell .related-product-card .product-info h3 a {
    color: inherit;
    text-decoration: none;
}

.related-shell .related-product-card .product-info h3 a:hover {
    color: #2563EB;
}

.related-shell .related-product-card .product-description {
    display: -webkit-box;
    margin: 0;
    font-size: 0.86rem;
    line-height: 1.45;
    color: #5b6472;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 0;
}

.related-shell .related-product-card .price {
    margin-top: auto;
    padding-top: 4px;
    font-size: 1.08rem;
    font-weight: 800;
}

.related-shell .related-product-card .product-card-actions--related {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 0 16px 16px;
    margin-top: auto;
}

.related-shell .related-product-view-btn,
.related-shell .related-product-cart-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 44px;
    padding: 0 16px;
    border-radius: var(--btn-radius);
    font-size: 0.92rem;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.related-shell .related-product-view-btn {
    background: var(--accent);
    color: #ffffff;
    border: var(--btn-border-width) solid var(--accent);
    box-sizing: border-box;
}

.related-shell .related-product-view-btn:hover {
    background: var(--accent-dark);
    border-color: var(--accent-dark);
    color: #ffffff;
    transform: translateY(-1px);
}

.related-shell .related-product-cart-btn {
    background: #ffffff;
    color: var(--accent);
    border: var(--btn-border-width) solid rgba(var(--accent-rgb), 0.28);
    cursor: pointer;
    box-sizing: border-box;
}

.related-shell .related-product-cart-btn:hover {
    background: rgba(var(--accent-rgb), 0.08);
    transform: translateY(-1px);
}

.related-shell .related-product-stock-note {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border-radius: var(--btn-radius);
    background: #f3f4f6;
    color: #6b7280;
    font-size: 0.9rem;
    font-weight: 700;
}

.related-shell .related-product-card .add-to-cart-btn {
    min-height: 44px;
    font-size: 0.9rem;
}

@media (max-width: 768px) {
    .related-shell {
        padding: 32px 0 36px;
        margin-top: 16px;
    }

    .related-shell-top {
        padding-inline: 16px;
    }

    .related-shell.is-touch-carousel .related-slider-wrap {
        position: relative;
        gap: 0;
    }

    .related-shell.is-touch-carousel .related-slider-arrow {
        position: absolute;
        top: 38%;
        z-index: 4;
        display: inline-flex;
        width: 34px;
        height: 34px;
        font-size: 1rem;
        transform: translateY(-50%);
    }

    .related-shell.is-touch-carousel .related-slider-arrow.is-prev {
        left: 4px;
    }

    .related-shell.is-touch-carousel .related-slider-arrow.is-next {
        right: 4px;
    }

    .related-shell.is-touch-carousel .related-slider-arrow[hidden] {
        display: none;
    }

    .related-shell.is-touch-carousel .related-slider-window {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 16px;
        scrollbar-width: none;
        overscroll-behavior-x: contain;
    }

    .related-shell.is-touch-carousel .related-slider-window::-webkit-scrollbar {
        display: none;
    }

    .related-shell.is-touch-carousel .related-slider-track {
        display: flex;
        align-items: stretch;
        gap: 12px;
        width: max-content;
        padding: 4px 16px 8px;
        grid-template-columns: none;
    }

    .related-shell.is-touch-carousel .related-slider-track .zilenzo-product-card,
    .related-shell.is-touch-carousel .related-product-card {
        flex: 0 0 clamp(236px, 78vw, 300px);
        width: clamp(236px, 78vw, 300px);
        max-width: none;
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

    .related-slider-wrap {
        gap: 8px;
    }

    .related-slider-arrow {
        width: 38px;
        height: 38px;
        font-size: 1rem;
    }

    .related-slider-track {
        gap: 12px;
        grid-template-columns: repeat(var(--related-visible, 1), minmax(0, min(100%, 300px)));
    }

    .related-shell .related-product-card {
        max-width: none;
    }

    .related-shell .related-product-card .product-image-box {
        height: 220px;
        min-height: 220px;
    }

    .related-shell .related-product-card .product-png,
    .related-shell .related-product-card .product-png-placeholder {
        max-height: 190px;
    }

    body.product-page .product-gallery {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto;
        gap: 0;
        padding: 0;
    }

    body.product-page .product-gallery-thumbs {
        display: none !important;
    }

    body.product-page .product-gallery-counter {
        display: inline-flex;
        position: absolute;
        left: 16px;
        bottom: 14px;
        z-index: 4;
        align-items: center;
        min-height: 0;
        padding: 0;
        background: transparent;
        color: #111111;
        font-size: 13px;
        font-weight: 600;
        letter-spacing: 0.02em;
        pointer-events: none;
    }

    body.product-page .product-gallery-stage {
        order: 1;
        min-height: min(100vw, 480px);
        padding: 0;
        touch-action: pan-y pinch-zoom;
        background: var(--product-media-bg);
    }

    body.product-page .product-gallery-stage > .product-detail-image {
        width: 100%;
        max-width: 100%;
        max-height: min(100vw, 480px);
        height: auto;
    }

    body.product-page .product-gallery-thumb {
        flex: 0 0 64px;
        width: 64px;
        scroll-snap-align: start;
    }

    body.product-page .product-gallery-thumb-media {
        height: 64px;
    }

    body.product-page .product-gallery-arrow {
        display: none !important;
    }

    body.product-page .zilenzo-model-carousel-arrow {
        display: none !important;
    }

    body.product-page .product-media-panel:not(.is-active) .product-gallery-arrow,
    body.product-page .product-media-panel[hidden] .product-gallery-arrow {
        display: none !important;
    }

    body.product-page .product-avatar-preview .product-media-panel.is-active .product-gallery {
        grid-template-columns: minmax(0, 1fr);
    }

    body.product-page .product-avatar-preview .product-media-panel.is-active .product-gallery-thumbs {
        display: none !important;
    }

    body.product-page .product-avatar-preview .product-media-panel.is-active .product-gallery-stage {
        order: 1;
        min-height: min(100vw, 480px);
        padding: 0;
    }
}

.checkout-payment-panel {
    display: grid;
    gap: 14px;
    margin-top: 14px;
    padding: 16px;
    border: 1px solid rgba(18, 18, 18, 0.08);
    border-radius: var(--btn-radius);
    background: #fafbff;
}

.checkout-payment-panel-title {
    margin: 0;
    font-size: 0.98rem;
}

.checkout-secure-note {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: var(--muted);
    font-size: 0.86rem;
}

.checkout-secure-note i {
    color: var(--success);
}

.mobilepay-status-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 16px;
    border-radius: var(--btn-radius);
    background: linear-gradient(135deg, #eef2ff 0%, #ffffff 100%);
    border: 1px solid rgba(90, 120, 255, 0.25);
}

.mobilepay-status-icon {
    width: 42px;
    height: 42px;
    border-radius: var(--btn-radius);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #5a78ff;
    color: #fff;
    flex-shrink: 0;
}

.mobilepay-status-card p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: 0.9rem;
}

.form-field textarea {
    min-height: 110px;
    padding: 14px 16px;
    border: 1px solid var(--line);
    border-radius: 16px;
    outline: none;
    background: #ffffff;
    resize: vertical;
    font: inherit;
}

.form-field textarea:focus {
    border-color: rgba(var(--accent-rgb), 0.45);
    box-shadow: 0 0 0 4px rgba(var(--accent-rgb), 0.08);
}

@media (max-width: 1100px) {
    section.product-grid-section.content-shell,
    .content-shell.product-grid-section {
        padding-left: 30px;
        padding-right: 30px;
    }
}

@media (max-width: 1200px) {
    .product-grid-section .webshop-editor-grid--5 {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    }

    .product-grid-section .webshop-editor-grid--4 {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    .product-grid-section .webshop-editor-grid--3 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .product-grid-section .webshop-editor-grid--2 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 768px) {
    section.product-grid-section.content-shell,
    .content-shell.product-grid-section {
        padding-left: 14px;
        padding-right: 14px;
        padding-top: 30px;
    }

    .product-grid-section .webshop-editor-grid:not([data-grid-mode="slider"]) {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 16px;
        scroll-snap-type: x mandatory;
        padding-bottom: 8px;
    }

    .product-grid-section .webshop-editor-grid:not([data-grid-mode="slider"]) .product-card {
        flex: 0 0 min(280px, 82vw);
        scroll-snap-align: start;
    }

    .product-grid-slider-wrapper {
        gap: 9px;
    }

    .product-grid-slider-arrow {
        width: 38px;
        height: 38px;
        font-size: 19px;
    }

    .product-grid-section .product-grid-track[data-grid-mode="slider"] {
        display: grid !important;
        grid-template-columns: repeat(var(--product-grid-visible, 5), minmax(0, 1fr));
    }
}

.contact-page {
    background: #f7f8fc;
}

.contact-page-main {
    width: 100%;
    max-width: none;
    min-height: calc(100vh - 112px);
    padding: 0;
    margin: 0;
}

.contact-top-banner,
.info-page-banner {
    position: relative;
    width: 100%;
    min-height: 60vh;
    min-height: 60svh;
    height: 60vh;
    height: 60svh;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    background: #030412;
    isolation: isolate;
}

.contact-top-banner::after,
.info-page-banner::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.42) 50%, transparent 100%);
    pointer-events: none;
}

.contact-top-banner-media,
.info-page-banner-media {
    position: absolute;
    inset: 0;
    background-position: center 38%;
    background-size: cover;
    background-repeat: no-repeat;
    transform: scale(1.06);
    animation: page-banner-kenburns 22s ease-in-out infinite alternate;
    will-change: transform;
}

.contact-top-banner-overlay,
.info-page-banner-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(0, 63, 36, 0.9) 0%, rgba(3, 4, 18, 0.62) 46%, rgba(3, 4, 18, 0.22) 100%),
        linear-gradient(0deg, rgba(0, 63, 36, 0.78) 0%, rgba(3, 4, 18, 0.12) 56%, rgba(3, 4, 18, 0.48) 100%);
}

@keyframes page-banner-kenburns {
    from {
        transform: scale(1.06);
    }

    to {
        transform: scale(1.12);
    }
}

@media (prefers-reduced-motion: reduce) {
    .contact-top-banner-media,
    .info-page-banner-media {
        animation: none;
    }
}

.contact-top-banner-content,
.info-page-banner-content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 58px var(--site-edge-padding) 52px;
    color: #ffffff;
    box-sizing: border-box;
}

.contact-top-banner-kicker,
.info-page-banner-kicker {
    margin: 0 0 12px;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(220, 236, 228, 0.92);
}

.contact-top-banner-content h1,
.info-page-banner-content h1 {
    margin: 0 0 14px;
    font-size: clamp(2.6rem, 6vw, 5rem);
    line-height: 0.96;
    letter-spacing: -0.04em;
    font-weight: 950;
    max-width: 900px;
    text-shadow: 0 8px 32px rgba(0, 0, 0, 0.28);
}

.contact-top-banner-content p,
.info-page-banner-content p {
    margin: 0;
    max-width: 760px;
    font-size: clamp(1rem, 1.5vw, 1.18rem);
    line-height: 1.75;
    color: rgba(255, 255, 255, 0.9);
}

.contact-layout,
.contact-layout-full {
    display: grid;
    grid-template-columns: minmax(280px, 0.95fr) minmax(0, 1.25fr);
    gap: 24px;
    align-items: start;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 40px var(--site-edge-padding) 56px;
    box-sizing: border-box;
}

.contact-layout-full .section-card {
    border-radius: 24px;
    min-height: 100%;
}

.contact-info-card h2,
.contact-form-card h2 {
    margin: 8px 0 18px;
}

.contact-info-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 18px;
}

.contact-info-list li {
    display: flex;
    gap: 14px;
    align-items: flex-start;
}

.contact-info-list i {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--accent-rgb), 0.1);
    color: var(--accent);
    font-size: 1.1rem;
    flex-shrink: 0;
}

.contact-info-list strong {
    display: block;
    margin-bottom: 4px;
}

.contact-info-list a {
    color: inherit;
    text-decoration: none;
}

.contact-info-list a:hover {
    color: #2563EB;
}

.contact-form {
    display: grid;
    gap: 16px;
}

.contact-form-note {
    margin: 0;
    color: var(--muted);
    font-size: 0.92rem;
    line-height: 1.6;
}

.contact-submit-btn {
    width: 100%;
    min-width: 0;
    min-height: 54px;
    font-size: 1rem;
    letter-spacing: 0.01em;
}

.contact-form-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.contact-form-heading {
    margin-bottom: 24px;
}

.contact-form-lead {
    margin: 10px 0 0;
    max-width: 52ch;
    color: var(--muted);
    font-size: 0.96rem;
    line-height: 1.65;
}

.contact-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.contact-form-grid .form-field--full {
    grid-column: 1 / -1;
}

.contact-form .form-field select {
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 12px;
    background: #fff;
    color: var(--ink);
    font: inherit;
}

.contact-form .form-field select:focus {
    outline: 3px solid rgba(var(--accent-rgb), 0.2);
    border-color: rgba(var(--accent-rgb), 0.45);
}

.contact-file-field {
    gap: 10px;
}

.contact-file-upload {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    min-height: 56px;
    padding: 12px 14px;
    border: 1px dashed rgba(15, 23, 42, 0.16);
    border-radius: 16px;
    background: #f8faf9;
}

.contact-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.contact-file-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid rgba(var(--accent-rgb), 0.22);
    border-radius: 12px;
    background: #ffffff;
    color: var(--accent-dark);
    font-size: 0.9rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.contact-file-trigger:hover {
    background: rgba(var(--accent-rgb), 0.06);
    border-color: rgba(var(--accent-rgb), 0.35);
    transform: translateY(-1px);
}

.contact-file-trigger i {
    font-size: 1rem;
    color: var(--accent);
}

.contact-file-name {
    margin: 0;
    flex: 1 1 180px;
    min-width: 0;
    color: var(--muted);
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.45;
    word-break: break-word;
}

.contact-file-name.is-selected {
    color: var(--ink);
    font-weight: 600;
}

.contact-file-field .form-hint {
    margin-top: 2px;
}

.contact-story-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 22px;
}

.contact-story-action-btn {
    min-height: 48px;
    padding: 0 20px;
    font-size: 0.94rem;
    text-decoration: none;
}

.contact-story-actions .primary-btn.contact-story-action-btn {
    color: #ffffff;
}

.contact-story-actions .primary-btn.contact-story-action-btn i {
    color: #ffffff;
}

.contact-story-actions .primary-btn.contact-story-action-btn:hover {
    color: #ffffff;
    text-decoration: none;
}

.contact-story-actions .secondary-btn.contact-story-action-btn:hover {
    text-decoration: none;
}

.contact-quick-actions {
    margin-top: 24px;
    padding-top: 22px;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.contact-quick-actions__title {
    margin: 0 0 12px;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--muted);
}

.contact-quick-actions__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.contact-quick-btn {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    min-height: 46px;
    padding: 10px 14px;
    border: var(--btn-border-width) solid rgba(15, 23, 42, 0.1);
    border-radius: 12px;
    background: #f8faf9;
    color: var(--ink);
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
    box-sizing: border-box;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.contact-quick-btn i {
    flex: 0 0 auto;
    font-size: 1rem;
    color: var(--accent);
}

.contact-quick-btn:hover {
    background: rgba(var(--accent-rgb), 0.08);
    border-color: rgba(var(--accent-rgb), 0.22);
    color: var(--accent-dark);
    transform: translateY(-1px);
}

.contact-story-info-card {
    position: sticky;
    top: calc(var(--zilenzo-topbar-h, 47px) + 88px);
}

.contact-feedback {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 16px 18px;
    border-radius: 18px;
    margin-bottom: 18px;
}

.contact-feedback[hidden],
.account-form-error[hidden],
.cookie-settings-status[hidden] {
    display: none !important;
}

.contact-feedback p {
    margin: 6px 0 0;
    line-height: 1.6;
}

.contact-feedback-success {
    background: rgba(23, 107, 22, 0.08);
    border: 1px solid rgba(23, 107, 22, 0.18);
    color: #176b16;
}

.contact-feedback-success i {
    font-size: 1.35rem;
    margin-top: 2px;
}

.contact-honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.info-legal-page,
.info-about-page {
    background: linear-gradient(180deg, #f7faf8 0%, #f2f6f4 100%);
}

.info-about-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.85fr);
    gap: 28px;
    align-items: start;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 42px var(--site-edge-padding) 72px;
    box-sizing: border-box;
}

.info-about-card {
    border-radius: 28px;
    padding: clamp(28px, 4vw, 48px);
}

.info-about-card h2 {
    margin: 0 0 14px;
    font-size: 1.45rem;
}

.info-about-card p {
    color: var(--muted);
    line-height: 1.8;
}

.club-signup-card {
    margin: 28px 0;
    padding: 24px;
    border-radius: 20px;
    border: 1px solid rgba(var(--accent-rgb), 0.14);
    background: rgba(var(--accent-rgb), 0.04);
}

.club-signup-card h3 {
    margin: 0 0 8px;
    font-size: 1.15rem;
}

.club-signup-form {
    display: grid;
    gap: 12px;
    max-width: 420px;
    margin-top: 16px;
}

.club-signup-note {
    margin: 12px 0 0;
    font-size: 0.92rem;
    color: var(--muted);
}

.club-page-main {
    padding: 0;
    margin: 0;
    width: 100%;
    max-width: none;
    background: #ffffff;
}

.club-page {
    --club-green: #145c38;
    --club-green-bright: #145c38;
    --club-green-deep: #0f3f27;
    --club-ink: #141414;
    --club-muted: #5b6470;
    --club-soft: #f3f4f6;
    scroll-behavior: smooth;
}

.club-page #club-tilmeld {
    scroll-margin-top: calc(var(--zilenzo-home-header-h, 118px) + 16px);
}

/* —— Hero (matcher forside-banner: størrelse, crop, tekst) —— */
.club-lp-hero {
    --club-hero-h: 60vh;
    --club-hero-h: 60svh;
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    height: var(--club-hero-h);
    min-height: var(--club-hero-h);
    max-height: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    isolation: isolate;
    background: #1f2226;
    box-sizing: border-box;
}

.club-lp-hero__picture,
.club-lp-hero__media {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #1f6fe0;
    margin: 0;
}

.club-lp-hero__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: 58% 12%;
    display: block;
    filter: none;
    image-rendering: auto;
    -webkit-transform: none;
    transform: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.club-lp-hero__shade {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background:
        linear-gradient(
            90deg,
            rgba(8, 14, 20, 0.38) 0%,
            rgba(8, 14, 20, 0.18) 30%,
            rgba(8, 14, 20, 0.04) 50%,
            rgba(8, 14, 20, 0) 64%
        ),
        linear-gradient(
            180deg,
            rgba(8, 14, 20, 0.03) 0%,
            rgba(8, 14, 20, 0) 42%,
            rgba(8, 14, 20, 0.03) 100%
        );
}

.club-lp-hero__content {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    max-width: none;
    margin: 0;
    padding:
        clamp(24px, 4vh, 48px)
        var(--site-edge-padding);
    box-sizing: border-box;
    color: #ffffff;
    text-align: left;
    animation: club-lp-fade-up 0.85s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.club-lp-hero__kicker {
    margin: 0 0 12px;
    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #ffffff;
    text-shadow: 0 1px 14px rgba(0, 0, 0, 0.45);
}

.club-lp-hero__title {
    margin: 0 0 12px;
    max-width: min(720px, 56vw);
    font-size: clamp(1.625rem, 0.95vw + 1rem, 2.875rem);
    line-height: 1.05;
    font-weight: 700;
    letter-spacing: -0.035em;
    text-transform: none;
    color: #ffffff;
    white-space: normal;
    text-shadow:
        0 1px 2px rgba(0, 0, 0, 0.42),
        0 8px 28px rgba(0, 0, 0, 0.38);
}

.club-lp-hero__lead {
    margin: 0 0 18px;
    max-width: 640px;
    font-size: clamp(1rem, 0.2vw + 0.92rem, 1.125rem);
    line-height: 1.5;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.94);
    white-space: normal;
    text-shadow: 0 1px 14px rgba(0, 0, 0, 0.45);
}

.club-lp-hero__list {
    margin: 0 0 22px;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
}

.club-lp-hero__list li {
    position: relative;
    padding-left: 34px;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
    color: #ffffff;
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.4);
}

.club-lp-hero__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: var(--club-green-bright) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.2l2.8 2.8 6.2-6.2'/%3E%3C/svg%3E") center / 12px no-repeat;
    transform: translateY(-50%);
}

.club-lp-hero__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 0 30px;
    border-radius: 8px;
    background: #ffffff;
    color: #111111 !important;
    font-size: 1.06rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    text-transform: none;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
}

.club-lp-hero__cta:hover {
    background: #f3f3f3;
    color: #111111 !important;
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
}

.club-lp-hero__note {
    margin: 14px 0 0;
    font-size: 0.92rem;
    color: rgba(255, 255, 255, 0.88);
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.45);
}

@media (min-width: 901px) {
    .club-lp-hero__title {
        width: max-content;
        max-width: min(720px, 56vw);
        white-space: nowrap;
        font-size: clamp(2rem, 0.95vw + 1.2rem, 3rem);
    }
}

@media (min-width: 1100px) {
    .club-lp-hero__content {
        padding-inline: var(--site-edge-padding);
    }

    .club-lp-hero__kicker {
        font-size: 0.98rem;
        margin-bottom: 14px;
    }

    .club-lp-hero__list {
        gap: 12px;
        margin-bottom: 24px;
    }

    .club-lp-hero__list li {
        font-size: 1.05rem;
        padding-left: 36px;
    }

    .club-lp-hero__list li::before {
        width: 24px;
        height: 24px;
        background-size: 13px;
    }

    .club-lp-hero__cta {
        min-height: 54px;
        padding: 0 30px;
        font-size: 1.06rem;
    }

    .club-lp-hero__note {
        font-size: 0.95rem;
        margin-top: 14px;
    }
}

/* —— Benefits —— */
.club-lp-benefits {
    padding: clamp(56px, 8vw, 88px) var(--site-edge-padding);
    background: #ffffff;
}

.club-lp-benefits__title {
    margin: 0 0 clamp(28px, 4vw, 40px);
    text-align: center;
    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--club-green);
}

.club-lp-benefits__grid {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.club-lp-benefit {
    display: grid;
    justify-items: center;
    gap: 12px;
    padding: 28px 20px 26px;
    text-align: center;
    border: 1px solid #e6e8ec;
    border-radius: 16px;
    background: #ffffff;
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
    animation: club-lp-fade-up 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.club-lp-benefit:nth-child(2) { animation-delay: 0.06s; }
.club-lp-benefit:nth-child(3) { animation-delay: 0.12s; }
.club-lp-benefit:nth-child(4) { animation-delay: 0.18s; }

.club-lp-benefit:hover {
    transform: translateY(-3px);
    border-color: rgba(20, 92, 56, 0.22);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.06);
}

.club-lp-benefit__icon {
    width: 54px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--club-green);
    color: #ffffff;
    font-size: 1.35rem;
}

.club-lp-benefit__icon i {
    display: block;
    line-height: 1;
}

.club-lp-benefit__heading {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--club-ink);
}

.club-lp-benefit__text {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.55;
    color: var(--club-muted);
}

/* —— Join / signup —— */
.club-lp-join {
    padding: 0 var(--site-edge-padding) clamp(56px, 8vw, 88px);
    background: #ffffff;
}

.club-lp-join__shell {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(180px, 0.7fr) minmax(240px, 1fr) minmax(280px, 0.95fr);
    gap: clamp(24px, 4vw, 40px);
    align-items: center;
    padding: clamp(28px, 4vw, 44px);
    border-radius: 28px;
    background: var(--club-soft);
}

.club-lp-phone {
    display: flex;
    justify-content: center;
}

.club-lp-phone__frame {
    width: min(220px, 100%);
    padding: 12px;
    border-radius: 34px;
    background: linear-gradient(160deg, #1c1f24 0%, #0d0f12 100%);
    box-shadow: 0 24px 50px rgba(15, 23, 42, 0.22);
}

.club-lp-phone__notch {
    width: 42%;
    height: 10px;
    margin: 4px auto 12px;
    border-radius: 999px;
    background: #2a2e35;
}

.club-lp-phone__screen {
    display: grid;
    gap: 12px;
    padding: 22px 16px 28px;
    min-height: 340px;
    border-radius: 24px;
    background:
        radial-gradient(circle at top, rgba(20, 92, 56, 0.18), transparent 55%),
        linear-gradient(180deg, #f8faf8 0%, #eef2ef 100%);
}

.club-lp-phone__brand {
    margin: 0;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--club-green);
    text-align: center;
}

.club-lp-phone__tag {
    margin: 0 0 8px;
    text-align: center;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--club-ink);
}

.club-lp-phone__card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
}

.club-lp-phone__card-icon {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(20, 92, 56, 0.1);
    color: var(--club-green);
    flex-shrink: 0;
    line-height: 0;
}

.club-lp-phone__card-icon i {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    margin: 0;
    font-size: 1.05rem;
    line-height: 1;
}

.club-lp-phone__card-icon i::before {
    display: block;
    line-height: 1;
}

.club-lp-phone__card > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    text-align: left;
}

.club-lp-phone__card strong,
.club-lp-phone__card span {
    display: block;
}

.club-lp-phone__card strong {
    font-size: 0.82rem;
    color: var(--club-ink);
}

.club-lp-phone__card span {
    font-size: 0.72rem;
    color: var(--club-muted);
}

.club-lp-join__copy {
    display: grid;
    gap: 16px;
    align-content: start;
}

.club-lp-join__kicker {
    margin: 0;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--club-green);
}

.club-lp-join__title {
    margin: 0;
    font-size: clamp(1.55rem, 2.6vw, 2.15rem);
    line-height: 1.15;
    font-weight: 800;
    color: var(--club-ink);
}

.club-lp-join__list {
    margin: 4px 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
}

.club-lp-join__list li {
    position: relative;
    padding-left: 30px;
    font-size: 0.98rem;
    font-weight: 600;
    color: var(--club-ink);
}

.club-lp-join__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    background: var(--club-green-bright) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.2l2.8 2.8 6.2-6.2'/%3E%3C/svg%3E") center / 11px no-repeat;
    transform: translateY(-50%);
}

.club-lp-form-wrap {
    padding: clamp(22px, 3vw, 28px);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
    border: 1px solid rgba(15, 23, 42, 0.04);
}

.club-lp-form__title {
    margin: 0 0 8px;
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--club-ink);
}

.club-lp-form__lead {
    margin: 0 0 18px;
    font-size: 0.9rem;
    line-height: 1.55;
    color: var(--club-muted);
}

.club-lp-form {
    display: grid;
    gap: 12px;
    margin: 0;
}

.club-lp-form__field {
    display: grid;
    gap: 6px;
}

.club-lp-form__label {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--club-ink);
}

.club-lp-form__field input {
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid #d7dbe2;
    border-radius: 10px;
    background: #ffffff;
    color: var(--club-ink);
    font-size: 0.96rem;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.club-lp-form__field input:focus {
    outline: none;
    border-color: rgba(20, 92, 56, 0.55);
    box-shadow: 0 0 0 4px rgba(20, 92, 56, 0.1);
}

.club-page .club-consent-field {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 2px 0 0;
    font-size: 0.78rem;
    line-height: 1.5;
    font-weight: 500;
    color: var(--club-muted);
    cursor: pointer;
}

.club-page .club-consent-field input {
    width: 16px;
    height: 16px;
    margin: 2px 0 0;
    flex-shrink: 0;
    accent-color: var(--club-green);
    cursor: pointer;
}

.club-page .club-consent-field span {
    flex: 1;
    min-width: 0;
}

.club-lp-form__submit {
    width: 100%;
    min-height: 52px;
    margin-top: 4px;
    border: 0;
    border-radius: 10px;
    background: var(--club-green);
    color: #ffffff;
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.club-lp-form__submit:hover {
    background: var(--club-green-deep);
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(20, 92, 56, 0.24);
}

.club-lp-form__submit:disabled {
    opacity: 0.7;
    cursor: wait;
    transform: none;
}

.club-lp-form__status {
    margin: 0;
    font-size: 0.86rem;
    line-height: 1.5;
    color: var(--club-muted);
}

.club-lp-form__status.is-success {
    color: var(--club-green);
}

.club-lp-form__status.is-error {
    color: #b42318;
}

.club-lp-form__fine {
    margin: 2px 0 0;
    text-align: center;
    font-size: 0.78rem;
    color: #8b93a0;
}

.club-lp-form__fine a {
    color: var(--club-green);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.club-lp-form__fine a:hover {
    color: var(--club-green-deep);
}

@keyframes club-lp-fade-up {
    from {
        opacity: 0;
        transform: translateY(18px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .club-lp-hero__content,
    .club-lp-benefit {
        animation: none;
    }
}

@media (max-width: 1100px) {
    .club-lp-benefits__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .club-lp-join__shell {
        grid-template-columns: 1fr 1fr;
    }

    .club-lp-phone {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

@media (max-width: 900px) {
    body[data-page="club"] {
        --zilenzo-home-header-h: 108px;
    }

    .club-lp-hero {
        --club-hero-h: calc(100vh - var(--zilenzo-home-header-h, 108px));
        --club-hero-h: calc(100svh - var(--zilenzo-home-header-h, 108px));
        --club-hero-pad-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
        height: var(--club-hero-h);
        min-height: var(--club-hero-h);
        max-height: var(--club-hero-h);
        align-items: stretch;
        display: block;
        flex-direction: unset;
        justify-content: unset;
    }

    .club-lp-hero__picture,
    .club-lp-hero__media {
        position: absolute;
        inset: 0;
        min-height: 0;
        height: 100%;
    }

    .club-lp-hero__img {
        object-position: center 12%;
        -webkit-transform: none;
        transform: none;
    }

    .club-lp-hero__shade {
        background:
            linear-gradient(
                180deg,
                rgba(8, 14, 20, 0.12) 0%,
                rgba(8, 14, 20, 0) 28%,
                rgba(8, 14, 20, 0.18) 52%,
                rgba(8, 14, 20, 0.62) 78%,
                rgba(8, 14, 20, 0.88) 100%
            );
    }

    .club-lp-hero__content {
        width: 100%;
        max-width: none;
        margin: 0;
        justify-content: flex-end;
        padding:
            clamp(12px, 2vh, 20px)
            max(16px, env(safe-area-inset-right, 0px))
            var(--club-hero-pad-bottom, calc(88px + env(safe-area-inset-bottom, 0px)))
            max(16px, env(safe-area-inset-left, 0px));
    }

    .club-lp-hero__title,
    .club-lp-hero__lead {
        white-space: normal;
        max-width: 100%;
    }

    .club-lp-hero__title {
        font-size: clamp(1.35rem, 6.2vw, 1.95rem);
        line-height: 1.12;
    }

    .club-lp-hero__lead {
        font-size: clamp(0.9rem, 3.6vw, 1.05rem);
        margin-bottom: 12px;
    }

    .club-lp-hero__list {
        gap: 8px;
        margin-bottom: 14px;
    }

    .club-lp-hero__list li {
        font-size: 0.92rem;
        padding-left: 30px;
    }

    .club-lp-hero__list li::before {
        width: 20px;
        height: 20px;
        background-size: 11px;
    }

    .club-lp-hero__cta {
        min-height: 44px;
        padding: 0 18px;
        font-size: 0.92rem;
        width: auto;
    }

    .club-lp-hero__note {
        font-size: 0.8rem;
        margin-top: 10px;
    }
}

@supports (height: 100dvh) {
    @media (max-width: 900px) {
        .club-lp-hero {
            --club-hero-h: calc(100dvh - var(--zilenzo-home-header-h, 108px));
            height: var(--club-hero-h);
            min-height: var(--club-hero-h);
            max-height: var(--club-hero-h);
        }
    }
}

@media (max-width: 780px) {
    .club-lp-benefits__grid,
    .club-lp-join__shell {
        grid-template-columns: 1fr;
    }

    .club-lp-phone {
        justify-content: center;
    }

    .club-lp-phone__frame {
        width: min(200px, 70%);
    }

    .club-lp-phone__screen {
        min-height: 300px;
    }
}

.club-dual-banner {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: calc(100svh - var(--zilenzo-home-header-h, 118px));
    overflow: hidden;
    isolation: isolate;
    background: #030412;
}

.club-dual-banner__panel {
    position: relative;
    z-index: 2;
    min-height: calc(100svh - var(--zilenzo-home-header-h, 118px));
    overflow: hidden;
    display: flex;
    align-items: stretch;
    background: transparent;
}

.club-dual-banner__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

.club-dual-banner__media picture {
    display: block;
    width: 100%;
    height: 100%;
}

.club-dual-banner__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

.club-dual-banner__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(3, 4, 18, 0.82) 0%, rgba(3, 4, 18, 0.42) 42%, rgba(3, 4, 18, 0.58) 100%),
        linear-gradient(0deg, rgba(3, 4, 18, 0.9) 0%, rgba(3, 4, 18, 0.28) 34%, transparent 58%);
}

.club-dual-banner__content--story {
    justify-content: flex-end;
    padding-top: clamp(24px, 4vw, 40px);
}

.club-dual-banner__panel--signup {
    --club-luxury-gold: #a68966;
    --club-luxury-gold-light: #c4a882;
    background: transparent;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.club-dual-banner__panel--signup .club-dual-banner__media,
.club-dual-banner__panel--signup .club-dual-banner__overlay {
    display: none;
}

.club-signup-luxury {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
    display: grid;
    gap: 22px;
    padding: 36px 32px 32px;
    box-sizing: border-box;
    border: 1px solid rgba(166, 137, 102, 0.28);
    border-radius: 16px;
    background: rgba(10, 12, 18, 0.94);
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.45);
}

.club-signup-luxury__intro {
    display: grid;
    gap: 10px;
    min-width: 0;
}

.club-signup-luxury__intro h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2.1rem;
    line-height: 1.1;
    font-weight: 600;
    letter-spacing: 0.01em;
    color: #ffffff;
    white-space: nowrap;
}

.club-signup-luxury__lead {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.78);
}

.club-signup-luxury .footer-club-banner-form {
    margin: 0;
    gap: 14px;
    width: 100%;
}

.club-signup-luxury .footer-club-banner-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
}

.club-signup-luxury .footer-club-banner-field {
    min-width: 0;
}

.club-signup-luxury .footer-club-banner-field-label {
    font-size: 0.66rem;
}

.club-signup-luxury .footer-club-banner-form input {
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    font-size: 0.95rem;
    box-sizing: border-box;
}

.club-signup-luxury .footer-club-banner-form button {
    width: 100%;
    min-height: 54px;
    font-size: 0.8rem;
    box-sizing: border-box;
}

.club-signup-luxury .footer-club-banner-field--email,
.club-signup-luxury .footer-club-banner-field--birthday {
    grid-column: 1 / -1;
}

.club-signup-luxury .footer-club-banner-note {
    margin: 0;
    font-size: 0.8rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.48);
}

.club-dual-banner__panel--signup .club-dual-banner__logo {
    position: absolute;
    left: 50%;
    bottom: clamp(28px, 4vh, 44px);
    transform: translateX(-50%);
    width: auto;
    max-width: none;
    margin: 0;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
}

.club-dual-banner__logo-img {
    width: 120px;
    height: auto;
    filter: brightness(0) invert(1);
    opacity: 0.82;
}

.club-dual-banner__content {
    position: relative;
    z-index: 2;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: clamp(36px, 5vw, 58px) clamp(24px, 4vw, 48px);
    color: #ffffff;
    box-sizing: border-box;
}

.club-dual-banner__content.club-dual-banner__content--signup {
    justify-content: center;
    align-items: center;
    flex: 1;
    min-height: 100%;
    padding: 24px 28px;
}

.club-dual-banner__kicker {
    margin: 0 0 10px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--club-luxury-gold-light, #d8c2a0);
}

.club-dual-banner__content--story h1 {
    margin: 0 0 12px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4.2vw, 3.2rem);
    line-height: 1.05;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.club-dual-banner__lead {
    margin: 0 0 18px;
    max-width: 30rem;
    font-size: clamp(0.98rem, 1.4vw, 1.08rem);
    line-height: 1.68;
    color: rgba(255, 255, 255, 0.9);
}

.club-dual-banner__body > h2 {
    margin: 0 0 8px;
    font-size: 0.76rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--club-luxury-gold-light, #d8c2a0);
}

.club-dual-banner__body > p {
    margin: 0 0 8px;
    max-width: 30rem;
    font-size: 0.9rem;
    line-height: 1.68;
    color: rgba(255, 255, 255, 0.84);
}

.club-dual-banner__perks-title {
    margin: 12px 0 10px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--club-luxury-gold-light, #d8c2a0);
}

.club-dual-banner__perks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    max-width: 30rem;
}

.club-dual-banner__perks li {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 8px 10px;
    border: 1px solid rgba(166, 137, 102, 0.32);
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    line-height: 1.25;
    color: rgba(255, 255, 255, 0.92);
    background: rgba(0, 0, 0, 0.28);
}

.club-dual-banner__perks li i {
    flex: 0 0 auto;
    font-size: 0.95rem;
    color: var(--club-luxury-gold-light, #d8c2a0);
}

.club-signup-card--banner {
    display: none;
}

@media (prefers-reduced-motion: reduce) {
    .club-dual-banner__media img {
        animation: none;
    }
}

@media (max-width: 980px) {
    .club-dual-banner__media img {
        object-position: center center;
    }

    .club-dual-banner__overlay {
        background:
            linear-gradient(0deg, rgba(3, 4, 18, 0.92) 0%, rgba(3, 4, 18, 0.55) 38%, rgba(3, 4, 18, 0.22) 62%, transparent 78%),
            linear-gradient(90deg, rgba(3, 4, 18, 0.45) 0%, transparent 55%);
    }

    .club-dual-banner {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .club-dual-banner__panel {
        min-height: clamp(460px, 62vh, 620px);
    }

    .club-dual-banner__panel--signup {
        min-height: auto;
    }

    .club-dual-banner__content.club-dual-banner__content--signup {
        padding: 20px 18px;
    }

    .club-signup-luxury {
        padding: 28px 22px 24px;
    }

    .club-signup-luxury__intro h2 {
        font-size: 1.65rem;
    }

    .club-dual-banner__perks {
        grid-template-columns: 1fr;
    }

    .club-signup-luxury .footer-club-banner-form-grid {
        grid-template-columns: 1fr;
    }
}

.info-about-pillars {
    display: grid;
    gap: 16px;
}

.info-about-pillar {
    padding: 22px 20px;
    border-radius: 20px;
    border: 1px solid rgba(18, 18, 18, 0.08);
    background: #ffffff;
}

.info-about-pillar i {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    margin-bottom: 12px;
    background: rgba(var(--accent-rgb), 0.1);
    color: var(--accent);
    font-size: 1.15rem;
}

.info-about-pillar strong {
    display: block;
    margin-bottom: 6px;
    color: var(--ink);
}

.info-about-pillar p {
    margin: 0;
    font-size: 0.94rem;
    line-height: 1.65;
}

.info-about-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.info-about-cta a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    border-radius: 999px;
    font-weight: 700;
    background: #121212;
    color: #ffffff;
}

.info-about-cta a.secondary {
    background: rgba(var(--accent-rgb), 0.1);
    color: var(--accent);
}

.info-page-main {
    width: 100%;
    max-width: none;
    min-height: calc(100vh - 112px);
    padding: 0;
    margin: 0;
}

.info-page-layout {
    display: grid;
    grid-template-columns: minmax(250px, 300px) minmax(0, 1fr);
    gap: 28px;
    align-items: start;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 42px var(--site-edge-padding) 72px;
    box-sizing: border-box;
}

.info-page-sidebar {
    position: sticky;
    top: 96px;
    border-radius: 24px;
    padding: 28px 24px;
}

.info-page-sidebar h2 {
    margin: 8px 0 18px;
    font-size: 1.3rem;
}

.info-page-nav {
    display: grid;
    gap: 8px;
    margin-bottom: 22px;
}

.info-page-nav a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 12px;
    color: var(--ink);
    font-weight: 600;
    font-size: 0.94rem;
    background: rgba(var(--accent-rgb), 0.05);
    border: 1px solid transparent;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.info-page-nav a:visited {
    color: var(--ink);
}

.info-page-nav a i {
    font-size: 1rem;
    color: var(--accent);
    opacity: 0.85;
    transition: color 0.2s ease, opacity 0.2s ease;
}

.info-page-nav a:hover,
.info-page-nav a:focus-visible,
.info-page-nav a.is-active {
    background: rgba(var(--accent-rgb), 0.12);
    border-color: rgba(var(--accent-rgb), 0.16);
    color: #2563EB;
    transform: translateX(2px);
    text-decoration: none;
}

.info-page-nav a:hover i,
.info-page-nav a:focus-visible i,
.info-page-nav a.is-active i {
    opacity: 1;
    color: #2563EB;
}

.info-page-nav a.is-active {
    background: rgba(var(--accent-rgb), 0.14);
    font-weight: 700;
}

.info-page-nav a.is-active:hover,
.info-page-nav a.is-active:focus-visible {
    background: rgba(var(--accent-rgb), 0.16);
    border-color: rgba(var(--accent-rgb), 0.22);
}

.info-page-help {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(135deg, #003B5C 0%, #0A5875 100%);
    color: #ffffff;
}

.info-page-help i {
    font-size: 1.35rem;
    color: #b8c4ff;
    margin-top: 2px;
}

.info-page-help strong {
    display: block;
    margin-bottom: 6px;
}

.info-page-help p {
    margin: 0 0 10px;
    font-size: 0.9rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.86);
}

.info-page-help a {
    color: #ffffff;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s ease, opacity 0.2s ease;
}

.info-page-help a:hover {
    color: #2563EB;
    opacity: 0.88;
    text-decoration-thickness: 2px;
}

.info-page-card {
    max-width: none;
    border-radius: 28px;
    padding: clamp(28px, 4vw, 48px);
}

.legal-content .legal-meta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 1.25rem;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--accent);
    background: rgba(var(--accent-rgb), 0.08);
    border: 1px solid rgba(var(--accent-rgb), 0.12);
}

.legal-content .legal-lead {
    font-size: 1.05rem;
    line-height: 1.8;
    color: var(--ink);
    margin: 0 0 1.5rem;
}

.legal-content .legal-section {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(18, 18, 18, 0.07);
}

.legal-content .legal-section:first-of-type {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.legal-content h2 {
    margin: 0 0 0.85rem;
    font-size: 1.32rem;
    letter-spacing: -0.02em;
    color: var(--ink);
}

.legal-content h3 {
    margin: 1.25rem 0 0.55rem;
    font-size: 1.02rem;
    color: var(--ink);
}

.legal-content p,
.legal-content li {
    color: var(--muted);
    line-height: 1.78;
}

.legal-content ul,
.legal-content ol {
    margin: 0.75rem 0 1.25rem;
    padding-left: 1.2rem;
}

.legal-content a {
    color: var(--accent);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.legal-content a:hover {
    color: #2563EB;
    text-decoration-color: currentColor;
}

.legal-highlight {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin: 1.25rem 0;
    padding: 18px 20px;
    border-radius: 16px;
    border: 1px solid rgba(var(--accent-rgb), 0.14);
    background: linear-gradient(135deg, rgba(var(--accent-rgb), 0.07) 0%, rgba(var(--accent-rgb), 0.03) 100%);
}

.legal-highlight i {
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(var(--accent-rgb), 0.12);
    color: var(--accent);
    font-size: 1.1rem;
}

.legal-highlight p {
    margin: 0;
    color: var(--ink);
    font-size: 0.96rem;
    line-height: 1.7;
}

.legal-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    margin: 1.25rem 0 0;
}

.legal-fact {
    padding: 16px;
    border-radius: 16px;
    border: 1px solid rgba(18, 18, 18, 0.07);
    background: #ffffff;
}

.legal-fact strong {
    display: block;
    margin-bottom: 6px;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--accent);
}

.legal-fact span {
    display: block;
    color: var(--ink);
    font-size: 0.94rem;
    line-height: 1.55;
}

.legal-steps {
    display: grid;
    gap: 12px;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}

.legal-steps li {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    margin: 0;
    padding: 16px 18px;
    border-radius: 16px;
    border: 1px solid rgba(18, 18, 18, 0.07);
    background: #ffffff;
}

.legal-steps li::before {
    content: counter(legal-step);
    counter-increment: legal-step;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: var(--accent);
    color: #ffffff;
    font-size: 0.88rem;
    font-weight: 800;
}

.legal-steps {
    counter-reset: legal-step;
}

.legal-steps strong {
    display: block;
    margin-bottom: 4px;
    color: var(--ink);
}

.legal-checklist {
    display: grid;
    gap: 10px;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}

.legal-checklist li {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin: 0;
    padding: 14px 16px;
    border-radius: 14px;
    background: rgba(var(--accent-rgb), 0.04);
    border: 1px solid rgba(var(--accent-rgb), 0.08);
}

.legal-checklist li i {
    color: var(--accent);
    font-size: 1rem;
    margin-top: 2px;
}

.legal-nav-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
    margin: 1.5rem 0 0;
}

.legal-nav-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 20px;
    border-radius: 18px;
    border: 1px solid rgba(18, 18, 18, 0.08);
    background: #ffffff;
    color: var(--ink);
    text-decoration: none;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.legal-nav-card:hover {
    transform: translateY(-3px);
    border-color: rgba(var(--accent-rgb), 0.24);
    background: linear-gradient(180deg, #ffffff 0%, rgba(var(--accent-rgb), 0.03) 100%);
    box-shadow: 0 14px 32px rgba(0, 63, 36, 0.1);
}

.legal-nav-card:hover strong {
    color: var(--accent);
}

.legal-nav-card:hover i {
    background: rgba(var(--accent-rgb), 0.16);
}

.legal-nav-card i {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(var(--accent-rgb), 0.1);
    color: var(--accent);
    font-size: 1.1rem;
}

.legal-nav-card strong {
    font-size: 1rem;
    color: var(--ink);
}

.legal-nav-card span {
    font-size: 0.92rem;
    line-height: 1.65;
    color: var(--muted);
}

.cookie-settings-panel {
    display: grid;
    gap: 12px;
    margin-top: 1.5rem;
}

.cookie-setting-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    padding: 18px 20px;
    border: 1px solid rgba(18, 18, 18, 0.08);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(0, 63, 36, 0.04);
}

.cookie-setting-row strong {
    display: block;
    margin-bottom: 4px;
    color: var(--ink);
}

.cookie-setting-row p {
    margin: 0;
    font-size: 0.92rem;
}

.cookie-setting-row input[type="checkbox"] {
    width: 22px;
    height: 22px;
    margin: 0;
    accent-color: var(--accent);
    cursor: pointer;
}

.cookie-setting-row input[type="checkbox"]:disabled {
    cursor: not-allowed;
    opacity: 0.72;
}

.cookie-settings-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 1.25rem;
}

.cookie-settings-actions .btn-primary,
.cookie-settings-actions .btn-secondary,
.cookie-revoke-actions .btn-secondary,
.cookie-revoke-actions .btn-danger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: var(--btn-border-width) solid transparent;
    border-radius: 999px;
    padding: 12px 22px;
    font-weight: 600;
    font-size: 0.95rem;
    line-height: 1.2;
    cursor: pointer;
    font-family: inherit;
    text-decoration: none;
    box-sizing: border-box;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.cookie-settings-actions .btn-primary {
    background: #121212;
    color: #fff;
    border-color: #121212;
}

.cookie-settings-actions .btn-secondary,
.cookie-revoke-actions .btn-secondary {
    background: rgba(var(--accent-rgb), 0.1);
    color: var(--accent);
    border-color: rgba(var(--accent-rgb), 0.16);
}

.cookie-revoke-actions .btn-secondary:hover {
    background: rgba(var(--accent-rgb), 0.16);
}

.cookie-settings-status {
    margin-top: 12px;
    font-size: 0.92rem;
    color: var(--accent-secondary);
}

@media (max-width: 900px) {
    .contact-layout,
    .contact-layout-full {
        grid-template-columns: 1fr;
        padding-top: 28px;
        padding-bottom: 40px;
    }

    .contact-top-banner,
    .info-page-banner {
        min-height: calc(100svh - var(--zilenzo-home-header-h, 108px));
        height: calc(100svh - var(--zilenzo-home-header-h, 108px));
    }

    .contact-top-banner-content,
    .info-page-banner-content {
        padding-top: 42px;
        padding-bottom: 34px;
    }

    .info-page-layout {
        grid-template-columns: 1fr;
        padding-top: 28px;
        padding-bottom: 48px;
    }

    .info-page-sidebar {
        position: static;
    }

    .info-about-layout {
        grid-template-columns: 1fr;
        padding-top: 28px;
        padding-bottom: 48px;
    }
}

/* Om Zilenzo – brand story */

.info-about-page--story {
    background: #ffffff;
}

.about-story-hero {
    --about-hero-h: 60vh;
    --about-hero-h: 60svh;
    position: relative;
    display: block;
    width: 100%;
    height: var(--about-hero-h);
    min-height: var(--about-hero-h);
    max-height: none;
    overflow: hidden;
    isolation: isolate;
    background: #1f2226;
}

.about-story-hero__media {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #1f6fe0;
}

.about-story-hero__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: 58% 12%;
    -webkit-transform: none;
    transform: none;
    filter: none;
}

.about-story-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background:
        linear-gradient(
            90deg,
            rgba(8, 14, 20, 0.38) 0%,
            rgba(8, 14, 20, 0.18) 30%,
            rgba(8, 14, 20, 0.04) 50%,
            rgba(8, 14, 20, 0) 64%
        ),
        linear-gradient(
            180deg,
            rgba(8, 14, 20, 0.03) 0%,
            rgba(8, 14, 20, 0) 42%,
            rgba(8, 14, 20, 0.03) 100%
        );
}

.about-story-hero__content {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    max-width: none;
    margin: 0;
    padding:
        clamp(24px, 4vh, 48px)
        var(--site-edge-padding);
    box-sizing: border-box;
    color: #ffffff;
    text-align: left;
}

.about-story-hero__kicker {
    margin: 0 0 12px;
    color: rgba(255, 255, 255, 0.88);
    letter-spacing: 0.16em;
    text-shadow: 0 1px 14px rgba(0, 0, 0, 0.45);
}

.about-story-hero__content h1 {
    margin: 0 0 12px;
    max-width: min(720px, 90%);
    font-size: clamp(1.625rem, 0.95vw + 1rem, 2.875rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
    font-weight: 700;
    text-transform: none;
    color: #ffffff;
    text-align: left;
    text-shadow:
        0 1px 2px rgba(0, 0, 0, 0.42),
        0 8px 28px rgba(0, 0, 0, 0.38);
}

.about-story-hero__lead {
    margin: 0;
    max-width: 640px;
    font-size: clamp(1rem, 0.2vw + 0.92rem, 1.125rem);
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.94);
    text-align: left;
    text-shadow: 0 1px 14px rgba(0, 0, 0, 0.45);
}

.about-story {
    padding: clamp(48px, 7vw, 88px) var(--site-edge-padding) clamp(64px, 8vw, 96px);
    background: #ffffff;
}

.about-story__inner {
    max-width: 720px;
    margin: 0 auto;
}

.about-story__block {
    margin-bottom: clamp(36px, 5vw, 52px);
}

.about-story__block--lead {
    padding-bottom: clamp(28px, 4vw, 40px);
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.about-story__intro {
    font-size: clamp(1.2rem, 2vw, 1.45rem);
    line-height: 1.55;
    color: #0f172a;
    font-weight: 600;
    letter-spacing: -0.02em;
}

.about-story__block h2 {
    margin: 0 0 16px;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--accent);
}

.about-story__block p {
    margin: 0 0 1.1em;
    font-size: 1.02rem;
    line-height: 1.82;
    color: #4b5563;
}

.about-story__block p:last-child {
    margin-bottom: 0;
}

.about-story__block strong {
    color: #0f172a;
    font-weight: 700;
}

.about-story__block ul,
.about-story__block ol {
    margin: 0 0 1.1em;
    padding-left: 1.25rem;
    color: #4b5563;
    line-height: 1.75;
}

.about-story__block li + li {
    margin-top: 0.45em;
}

.about-story__facts {
    display: grid;
    gap: 10px;
    margin: 0 0 1.25rem;
    padding: 18px 20px;
    border-radius: 16px;
    background: rgba(var(--accent-rgb), 0.05);
    border: 1px solid rgba(var(--accent-rgb), 0.1);
}

.about-story__facts > div {
    display: grid;
    grid-template-columns: minmax(110px, 34%) 1fr;
    gap: 8px 14px;
}

.about-story__facts dt {
    margin: 0;
    font-weight: 700;
    color: #0f172a;
}

.about-story__facts dd {
    margin: 0;
    color: #4b5563;
}

.about-story__energy {
    margin: clamp(40px, 6vw, 56px) 0;
    padding: clamp(28px, 4vw, 36px) clamp(24px, 4vw, 32px);
    border-left: 3px solid var(--accent);
    background: linear-gradient(135deg, #f6f8f7 0%, #f9fafb 100%);
    border-radius: 0 16px 16px 0;
}

.about-story__energy-lead {
    margin: 0 0 18px;
    font-size: 1.08rem;
    line-height: 1.65;
    font-weight: 700;
    color: #0f172a;
}

.about-story__energy ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
}

.about-story__energy li {
    font-size: 1.05rem;
    line-height: 1.5;
    font-weight: 600;
    color: #1f2937;
    letter-spacing: -0.01em;
}

.about-story__closing {
    margin-top: clamp(44px, 6vw, 64px);
    padding-top: clamp(32px, 5vw, 48px);
    border-top: 1px solid rgba(15, 23, 42, 0.1);
    text-align: center;
}

.about-story__closing-lines {
    display: grid;
    gap: 6px;
    margin: 0 0 24px;
}

.about-story__closing-lines span {
    display: block;
    font-size: clamp(1.05rem, 2vw, 1.2rem);
    line-height: 1.45;
    color: #374151;
}

.about-story__closing-lines span:first-child {
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 4px;
}

.about-story__closing > p:not(.about-story__tagline) {
    margin: 0 0 24px;
    font-size: 1.02rem;
    line-height: 1.78;
    color: #4b5563;
}

.about-story__tagline {
    margin: 0 0 32px;
    font-size: clamp(1.15rem, 2.2vw, 1.45rem);
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--accent);
}

.about-story__cta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
}

.about-story__cta a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 22px;
    border-radius: 10px;
    background: var(--accent);
    color: #ffffff;
    font-weight: 700;
    font-size: 0.92rem;
    text-decoration: none;
    transition: background 0.2s ease, transform 0.2s ease;
}

.about-story__cta a:hover {
    background: var(--accent-dark);
    transform: translateY(-1px);
}

.about-story__cta a.secondary {
    background: #ffffff;
    color: #0f172a;
    border: 1px solid rgba(15, 23, 42, 0.12);
}

.about-story__cta a.secondary:hover {
    background: #f8faf9;
}

@media (max-width: 900px) {
    .about-story-hero {
        --about-hero-h: calc(100vh - var(--zilenzo-home-header-h, 108px));
        --about-hero-h: calc(100svh - var(--zilenzo-home-header-h, 108px));
        --about-hero-pad-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
        height: var(--about-hero-h);
        min-height: var(--about-hero-h);
        max-height: var(--about-hero-h);
    }

    .about-story-hero__media img {
        object-position: center 12%;
    }

    .about-story-hero__overlay {
        background:
            linear-gradient(
                180deg,
                rgba(8, 14, 20, 0.12) 0%,
                rgba(8, 14, 20, 0) 28%,
                rgba(8, 14, 20, 0.18) 52%,
                rgba(8, 14, 20, 0.62) 78%,
                rgba(8, 14, 20, 0.88) 100%
            );
    }

    .about-story-hero__content {
        justify-content: flex-end;
        padding:
            clamp(12px, 2vh, 20px)
            max(16px, env(safe-area-inset-right, 0px))
            var(--about-hero-pad-bottom, calc(88px + env(safe-area-inset-bottom, 0px)))
            max(16px, env(safe-area-inset-left, 0px));
    }

    .about-story-hero__content h1 {
        font-size: clamp(1.35rem, 6.2vw, 1.95rem);
        line-height: 1.12;
        max-width: 100%;
    }

    .about-story-hero__lead {
        font-size: clamp(0.9rem, 3.6vw, 1.05rem);
        max-width: 100%;
    }
}

@supports (height: 100dvh) {
    @media (max-width: 900px) {
        .about-story-hero {
            --about-hero-h: calc(100dvh - var(--zilenzo-home-header-h, 108px));
            height: var(--about-hero-h);
            min-height: var(--about-hero-h);
            max-height: var(--about-hero-h);
        }
    }
}

@media (max-width: 768px) {
    .about-story__cta {
        flex-direction: column;
        align-items: stretch;
    }

    .about-story__cta a {
        justify-content: center;
    }
}

/* Kundeservice – formular under story */

.contact-page--story {
    background: #ffffff;
}

.contact-story {
    padding-bottom: clamp(40px, 6vw, 64px);
}

.about-story__block a:not(.primary-btn):not(.secondary-btn):not(.contact-quick-btn) {
    color: var(--accent);
    font-weight: 600;
    text-decoration: none;
}

.about-story__block a:not(.primary-btn):not(.secondary-btn):not(.contact-quick-btn):hover {
    text-decoration: underline;
}

.contact-story-form-section {
    padding: 0 var(--site-edge-padding) clamp(64px, 8vw, 96px);
    background: linear-gradient(180deg, #ffffff 0%, #f7f9f8 100%);
}

.contact-story-form-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
    gap: 24px;
    align-items: start;
    max-width: 1100px;
    margin: 0 auto;
}

.contact-story-form-card,
.contact-story-info-card {
    border-radius: 20px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.05);
    padding: clamp(24px, 3vw, 32px);
}

.contact-story-info-card h2 {
    margin: 0 0 18px;
    font-size: 1.35rem;
}

@media (max-width: 900px) {
    .contact-story-form-grid {
        grid-template-columns: 1fr;
    }

    .contact-story-info-card {
        position: static;
    }
}

@media (max-width: 768px) {
    .contact-form-grid,
    .contact-quick-actions__grid {
        grid-template-columns: 1fr;
    }

    .contact-story-actions {
        flex-direction: column;
    }

    .contact-story-action-btn {
        width: 100%;
        justify-content: center;
    }
}

/* Mobil burger-menu ved logo */

.navbar-brand-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 1 auto;
    min-width: 0;
}

@media (max-width: 900px) {
    .navbar-brand-row {
        margin-inline-start: 0;
        gap: 12px;
        flex-shrink: 0;
        flex-wrap: nowrap;
        align-items: center;
    }

    .navbar-brand-row .logo {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        width: 38px;
        height: 38px;
        min-width: 38px;
        max-width: 38px;
        position: relative;
        z-index: 1;
        line-height: 0;
        overflow: hidden;
        box-sizing: border-box;
    }

    .navbar-brand-row .logo img {
        display: block;
        height: 22px;
        width: auto;
        max-width: 30px;
        aspect-ratio: 52 / 32.5;
        object-fit: contain;
        object-position: center;
    }

    .mobile-menu-toggle {
        flex-shrink: 0;
        position: relative;
        z-index: 2;
    }
}

.mobile-menu-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(18, 18, 18, 0.1);
    border-radius: 10px;
    background: #ffffff;
    color: var(--ink);
    font-size: 1.35rem;
}

/* Mobilmenu-styling ligger i css/mobile-menu.css (indlæses via mobile-menu.js) */

/* Produktvisning desktop + mobil */

.product-detail-media {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
}

body.product-page .product-detail-media,
body.product-page .product-detail-media-stage,
body.product-page .product-gallery-stage,
body.product-page .product-image-clean-stage,
body.product-page .avatar-preview-stage {
    background: var(--product-media-bg);
}

.product-detail-media-stage {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: min(72vh, 720px);
    padding: 0;
}

.product-detail-shell .product-detail-media .product-detail-media-stage {
    width: 100%;
    height: 100%;
}

.product-detail-shell .product-detail-media:has([data-product-gallery]) {
    align-items: stretch;
    justify-content: flex-start;
}

.product-gallery {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    position: relative;
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: 0;
    padding: 20px 12px 24px 16px;
    box-sizing: border-box;
}

.product-gallery-stage {
    position: relative;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    min-height: min(58vh, 540px);
    height: auto;
    padding: 8px 12px 8px 4px;
    box-sizing: border-box;
}

.product-gallery-stage > .product-detail-image {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center center;
}

.product-gallery-arrow {
    position: absolute;
    top: 50%;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(18, 18, 18, 0.08);
    border-radius: 999px;
    background: #ffffff;
    color: #111111;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.14);
    transform: translateY(-50%);
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.product-gallery-arrow:hover {
    background: #ffffff;
    color: var(--accent);
    transform: translateY(-50%) scale(1.03);
}

.product-gallery-arrow.is-prev {
    left: 12px;
}

.product-gallery-arrow.is-next {
    right: 12px;
}

.product-gallery-thumbs {
    position: static;
    left: auto;
    right: auto;
    bottom: auto;
    z-index: 2;
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    flex-wrap: nowrap;
    gap: 8px;
    align-items: stretch;
    justify-content: flex-start;
    width: 76px;
    max-width: 76px;
    max-height: min(72vh, 720px);
    padding: 0 10px 0 0;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(17, 17, 17, 0.24) transparent;
    background: transparent;
    border: 0;
}

.product-gallery-thumbs::-webkit-scrollbar {
    width: 4px;
}

.product-gallery-thumbs::-webkit-scrollbar-thumb {
    background: rgba(17, 17, 17, 0.22);
    border-radius: 999px;
}

.product-gallery-thumb {
    display: block;
    flex: 0 0 auto;
    width: 100%;
    min-height: 0;
    height: auto;
    padding: 0;
    border: 1px solid rgba(17, 17, 17, 0.14);
    border-radius: 0;
    background: var(--product-media-bg, #eceef2);
    cursor: pointer;
    transition: border-color 0.18s ease, opacity 0.18s ease;
}

.product-gallery-thumb:hover {
    border-color: rgba(17, 17, 17, 0.42);
}

.product-gallery-thumb.is-active {
    border-color: #111111;
    border-width: 2px;
    box-shadow: none;
    background: var(--product-media-bg, #eceef2);
}

.product-gallery-thumb-media {
    display: block;
    width: 100%;
    height: 72px;
    border-radius: 0;
    overflow: hidden;
    background: var(--product-media-bg, #eceef2);
}

.product-gallery-counter {
    display: none;
}

.product-gallery-thumb-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.zilenzo-model-carousel {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-height: inherit;
    gap: 10px;
}

.zilenzo-model-carousel-stage {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: center;
    min-height: min(60vh, 560px);
    padding: 0 44px;
    box-sizing: border-box;
}

.zilenzo-model-carousel-link {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 0;
    text-decoration: none;
}

.zilenzo-model-carousel-image,
.zilenzo-model-carousel-stage > .product-detail-image {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 100%;
    object-fit: contain;
}

.zilenzo-model-carousel-arrow {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(18, 18, 18, 0.08);
    border-radius: 999px;
    background: #ffffff;
    color: #111111;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.14);
    transform: translateY(-50%);
    cursor: pointer;
}

.zilenzo-model-carousel-arrow i {
    font-size: 1.15rem;
    line-height: 1;
}

.zilenzo-model-carousel-arrow:hover {
    background: #ffffff;
    color: var(--accent);
}

.zilenzo-model-carousel-arrow.is-prev {
    left: 12px;
}

.zilenzo-model-carousel-arrow.is-next {
    right: 12px;
}

.zilenzo-model-carousel-dots {
    position: absolute;
    left: 50%;
    bottom: 14px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transform: translateX(-50%);
}

.zilenzo-model-carousel-dot {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12);
    cursor: pointer;
}

.zilenzo-model-carousel-dot.is-active {
    width: 10px;
    height: 10px;
    background: var(--accent);
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.95);
}

.product-avatar-preview .zilenzo-model-carousel--detail {
    padding-top: clamp(72px, 9vh, 88px);
    box-sizing: border-box;
}

.product-avatar-preview .zilenzo-model-carousel--detail .zilenzo-model-carousel-stage,
.product-avatar-preview .zilenzo-model-carousel--product .zilenzo-model-carousel-stage {
    min-height: min(52vh, 520px);
}

.product-avatar-preview .product-gallery {
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
    padding: 0;
}

.product-avatar-preview .product-media-panel.is-active .product-gallery-thumbs {
    position: absolute;
    left: 12px;
    right: auto;
    bottom: clamp(64px, 10vh, 100px);
    width: auto;
    max-width: min(100%, 380px);
    flex-direction: row;
    padding: 0;
    overflow-x: auto;
}

.product-avatar-preview .product-media-panel.is-active .product-gallery-stage {
    padding-top: clamp(72px, 9vh, 88px);
    padding-left: max(var(--site-edge-padding), 44px);
    padding-right: max(var(--site-edge-padding), 44px);
    box-sizing: border-box;
    min-height: min(52vh, 520px);
}

.product-avatar-preview .product-gallery-thumb {
    width: 64px;
    height: 64px;
}

.size-selected-label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 10px 0 14px;
    padding: 10px 14px;
    border-radius: 10px;
    background: rgba(var(--accent-rgb), 0.06);
    border: 1px solid rgba(var(--accent-rgb), 0.12);
    color: var(--ink);
    font-size: 0.96rem;
    font-weight: 600;
    line-height: 1.35;
}

.size-selected-label strong {
    color: var(--accent);
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: 0.03em;
}

.size-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

html.zilenzo-admin-preview-mobile {
    --iphone-safe-top: 59px;
    --iphone-safe-bottom: 34px;
}

html.zilenzo-admin-preview-mobile .desktop-only {
    display: none !important;
}

html.zilenzo-admin-preview-mobile .mobile-menu-toggle {
    display: inline-flex !important;
}

html.zilenzo-admin-preview-mobile .mobile-bottom-nav {
    display: flex !important;
}

html.zilenzo-admin-preview-mobile body {
    padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px));
    overflow-x: hidden;
}

html.zilenzo-admin-preview-mobile .navbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    min-height: 60px;
}

html.zilenzo-admin-preview-mobile .navbar-brand-row {
    display: flex;
    align-items: center;
    gap: 0;
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    width: auto;
    min-width: 0;
    max-width: none;
}

html.zilenzo-admin-preview-mobile .navbar > .logo {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    overflow: visible;
}

html.zilenzo-admin-preview-mobile .navbar > .logo img {
    height: 28px;
    max-width: min(120px, 32vw);
    margin-inline: auto;
    object-fit: contain;
    object-position: center center;
}

html.zilenzo-admin-preview-mobile .nav-actions {
    grid-column: 3;
    justify-self: stretch;
    width: 100%;
    min-width: 0;
    margin-left: 0;
}

html.zilenzo-admin-preview-mobile .nav-actions > .cart-icon {
    display: none !important;
}

html.zilenzo-admin-preview-mobile .nav-actions > .search-container {
    display: flex !important;
    width: 100%;
    min-width: 0;
    max-width: none;
    padding: 4px 6px 4px 12px;
    background: #f3f6f5;
    border-color: rgba(var(--accent-rgb), 0.12);
}

html.zilenzo-admin-preview-mobile .nav-actions > .search-container input {
    width: 100%;
    min-width: 0;
    padding: 8px 0;
    font-size: 0.86rem;
}

html.zilenzo-admin-preview-mobile .cart-overlay,
html.zilenzo-admin-preview-mobile .modal-overlay {
    width: 100%;
    max-width: 100%;
}

html.zilenzo-admin-preview-mobile .cart-drawer {
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2400;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: min(92dvh, 780px);
    border-radius: 28px 28px 0 0;
    box-shadow: 0 -24px 64px rgba(0, 63, 36, 0.18);
    transform: translateY(105%);
}

html.zilenzo-admin-preview-mobile .cart-drawer.open {
    transform: translateY(0);
}

html.zilenzo-admin-preview-mobile .cart-overlay {
    z-index: 2390;
}

html.zilenzo-admin-preview-mobile .cart-drawer-header {
    padding: 22px 18px 16px;
    border-bottom: none;
}

html.zilenzo-admin-preview-mobile .cart-drawer-header-copy {
    padding-top: 8px;
}

html.zilenzo-admin-preview-mobile .cart-drawer-content {
    padding: 4px 16px 12px;
    background: #f7faf8;
}

html.zilenzo-admin-preview-mobile .cart-drawer-footer {
    padding: 18px 18px calc(18px + env(safe-area-inset-bottom, 0px));
}

html.zilenzo-admin-preview-mobile .cart-item-img {
    width: 76px;
    height: 76px;
}

html.zilenzo-admin-preview-mobile .cart-drawer-actions .primary-btn,
html.zilenzo-admin-preview-mobile .cart-drawer-actions .secondary-btn {
    min-height: 52px;
    border-radius: 12px;
}

html.zilenzo-admin-preview-mobile body.no-scroll {
    overflow: hidden;
    touch-action: none;
}

@media (max-width: 768px) {
    .mobile-menu-toggle {
        display: inline-flex;
    }

    .navbar {
        gap: 14px;
    }

    .product-detail-shell .product-detail-layout {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    body.product-page .product-detail-layout--gallery .product-detail-copy,
    body.product-page .product-detail-layout:has([data-product-gallery]) .product-detail-copy {
        display: block;
        grid-column: auto;
        grid-row: auto;
        position: static;
        top: auto;
        max-height: none;
        overflow: visible;
    }

    body.product-page .product-detail-studio {
        border-right: none;
    }

    body.product-page .product-detail-lower--gallery-stage .product-detail-accordion__summary,
    body.product-page .product-detail-layout:has([data-product-gallery]) .product-detail-lower--gallery-stage .product-detail-accordion__summary {
        padding: 18px 16px;
    }

    body.product-page .product-detail-lower--gallery-stage .product-detail-accordion__body,
    body.product-page .product-detail-layout:has([data-product-gallery]) .product-detail-lower--gallery-stage .product-detail-accordion__body {
        padding: 0 16px 24px;
    }

    body.product-page .product-info-nav__item {
        min-height: 48px;
        padding: 15px 0;
    }

    body.product-page .product-info-nav__item span {
        font-size: 0.88rem;
    }

    body.product-page .product-detail-layout:has([data-product-gallery]) .product-detail-media {
        grid-column: auto;
        grid-row: auto;
        position: static;
        top: auto;
        min-height: auto;
        max-height: none;
        border-top: none;
    }

    body.product-page .product-detail-shell .product-detail-media:has([data-product-gallery]) {
        min-height: auto;
        background: var(--product-media-bg);
    }

    body.product-page .product-detail-shell .product-detail-media:has([data-product-gallery]) .product-gallery {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto;
        gap: 0;
        position: static;
        padding: 0;
    }

    body.product-page .product-gallery-thumbs {
        display: none !important;
    }

    body.product-page .product-gallery-counter {
        display: inline-flex;
        position: absolute;
        left: 16px;
        bottom: 14px;
        z-index: 4;
        align-items: center;
        padding: 0;
        background: transparent;
        color: #111111;
        font-size: 13px;
        font-weight: 600;
        letter-spacing: 0.02em;
        pointer-events: none;
    }

    body.product-page .product-gallery-stage {
        order: 1;
        min-height: min(100vw, 480px);
        height: auto;
        padding: 0;
        touch-action: pan-y pinch-zoom;
        background: var(--product-media-bg);
    }

    body.product-page .product-detail-shell .product-gallery-stage > .product-detail-image {
        width: 100%;
        height: auto;
        max-width: 100%;
        max-height: min(100vw, 480px);
    }

    .product-detail-shell .product-detail-media {
        min-height: auto;
        height: auto;
        padding: 0;
        border-right: none;
        border-bottom: 1px solid rgba(18, 18, 18, 0.06);
    }

    .product-detail-media-stage {
        width: 100%;
        min-height: min(62vw, 420px);
        height: auto;
    }

    .product-gallery {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto;
        gap: 0;
        padding: 0;
        min-height: auto;
    }

    .product-gallery-stage {
        order: 1;
        min-height: min(100vw, 480px);
        height: auto;
        padding: 0;
        background: var(--product-media-bg);
    }

    .product-gallery-stage > .product-detail-image {
        width: 100%;
        max-width: 100%;
        max-height: min(100vw, 480px);
        height: auto;
    }

    .product-gallery-arrow {
        display: none !important;
    }

    body.product-page .zilenzo-model-carousel-arrow {
        display: none !important;
    }

    .product-gallery-thumbs {
        display: none !important;
    }

    .product-gallery-counter {
        display: inline-flex;
        position: absolute;
        left: 16px;
        bottom: 14px;
        z-index: 4;
        color: #111111;
        font-size: 13px;
        font-weight: 600;
        pointer-events: none;
    }

    body.product-page .product-gallery-stage {
        display: flex;
        order: 1;
        min-height: min(100vw, 480px);
        height: auto;
        padding: 0;
    }

    body.product-page .product-gallery-stage > .product-detail-image {
        width: 100%;
        max-width: 100%;
        max-height: min(100vw, 480px);
        height: auto;
    }

    body.product-page .product-gallery-thumbs {
        display: none !important;
    }

    .product-avatar-preview .product-media-panel.is-active .product-gallery-stage {
        padding-top: 0;
        order: 1;
        min-height: min(100vw, 480px);
        padding-left: 0;
        padding-right: 0;
    }

    .product-avatar-preview .product-media-panel.is-active .product-gallery-thumbs {
        display: none !important;
    }

    .product-detail-shell .product-detail-image {
        width: 100%;
        max-width: 100%;
        height: auto;
        max-height: none;
    }

    .product-detail-shell .product-detail-copy {
        padding: 28px 16px 40px;
        justify-content: flex-start;
    }

    .product-breadcrumb-shell {
        padding: 14px 16px 16px;
    }

    .product-detail-trust {
        grid-template-columns: 1fr;
    }

    .size-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .detail-actions {
        flex-direction: column;
    }

    .detail-actions .add-to-cart-btn.large,
    .detail-actions .secondary-btn {
        width: 100%;
        max-width: none;
    }

    body.product-page .product-purchase-actions .detail-actions-primary {
        flex-direction: row;
        flex-wrap: nowrap;
    }

    body.product-page .product-purchase-actions .detail-actions-primary .product-detail-cta,
    body.product-page .product-purchase-actions .detail-actions-primary .product-detail-wishlist {
        width: auto;
        max-width: none;
    }

    body.product-page .product-purchase-actions .product-detail-actions-row {
        padding-left: 0;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.product-page .product-purchase-actions .product-detail-actions-row .product-detail-cta {
        grid-column: 1 / 3;
    }

    body.product-page .product-purchase-actions .product-detail-actions-row .product-detail-wishlist {
        grid-column: 3 / 4;
    }

    .product-buy-panel .product-detail-trust-inline span {
        white-space: normal;
    }
}

.size-grid-six {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.size-guide-details {
    margin-top: 10px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fafbfc;
    overflow: hidden;
}

.size-guide-details:not([open]) {
    margin-top: 0;
    border: none;
    background: transparent;
}

.size-guide-details:not([open]) summary {
    display: none;
}

.size-guide-details:not([open]) .size-guide-table-wrap {
    display: none;
}

.size-guide-details summary {
    padding: 12px 14px;
    font-weight: 700;
    color: var(--accent);
    cursor: pointer;
    list-style: none;
}

.size-guide-details summary::-webkit-details-marker {
    display: none;
}

.size-guide-details summary::after {
    content: '+';
    float: right;
    font-size: 1.1rem;
    line-height: 1;
}

.size-guide-details[open] summary::after {
    content: '−';
}

.size-guide-details .size-guide-table-wrap {
    margin: 0;
    padding: 0 12px 12px;
}

.size-selector,
[data-size-selector-block] {
    overflow: visible;
}

.fit-mode-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
}

.fit-mode-tab {
    display: block;
}

.fit-mode-tab input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.fit-mode-tab span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 12px;
    border: 1px solid var(--line);
    border-radius: 10px;
    font-weight: 700;
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.fit-mode-tab input:checked + span {
    border-color: var(--accent);
    background: rgba(var(--accent-rgb), 0.08);
    color: var(--accent);
}

.fit-mode-tab--custom span {
    border-color: rgba(var(--accent-rgb), 0.35);
    background: linear-gradient(180deg, rgba(var(--accent-rgb), 0.04) 0%, rgba(255, 255, 255, 0.98) 100%);
}

.fit-mode-tab--custom input:checked + span {
    border-color: var(--accent);
    background: linear-gradient(180deg, rgba(var(--accent-rgb), 0.14) 0%, rgba(var(--accent-rgb), 0.06) 100%);
    box-shadow: inset 0 0 0 1px rgba(var(--accent-rgb), 0.12);
    color: var(--accent-dark);
}

.fit-mode-panel.is-hidden {
    display: none;
}

.custom-fit-lead,
.size-guide-intro,
.size-guide-footnote,
.custom-fit-recommendation {
    color: var(--muted);
    line-height: 1.6;
}

.custom-fit-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.custom-fit-field {
    display: grid;
    gap: 6px;
}

.custom-fit-field span {
    font-size: 0.88rem;
    font-weight: 700;
}

.custom-fit-field input,
.custom-fit-field textarea {
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: 10px;
    font: inherit;
    box-sizing: border-box;
}

.custom-fit-field-full {
    grid-column: 1 / -1;
}

.custom-fit-contact {
    display: grid;
    gap: 12px;
    margin-top: 8px;
    padding-top: 16px;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.custom-fit-contact-lead {
    margin: 0;
    color: var(--muted);
    line-height: 1.55;
}

.custom-fit-grid-contact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.custom-fit-quote-feedback {
    margin: 0;
    padding: 12px 14px;
    border-radius: 12px;
    font-size: 0.92rem;
    line-height: 1.5;
}

.custom-fit-quote-feedback.is-success {
    background: #e8f6ea;
    color: #176b16;
}

.custom-fit-quote-feedback.is-error {
    background: #fff1f1;
    color: #a30000;
}

.size-guide-modal {
    position: fixed;
    inset: 0;
    z-index: 12000;
    display: grid;
    place-items: center;
    padding: 20px;
}

.size-guide-modal[hidden] {
    display: none;
}

.size-guide-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(3, 4, 18, 0.72);
    backdrop-filter: blur(4px);
}

.size-guide-dialog {
    position: relative;
    width: min(920px, 100%);
    max-height: min(88vh, 900px);
    overflow: auto;
    padding: 28px 24px 24px;
    border-radius: 24px;
    background: #fff;
    box-shadow: var(--shadow);
}

.size-guide-dialog-wide {
    width: min(1120px, 100%);
    max-height: min(92vh, 980px);
}

.size-guide-layout {
    display: grid;
    grid-template-columns: minmax(280px, 1.05fr) minmax(260px, 0.95fr);
    gap: 20px;
    align-items: start;
}

.size-guide-3d-panel {
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: linear-gradient(180deg, #fafbfc 0%, #f4f6f5 100%);
}

.size-guide-gender-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.size-guide-gender-tabs button {
    min-height: 44px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
    font-weight: 800;
    cursor: pointer;
}

.size-guide-gender-tabs button.is-active {
    border-color: var(--accent);
    background: rgba(var(--accent-rgb), 0.08);
    color: var(--accent);
}

.size-guide-3d-canvas {
    min-height: 460px;
    border-radius: 16px;
    overflow: hidden;
    background: radial-gradient(circle at 50% 20%, #ffffff 0%, #e8eeea 55%, #dde5e0 100%);
    touch-action: none;
    box-shadow: inset 0 0 0 1px rgba(0, 63, 36, 0.06);
}

.size-guide-3d-canvas canvas {
    display: block;
    width: 100% !important;
    height: 100% !important;
}

.size-guide-live-label {
    margin: 0;
    font-weight: 800;
    color: var(--accent);
}

.size-guide-drag-hint {
    margin: 0;
    color: var(--muted);
    font-size: 0.9rem;
}

.size-guide-format-note {
    margin: 0 0 14px;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(var(--accent-rgb), 0.06);
    color: #4a5568;
    font-size: 0.88rem;
    line-height: 1.5;
}

.size-guide-table-panel h3,
.size-guide-accessories h3 {
    margin: 0 0 10px;
}

.size-guide-accessories {
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
}

.size-guide-accessory-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 12px;
}

.size-guide-accessory-btn {
    display: grid;
    gap: 8px;
    justify-items: center;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    cursor: pointer;
    text-align: center;
}

.size-guide-accessory-btn img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 10px;
    background: #f3f4f6;
}

.size-guide-accessory-btn strong {
    font-size: 0.82rem;
    line-height: 1.35;
}

.size-guide-accessory-btn.is-active {
    border-color: var(--accent);
    box-shadow: 0 0 0 2px rgba(var(--accent-rgb), 0.12);
}

.size-guide-accessory-empty,
.size-guide-3d-fallback {
    margin: 0;
    color: var(--muted);
}

.size-guide-dialog h2 {
    margin: 0 0 10px;
    font-size: clamp(1.4rem, 3vw, 2rem);
}

.size-guide-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 999px;
    background: #f3f4f6;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.size-guide-table-wrap {
    overflow: auto;
    margin: 18px 0;
}

.size-guide-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 640px;
}

.size-guide-table th,
.size-guide-table td {
    padding: 14px 12px;
    border-bottom: 1px solid var(--line);
    text-align: center;
}

.size-guide-table thead th {
    background: rgba(var(--accent-rgb), 0.08);
    color: var(--accent);
    font-size: 1rem;
}

.size-guide-table tbody th {
    text-align: left;
    font-weight: 700;
}

@media (max-width: 760px) {
    .size-grid-six {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .custom-fit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fit-mode-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fit-mode-tab span {
        font-size: 0.92rem;
        padding: 0 8px;
        text-align: center;
    }

    .size-guide-layout {
        grid-template-columns: 1fr;
    }

    .size-guide-3d-canvas {
        min-height: 320px;
    }
}

/* Produktvisning: På model */
.product-avatar-preview {
    --avatar-chrome: 188px;
    position: relative;
    display: grid;
    grid-template-rows: minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    min-height: 0;
    padding: clamp(56px, 7vh, 76px) clamp(12px, 2.5vw, 28px) clamp(16px, 2.5vh, 24px);
    overflow: hidden;
    box-sizing: border-box;
}

.product-avatar-preview > .product-media-panel.is-active {
    grid-row: 1;
    grid-column: 1;
    width: 100%;
    min-width: 0;
    min-height: 0;
}

.product-media-tabs {
    position: absolute;
    top: clamp(16px, 2.5vh, 28px);
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: min(100%, 320px);
    margin: 0;
    flex-shrink: 0;
    z-index: 2;
}

.product-media-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    height: 48px;
    min-height: 48px;
    max-height: 48px;
    padding: 0 12px;
    border: 1px solid rgba(0, 63, 36, 0.12);
    border-radius: 12px;
    background: #fff;
    color: var(--ink);
    font-weight: 700;
    cursor: pointer;
    box-sizing: border-box;
    white-space: nowrap;
    box-shadow: 0 6px 20px rgba(0, 63, 36, 0.07);
    transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.product-media-tab.is-active {
    border-color: var(--accent);
    background: rgba(var(--accent-rgb), 0.08);
    color: var(--accent);
    box-shadow: 0 0 0 1px rgba(var(--accent-rgb), 0.08);
}

.product-media-panel {
    display: none;
    width: 100%;
}

.product-media-panel.is-active {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    flex: 1 1 auto;
    gap: 0;
    width: 100%;
    min-height: 0;
}

.product-avatar-preview .product-media-panel[data-media-panel="model"].is-active,
.product-avatar-preview .product-media-panel[data-media-panel="product"].is-active {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    align-content: stretch;
    min-height: 0;
    height: 100%;
    overflow: hidden;
}

.product-avatar-preview .product-media-panel[data-media-panel="model"].is-active {
    grid-template-rows: minmax(0, 1fr) 118px;
}

.product-avatar-preview .product-media-panel[data-media-panel="product"].is-active {
    grid-template-rows: minmax(0, 1fr);
}

.product-media-panel .product-detail-image {
    display: block;
    width: auto;
    max-width: min(100%, 900px);
    height: auto;
    max-height: 100%;
    object-fit: contain;
    margin: 0 auto;
}

.product-image-clean-stage {
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    justify-self: stretch;
    min-height: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    background: transparent;
    overflow: hidden;
}

.avatar-preview-stage {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    align-self: stretch;
    justify-self: stretch;
    width: 100%;
    min-height: 0;
    height: 100%;
    padding: 0;
    background: transparent;
    overflow: hidden;
}

.avatar-preview-frame {
    position: relative;
    width: min(100%, 440px);
    height: 100%;
    max-height: 100%;
    margin: 0 auto;
    flex-shrink: 1;
    min-height: 0;
    overflow: hidden;
}

.product-detail-image-clean {
    display: block;
    width: auto;
    max-width: min(100%, 900px);
    height: auto;
    max-height: 100%;
    margin: 0 auto;
    object-fit: contain;
    background: transparent;
}

.avatar-model-view {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.avatar-model-view[hidden] {
    display: none !important;
}

.avatar-model-stack {
    position: relative;
    width: 100%;
    height: 100%;
    max-width: min(100%, 440px);
    margin: 0 auto;
}

.avatar-base-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
}

.avatar-preview-controls {
    width: 100%;
    max-width: 560px;
    height: 118px;
    margin: 0 auto;
    flex: 0 0 auto;
    flex-shrink: 0;
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    box-sizing: border-box;
}

.avatar-preview-toolbar {
    display: grid;
    grid-template-columns: auto 228px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
    flex-shrink: 0;
}

.avatar-preview-label {
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--ink);
    white-space: nowrap;
}

.avatar-preview-gender {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 228px;
    min-width: 228px;
    padding: 4px;
    border-radius: 999px;
    background: #f1f4f2;
    border: 1px solid rgba(0, 63, 36, 0.08);
    box-sizing: border-box;
}

.avatar-preview-gender button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    min-width: 0;
    min-height: 40px;
    padding: 0 10px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--muted);
    font-weight: 700;
    cursor: pointer;
    box-shadow: none;
    transition: background 0.15s ease, color 0.15s ease;
}

.avatar-preview-gender button.is-active {
    background: #fff;
    color: var(--accent);
    box-shadow: 0 4px 14px rgba(0, 63, 36, 0.1);
}

.avatar-preview-hint {
    margin: 10px 0 0;
    padding: 0 4px;
    color: var(--muted);
    font-size: 0.88rem;
    text-align: center;
    flex-shrink: 0;
    line-height: 1.5;
    min-height: 2.8em;
}

.product-detail-shell .product-detail-media:has(.product-avatar-preview) {
    display: flex;
    align-items: stretch;
    justify-content: center;
}

.product-detail-shell .product-detail-media:has(.product-avatar-preview) .product-detail-media-stage {
    display: flex;
    align-items: stretch;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 0;
}

.product-detail-shell .product-detail-media:has(.product-avatar-preview) .product-avatar-preview {
    flex: 1 1 auto;
    align-self: stretch;
}

@media (min-width: 769px) {
    .product-media-tabs {
        width: 320px;
    }
}

@media (max-width: 768px) {
    .product-detail-shell .product-detail-media:has(.product-avatar-preview) {
        position: static;
        height: auto;
        max-height: none;
        overflow: visible;
    }

    .product-avatar-preview {
        --avatar-chrome: 156px;
        min-height: auto;
        height: auto;
        max-height: none;
        overflow: visible;
        padding: 52px 12px 20px;
    }

    .product-avatar-preview .product-media-panel[data-media-panel="model"].is-active,
    .product-avatar-preview .product-media-panel[data-media-panel="product"].is-active {
        display: flex;
        flex-direction: column;
        height: auto;
        overflow: visible;
    }

    .product-detail-shell .product-detail-media:has(.product-avatar-preview) .product-detail-media-stage {
        min-height: auto;
        height: auto;
        max-height: none;
    }

    .product-media-tabs {
        top: 10px;
        left: 50%;
        right: auto;
        transform: translateX(-50%);
        width: min(calc(100% - 24px), 320px);
    }

    .avatar-preview-stage {
        flex: 0 1 auto;
        min-height: min(58vw, 420px);
        height: min(58vw, 420px);
    }

    .avatar-preview-frame {
        width: min(100%, 340px);
        height: 100%;
    }

    .product-image-clean-stage {
        flex: 0 1 auto;
        min-height: min(58vw, 420px);
    }

    .product-detail-image-clean,
    .product-media-panel .product-detail-image {
        max-height: min(68vw, 480px);
        max-width: 100%;
    }

    .product-avatar-preview .product-media-panel[data-media-panel="model"].is-active {
        grid-template-rows: minmax(0, 1fr) 132px;
    }

    .avatar-preview-controls {
        height: 132px;
        max-width: 100%;
        padding: 0 4px;
    }

    .avatar-preview-toolbar {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 10px;
        width: 100%;
    }

    .avatar-preview-gender {
        width: min(100%, 280px);
        min-width: min(100%, 280px);
    }

    .avatar-preview-gender button {
        justify-content: center;
        min-width: 0;
    }
}

/* Cookie consent banner */
body.cookie-consent-open {
    overflow: hidden;
}

.cookie-consent-overlay {
    position: fixed;
    inset: 0;
    background: rgba(8, 18, 14, 0.42);
    z-index: 12000;
}

.cookie-consent-banner {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 12001;
    padding: 16px;
}

.cookie-consent-banner[hidden],
.cookie-consent-overlay[hidden],
.cookie-consent-reopen[hidden] {
    display: none !important;
}

.cookie-consent-banner__inner {
    max-width: 920px;
    margin: 0 auto;
    background: #ffffff;
    border: 1px solid rgba(18, 18, 18, 0.08);
    border-radius: 22px;
    box-shadow: 0 24px 60px rgba(0, 63, 36, 0.16);
    padding: 22px 24px;
}

.cookie-consent-kicker {
    margin: 0 0 6px;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--accent);
    font-weight: 700;
}

.cookie-consent-banner h2 {
    margin: 0 0 10px;
    font-size: 1.35rem;
    color: var(--ink);
}

.cookie-consent-text {
    margin: 0 0 16px;
    color: var(--muted);
    line-height: 1.65;
    font-size: 0.95rem;
}

.cookie-consent-text a {
    color: var(--accent);
    font-weight: 600;
}

.cookie-consent-details {
    display: grid;
    gap: 10px;
    margin-bottom: 16px;
}

.cookie-consent-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.cookie-consent-btn {
    border: var(--btn-border-width) solid transparent;
    border-radius: 999px;
    padding: 12px 18px;
    font-weight: 600;
    cursor: pointer;
    font-size: 0.92rem;
    box-sizing: border-box;
}

.cookie-consent-btn-primary {
    background: #121212;
    color: #fff;
    border-color: #121212;
}

.cookie-consent-btn-secondary {
    background: rgba(var(--accent-rgb), 0.12);
    color: var(--accent);
    border-color: rgba(var(--accent-rgb), 0.12);
}

.cookie-consent-btn-ghost {
    background: transparent;
    color: var(--ink);
    border-color: rgba(18, 18, 18, 0.12);
}

.cookie-consent-reopen {
    position: fixed;
    left: 18px;
    bottom: 18px;
    z-index: 11000;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: var(--btn-border-width) solid #121212;
    border-radius: 999px;
    padding: 10px 14px;
    background: #121212;
    color: #fff;
    font-weight: 600;
    font-size: 0.85rem;
    cursor: pointer;
    box-sizing: border-box;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
}

.cookie-consent-reopen i {
    font-size: 1rem;
}

.cookie-consent-revoke {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(18, 18, 18, 0.08);
}

.cookie-consent-revoke-text,
.cookie-revoke-note {
    margin: 0 0 12px;
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.6;
}

.cookie-consent-revoke-actions,
.cookie-revoke-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.cookie-consent-btn-warning {
    background: rgba(181, 120, 0, 0.12);
    color: #8a5a00;
    border-color: rgba(181, 120, 0, 0.12);
}

.cookie-consent-btn-danger,
.btn-danger {
    background: rgba(180, 35, 24, 0.1);
    color: #b42318;
    border: var(--btn-border-width) solid rgba(180, 35, 24, 0.18);
    box-sizing: border-box;
}

.cookie-revoke-actions .btn-danger:hover {
    background: rgba(180, 35, 24, 0.16);
}

.cookie-revoke-panel {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(18, 18, 18, 0.08);
}

.cookie-revoke-panel h2 {
    margin: 0 0 10px;
}

@media (max-width: 720px) {
    .cookie-revoke-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .cookie-revoke-actions .btn-secondary,
    .cookie-revoke-actions .btn-danger {
        width: 100%;
    }
}

@media (max-width: 720px) {
    .cookie-consent-banner__inner {
        padding: 18px 16px;
        border-radius: 18px 18px 0 0;
    }

    .cookie-consent-banner {
        padding: 0;
    }

    .cookie-consent-actions {
        flex-direction: column;
    }

    .cookie-consent-btn {
        width: 100%;
        justify-content: center;
    }

    .cookie-consent-reopen {
        left: 12px;
        bottom: 12px;
    }
}

/* Theme sections (Webshop live editor) */
.theme-section {
    width: 100%;
    max-width: none;
    margin: 0;
    padding-inline: var(--site-edge-padding);
    box-sizing: border-box;
}
.theme-section--content_cards {
    width: 100%;
    max-width: none;
    margin: 0;
    padding-inline: var(--site-edge-padding);
    box-sizing: border-box;
    --theme-card-media-h: clamp(150px, 18vw, 200px);
    --theme-card-body-min-h: 148px;
}
.theme-section--content_cards .theme-block { padding: 0; }
.theme-section--content_cards .theme-block__head {
    max-width: none;
    margin: 0;
    padding: 2rem 0 1rem;
}
.theme-block { padding: 2.5rem 0; }
.theme-block__head h2 { margin: 0 0 1.25rem; font-size: clamp(1.35rem, 2.5vw, 1.75rem); }
.theme-hero {
    position: relative;
    min-height: var(--theme-section-height, 320px);
    border-radius: 18px;
    overflow: hidden;
    display: flex;
    align-items: var(--theme-hero-align-items, center);
    justify-content: var(--theme-hero-justify, center);
    text-align: center;
    color: #fff;
    padding: var(--theme-section-pad, 2rem) 1.25rem;
    background: var(--theme-section-bg, transparent);
}
.theme-hero--limited .theme-hero__content { width: min(720px, 100%); }
.theme-hero--full .theme-hero__content { width: min(1100px, 100%); }
.theme-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.theme-hero__bg--fill { object-fit: unset; }
.theme-hero__bg--video { object-fit: cover; }
.theme-hero__overlay { position: absolute; inset: 0; background: rgba(0,0,0,var(--theme-hero-overlay, .45)); }
.theme-hero__content { position: relative; z-index: 1; padding: 2rem; max-width: 720px; }
.theme-hero__headline { margin: 0 0 .5rem; font-size: clamp(1.6rem, 4vw, 2.4rem); }
.theme-hero__subline { margin: 0 0 1rem; opacity: .92; }
.theme-section--hide-tablet { }
.theme-section--hide-mobile { }
@media (max-width: 1024px) {
  .theme-section--hide-tablet { display: none !important; }
}
@media (max-width: 767px) {
  .theme-section--hide-mobile { display: none !important; }
}
.theme-category-blocks__grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}
.theme-sport-collections__grid,
.theme-popular-products__grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
.theme-category-card {
    display: grid;
    gap: .5rem;
    border-radius: 16px;
    overflow: hidden;
    background: #f3f4f6;
    text-decoration: none;
    color: inherit;
    min-height: 160px;
    place-items: center;
    padding: 1.5rem 1.25rem;
    font-weight: 600;
    font-size: 1.05rem;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.theme-category-card:hover {
    transform: translateY(-2px);
    background: #e9edf2;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}
.theme-category-card span { text-align: center; line-height: 1.3; }
.theme-sport-card {
    display: grid; gap: .5rem; border-radius: 14px; overflow: hidden;
    background: #f3f4f6; text-decoration: none; color: inherit; min-height: 120px;
    place-items: center; padding: 1rem; font-weight: 600;
}
.theme-sport-card img { width: 100%; height: 120px; object-fit: cover; border-radius: 10px; }
.theme-video__player { width: 100%; border-radius: 14px; background: #000; }
.theme-newsletter {
    background: #111827; color: #fff; border-radius: 18px; padding: 2rem;
    text-align: center;
}
.theme-newsletter__form { display: flex; gap: .5rem; flex-wrap: wrap; justify-content: center; margin-top: 1rem; }
.theme-newsletter__form input {
    min-width: 220px; flex: 1; border-radius: 10px; border: 0; padding: .65rem .8rem;
}
.theme-campaign {
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    flex-wrap: wrap; border-radius: 14px; padding: 1.25rem 1.5rem;
}
.theme-campaign__cta {
    border: var(--btn-border-width) solid currentColor;
    border-radius: 999px;
    padding: .45rem .9rem;
    text-decoration: none;
    font-weight: 600;
    box-sizing: border-box;
}
.theme-image-banner img { width: 100%; border-radius: 14px; display: block; }
.theme-rich-text { padding: var(--theme-section-pad, 1.5rem) 0; }
.theme-section--rich_text.theme-section[style*="--theme-section-pad"] .theme-rich-text {
  padding-block: var(--theme-section-pad);
}
.theme-section--rich_text[style*="--theme-section-height"] {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.theme-section {
    font-family: var(--theme-font-family, inherit);
    font-size: var(--theme-body-size, inherit);
    font-style: var(--theme-font-style, inherit);
    text-transform: var(--theme-text-transform, none);
    border-radius: var(--theme-section-radius, 0);
    background: var(--theme-section-bg, transparent);
    color: var(--theme-text-color, inherit);
}
.theme-section h1,
.theme-section h2,
.theme-section h3,
.theme-section h4,
.theme-section h5,
.theme-section h6,
.theme-section .theme-block__head h2,
.theme-section .theme-rich-text__heading,
.theme-section .theme-rich-text h1,
.theme-section .theme-rich-text h2,
.theme-section .theme-rich-text h3,
.theme-section .theme-rich-text h4,
.theme-section .theme-rich-text h5,
.theme-section .theme-rich-text h6,
.theme-section .theme-hero__headline {
    color: var(--theme-heading-color, inherit);
    font-family: var(--theme-heading-font, inherit);
    font-size: var(--theme-heading-size, inherit);
    text-transform: var(--theme-heading-transform, none);
    line-height: 1.15;
    margin: 0 0 .65em;
}
.theme-section p,
.theme-section .theme-rich-text p,
.theme-section .theme-rich-text__body {
    font-size: var(--theme-body-size, inherit);
    margin: 0;
}
.theme-rich-text--h1 .theme-rich-text__heading:not([style*="font-size"]) { font-size: var(--theme-heading-size, clamp(2rem, 4vw, 2.75rem)); }
.theme-rich-text--h2 .theme-rich-text__heading:not([style*="font-size"]) { font-size: var(--theme-heading-size, clamp(1.65rem, 3.2vw, 2.15rem)); }
.theme-rich-text--h3 .theme-rich-text__heading:not([style*="font-size"]) { font-size: var(--theme-heading-size, clamp(1.4rem, 2.6vw, 1.75rem)); }
.theme-rich-text--h4 .theme-rich-text__heading:not([style*="font-size"]) { font-size: var(--theme-heading-size, clamp(1.2rem, 2.2vw, 1.45rem)); }
.theme-rich-text--h5 .theme-rich-text__heading:not([style*="font-size"]) { font-size: var(--theme-heading-size, clamp(1.05rem, 1.9vw, 1.2rem)); }
.theme-rich-text--h6 .theme-rich-text__heading:not([style*="font-size"]) { font-size: var(--theme-heading-size, clamp(.95rem, 1.6vw, 1.05rem)); }
.theme-block__title-row,
.theme-rich-text__title-row,
.theme-hero__title-row {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    justify-content: inherit;
    width: 100%;
}
.theme-rich-text[style*="center"] .theme-block__title-row,
.theme-rich-text[style*="center"] .theme-rich-text__title-row {
    justify-content: center;
}
.theme-rich-text[style*="right"] .theme-block__title-row,
.theme-rich-text[style*="right"] .theme-rich-text__title-row {
    justify-content: flex-end;
}
.theme-section-icon {
    display: inline-grid;
    place-items: center;
    width: 2.4rem;
    height: 2.4rem;
    font-size: 1.25rem;
    line-height: 1;
    color: var(--theme-icon-color, var(--theme-accent-color, currentColor));
    flex: 0 0 auto;
}
.theme-section-icon .material-symbols-outlined {
    font-size: 1.35rem;
    line-height: 1;
    font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 24;
}
.theme-section-icon--circle {
    border-radius: 999px;
    background: color-mix(in srgb, var(--theme-icon-color, var(--theme-accent-color, #1f3b2d)) 14%, transparent);
}
.theme-section-icon--outline {
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--theme-icon-color, var(--theme-accent-color, #1f3b2d)) 45%, transparent);
}
.theme-section .primary-btn,
.theme-section .theme-campaign__cta,
.theme-section .theme-hero__cta {
    background: var(--theme-accent-color, inherit);
    border-color: var(--theme-accent-color, inherit);
}
.theme-divider { height: 1px; margin: 0 auto; }
[data-theme-topbanner-mount] {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}
.theme-topbanner {
    --theme-topbanner-height: 60vh;
    --theme-topbanner-height: 60svh;
    position: relative;
    overflow: hidden;
    background: #0b1220;
    min-height: var(--theme-topbanner-height, 60svh);
    height: var(--theme-topbanner-height, 60svh);
    color: #fff;
    isolation: isolate;
}
.theme-section--topbanner-slot {
    margin: 0;
    padding: 0;
    max-width: none;
}
.theme-section--topbanner-contained {
    max-width: min(100%, var(--site-content-max-width, 1280px));
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--site-edge-padding, 1rem);
    padding-right: var(--site-edge-padding, 1rem);
}
.theme-section--topbanner-contained .theme-topbanner {
    border-radius: 18px;
}
.theme-section--topbanner-slot .theme-topbanner {
    border-radius: 0;
}
.theme-topbanner--fullscreen {
    min-height: 100svh;
    height: 100svh;
}

@media (max-width: 900px) {
    .theme-topbanner:not(.theme-topbanner--fullscreen) {
        --theme-topbanner-height: calc(100vh - var(--zilenzo-home-header-h, 108px));
        --theme-topbanner-height: calc(100svh - var(--zilenzo-home-header-h, 108px));
        min-height: var(--theme-topbanner-height);
        height: var(--theme-topbanner-height);
    }
}
body.has-theme-topbanner .theme-section--topbanner-slot.theme-section--topbanner-contained {
    padding-top: .75rem;
}
body.has-theme-topbanner .zilenzo-front-hero--homepage {
    display: none !important;
}

/* Klassisk forside-hero har forrang over theme-topbanner. */
body.has-theme-topbanner:has(.zilenzo-front-hero--homepage) .zilenzo-front-hero--homepage {
    display: block !important;
}

body.has-theme-topbanner:has(.zilenzo-front-hero--homepage) [data-theme-topbanner-mount] {
    display: none !important;
}
[data-theme-topbanner-mount]:empty {
    display: none;
}
.theme-topbanner__viewport {
    overflow: hidden;
    position: relative;
    height: 100%;
    min-height: inherit;
}
.theme-topbanner__track {
    position: relative;
    height: 100%;
    min-height: inherit;
}
.theme-topbanner__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity .65s ease, transform .85s cubic-bezier(.22, 1, .36, 1);
    display: grid;
    text-align: var(--theme-topbanner-align, center);
}
.theme-topbanner[data-transition="slide"] .theme-topbanner__slide {
    transform: translateX(4%);
}
.theme-topbanner[data-transition="slide"] .theme-topbanner__slide.is-active {
    transform: translateX(0);
}
.theme-topbanner__slide.is-active {
    opacity: 1;
    pointer-events: auto;
    z-index: 1;
}
.theme-topbanner__media {
    position: absolute;
    inset: 0;
    overflow: hidden;
}
.theme-topbanner__picture {
    display: block;
    width: 100%;
    height: 100%;
}
.theme-topbanner__picture .theme-topbanner__image {
    width: 100%;
    height: 100%;
}
.theme-topbanner__image,
.theme-topbanner__video {
    width: 100%;
    height: 100%;
    object-fit: var(--theme-topbanner-object-fit, cover);
    display: block;
    transform: scale(1.02);
    transition: transform 8s ease;
}
.theme-topbanner--fit-contain .theme-topbanner__media {
    background: #0b1220;
}
.theme-topbanner--no-arrows .theme-topbanner__arrow { display: none; }
.theme-topbanner--no-dots .theme-topbanner__dots { display: none; }
.theme-topbanner__counter {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 4;
    padding: .28rem .65rem;
    border-radius: 999px;
    background: rgba(15,23,42,.55);
    color: #fff;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .06em;
}
.theme-topbanner--kenburns .theme-topbanner__slide.is-active .theme-topbanner__image {
    transform: scale(1.08);
}
.theme-topbanner__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,var(--theme-topbanner-overlay, .45));
}

/* Classic/forside slideshow = 100% match med .zilenzo-front-hero--homepage */
.theme-topbanner.theme-topbanner--forside {
    --theme-topbanner-height: 60vh;
    --theme-topbanner-height: 60svh;
    --zilenzo-home-hero-object-position: 68% 22%;
    background: #1f2226;
    min-height: var(--theme-topbanner-height);
    height: var(--theme-topbanner-height);
    color: #fff;
}
.theme-topbanner--single .theme-topbanner__controls,
.theme-topbanner--single .theme-topbanner__progress,
.theme-topbanner--single .theme-topbanner__counter {
    display: none !important;
}
.theme-topbanner--forside .theme-topbanner__slide--forside {
    display: block;
    text-align: left;
}
.theme-topbanner--forside .theme-topbanner__slide--forside::before {
    content: none;
    display: none;
}
.theme-topbanner--forside .zilenzo-front-hero-picture {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #1f2226;
}
.theme-topbanner--forside .theme-topbanner__overlay {
    z-index: 2;
}
.theme-topbanner--forside .zilenzo-front-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: var(--zilenzo-home-hero-object-position, 68% 22%);
    transform: none;
    filter: none;
    z-index: 1;
}
.theme-topbanner--forside .zilenzo-front-homepage-stack {
    pointer-events: auto;
}
.theme-topbanner--forside .zilenzo-hero-btn {
    min-height: 52px;
    padding: 0 26px;
    font-size: 1.02rem;
    font-weight: 500;
    border-radius: 5px;
    white-space: nowrap;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    box-sizing: border-box;
    transition: transform .15s ease, background .15s ease;
}
.theme-topbanner--forside .zilenzo-hero-btn--primary {
    background: #145c38;
    color: #ffffff;
    box-shadow: 0 10px 28px rgba(20, 92, 56, 0.28);
}
.theme-topbanner--forside .zilenzo-hero-btn--primary:hover {
    background: #0f3f27;
    color: #ffffff;
    transform: translateY(-1px);
}
.theme-topbanner--forside .zilenzo-hero-btn--ghost {
    background: #ffffff;
    color: #111111;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
}
.theme-topbanner--forside .zilenzo-hero-btn--ghost:hover {
    background: #f5f5f5;
    color: #111111;
}
.theme-topbanner--forside .zilenzo-hero-btn-arrow {
    margin-left: 2px;
    font-size: 0.92em;
    opacity: 0.72;
}
@media (min-width: 901px) {
    .theme-topbanner--forside .zilenzo-front-homepage-stack {
        max-width: min(720px, 56vw);
        margin-left: 0;
        margin-right: auto;
    }
    .theme-topbanner--forside .zilenzo-front-homepage-title {
        width: max-content;
        max-width: none;
        font-size: clamp(2rem, 0.95vw + 1.2rem, 3rem);
        white-space: nowrap;
        letter-spacing: -0.04em;
    }
    .theme-topbanner--forside .zilenzo-front-homepage-lead {
        max-width: none;
        width: max-content;
        font-size: 1.125rem;
        white-space: nowrap;
    }
    .theme-topbanner--forside .zilenzo-front-homepage-lead-line1,
    .theme-topbanner--forside .zilenzo-front-homepage-lead-line2 {
        display: inline;
        white-space: nowrap;
    }
    .theme-topbanner--forside .zilenzo-front-homepage-lead-line1::after {
        content: " ";
    }
    .theme-topbanner--forside .zilenzo-hero-btn {
        min-height: 54px;
        padding: 0 30px;
        font-size: 1.06rem;
    }
}
@media (max-width: 900px) {
    .theme-topbanner.theme-topbanner--forside:not(.theme-topbanner--fullscreen) {
        --theme-topbanner-height: calc(100vh - var(--zilenzo-home-header-h, 108px));
        --theme-topbanner-height: calc(100svh - var(--zilenzo-home-header-h, 108px));
        min-height: var(--theme-topbanner-height);
        height: var(--theme-topbanner-height);
        max-height: var(--theme-topbanner-height);
    }
    .theme-topbanner--forside .zilenzo-front-hero-picture {
        background: #1f6fe0;
    }
    .theme-topbanner--forside .zilenzo-front-image {
        object-position: var(--zilenzo-home-hero-object-position, 62% 18%);
        transform: none;
    }
    .theme-topbanner--forside .theme-topbanner__slide--forside::before {
        background:
            linear-gradient(
                180deg,
                rgba(8, 14, 20, 0.12) 0%,
                rgba(8, 14, 20, 0) 28%,
                rgba(8, 14, 20, 0.18) 52%,
                rgba(8, 14, 20, 0.62) 78%,
                rgba(8, 14, 20, 0.88) 100%
            );
    }
    .theme-topbanner--forside .zilenzo-front-content--homepage {
        justify-content: flex-end;
        padding:
            clamp(12px, 2vh, 20px)
            max(16px, env(safe-area-inset-right, 0px))
            calc(88px + env(safe-area-inset-bottom, 0px))
            max(16px, env(safe-area-inset-left, 0px));
    }
    .theme-topbanner--forside .zilenzo-front-homepage-stack {
        max-width: min(100%, 34rem);
        width: 100%;
        gap: 10px;
    }
    .theme-topbanner--forside .zilenzo-front-homepage-title {
        font-size: clamp(1.35rem, 6.2vw, 1.95rem);
        white-space: normal;
        width: 100%;
        max-width: 100%;
    }
    .theme-topbanner--forside .zilenzo-front-homepage-lead {
        width: 100%;
        max-width: 100%;
        font-size: clamp(0.9rem, 3.6vw, 1.05rem);
        white-space: normal;
    }
    .theme-topbanner--forside .zilenzo-front-homepage-lead-line1,
    .theme-topbanner--forside .zilenzo-front-homepage-lead-line2 {
        display: block;
        white-space: normal;
    }
    .theme-topbanner--forside .zilenzo-front-homepage-lead-line1::after {
        content: none;
    }
    .theme-topbanner--forside .zilenzo-front-homepage-actions {
        width: 100%;
        gap: 8px;
    }
    .theme-topbanner--forside .zilenzo-hero-btn {
        flex: 1 1 0;
        min-width: 0;
        min-height: 44px;
        padding: 0 10px;
        font-size: 0.82rem;
        border-radius: 8px;
    }
    .theme-topbanner--forside .zilenzo-front-homepage-trust {
        width: 100%;
        font-size: clamp(0.62rem, 2.4vw, 0.74rem);
    }
}
.theme-topbanner__content {
    position: relative;
    z-index: 2;
    align-self: center;
    justify-self: center;
    padding: clamp(1.75rem, 5vw, 3.5rem);
    color: #fff;
    max-width: min(720px, 92vw);
    animation: theme-topbanner-rise .7s ease both;
}
.theme-topbanner__slide:not(.is-active) .theme-topbanner__content {
    animation: none;
}
@keyframes theme-topbanner-rise {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
}
.theme-topbanner__eyebrow {
    margin: 0 0 .55rem;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    opacity: .88;
}
.theme-topbanner__headline {
    margin: 0 0 .75rem;
    font-size: clamp(1.75rem, 4.2vw, 3.25rem);
    line-height: 1.05;
    letter-spacing: -.02em;
    font-weight: 800;
}
.theme-topbanner__subline {
    margin: 0 0 1.25rem;
    opacity: .92;
    line-height: 1.55;
    font-size: clamp(.95rem, 1.6vw, 1.12rem);
}
.theme-topbanner__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    justify-content: inherit;
}
.theme-topbanner__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: .55rem 1.25rem;
    border-radius: 8px;
    font-weight: 700;
    text-decoration: none;
    border: var(--btn-border-width, 8px) solid transparent;
    box-sizing: border-box;
    transition: transform .15s ease, filter .15s ease;
}
.theme-topbanner__cta:hover { transform: translateY(-1px); filter: brightness(1.05); }
.theme-topbanner__cta--ghost {
    background: transparent;
    color: #fff;
    border-color: rgba(255,255,255,.55);
}
.theme-topbanner--split .theme-topbanner__slide {
    grid-template-columns: 1.05fr .95fr;
}
.theme-topbanner--split .theme-topbanner__media { position: relative; }
.theme-topbanner--split .theme-topbanner__content {
    align-self: stretch;
    justify-self: stretch;
    display: grid;
    align-content: center;
    background: linear-gradient(180deg, #0f172a 0%, #111827 100%);
    color: #fff;
    max-width: none;
    text-align: left;
}
.theme-topbanner--minimal .theme-topbanner__content {
    align-self: end;
    justify-self: start;
    max-width: 520px;
    text-align: left;
    padding-bottom: clamp(2rem, 6vw, 4rem);
}
.theme-topbanner--minimal .theme-topbanner__headline { font-size: clamp(1.35rem, 3vw, 2rem); }
.theme-topbanner--cinematic .theme-topbanner__headline {
    font-size: clamp(2rem, 5.5vw, 4rem);
    max-width: 12ch;
}
.theme-topbanner--cinematic .theme-topbanner__content { max-width: min(860px, 94vw); }
.theme-topbanner--video .theme-topbanner__overlay { background: rgba(0,0,0,.35); }
.theme-topbanner--glass .theme-topbanner__content {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.22);
    backdrop-filter: blur(14px);
    border-radius: 18px;
    box-shadow: 0 24px 60px rgba(0,0,0,.22);
}
.theme-topbanner--editorial .theme-topbanner__content {
    justify-self: start;
    text-align: left;
    max-width: min(560px, 90vw);
}
.theme-topbanner--editorial .theme-topbanner__overlay {
    background: linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.25) 55%, rgba(0,0,0,.15) 100%);
}
.theme-topbanner--bold .theme-topbanner__content { max-width: min(980px, 96vw); }
.theme-topbanner--bold .theme-topbanner__headline {
    font-size: clamp(2.2rem, 7vw, 5rem);
    text-transform: uppercase;
    letter-spacing: -.03em;
}
.theme-topbanner--bold .theme-topbanner__subline { font-size: clamp(1rem, 2vw, 1.25rem); }
.theme-topbanner--kenburns .theme-topbanner__overlay {
    background: linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.55) 100%);
}
.theme-topbanner__progress {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    z-index: 4;
    background: rgba(255,255,255,.18);
    transform-origin: left center;
    transform: scaleX(0);
}
.theme-topbanner__controls {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 1rem;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    padding: 0 1rem;
}
.theme-topbanner__arrow {
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.92);
    color: #111827;
    cursor: pointer;
    font-size: 1.25rem;
    line-height: 1;
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
}
.theme-topbanner__dots { display: flex; gap: .4rem; align-items: center; }
.theme-topbanner__dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    border: 0;
    background: rgba(255,255,255,.45);
    cursor: pointer;
    padding: 0;
    transition: width .2s ease, background .2s ease;
}
.theme-topbanner__dot.is-active { background: #fff; width: 24px; }
@media (prefers-reduced-motion: reduce) {
    .theme-topbanner__slide {
        transition: opacity .01ms linear;
    }
    .theme-topbanner[data-transition="slide"] .theme-topbanner__slide {
        transform: none;
    }
    .theme-topbanner__image,
    .theme-topbanner__video {
        transition: none;
        transform: none;
    }
    .theme-topbanner--kenburns .theme-topbanner__slide.is-active .theme-topbanner__image {
        transform: none;
    }
    .theme-topbanner__content {
        animation: none;
    }
    .theme-topbanner__cta {
        transition: none;
    }
}

.theme-content-cards { --theme-card-columns: 4; --theme-card-gap: 0; --theme-card-grid: repeat(4, minmax(0, 1fr)); }
.theme-content-cards__track {
    display: grid;
    grid-template-columns: var(--theme-card-grid, repeat(var(--theme-card-columns, 4), minmax(0, 1fr)));
    gap: var(--theme-card-gap, 0);
    overflow-x: visible;
    padding: 0;
    width: 100%;
    align-items: stretch;
}
.theme-section--content_cards .theme-content-card {
    border-radius: 0;
    border: none;
    box-shadow: none;
    min-height: calc(var(--theme-card-media-h) + var(--theme-card-body-min-h) + 2.5rem);
    height: 100%;
    grid-template-rows: auto minmax(0, 1fr) auto;
}
.theme-section--content_cards .theme-content-card--empty,
.theme-section--content_cards .theme-content-card--editable {
    background: #f8fafc;
    border: 1px dashed #d1d5db;
}
.theme-section--content_cards .theme-content-card__media {
    aspect-ratio: unset;
    height: var(--theme-card-media-h);
    min-height: var(--theme-card-media-h);
    max-height: var(--theme-card-media-h);
    padding: .65rem .65rem 0;
    box-sizing: border-box;
    display: grid;
    place-items: stretch;
}
.theme-content-card__footer {
    padding: .45rem .65rem .65rem;
}
.theme-content-card__footer[hidden] {
    display: none !important;
}
.theme-content-card__card-save {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    border: var(--btn-border-width) solid #1f3b2d;
    border-radius: 999px;
    background: #1f3b2d;
    color: #fff;
    font-weight: 700;
    font-size: .78rem;
    padding: .5rem .75rem;
    cursor: pointer;
    box-sizing: border-box;
}
.theme-content-card__card-save:hover {
    filter: brightness(1.05);
}
.theme-section--content_cards .theme-content-card--empty .theme-content-card__media .theme-content-card__slot,
.theme-section--content_cards .theme-content-card--editable .theme-content-card__media .theme-content-card__slot {
    min-height: 100%;
    height: 100%;
}
.theme-content-card__media-change {
    position: absolute;
    right: .55rem;
    bottom: .55rem;
    z-index: 2;
    border: var(--btn-border-width) solid rgba(15, 23, 42, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: #0f172a;
    font-size: .68rem;
    font-weight: 700;
    padding: .3rem .55rem;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.12);
    box-sizing: border-box;
}
.theme-content-card__media-change:hover {
    background: #fff;
    border-color: #1f3b2d;
    color: #1f3b2d;
}
.theme-content-card__editable-field {
    cursor: pointer;
    transition: outline-color .15s ease, background .15s ease;
}
.theme-content-card__editable-field:hover {
    outline: 1px dashed rgba(31, 59, 45, 0.35);
    outline-offset: 2px;
}
.theme-section--content_cards .theme-content-card__body {
    min-height: var(--theme-card-body-min-h);
    max-height: var(--theme-card-body-min-h);
    overflow-y: auto;
    align-content: start;
    gap: .35rem;
}
.theme-content-card__slot {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 2.25rem;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.82);
    color: #64748b;
    font-size: .78rem;
    font-weight: 600;
    cursor: pointer;
    padding: .45rem .65rem;
    transition: border-color .15s ease, color .15s ease, background .15s ease;
}
.theme-content-card__slot:hover {
    border-color: #1f3b2d;
    color: #1f3b2d;
    background: #fff;
}
.theme-content-card__slot--btn {
    align-self: start;
    margin-top: .15rem;
    border: var(--btn-border-width) solid #cbd5e1;
    border-radius: 999px;
    box-sizing: border-box;
}
.theme-content-card--empty .theme-content-card__media {
    display: grid;
    place-items: stretch;
    padding: .65rem .65rem 0;
    aspect-ratio: auto;
    min-height: 0;
}
.theme-content-card--empty .theme-content-card__body {
    padding: .55rem .65rem .75rem;
    gap: .4rem;
}
.theme-product-slider__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - max(0, var(--theme-card-columns, 4) - 1) * var(--theme-card-gap, 1.15rem)) / max(1, var(--theme-card-columns, 4)));
    gap: var(--theme-card-gap, 1.15rem);
    overflow-x: auto;
    padding: .25rem .15rem .75rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
}
.theme-content-cards[data-columns="1"] .theme-content-card__media { aspect-ratio: 21 / 9; }
.theme-content-card,
.theme-slider-card,
.theme-product-card {
    scroll-snap-align: start;
    display: grid;
    gap: 0;
    text-decoration: none;
    color: inherit;
    background: #fff;
    border-radius: 0;
    overflow: hidden;
    box-shadow: none;
    min-width: 0;
    border: none;
}
.theme-content-card:not(.theme-content-card--empty) {
    border: none;
    box-shadow: none;
}
.theme-content-card--link,
.theme-slider-card--link { transition: transform .2s ease, box-shadow .2s ease; }
.theme-content-card--link:hover,
.theme-slider-card--link:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}
.theme-content-card__media,
.theme-slider-card__media,
.theme-product-card__media {
    aspect-ratio: 1;
    background: #f3f4f6;
    display: grid;
    place-items: center;
    overflow: hidden;
    position: relative;
}
.theme-content-card__image,
.theme-content-card__video,
.theme-slider-card__image,
.theme-slider-card__video,
.theme-product-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.theme-content-card__placeholder,
.theme-slider-card__placeholder,
.theme-product-card__placeholder {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #e5e7eb;
}
.theme-content-card--empty {
    border: 1px dashed #d1d5db;
    background: #fafafa;
}
.theme-content-card__placeholder--empty {
    width: 100%;
    height: 100%;
    min-height: 120px;
    border-radius: 0;
    background: repeating-linear-gradient(
        -45deg,
        #f3f4f6,
        #f3f4f6 10px,
        #eceff3 10px,
        #eceff3 20px
    );
}
.theme-content-card__empty-label {
    font-size: .78rem;
    color: #9ca3af;
}
.theme-content-card__body,
.theme-slider-card__body,
.theme-product-card__body {
    padding: .85rem;
    display: grid;
    gap: .35rem;
}
.theme-content-card__title,
.theme-slider-card__title,
.theme-product-card__body strong {
    font-size: .92rem;
    font-weight: 600;
    line-height: 1.3;
}
.theme-content-card__text,
.theme-slider-card__text {
    margin: 0;
    font-size: .82rem;
    line-height: 1.45;
    color: #4b5563;
}
.theme-content-card__btn,
.theme-slider-card__btn {
    display: inline-flex;
    align-self: start;
    margin-top: .25rem;
    font-size: .85rem;
    font-weight: 600;
    padding: .5rem 1.1rem;
    border-radius: 999px;
    border: var(--btn-border-width) solid var(--theme-card-btn-border, #1f3b2d);
    background: var(--theme-card-btn-bg, #1f3b2d);
    color: #fff;
    text-decoration: none;
    line-height: 1.2;
    box-sizing: border-box;
}
.theme-product-card__body span { font-size: .84rem; color: #4b5563; }
@media (max-width: 900px) {
    .theme-product-slider[data-columns="6"],
    .theme-product-slider[data-columns="5"] { --theme-card-columns: 4; --theme-slider-columns: 4; }
}
@media (max-width: 640px) {
    .theme-content-cards__track {
        grid-template-columns: 1fr !important;
    }
    .theme-product-slider[data-columns="6"],
    .theme-product-slider[data-columns="5"],
    .theme-product-slider[data-columns="4"],
    .theme-product-slider[data-columns="3"] { --theme-card-columns: 2; --theme-slider-columns: 2; }
    .theme-topbanner--split .theme-topbanner__slide { grid-template-columns: 1fr; }
}
.theme-loading, .theme-empty { color: #6b7280; font-size: .9rem; padding: 1rem 0; }
.theme-section.is-hidden, .wle-region-hidden { display: none !important; }

/* Produkt side: gråt billede-område, hvid tekst/køb */
body.product-page,
body.product-page .page-main,
body.product-page .product-edge-shell,
body.product-page .product-detail-shell,
body.product-page .product-detail-card,
body.product-page .product-detail-layout,
body.product-page .product-detail-copy {
    background-color: #ffffff;
}

body.product-page .product-breadcrumb-shell {
    background-color: var(--product-breadcrumb-bg);
}

body.product-page .product-detail-media,
body.product-page .product-detail-media-stage,
body.product-page .product-avatar-preview,
body.product-page .product-media-panel,
body.product-page .product-gallery,
body.product-page .product-gallery-stage,
body.product-page .product-image-clean-stage,
body.product-page .avatar-preview-stage,
body.product-page .zilenzo-model-carousel,
body.product-page .zilenzo-model-carousel-stage,
body.product-page .product-detail-placeholder,
body.product-page .product-image-fallback,
body.product-page .product-png-placeholder {
    background-color: var(--product-media-bg);
}

/* Produkt-UX: stærk CTA, bullets, galleri-labels */
.product-detail-copy .detail-actions-primary {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 8px;
    margin-top: 4px;
    margin-bottom: 0;
}

.product-detail-copy .detail-actions-primary .product-detail-cta {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    min-height: 42px;
    padding: 10px 14px;
    font-size: 0.88rem;
    letter-spacing: 0;
    box-shadow: 0 8px 18px rgba(var(--accent-rgb), 0.16);
}

.product-detail-copy .detail-actions-primary .product-detail-cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 22px rgba(var(--accent-rgb), 0.2);
}

.product-detail-copy .detail-actions-primary .product-detail-wishlist {
    flex: 0 0 auto;
    width: auto;
    min-width: 96px;
    min-height: 42px;
    padding: 8px 12px;
    justify-content: center;
    font-size: 0.82rem;
    gap: 5px;
}

.product-detail-trust-top {
    order: -1;
    margin: 0 0 10px;
}

.product-buy-panel .product-detail-trust-top {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
}

.product-buy-panel .product-detail-trust-inline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
    margin: 0 0 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(18, 18, 18, 0.08);
}

.product-buy-panel .product-detail-trust-inline span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--muted);
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.35;
    white-space: nowrap;
}

.product-buy-panel .product-detail-trust-inline i {
    color: var(--accent);
    font-size: 0.88rem;
}

body.product-page .product-purchase-actions .product-detail-actions-row {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    align-items: stretch;
    margin-top: 12px;
    margin-bottom: 0;
    margin-left: 0;
    padding-left: 0;
    max-width: none;
}

body.product-page .product-purchase-actions .product-detail-actions-row .product-detail-cta {
    grid-column: 1 / 3;
    width: 100%;
    max-width: none;
    min-height: 38px;
    padding: 9px 10px;
    font-size: 0.8rem;
    letter-spacing: 0;
    white-space: nowrap;
    box-shadow: 0 8px 18px rgba(var(--accent-rgb), 0.16);
}

body.product-page .product-purchase-actions .product-detail-actions-row .product-detail-wishlist {
    grid-column: 3 / 4;
    width: 100%;
    min-width: 0;
    min-height: 38px;
    padding: 8px 8px;
    justify-content: center;
    font-size: 0.76rem;
    gap: 4px;
}

body.product-page .product-gallery-thumb-label {
    display: none;
}

.product-highlights {
    display: grid;
    gap: 10px;
    margin: 0 0 18px;
    padding: 0;
    list-style: none;
}

.product-highlights li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--ink);
    font-size: 0.95rem;
    line-height: 1.45;
}

.product-highlights i {
    flex: 0 0 auto;
    margin-top: 2px;
    color: var(--accent);
    font-size: 1rem;
}

.fit-mode-hints {
    margin: 0 0 14px;
}

.fit-mode-hint {
    margin: 0;
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.55;
}

.fit-mode-hint.is-hidden {
    display: none;
}

.size-guide-promo {
    margin: 4px 0 0;
}

.size-guide-promo-btn {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 8px 14px;
    border: 1px solid rgba(var(--accent-rgb), 0.28);
    border-radius: 999px;
    background: rgba(var(--accent-rgb), 0.06);
    color: var(--accent-dark);
    font: inherit;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.size-guide-promo-btn:hover {
    background: rgba(var(--accent-rgb), 0.12);
    border-color: rgba(var(--accent-rgb), 0.42);
    color: var(--accent-dark);
}

.size-fit-model-note {
    display: grid;
    gap: 4px;
    margin: 10px 0 0;
    color: var(--muted);
    font-size: 0.88rem;
    line-height: 1.5;
}

.size-fit-model-note__fit {
    color: #4b5563;
    font-weight: 600;
}

.size-fit-model-note__measures {
    color: var(--muted);
}

.size-fit-model-note__size {
    color: #111;
    font-weight: 700;
}

.stock-line-positive {
    background: rgba(var(--accent-rgb), 0.08);
    color: var(--success);
}

.product-detail-copy .product-detail-trust {
    margin-top: 0;
    margin-bottom: 0;
}

.product-detail-lower .product-info-panels {
    margin-top: 16px;
    padding-top: 8px;
}

.product-detail-lower .product-info-panel summary {
    min-height: 68px;
    padding: 16px 0;
}

.product-detail-lower .product-info-panel p,
.product-detail-lower .product-info-panel ul {
    margin-bottom: 24px;
}

.product-detail-description {
    margin-top: 8px;
    position: relative;
    z-index: 0;
}

.product-detail-lower .product-detail-rich-text {
    position: relative;
    z-index: 0;
}

/* Købsblok synlig i toppen – kompakt layout */
.product-buy-panel .product-purchase-actions {
    margin-top: 8px;
}

.product-buy-panel {
    display: flex;
    flex-direction: column;
    gap: 20px;
    container-type: inline-size;
}

.product-buy-panel > h1 {
    margin: 0 0 6px;
    line-height: 1.12;
}

.product-buy-panel .product-detail-subtitle {
    margin: 0 0 12px;
    max-width: none;
    line-height: 1.4;
}

.product-buy-panel .product-detail-price-block,
.product-buy-panel .product-detail-price-row {
    margin: 0;
}

.product-buy-panel .product-detail-price-copy {
    gap: 0;
}

.product-buy-panel .detail-price {
    margin: 0;
    line-height: 1.1;
}

.product-buy-panel .detail-price-vat {
    margin: 2px 0 0;
}

.product-buy-panel .product-sales-pitch {
    margin: 2px 0 0;
    line-height: 1.45;
}

.product-buy-panel .product-availability {
    margin: 4px 0 0;
    gap: 0;
}

.product-buy-panel .product-availability--inline {
    margin: 6px 0 22px;
}

.product-buy-story {
    display: grid;
    gap: 0;
    margin-top: 12px;
    padding-top: 0;
}

.product-info-nav {
    display: grid;
    border-top: 1px solid rgba(15, 23, 42, 0.1);
    border-bottom: 1px solid rgba(15, 23, 42, 0.1);
}

.product-info-nav__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 52px;
    padding: 17px 0;
    border: 0;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    background: transparent;
    color: #111827;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: color 0.15s ease;
}

.product-info-nav__item:first-child {
    border-top: none;
}

.product-info-nav__item span {
    font-size: 0.94rem;
    font-weight: 600;
    line-height: 1.4;
}

.product-info-nav__item:hover span,
.product-info-nav__item:focus-visible span {
    color: var(--accent);
}

.product-info-nav__icon {
    flex: 0 0 auto;
    font-size: 0.85rem;
    color: rgba(17, 24, 39, 0.45);
    transition: color 0.15s ease, transform 0.15s ease;
}

.product-info-nav__item:hover .product-info-nav__icon,
.product-info-nav__item:focus-visible .product-info-nav__icon {
    color: var(--accent);
    transform: translateX(2px);
}

.product-buy-panel .product-purchase-actions {
    margin-top: 8px;
    padding: 28px 0 4px;
}

.product-buy-panel .product-highlights {
    margin: 6px 0 22px;
}

.product-buy-panel .size-selector {
    display: grid;
    gap: 24px;
    padding: 22px 0 18px;
}

.product-buy-panel .size-selector-header {
    margin-bottom: 10px;
}

.product-buy-panel .fit-mode-tabs {
    gap: 12px;
}

.product-buy-panel .fit-mode-hints {
    margin: 6px 0 14px;
}

.product-buy-panel .fit-mode-panel:not(.is-hidden) {
    display: grid;
    gap: 20px;
}

.product-buy-panel .fit-mode-panel.is-hidden {
    display: none;
}

.product-buy-panel .size-selected-label {
    margin: 8px 0 12px;
}

.product-buy-panel .size-grid {
    gap: 12px;
}

.product-buy-panel .size-guide-promo {
    margin-top: 8px;
}

.product-buy-panel .size-option {
    min-height: 44px;
}

.product-buy-panel .size-fit-footer {
    gap: 14px;
    margin-top: 14px;
    line-height: 1.55;
}

.product-detail-lower {
    display: grid;
    gap: 18px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(18, 18, 18, 0.08);
    position: relative;
    background: #ffffff;
}

body.product-page .product-detail-lower--gallery-stage {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

body.product-page .product-detail-accordion {
    width: 100%;
    border-top: 1px solid rgba(15, 23, 42, 0.14);
    border-bottom: 1px solid rgba(15, 23, 42, 0.14);
    background: #ffffff;
}

body.product-page .product-detail-accordion__panel {
    border-bottom: 1px solid rgba(15, 23, 42, 0.1);
}

body.product-page .product-detail-accordion__panel:last-child {
    border-bottom: none;
}

body.product-page .product-detail-accordion__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: clamp(18px, 2.4vw, 24px) clamp(22px, 3.2vw, 40px);
    cursor: pointer;
    list-style: none;
    user-select: none;
}

body.product-page .product-detail-accordion__summary::-webkit-details-marker {
    display: none;
}

body.product-page .product-detail-accordion__summary::marker {
    content: "";
}

body.product-page .product-detail-accordion__summary span {
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: #111827;
}

body.product-page .product-detail-accordion__icon {
    flex: 0 0 auto;
    font-size: 0.95rem;
    color: #111827;
    transition: transform 0.2s ease;
}

body.product-page .product-detail-accordion__panel:not([open]) .product-detail-accordion__icon {
    transform: rotate(180deg);
}

body.product-page .product-detail-accordion__body {
    padding: 0 clamp(22px, 3.2vw, 40px) clamp(20px, 2.6vw, 28px);
}

body.product-page .product-accordion-list {
    margin: 0;
    padding: 0 0 0 1.15em;
    list-style: disc;
}

body.product-page .product-accordion-list li {
    margin: 0 0 0.7em;
    color: #374151;
    font-size: 0.95rem;
    line-height: 1.68;
}

body.product-page .product-accordion-list li:last-child {
    margin-bottom: 0;
}

body.product-page .product-detail-accordion__body .product-detail-rich-text {
    width: 100%;
    max-width: none;
    font-size: 0.95rem;
    line-height: 1.72;
    color: #374151;
}

body.product-page .product-detail-accordion__body .product-detail-rich-text p {
    margin: 0 0 0.95em;
}

body.product-page .product-detail-accordion__body .product-detail-rich-text p:last-child {
    margin-bottom: 0;
}

body.product-page .product-detail-accordion__body .product-detail-rich-text ul {
    margin: 0;
    padding: 0 0 0 1.15em;
    list-style: disc;
}

body.product-page .product-detail-accordion__body .product-detail-rich-text ul li {
    margin: 0 0 0.65em;
    padding: 0;
    border: none;
    background: transparent;
    font-size: 0.95rem;
    line-height: 1.68;
    color: #374151;
}

body.product-page .product-detail-accordion__body .product-detail-rich-text--specs ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

body.product-page .product-detail-accordion__body .product-detail-rich-text--specs ul li {
    padding: 10px 0;
    margin: 0;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    list-style: none;
}

body.product-page .product-detail-accordion__body .product-detail-rich-text--specs ul li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.product-detail-faq {
    width: 100%;
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

.product-detail-faq__title {
    margin: 0;
    padding: 22px 0 10px;
    border-top: 1px solid rgba(15, 23, 42, 0.1);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.3;
    color: #111827;
}

.product-detail-faq__accordion {
    margin-top: 0;
}

.product-detail-faq__item .product-detail-accordion__summary span {
    font-size: 0.9rem;
    font-weight: 600;
    color: #1f2937;
}

.product-detail-faq__answer {
    color: #4b5563;
    font-size: 0.92rem;
    line-height: 1.65;
    max-width: 52ch;
}

.product-detail-faq__answer p {
    margin: 0;
}

.product-detail-faq__answer a {
    color: var(--accent);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.size-fit-footer {
    display: grid;
    gap: 8px;
    margin-top: 10px;
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.55;
}

.size-fit-footer .size-fit-note,
.size-fit-footer .size-fit-model-note {
    margin: 0;
}

.size-fit-footer .size-guide-promo {
    margin: 0;
}

.size-fit-footer .size-fit-model-note {
    display: grid;
}

@media (min-width: 769px) {
    .product-buy-panel .product-kicker {
        margin-bottom: -2px;
    }

    .product-buy-panel h1 {
        font-size: clamp(1.45rem, 2.1vw, 1.95rem);
        line-height: 1.15;
    }

    .product-buy-panel .product-detail-price-row .detail-price,
    .product-buy-panel .detail-price {
        font-size: 1.32rem;
    }

    .product-buy-panel .stock-line {
        padding: 6px 12px;
        font-size: 0.86rem;
    }

    .product-buy-panel .product-highlights {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px 16px;
        margin-bottom: 20px;
    }

    .product-buy-panel .product-highlights li {
        font-size: 0.84rem;
        line-height: 1.35;
        gap: 7px;
    }

    .product-buy-panel .product-highlights i {
        font-size: 0.9rem;
        margin-top: 1px;
    }

    .product-buy-panel .size-selector {
        gap: 24px;
        padding-top: 22px;
        padding-bottom: 18px;
    }

    .product-buy-panel .size-selector-header h2 {
        font-size: 0.92rem;
    }

    .product-buy-panel .fit-mode-tabs {
        gap: 10px;
    }

    .product-buy-panel .fit-mode-tab span {
        min-height: 42px;
        font-size: 0.88rem;
    }

    .product-buy-panel .fit-mode-hints {
        margin-bottom: 14px;
    }

    .product-buy-panel .fit-mode-hint {
        font-size: 0.8rem;
        line-height: 1.5;
    }

    .product-buy-panel .fit-mode-panel:not(.is-hidden) {
        gap: 16px;
    }

    .product-buy-panel .size-selected-label {
        margin: 8px 0 12px;
        padding: 12px 16px;
        font-size: 0.86rem;
    }

    .product-buy-panel .size-selected-label strong {
        font-size: 1rem;
    }

    .product-buy-panel .size-grid {
        gap: 10px;
    }

    .product-buy-panel .size-fit-footer {
        gap: 14px;
        margin-top: 14px;
    }

    .product-buy-panel .size-option {
        min-height: 40px;
        font-size: 0.88rem;
    }

    .product-buy-panel .product-detail-actions-row .product-detail-cta {
        min-height: 40px;
        padding: 9px 10px;
        font-size: 0.8rem;
    }

    .product-buy-panel .product-detail-actions-row .product-detail-wishlist {
        min-height: 40px;
        padding: 8px 8px;
        font-size: 0.76rem;
    }

    .product-buy-panel .product-detail-trust-inline {
        gap: 6px 12px;
        margin-bottom: 8px;
        padding-bottom: 8px;
    }

    .product-buy-panel .product-detail-trust-inline span {
        white-space: normal;
    }
}

.product-gallery-thumb {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    width: 88px;
    min-height: auto;
    height: auto;
    padding: 6px;
}

.product-gallery-thumb-media {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    overflow: hidden;
    border-radius: 8px;
    background: #fff;
}

.product-gallery-thumb-media img {
    display: block;
    width: auto;
    height: auto;
    max-width: 90%;
    max-height: 90%;
    object-fit: contain;
    object-position: center center;
    margin: 0 auto;
}

.product-gallery-thumb-label {
    display: block;
    width: 100%;
    color: var(--muted);
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
}

.product-gallery-thumb.is-active .product-gallery-thumb-label {
    color: var(--accent);
}

/* Produkt-CTA: premium "Læg i kurv" */
.product-purchase-actions {
    display: grid;
    gap: 10px;
    margin-top: 4px;
    padding: 0;
    background: none;
    border: none;
    box-shadow: none;
}

.product-purchase-actions__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px 20px;
}

.product-purchase-price {
    flex: 0 0 auto;
    align-self: center;
    text-align: right;
    min-width: 96px;
}

.product-purchase-price .product-detail-price-block,
.product-purchase-price .product-detail-price-row,
.product-purchase-price .product-detail-price-copy {
    margin: 0;
}

.product-purchase-price .detail-price {
    margin: 0;
    font-size: clamp(1.15rem, 2vw, 1.45rem);
    font-weight: 800;
    line-height: 1.1;
    white-space: nowrap;
}

.product-purchase-price .detail-price-vat {
    margin-top: 4px;
    font-size: 0.82rem;
}

.product-purchase-actions__bar .product-detail-actions-row {
    flex: 1 1 auto;
    min-width: 0;
}

body.product-page .product-buy-panel .product-purchase-actions,
body.product-page .product-detail-lower .product-purchase-actions {
    margin-top: 0;
    padding: 12px 0 0;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}

body.product-page .product-purchase-actions .product-detail-actions-row {
    display: flex;
    align-items: stretch;
    gap: 12px;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 0;
    padding-left: 0;
    max-width: none;
}

body.product-page .product-purchase-actions .product-detail-actions-row .product-detail-cta,
body.product-page .product-purchase-actions .product-detail-actions-row .product-add-cta {
    flex: 1 1 0;
    grid-column: auto;
    width: auto;
    min-width: 0;
    max-width: none;
    min-height: 56px;
    padding: 12px 18px;
    font-size: 1rem;
    white-space: normal;
}

body.product-page .product-purchase-actions .product-detail-actions-row .product-detail-wishlist {
    flex: 0 0 auto;
    grid-column: auto;
    width: auto;
    min-width: 56px;
    min-height: 56px;
    margin-left: auto;
    padding: 0 16px;
}

body.product-page .product-purchase-actions .product-detail-actions-row .product-detail-wishlist .product-detail-wishlist__label {
    display: inline;
}

body.product-page .product-purchase-actions .product-detail-actions-row .product-detail-wishlist--subtle {
    border-color: rgba(15, 23, 42, 0.1);
    background: #fff;
    color: #4b5563;
    font-size: 0.9rem;
    font-weight: 600;
    box-shadow: none;
}

body.product-page .product-purchase-actions .product-detail-actions-row .product-detail-wishlist--subtle:hover {
    border-color: rgba(15, 23, 42, 0.16);
    background: #fff;
    color: #4b5563;
}

body.product-page .product-purchase-actions .product-detail-actions-row .product-detail-wishlist--subtle.is-active,
body.product-page .product-purchase-actions .product-detail-actions-row .product-detail-wishlist--subtle.is-active:hover {
    border-color: rgba(var(--wishlist-red-rgb), 0.35);
    background: rgba(var(--wishlist-red-rgb), 0.06);
    color: var(--wishlist-red);
}

.product-purchase-trust {
    margin: 10px 0 0;
    padding-top: 8px;
    text-align: center;
    color: #6b7280;
    font-size: 0.82rem;
    line-height: 1.5;
    letter-spacing: 0.01em;
}

.product-add-cta--single-line {
    justify-content: center;
    text-align: center;
}

.product-add-cta--single-line .product-add-cta__label {
    flex: 0 1 auto;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
}

.product-add-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: var(--btn-radius);
    background: var(--accent-contrast);
    border: var(--btn-border-width) solid var(--accent-contrast);
    color: #fff;
    box-shadow: none;
    box-sizing: border-box;
    transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.product-add-cta:hover:not(:disabled) {
    transform: none;
    box-shadow: none;
    background: var(--accent-contrast-dark);
    border-color: var(--accent-contrast-dark);
}

.product-add-cta:active:not(:disabled) {
    transform: none;
}

.product-add-cta__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    border-radius: 0;
    background: transparent;
    font-size: 1.1rem;
    flex-shrink: 0;
    color: #ffffff;
}

.product-add-cta__icon i {
    color: #ffffff;
    font-size: 1.15rem;
}

.product-add-cta__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    min-width: 0;
    text-align: left;
}

.product-add-cta__label {
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.1;
}

.product-add-cta__price {
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.1;
    opacity: 0.92;
}

.product-add-cta.is-adding,
.add-to-cart-btn.is-adding {
    pointer-events: none;
    opacity: 0.88;
}

.product-add-cta.is-added,
.add-to-cart-btn.is-added {
    background: linear-gradient(180deg, #2d6a4f 0%, #1f7a4f 100%);
    border-color: #1f7a4f;
    color: #fff;
}

.product-cta-microcopy {
    margin: 0;
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.45;
    text-align: center;
}

.product-mobile-buy-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3550;
    padding: 0;
    background: rgba(255, 255, 255, 0.97);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-top: 1px solid rgba(18, 18, 18, 0.1);
    box-shadow: 0 -12px 36px rgba(3, 4, 18, 0.14);
    transform: translateY(110%);
    transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.product-mobile-buy-bar.is-visible {
    transform: translateY(0);
}

.product-mobile-buy-bar__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    width: 100%;
    max-width: none;
    margin: 0 auto;
    padding: 14px clamp(14px, 2.4vw, 28px) calc(14px + env(safe-area-inset-bottom));
}

.product-mobile-buy-bar__product {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.product-mobile-buy-bar__thumb {
    flex: 0 0 auto;
    width: 72px;
    height: 72px;
    object-fit: contain;
    border-radius: 12px;
    border: 1px solid rgba(18, 18, 18, 0.08);
    background: #f6f7f8;
    box-shadow: 0 2px 8px rgba(3, 4, 18, 0.06);
}

.product-mobile-buy-bar__copy {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.product-mobile-buy-bar__title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.01em;
    color: var(--text);
}

.product-mobile-buy-bar__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.product-mobile-buy-bar__price {
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--accent);
}

.product-mobile-buy-bar__size-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid rgba(18, 18, 18, 0.12);
    background: rgba(18, 18, 18, 0.04);
    color: var(--text);
    line-height: 1;
}

.product-mobile-buy-bar__size-label {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted);
}

.product-mobile-buy-bar__size-value {
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1;
}

.product-mobile-buy-bar__note {
    margin: 0;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--muted);
}

.product-mobile-buy-bar__cta {
    flex: 0 0 auto;
    width: auto;
    min-width: 148px;
    max-width: 220px;
    min-height: 58px;
    padding: 12px 20px;
    border-radius: 14px;
}

.product-mobile-buy-bar__cta .product-add-cta__icon {
    font-size: 1.2rem;
}

.product-mobile-buy-bar__cta .product-add-cta__label {
    font-size: 0.98rem;
    font-weight: 800;
    line-height: 1.15;
    white-space: nowrap;
    text-align: center;
}

body.product-page.has-product-sticky-buy-bar {
    padding-bottom: calc(118px + 78px + env(safe-area-inset-bottom, 0px));
}

@media (min-width: 769px) {
    body.product-page.has-product-sticky-buy-bar {
        padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px));
    }

    .product-mobile-buy-bar__inner {
        max-width: min(1280px, 100%);
        padding: 16px clamp(20px, 4vw, 48px) calc(16px + env(safe-area-inset-bottom));
        gap: 20px;
    }

    .product-mobile-buy-bar__thumb {
        width: 76px;
        height: 76px;
    }

    .product-mobile-buy-bar__title {
        font-size: 1.08rem;
    }

    .product-mobile-buy-bar__price {
        font-size: 1.28rem;
    }

    .product-mobile-buy-bar__note {
        font-size: 0.76rem;
    }

    .product-mobile-buy-bar__cta {
        min-width: 220px;
        max-width: 280px;
        min-height: 62px;
        padding: 14px 24px;
    }

    .product-mobile-buy-bar__cta .product-add-cta__label {
        font-size: 1.05rem;
    }

    body.product-page .product-purchase-actions .product-detail-actions-row .product-detail-wishlist .product-detail-wishlist__label {
        display: inline;
    }

    body.product-page .product-purchase-actions .product-detail-actions-row .product-detail-wishlist {
        min-width: 112px;
        padding: 8px 14px;
    }
}

@media (max-width: 768px) {
    .product-mobile-buy-bar {
        bottom: calc(68px + env(safe-area-inset-bottom));
    }

    .product-mobile-buy-bar__inner {
        gap: 12px;
        padding: 12px 14px 12px;
    }

    .product-mobile-buy-bar__thumb {
        width: 64px;
        height: 64px;
        border-radius: 11px;
    }

    .product-mobile-buy-bar__title {
        font-size: 0.88rem;
        -webkit-line-clamp: 2;
    }

    .product-mobile-buy-bar__price {
        font-size: 1.12rem;
    }

    .product-mobile-buy-bar__note {
        display: none;
    }

    .product-mobile-buy-bar__cta {
        min-width: 132px;
        max-width: 168px;
        min-height: 54px;
        padding: 10px 14px;
    }

    .product-mobile-buy-bar__cta .product-add-cta__label {
        font-size: 0.9rem;
    }

    body.product-page .product-buy-panel .detail-price,
    body.product-page .product-buy-panel .product-detail-price-row .detail-price {
        font-size: clamp(1.35rem, 5.5vw, 1.55rem);
        font-weight: 800;
        letter-spacing: -0.02em;
        color: var(--text);
    }

    body.product-page .product-purchase-actions .product-detail-actions-row .product-add-cta__label {
        font-size: 0.92rem;
        font-weight: 800;
        line-height: 1.15;
    }

    .product-mobile-buy-bar__cta .product-add-cta__icon {
        width: auto;
        height: auto;
        font-size: 1.1rem;
        flex-shrink: 0;
    }

    body.product-page .product-buy-panel .size-option {
        min-height: 48px;
        font-size: 0.95rem;
    }

    body.product-page .product-buy-panel .fit-mode-tab span {
        min-height: 48px;
    }

    body.product-page .product-buy-panel .product-sales-pitch {
        white-space: normal;
        margin: 2px 0 0;
        font-size: 0.94rem;
        line-height: 1.5;
    }

    body.product-page .product-purchase-trust {
        font-size: 0.78rem;
        line-height: 1.45;
    }

    body.product-page .product-purchase-actions .product-detail-actions-row .product-detail-wishlist--subtle {
        min-height: 48px;
        padding: 10px 14px;
    }

    body.product-page .product-purchase-actions .product-detail-actions-row .product-detail-cta,
    body.product-page .product-purchase-actions .product-detail-actions-row .product-add-cta {
        min-height: 52px;
    }

    body.product-page .product-purchase-actions {
        width: 100%;
    }

    body.product-page .product-purchase-actions .detail-actions-primary,
    body.product-page .product-purchase-actions .product-detail-actions-row {
        display: flex;
        flex-direction: row;
        align-items: stretch;
        gap: 10px;
        width: 100%;
        max-width: none;
    }

    body.product-page .product-purchase-actions .product-detail-actions-row .product-detail-cta,
    body.product-page .product-purchase-actions .product-detail-actions-row .product-add-cta {
        flex: 1 1 0;
        width: auto;
        min-width: 0;
        min-height: 52px;
    }

    body.product-page .product-purchase-actions .product-detail-actions-row .product-detail-wishlist {
        flex: 0 0 auto;
        width: auto;
        min-width: 0;
        min-height: 48px;
        margin-left: auto;
        justify-content: center;
    }

    body.product-page .product-purchase-actions .product-detail-actions-row .product-detail-wishlist .product-detail-wishlist__label {
        display: inline;
    }

    .product-cta-microcopy {
        width: 100%;
        font-size: 0.74rem;
    }
}

/* Checkout v2 */
.checkout-v2-page {
    background: #f7f8fa;
}

.checkout-v2-top {
    position: sticky;
    top: 0;
    z-index: 220;
    background: #f7f8fa;
    box-shadow: 0 8px 24px rgba(3, 4, 18, 0.06);
}

.checkout-v2-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 20px;
    background: #fff;
    border-bottom: 1px solid rgba(18, 18, 18, 0.08);
}

.checkout-v2-header .logo img {
    height: 34px;
}

.checkout-v2-secure {
    margin: 0;
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 600;
}

.checkout-v2-lang-actions {
    flex-shrink: 0;
}

.checkout-v2-header .checkout-v2-secure {
    flex: 1;
    text-align: right;
}

@media (max-width: 768px) {
    .checkout-v2-header {
        flex-wrap: wrap;
    }

    .checkout-v2-lang-actions {
        order: 3;
        width: 100%;
        justify-content: flex-end;
    }

    .checkout-v2-header .checkout-v2-secure {
        order: 2;
        flex: 1 1 auto;
        min-width: 0;
        font-size: 0.72rem;
    }
}

.checkout-v2-progress {
    background: #fff;
    border-bottom: 1px solid rgba(18, 18, 18, 0.06);
    padding: 12px 16px 18px;
}

.checkout-v2-steps {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.checkout-v2-steps li {
    display: grid;
    gap: 6px;
    justify-items: center;
    text-align: center;
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 700;
}

.checkout-v2-step-btn {
    display: grid;
    gap: 6px;
    justify-items: center;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: center;
    cursor: pointer;
}

.checkout-v2-step-btn--disabled {
    cursor: default;
}

.checkout-v2-step-btn:not(.checkout-v2-step-btn--disabled):hover .checkout-v2-step-icon {
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(18, 18, 18, 0.08);
}

.checkout-v2-step-btn:not(.checkout-v2-step-btn--disabled):focus-visible {
    outline: 2px solid rgba(var(--accent-rgb), 0.45);
    outline-offset: 4px;
    border-radius: 12px;
}

.checkout-v2-step-label {
    line-height: 1.2;
}

.checkout-v2-step-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: #eef1f4;
    color: var(--muted);
    font-size: 0.95rem;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.checkout-v2-steps .is-done .checkout-v2-step-icon {
    background: rgba(var(--accent-rgb), 0.14);
    color: var(--accent);
}

.checkout-v2-steps .is-current .checkout-v2-step-icon {
    background: var(--accent);
    color: #fff;
    box-shadow: 0 8px 18px rgba(var(--accent-rgb), 0.18);
}

.checkout-v2-steps .is-current {
    color: var(--ink);
}

.checkout-v2-main {
    padding: 24px 0 48px;
}

.checkout-v2-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
    gap: 24px;
    align-items: start;
}

.checkout-v2-form-col {
    display: grid;
    gap: 0;
}

.checkout-v2-section {
    display: grid;
    gap: 18px;
    align-content: start;
    margin-bottom: 22px;
    padding: 22px;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(3, 4, 18, 0.04);
    scroll-margin-top: 132px;
}

.checkout-v2-section-head {
    margin-bottom: 0;
}

.checkout-v2-section-head h2,
.checkout-v2-section-head h3 {
    margin: 0;
    font-size: 1.2rem;
}

.checkout-v2-section-head--sub {
    margin-top: 4px;
    padding-top: 2px;
}

.checkout-v2-form .form-field {
    gap: 10px;
}

.checkout-v2-form .form-grid {
    gap: 18px;
}

.checkout-v2-type-toggle {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin: 0 0 16px;
    padding: 0;
    border: 0;
}

.checkout-v2-type-option {
    display: block;
    cursor: pointer;
}

.checkout-v2-type-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.checkout-v2-type-option span {
    display: block;
    padding: 12px 14px;
    border: 1px solid rgba(18, 18, 18, 0.12);
    border-radius: 12px;
    text-align: center;
    font-weight: 700;
    background: #fff;
}

.checkout-v2-type-option input:checked + span {
    border-color: var(--accent);
    background: rgba(var(--accent-rgb), 0.08);
    color: var(--accent);
}

.checkout-v2-type-option.is-active span {
    border-color: var(--accent);
    background: rgba(var(--accent-rgb), 0.1);
    color: var(--accent);
    box-shadow: 0 0 0 1px rgba(var(--accent-rgb), 0.2);
}

.checkout-panel-badge {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0 0 8px;
    padding: 14px 16px;
    border-radius: 14px;
}

.checkout-panel-badge strong {
    display: block;
    margin-bottom: 4px;
    font-size: 0.98rem;
}

.checkout-panel-badge p {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.5;
}

.checkout-panel-badge i {
    font-size: 1.2rem;
    line-height: 1.2;
    margin-top: 2px;
}

.checkout-panel-badge--private {
    background: rgba(var(--accent-rgb), 0.08);
    border: 1px solid rgba(var(--accent-rgb), 0.14);
}

.checkout-panel-badge--private i {
    color: var(--accent);
}

.checkout-panel-badge--business {
    background: rgba(37, 99, 235, 0.08);
    border: 1px solid rgba(37, 99, 235, 0.16);
}

.checkout-panel-badge--business i {
    color: #2563eb;
}

.checkout-customer-panel--private[hidden],
.checkout-customer-panel--business[hidden] {
    display: none !important;
}

.is-private-checkout [data-business-only] {
    display: none !important;
}

.is-business-checkout [data-private-only] {
    display: none !important;
}

.checkout-v2-business,
.checkout-v2-shipping {
    display: grid;
    gap: 16px;
    margin-bottom: 0;
}

.checkout-v2-shipping[hidden] {
    display: none !important;
}

.checkout-v2-shipping-same-block {
    display: grid;
    gap: 12px;
}

.checkout-v2-shipping-same-card {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 14px 16px;
    border: 1px solid rgba(18, 18, 18, 0.12);
    border-radius: 14px;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

.checkout-v2-shipping-same-card.is-active {
    border-color: var(--accent);
    background: rgba(var(--accent-rgb), 0.05);
    box-shadow: 0 0 0 1px rgba(var(--accent-rgb), 0.08);
}

.checkout-v2-shipping-same-card input {
    margin-top: 3px;
    flex-shrink: 0;
}

.checkout-v2-shipping-same-copy {
    display: grid;
    gap: 4px;
}

.checkout-v2-shipping-same-copy strong {
    font-size: 0.96rem;
    color: var(--ink);
}

.checkout-v2-shipping-same-copy small {
    color: var(--muted);
    font-size: 0.86rem;
    line-height: 1.45;
}

.checkout-v2-billing-summary {
    padding: 14px 16px;
    border: 1px dashed rgba(18, 18, 18, 0.14);
    border-radius: 14px;
    background: #f8fafb;
}

.checkout-v2-billing-summary[hidden] {
    display: none !important;
}

.checkout-v2-billing-summary__placeholder,
.checkout-v2-billing-summary__label {
    margin: 0 0 6px;
    color: var(--muted);
    font-size: 0.84rem;
    font-weight: 700;
}

.checkout-v2-billing-summary__text {
    margin: 0;
    color: var(--ink);
    font-size: 0.92rem;
    line-height: 1.55;
}

.checkout-v2-shipping-change-btn {
    justify-self: start;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--accent);
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: underline;
    cursor: pointer;
}

.checkout-v2-shipping-change-btn[hidden] {
    display: none !important;
}

.checkout-v2-shipping-alt-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.checkout-v2-shipping-alt-head h3 {
    margin: 0;
    font-size: 1rem;
}

.checkout-v2-shipping-back-btn {
    font-size: 0.88rem;
    font-weight: 700;
}

.checkout-v2-section-lead--inline {
    margin-top: 4px;
}

.checkout-v2-carrier-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.checkout-v2-carrier-option {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
    min-height: 148px;
    padding: 14px 14px 16px;
    border: 1px solid rgba(18, 18, 18, 0.1);
    border-radius: 16px;
    cursor: pointer;
    background: #fff;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.checkout-v2-carrier-option:hover {
    border-color: rgba(18, 18, 18, 0.18);
    box-shadow: 0 8px 20px rgba(3, 4, 18, 0.05);
}

.checkout-v2-carrier-option input {
    position: absolute;
    top: 12px;
    right: 12px;
    margin: 0;
    width: 18px;
    height: 18px;
    accent-color: var(--accent);
}

.checkout-v2-carrier-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 64px;
    margin: 0 0 12px;
    padding: 10px 14px;
    border-radius: 12px;
    background: #f8fafb;
    border: 1px solid rgba(18, 18, 18, 0.06);
}

.checkout-v2-carrier-logo--dark {
    background: #111827;
    border-color: rgba(255, 255, 255, 0.08);
}

.checkout-v2-carrier-logo img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 42px;
    height: auto;
    object-fit: contain;
}

.checkout-v2-carrier-copy {
    display: grid;
    gap: 5px;
    margin-top: auto;
}

.checkout-v2-carrier-name {
    font-size: 0.92rem;
    font-weight: 800;
    color: var(--ink);
    letter-spacing: 0.01em;
}

.checkout-v2-carrier-meta {
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.45;
}

.checkout-v2-carrier-option:has(input:checked) {
    border-color: var(--accent);
    background: rgba(var(--accent-rgb), 0.04);
    box-shadow: 0 0 0 1px rgba(var(--accent-rgb), 0.12), 0 10px 24px rgba(var(--accent-rgb), 0.08);
    transform: translateY(-1px);
}

.checkout-v2-carrier-option:has(input:checked) .checkout-v2-carrier-logo {
    background: #fff;
    border-color: rgba(var(--accent-rgb), 0.18);
}

.checkout-v2-carrier-option:has(input:checked) .checkout-v2-carrier-logo--dark {
    background: #111827;
}

.checkout-v2-carrier-service[hidden] {
    display: none !important;
}

.shop-catalog-hero {
    background: #ffffff;
    margin-bottom: 0;
}

.shop-catalog-hero__banner {
    --shop-hero-h: 60vh;
    --shop-hero-h: 60svh;
    position: relative;
    overflow: hidden;
    display: block;
    width: 100%;
    height: var(--shop-hero-h);
    min-height: var(--shop-hero-h);
    max-height: none;
    isolation: isolate;
    background: #1f2226;
}

.shop-catalog-hero__media {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #1f6fe0;
}

.shop-catalog-hero__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center center;
    -webkit-transform: none;
    transform: none;
    filter: none;
}

.shop-catalog-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
}

.shop-catalog-page .shop-catalog-hero__overlay {
    background:
        linear-gradient(
            90deg,
            rgba(8, 14, 20, 0.62) 0%,
            rgba(8, 14, 20, 0.28) 34%,
            rgba(8, 14, 20, 0.08) 58%,
            rgba(8, 14, 20, 0.02) 100%
        ),
        linear-gradient(
            180deg,
            rgba(8, 14, 20, 0.08) 0%,
            rgba(8, 14, 20, 0) 38%,
            rgba(8, 14, 20, 0.12) 100%
        );
}

.shop-catalog-hero__inner {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    max-width: none;
    margin: 0;
    padding:
        clamp(24px, 4vh, 48px)
        var(--site-edge-padding, 24px);
    box-sizing: border-box;
    text-align: left;
}

.shop-catalog-hero__copy {
    max-width: min(720px, 90%);
    margin: 0;
    color: #ffffff;
    text-align: left;
}

.shop-catalog-hero__kicker {
    display: inline-flex;
    align-items: center;
    margin: 0 0 12px;
    padding: 0;
    border-radius: 0;
    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.9);
    background: transparent;
    border: none;
    backdrop-filter: none;
    text-shadow: 0 1px 14px rgba(0, 0, 0, 0.45);
}

.shop-catalog-hero__copy h1 {
    margin: 0 0 12px;
    font-size: clamp(1.625rem, 0.95vw + 1rem, 2.875rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
    font-weight: 700;
    text-wrap: balance;
    text-align: left;
    color: #ffffff;
    text-shadow:
        0 1px 2px rgba(0, 0, 0, 0.42),
        0 8px 28px rgba(0, 0, 0, 0.38);
}

.shop-catalog-hero__lead {
    margin: 0 0 18px;
    max-width: 640px;
    font-size: clamp(1rem, 0.2vw + 0.92rem, 1.125rem);
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.94);
    text-align: left;
    text-shadow: 0 1px 14px rgba(0, 0, 0, 0.45);
}

.shop-catalog-hero__sports {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.shop-catalog-sport-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(6px);
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
    font-family: inherit;
}

button.shop-catalog-sport-pill:hover,
button.shop-catalog-sport-pill:focus-visible {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.34);
    transform: translateY(-1px);
}

button.shop-catalog-sport-pill.is-active {
    background: rgba(255, 255, 255, 0.92);
    color: var(--accent);
    border-color: rgba(255, 255, 255, 0.92);
}

button.shop-catalog-sport-pill.is-active .shop-catalog-sport-icon {
    filter: none;
}

.shop-catalog-sport-icon {
    display: block;
    width: 1.35rem;
    height: 1.35rem;
    flex-shrink: 0;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

.shop-flaticon-credit {
    margin: 10px 0 0;
    font-size: 0.68rem;
    color: rgba(255, 255, 255, 0.42);
}

.shop-flaticon-credit a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.product-detail-ssr .product-detail-facts {
    display: grid;
    gap: 8px;
    margin: 16px 0;
    font-size: 0.92rem;
}

.product-detail-ssr .product-detail-facts > div {
    display: grid;
    grid-template-columns: minmax(88px, 34%) 1fr;
    gap: 8px 12px;
}

.product-detail-ssr .product-detail-facts dt {
    margin: 0;
    font-weight: 600;
    color: rgba(18, 18, 18, 0.72);
}

.product-detail-ssr .product-detail-facts dd {
    margin: 0;
}

.product-detail-ssr .product-detail-lead {
    margin: 0 0 12px;
    color: rgba(18, 18, 18, 0.78);
}

.product-detail-ssr .product-detail-stock {
    margin: 0 0 12px;
    font-weight: 600;
}

.product-breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 0.88rem;
}

.product-breadcrumb li + li::before {
    content: "/";
    margin-right: 8px;
    color: rgba(43, 43, 43, 0.45);
}

.shop-catalog-hero__ribbon {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 0;
    box-sizing: border-box;
    background: #ffffff;
}

.shop-catalog-hero__ribbon-inner {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: clamp(16px, 2.4vw, 24px) var(--site-edge-padding, 24px);
    border-radius: 0;
    background: #ffffff;
    border: 0;
    border-top: 1px solid rgba(var(--accent-rgb), 0.12);
    border-bottom: 1px solid rgba(var(--accent-rgb), 0.08);
    box-shadow: none;
}

.shop-catalog-delivery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(10px, 1.6vw, 16px);
    width: 100%;
}

.shop-catalog-delivery-card {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 72px;
    padding: 14px 18px;
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f7faf8 100%);
    border: 1px solid rgba(var(--accent-rgb), 0.12);
}

.shop-catalog-delivery-card--highlight {
    background: linear-gradient(180deg, rgba(var(--accent-rgb), 0.08) 0%, rgba(var(--accent-rgb), 0.03) 100%);
    border-color: rgba(var(--accent-rgb), 0.18);
}

.shop-catalog-delivery-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(46px, 5vw, 54px);
    height: clamp(46px, 5vw, 54px);
    border-radius: 14px;
    flex-shrink: 0;
    color: var(--accent);
    background: rgba(var(--accent-rgb), 0.1);
    font-size: 1.25rem;
}

.shop-catalog-delivery-card__copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.shop-catalog-delivery-card__copy strong {
    font-size: clamp(1.02rem, 1.5vw, 1.2rem);
    line-height: 1.2;
    color: var(--ink, #111827);
}

.shop-catalog-delivery-card__copy span {
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #6b7280;
}

.shop-catalog-hero__trust {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(10px, 1.6vw, 16px);
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 0;
    color: var(--ink, #111827);
    font-size: clamp(0.92rem, 1.2vw, 1rem);
    font-weight: 700;
}

.shop-catalog-hero__trust li {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 72px;
    padding: 14px 18px;
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f7faf8 100%);
    border: 1px solid rgba(var(--accent-rgb), 0.12);
    color: var(--ink, #111827);
}

.shop-catalog-hero__trust li i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(46px, 5vw, 54px);
    height: clamp(46px, 5vw, 54px);
    border-radius: 14px;
    flex-shrink: 0;
    color: var(--accent);
    background: rgba(var(--accent-rgb), 0.1);
    font-size: 1.25rem;
}

.shop-flaticon-credit--subtle {
    margin-top: 8px;
    opacity: 0.55;
}

.shop-catalog-toolbar-wrap {
    position: sticky;
    top: 0;
    z-index: 24;
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid rgba(var(--accent-rgb), 0.1);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
    backdrop-filter: blur(10px);
}

.shop-catalog-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    width: 100%;
    max-width: none;
    margin: 0 auto;
    padding: 16px var(--site-edge-padding, 24px);
    box-sizing: border-box;
}

.shop-catalog-toolbar__intro {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.shop-catalog-toolbar__title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: var(--ink, #111827);
}

.shop-catalog-toolbar__count {
    margin: 0;
    font-size: 0.86rem;
    font-weight: 600;
    color: #6b7280;
}

.shop-catalog-toolbar__controls {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 12px 16px;
    margin-left: auto;
}

.shop-catalog-toolbar__field {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.shop-catalog-toolbar__label {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #6b7280;
}

.shop-catalog-toolbar__select-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.shop-catalog-toolbar__select-wrap select {
    appearance: none;
    min-width: 190px;
    padding: 11px 40px 11px 14px;
    border-radius: 12px;
    border: 1px solid rgba(var(--accent-rgb), 0.16);
    background: #ffffff;
    color: var(--ink, #111827);
    font: inherit;
    font-size: 0.92rem;
    font-weight: 700;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.shop-catalog-toolbar__select-wrap select:hover {
    border-color: rgba(var(--accent-rgb), 0.28);
}

.shop-catalog-toolbar__select-wrap select:focus-visible {
    outline: none;
    border-color: rgba(var(--accent-rgb), 0.45);
    box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.12);
}

.shop-catalog-toolbar__select-icon {
    position: absolute;
    right: 14px;
    pointer-events: none;
    color: var(--accent);
    font-size: 0.82rem;
}

.shop-catalog-products {
    background: #ffffff;
    padding: clamp(24px, 3vw, 36px) 0 clamp(48px, 5vw, 72px);
}

.shop-catalog-products__inner {
    width: 100%;
    padding: 0 var(--site-edge-padding, 24px);
    box-sizing: border-box;
}

.shop-catalog-page .catalog-product-grid,
.shop-catalog-page .zilenzo-product-catalog-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 24px);
}

.catalog-product-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    border-radius: 18px;
    border: 1px solid rgba(var(--accent-rgb), 0.1);
    background: #ffffff;
    overflow: hidden;
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.05);
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.catalog-product-card:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--accent-rgb), 0.2);
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.1);
}

.catalog-product-card__media {
    position: relative;
    background: #f3f5f4;
}

.catalog-product-card__wishlist {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #111827;
    font-size: 1rem;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

.catalog-product-card__wishlist.is-active,
.catalog-product-card__wishlist.is-active:hover {
    color: var(--wishlist-red);
}

.catalog-product-card__image {
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #f3f5f4;
    text-decoration: none;
}

.catalog-product-card__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
    display: block;
}

.catalog-product-card__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 220px;
    font-size: 1.25rem;
    font-weight: 800;
    color: #6b7280;
}

.catalog-product-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 10px;
    padding: 16px 18px 20px;
}

.catalog-product-card__title {
    margin: 0;
    font-size: 1rem;
    line-height: 1.35;
    font-weight: 700;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: calc(2 * 1.35em);
}

.catalog-product-card__title a {
    color: #111827;
    text-decoration: none;
}

.catalog-product-card__title a:hover {
    color: #2563EB;
}

.catalog-product-card__price {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}

.catalog-product-card__price strong {
    font-size: 1.12rem;
    font-weight: 800;
    color: var(--accent);
    letter-spacing: -0.01em;
}

.catalog-product-card__price span {
    font-size: 0.9rem;
    color: #9ca3af;
    text-decoration: line-through;
}

.catalog-product-card__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    margin-top: auto;
    padding: 12px 16px;
    border-radius: 12px;
    background: var(--accent);
    color: #ffffff;
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-decoration: none;
    text-transform: uppercase;
    transition: background 0.2s ease, transform 0.2s ease;
}

.catalog-product-card__cta:hover {
    background: var(--accent-dark);
    color: #ffffff;
}

.catalog-product-card:hover .catalog-product-card__cta {
    transform: translateY(-1px);
}

.shop-catalog-page .zilenzo-product-catalog-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(14px, 1.8vw, 22px);
}

.shop-catalog-page .zilenzo-product-card,
.shop-catalog-page .zilenzo-product-card--ssr {
    border-radius: 0;
    border: none;
    background: #ffffff;
    overflow: hidden;
    box-shadow: none;
    transition: none;
}

.shop-catalog-page .zilenzo-product-card:hover,
.shop-catalog-page .zilenzo-product-card--ssr:hover {
    transform: none;
    border-color: transparent;
    box-shadow: none;
}

.shop-catalog-page .zilenzo-product-image {
    border-radius: 0;
    background: #f3f5f4;
}

.shop-catalog-page .zilenzo-product-card--ssr .zilenzo-product-info {
    padding: 14px 16px 18px;
}

.shop-catalog-page .zilenzo-product-card--ssr .zilenzo-product-info h3 {
    margin: 0 0 6px;
    font-size: 0.98rem;
    line-height: 1.35;
}

.shop-catalog-page .zilenzo-product-card--ssr .zilenzo-product-info h3 a {
    color: inherit;
    text-decoration: none;
}

.shop-catalog-page .zilenzo-product-card--ssr .zilenzo-product-info h3 a:hover {
    color: #2563EB;
}

.shop-catalog-page .zilenzo-product-card--ssr .zilenzo-product-price strong {
    font-size: 1rem;
    color: var(--accent);
}

.shop-catalog-page .zilenzo-product-card--ssr .zilenzo-product-view-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 10px;
    padding: 10px 14px;
    border-radius: 10px;
    background: var(--accent);
    color: #ffffff;
    font-size: 0.86rem;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.2s ease;
}

.shop-catalog-page .zilenzo-product-card--ssr .zilenzo-product-view-cta:hover {
    background: var(--accent-dark);
}

.shop-catalog-page .zilenzo-product-card--catalog .zilenzo-product-info {
    padding: 16px 2px 0;
}

.shop-catalog-page .zilenzo-product-card--catalog .zilenzo-product-actions--catalog {
    margin-top: auto;
    padding-top: 0;
}

.shop-catalog-page .zilenzo-product-card--catalog .zilenzo-product-copy h3 {
    font-size: 16px;
    line-height: 1.3;
}

.shop-catalog-page .zilenzo-product-card--catalog .zilenzo-product-price strong {
    font-size: 15px;
    color: #111;
    font-weight: 600;
}

.shop-catalog-page .zilenzo-product-catalog-empty {
    padding: 48px 20px;
    text-align: center;
    color: #6b7280;
    font-weight: 600;
}

.shop-catalog-page .popular-products-section {
    padding-top: 0;
    padding-bottom: 0;
    background: transparent !important;
}

.shop-catalog-page .popular-products-section > .container {
    padding-left: 0;
    padding-right: 0;
}

.shop-catalog-page [data-zilenzo-popular-products],
.shop-catalog-page #popular-products {
    padding: 0;
}

@media (max-width: 1200px) {
    .shop-catalog-page .catalog-product-grid,
    .shop-catalog-page .zilenzo-product-catalog-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .shop-catalog-page .zilenzo-product-catalog-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .shop-catalog-toolbar {
        align-items: stretch;
    }

    .shop-catalog-toolbar__controls {
        width: 100%;
        margin-left: 0;
    }

    .shop-catalog-toolbar__field {
        flex: 1 1 180px;
    }

    .shop-catalog-toolbar__select-wrap,
    .shop-catalog-toolbar__select-wrap select {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 768px) {
    .shop-catalog-page .catalog-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .shop-catalog-page .zilenzo-product-catalog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .shop-catalog-hero__trust {
        grid-template-columns: 1fr;
    }

    .catalog-product-card__price {
        margin-top: 2px;
    }

    .catalog-product-card__price strong {
        font-size: 1.22rem;
        font-weight: 800;
        line-height: 1.15;
    }
}

@media (max-width: 520px) {
    .shop-catalog-page .catalog-product-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .shop-catalog-page .zilenzo-product-catalog-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

.shop-catalog-page .popular-products-section {
    padding-top: 0;
    padding-bottom: 0;
}

.shop-catalog-page .popular-products-section > .container > h2 {
    display: none;
}

@media (max-width: 900px) {
    .shop-catalog-hero__banner {
        --shop-hero-h: calc(100vh - var(--zilenzo-home-header-h, 108px));
        --shop-hero-h: calc(100svh - var(--zilenzo-home-header-h, 108px));
        --shop-hero-pad-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
        height: var(--shop-hero-h);
        min-height: var(--shop-hero-h);
        max-height: var(--shop-hero-h);
    }

    .shop-catalog-hero__inner {
        justify-content: flex-end;
        padding:
            clamp(12px, 2vh, 20px)
            max(16px, env(safe-area-inset-right, 0px))
            var(--shop-hero-pad-bottom, calc(88px + env(safe-area-inset-bottom, 0px)))
            max(16px, env(safe-area-inset-left, 0px));
        text-align: left;
    }

    .shop-catalog-hero__copy,
    .shop-catalog-hero__copy h1,
    .shop-catalog-hero__lead {
        text-align: left;
        margin-left: 0;
        margin-right: 0;
        max-width: 100%;
    }

    .shop-catalog-hero__copy h1 {
        font-size: clamp(1.35rem, 6.2vw, 1.95rem);
        line-height: 1.12;
    }

    .shop-catalog-hero__lead {
        font-size: clamp(0.9rem, 3.6vw, 1.05rem);
    }

    .shop-catalog-hero__sports {
        justify-content: flex-start;
    }

    .shop-catalog-hero__overlay {
        background:
            linear-gradient(
                180deg,
                rgba(8, 14, 20, 0.12) 0%,
                rgba(8, 14, 20, 0) 28%,
                rgba(8, 14, 20, 0.18) 52%,
                rgba(8, 14, 20, 0.62) 78%,
                rgba(8, 14, 20, 0.88) 100%
            );
    }

    .shop-catalog-hero__media img {
        object-position: 70% 30%;
    }

    .shop-catalog-hero__trust {
        grid-template-columns: 1fr;
        justify-content: stretch;
    }
}

@supports (height: 100dvh) {
    @media (max-width: 900px) {
        .shop-catalog-hero__banner {
            --shop-hero-h: calc(100dvh - var(--zilenzo-home-header-h, 108px));
            height: var(--shop-hero-h);
            min-height: var(--shop-hero-h);
            max-height: var(--shop-hero-h);
        }
    }
}

@media (max-width: 520px) {
    .shop-catalog-hero__ribbon-inner {
        padding: 18px var(--site-edge-padding, 20px);
    }

    .shop-catalog-hero__trust li {
        min-height: 76px;
        padding: 14px 16px;
    }

    .shop-catalog-sport-pill {
        padding: 8px 13px;
        font-size: 0.78rem;
    }
}

.checkout-v2-parcel-shop[hidden] {
    display: none !important;
}

.checkout-v2-parcel-shop-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: end;
    margin-bottom: 12px;
}

.checkout-v2-parcel-shop-list {
    display: grid;
    gap: 8px;
    margin-top: 8px;
}

.checkout-parcel-shop-option {
    width: 100%;
    text-align: left;
    padding: 12px 14px;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    font: inherit;
    color: inherit;
}

.checkout-parcel-shop-option:hover,
.checkout-parcel-shop-option.is-selected {
    border-color: #111;
    box-shadow: 0 0 0 1px #111;
}

.checkout-v2-delivery-summary {
    margin-top: 12px;
    font-weight: 600;
}

.checkout-v2-business-payment {
    margin-bottom: 16px;
}

@media (max-width: 640px) {
    .checkout-v2-parcel-shop-search {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 1100px) {
    .checkout-v2-carrier-options {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (min-width: 901px) and (max-width: 1099px) {
    .checkout-v2-carrier-options {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.checkout-v2-delivery-options--type .checkout-v2-delivery-option,
.checkout-v2-delivery-options--service .checkout-v2-delivery-option {
    position: relative;
    display: block;
    grid-template-columns: 1fr;
    padding: 16px 48px 16px 16px;
    background: #fff;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.checkout-v2-delivery-options--type .checkout-v2-delivery-option input,
.checkout-v2-delivery-options--service .checkout-v2-delivery-option input {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--accent);
}

.checkout-v2-delivery-option--type:has(input:checked) {
    border-color: var(--accent);
    background: rgba(var(--accent-rgb), 0.05);
    box-shadow: 0 0 0 1px rgba(var(--accent-rgb), 0.1);
}

.checkout-v2-business-delivery[data-business-only] {
    display: none;
}

.is-business-checkout .checkout-v2-business-delivery[data-business-only] {
    display: block;
}

.checkout-v2-delivery-options:not([hidden]) {
    display: grid;
    gap: 10px;
    margin-bottom: 14px;
}

.checkout-v2-delivery-options[hidden] {
    display: none !important;
}

.checkout-v2-delivery-option {
    display: grid;
    grid-template-columns: auto auto 1fr;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border: 1px solid rgba(18, 18, 18, 0.12);
    border-radius: 14px;
    cursor: pointer;
}

.checkout-v2-delivery-option input {
    margin: 0;
}

.checkout-v2-delivery-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 84px;
    min-height: 36px;
    padding: 4px 6px;
    border-radius: 8px;
    background: #f8fafb;
    border: 1px solid rgba(18, 18, 18, 0.06);
    flex-shrink: 0;
}

.checkout-v2-delivery-logo img {
    display: block;
    width: 100%;
    max-width: 72px;
    height: auto;
    object-fit: contain;
}

.checkout-v2-delivery-copy {
    display: grid;
    gap: 4px;
}

.checkout-v2-delivery-copy strong {
    font-size: 0.96rem;
}

.checkout-v2-delivery-copy small {
    color: var(--muted);
}

.checkout-v2-delivery-option:has(input:checked) {
    border-color: var(--accent);
    background: rgba(var(--accent-rgb), 0.05);
}

.checkout-v2-discount-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
}

.checkout-v2-payment-logos {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0;
}

.checkout-v2-pay-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 8px;
    background: #f3f5f7;
    color: #334155;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.checkout-v2-legal-note {
    margin: 0 0 12px;
    color: var(--muted);
    font-size: 0.86rem;
}

.checkout-v2-submit {
    min-height: 54px;
    font-size: 1rem;
}

.checkout-vat-note {
    margin: 0 0 10px;
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(16, 185, 129, 0.1);
    border: 1px solid rgba(16, 185, 129, 0.28);
    color: #065f46;
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.5;
}

.checkout-vat-note[hidden],
.checkout-vat-before[hidden],
.checkout-vat-savings[hidden] {
    display: none !important;
}

.checkout-vat-savings {
    color: #065f46;
}

.checkout-vat-savings-amount {
    color: #047857;
}

.checkout-price-was {
    color: var(--muted);
    text-decoration: line-through;
    font-weight: 500;
}

.checkout-item-price {
    display: grid;
    justify-items: end;
    gap: 2px;
    text-align: right;
}

.checkout-item-price strong {
    color: #047857;
}

.checkout-v2-summary {
    position: sticky;
    top: 20px;
    scroll-margin-top: 132px;
}

.checkout-v2-summary-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.checkout-v2-summary-head h2 {
    margin: 0;
}

.checkout-v2-items .checkout-item {
    margin-bottom: 12px;
}

.checkout-v2-faq {
    display: grid;
    gap: 8px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid rgba(18, 18, 18, 0.08);
}

.checkout-v2-faq-title {
    margin: 0;
    font-size: 0.88rem;
    font-weight: 800;
}

.checkout-v2-faq-link {
    color: var(--accent);
    font-size: 0.86rem;
    font-weight: 600;
    text-decoration: none;
}

.checkout-v2-faq-link:hover {
    text-decoration: underline;
}

.thanks-v2-card {
    text-align: left;
}

.thanks-order-ref {
    margin: -4px 0 12px;
    color: #5f6670;
    font-size: 1.05rem;
}

.thanks-v2-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin: 20px 0;
}

.thanks-v2-panel {
    padding: 16px;
    border-radius: 14px;
    background: rgba(var(--accent-rgb), 0.05);
}

.thanks-v2-panel h2 {
    margin: 0 0 8px;
    font-size: 1rem;
}

.thanks-v2-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.thanks-v2-club {
    margin-top: 22px;
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(var(--accent-rgb), 0.12), rgba(var(--accent-rgb), 0.04));
}

.thanks-v2-club h3 {
    margin: 0 0 6px;
}

.thanks-v2-item-row {
    align-items: center;
}

.thanks-v2-item-copy {
    display: flex;
    align-items: center;
    gap: 10px;
}

.thanks-v2-item-img {
    width: 48px;
    height: 48px;
    object-fit: contain;
    border-radius: 8px;
    background: #f7f8fa;
}

@media (max-width: 900px) {
    .checkout-v2-layout,
    .thanks-v2-grid {
        grid-template-columns: 1fr;
    }

    .checkout-v2-summary {
        position: static;
    }

    .checkout-v2-secure {
        display: none;
    }

    .checkout-v2-carrier-options {
        grid-template-columns: 1fr;
    }

    .checkout-v2-steps li span:last-child {
        font-size: 0.64rem;
    }
}

.checkout-v2-welcome {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
    padding: 22px 24px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(var(--accent-rgb), 0.1), rgba(var(--accent-rgb), 0.03));
    border: 1px solid rgba(var(--accent-rgb), 0.12);
}

.checkout-v2-welcome-kicker {
    margin: 0 0 6px;
    color: var(--accent);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.checkout-v2-welcome h1 {
    margin: 0 0 8px;
    font-size: clamp(1.5rem, 3vw, 2rem);
    line-height: 1.15;
}

.checkout-v2-welcome-lead {
    margin: 0;
    color: var(--muted);
    font-size: 0.95rem;
    line-height: 1.55;
    max-width: 46ch;
}

.checkout-v2-login {
    margin: 0;
    flex-shrink: 0;
    color: var(--muted);
    font-size: 0.9rem;
    font-weight: 600;
    text-align: right;
}

.checkout-v2-login-btn {
    margin-left: 6px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--accent);
    font: inherit;
    font-weight: 800;
    text-decoration: underline;
    cursor: pointer;
}

.checkout-v2-section-lead {
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 0.88rem;
    line-height: 1.55;
}

.checkout-customer-panel:not([hidden]) {
    display: grid;
    gap: 16px;
}

.checkout-customer-panel[hidden],
[data-delivery-panel][hidden],
.checkout-v2-business[hidden] {
    display: none !important;
}

.checkout-v2-form.is-private-checkout [data-delivery-panel="business"],
.checkout-v2-form.is-business-checkout [data-delivery-panel="private"] {
    display: none !important;
}

.form-field--country .country-select-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.country-select-flag {
    position: absolute;
    left: 14px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 18px;
    pointer-events: none;
}

.country-select-flag-img {
    display: block;
    width: 24px;
    height: 18px;
    object-fit: cover;
    border-radius: 3px;
    box-shadow: 0 0 0 1px rgba(18, 18, 18, 0.1);
}

.form-field--country select[data-country-select] {
    width: 100%;
    min-height: 50px;
    padding: 0 2.5rem 0 3.1rem;
    border: 1px solid var(--line);
    border-radius: 16px;
    outline: none;
    background: #ffffff;
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--ink);
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
}

.form-field--country select[data-country-select]:focus {
    border-color: rgba(var(--accent-rgb), 0.45);
    box-shadow: 0 0 0 4px rgba(var(--accent-rgb), 0.08);
}

.checkout-panel-lead {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 4px;
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(var(--accent-rgb), 0.06);
    color: var(--ink);
    font-size: 0.9rem;
    line-height: 1.5;
}

.checkout-panel-lead--business {
    background: rgba(37, 99, 235, 0.08);
}

.checkout-panel-lead i {
    color: var(--accent);
    font-size: 1.05rem;
    line-height: 1.2;
}

.payment-methods-strip {
    margin: 14px 0 10px;
    padding: 14px 16px;
    border: 1px solid rgba(18, 18, 18, 0.08);
    border-radius: 14px;
    background: #f8fafb;
    text-align: center;
}

.payment-option-card--with-brands {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 0;
    overflow: hidden;
}

.payment-option-card__main {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
}

.payment-methods-strip--inline {
    margin: 0;
    padding: 12px 16px 14px;
    border: 0;
    border-top: 1px solid rgba(18, 18, 18, 0.08);
    border-radius: 0;
    background: #f8fafb;
}

.payment-methods-strip__image,
.footer-payment-methods-image {
    display: block;
    width: min(100%, 520px);
    height: auto;
    max-height: 88px;
    margin: 0 auto;
    object-fit: contain;
}

.payment-methods-strip__image--cards,
.footer-payment-methods-image {
    max-height: 52px;
}

.checkout-business-payment-note {
    margin: 0 0 8px;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(37, 99, 235, 0.08);
    color: #1e3a8a;
    font-size: 0.86rem;
    line-height: 1.5;
}

.checkout-v2-faq-item {
    border-top: 1px solid rgba(18, 18, 18, 0.08);
    padding: 10px 0;
}

.checkout-v2-faq-item summary {
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.45;
    list-style-position: outside;
}

.checkout-v2-faq-item p {
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 0.86rem;
    line-height: 1.55;
}

.checkout-v2-faq-item a {
    color: var(--accent);
    font-weight: 700;
}

@media (max-width: 900px) {
    .checkout-v2-welcome {
        flex-direction: column;
    }

    .checkout-v2-login {
        text-align: left;
    }
}

/* Produktgalleri: 2-kolonne scroll-grid (PAS/Fusion-stil) */
.product-gallery.product-gallery--grid {
    display: block !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    background: #ffffff !important;
}

.product-gallery--grid {
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 0;
    height: auto;
    padding: 0;
    background: #ffffff;
}

.product-gallery--grid .product-gallery-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 2px;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0;
    padding: 0;
    background: #ffffff;
}

.product-gallery--grid .product-gallery-grid-item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    background: var(--product-media-bg, #f3f3f3);
    overflow: hidden;
    aspect-ratio: auto;
    min-height: 0;
}

.product-gallery--grid .product-gallery-grid-item .product-detail-image {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    max-height: none;
    object-fit: contain;
    object-position: center center;
    background: transparent;
}

.product-gallery--grid .product-gallery-grid-item:last-child:nth-child(odd):not(:only-child) {
    grid-column: 1 / -1;
}

.product-gallery--grid .product-gallery-grid-caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    margin: 0;
    padding: 10px 12px;
    background: #111111;
    color: #ffffff;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 500;
    text-align: center;
}

.product-gallery--grid .product-gallery-grid-item.is-visualization {
    position: relative;
}

.product-gallery--grid .product-gallery-visualization-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 3;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(17, 17, 17, 0.82);
    color: #ffffff;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    pointer-events: none;
}

.product-gallery--grid .product-gallery-grid-item:only-child {
    grid-column: 1 / -1;
}

.product-gallery--grid .product-gallery-thumbs {
    display: none !important;
}

.product-gallery--grid .product-gallery-mobile {
    display: none;
    width: 100%;
}

.product-gallery--grid .product-gallery-grid {
    display: grid !important;
}

@media (min-width: 769px) {
    body.product-page .product-detail-shell .product-detail-media:has(.product-gallery--grid) {
        min-height: 0;
        height: auto;
        overflow: visible;
        background: #ffffff;
        border-right: none;
    }

    body.product-page .product-detail-shell .product-detail-media:has(.product-gallery--grid) .product-gallery--grid {
        min-height: 0;
        height: auto;
    }

    body.product-page .product-detail-layout:has(.product-gallery--grid) .product-detail-studio {
        align-self: start;
        background: #ffffff;
        border-right: none;
    }
}

@media (max-width: 768px) {
    .product-gallery--grid .product-gallery-grid {
        gap: 2px;
    }
}

/* Mobil produktgalleri: ét billede + tæller + swipe */
@media (max-width: 768px) {
    .product-gallery--grid .product-gallery-mobile {
        display: block;
        width: 100%;
    }

    .product-gallery--grid .product-gallery-mobile .product-gallery-arrow {
        display: none;
    }

    .product-gallery--grid .product-gallery-grid {
        display: none !important;
    }

    .product-gallery--grid .product-gallery-mobile .product-gallery-stage {
        position: relative;
        display: flex;
        align-items: flex-end;
        justify-content: center;
        width: 100%;
        height: min(125vw, 580px);
        min-height: min(125vw, 580px);
        max-height: 78vh;
        padding: 0;
        background: var(--product-media-bg, #f3f3f3);
        touch-action: pan-y pinch-zoom;
        overflow: hidden;
    }

    .product-gallery--grid .product-gallery-mobile .product-gallery-stage > .product-detail-image {
        display: block;
        width: 100%;
        height: 100%;
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
        object-position: center bottom;
    }

    .product-gallery--grid .product-gallery-mobile .product-gallery-counter {
        display: inline-flex;
        position: absolute;
        left: 12px;
        bottom: 12px;
        z-index: 4;
        align-items: center;
        min-height: 30px;
        padding: 6px 10px;
        border-radius: 3px;
        background: rgba(255, 255, 255, 0.9);
        color: #111111;
        font-size: 12px;
        font-weight: 500;
        letter-spacing: 0.02em;
        line-height: 1;
        pointer-events: none;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
    }
}

/* ================================
   Indkøbskurv – grøn knap med 8px border
================================ */

.cart-icon {
    gap: 8px;
    min-height: 44px;
    padding: 0 12px;
    background: var(--accent-contrast, #145C38);
    color: #ffffff;
    font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: 0;
    border-radius: var(--btn-radius);
    border: 8px solid var(--accent-contrast, #145C38);
    box-sizing: border-box;
}

.cart-icon:hover {
    transform: translateY(-1px);
    background: var(--accent-contrast-dark, #145C38);
    border-color: var(--accent-contrast-dark, #145C38);
    color: #ffffff;
}

.cart-icon i,
.cart-icon-graphic,
.cart-icon-graphic > i {
    color: #ffffff;
}

.cart-icon-graphic {
    width: 1.2rem;
    height: 1.2rem;
}

.cart-icon-graphic > i {
    font-size: 1.15rem;
}

.cart-icon .cart-count-badge,
.cart-icon [data-cart-count].cart-count-badge,
.cart-icon-graphic > .cart-count-badge,
.cart-icon-graphic > [data-cart-count].cart-count-badge {
    position: static;
    display: inline;
    min-width: 0;
    height: auto;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    color: inherit;
    box-shadow: none;
    font-size: inherit;
    font-weight: 700;
    line-height: inherit;
}

.cart-icon-label {
    display: inline-flex;
    align-items: center;
    gap: 0;
    min-width: 0;
    white-space: nowrap;
}

.cart-icon-count {
    font-weight: 700;
}

.cart-icon-count[hidden] {
    display: none !important;
}

.cart-icon.has-items {
    box-shadow: none;
}

.cart-drawer {
    box-shadow: -12px 0 40px rgba(3, 4, 18, 0.1);
}

.cart-drawer-header {
    border-bottom: 1px solid rgba(18, 18, 18, 0.08);
}

.cart-drawer-header h3 {
    font-weight: 700;
}

.cart-drawer-content {
    gap: 0;
    padding: 0;
    background: #ffffff;
}

.cart-drawer-footer {
    border-top: 1px solid rgba(18, 18, 18, 0.08);
    box-shadow: none;
}

.cart-total-line {
    margin-bottom: 12px;
    padding: 12px 0;
    border-radius: 0;
    background: transparent;
    border-top: 1px solid rgba(18, 18, 18, 0.08);
}

.cart-summary-lines .cart-total-line {
    padding: 10px 0;
    border-top: none;
    border-bottom: 1px solid rgba(18, 18, 18, 0.06);
}

.cart-summary-lines .cart-total-line:last-child {
    border-bottom: none;
}

.cart-total-line span {
    font-weight: 600;
    color: rgba(3, 4, 18, 0.62);
}

.cart-total-line strong,
.cart-summary-subtotal strong,
.cart-summary-shipping strong {
    font-size: 1rem;
    font-weight: 700;
    color: var(--ink);
}

.cart-summary-total {
    background: transparent;
    padding-top: 14px;
    margin-top: 4px;
    border-top: 1px solid rgba(18, 18, 18, 0.12);
}

.cart-summary-total strong {
    font-size: 1.2rem;
}

.cart-summary-shipping strong.is-free,
.cart-shipping-free,
#checkoutShipping.is-free,
#cartShippingBridge.is-free {
    color: var(--ink);
    font-weight: 700;
}

.cart-free-shipping {
    margin: 0 0 12px;
    padding: 14px 24px;
    border: none;
    border-bottom: 1px solid rgba(18, 18, 18, 0.08);
    border-radius: 0;
    background: #fafafa;
}

.cart-free-shipping.is-unlocked {
    border-color: rgba(18, 18, 18, 0.08);
    background: #fafafa;
    box-shadow: none;
}

.cart-free-shipping-icon {
    width: auto;
    height: auto;
    border-radius: 0;
    background: transparent;
    color: var(--ink);
    font-size: 1.05rem;
}

.cart-free-shipping.is-unlocked .cart-free-shipping-icon {
    background: transparent;
    color: var(--ink);
}

.cart-free-shipping-text {
    font-weight: 600;
    color: rgba(3, 4, 18, 0.78);
}

.cart-free-shipping.is-unlocked .cart-free-shipping-text {
    color: var(--ink);
}

.cart-free-shipping-track {
    height: 4px;
    border-radius: 2px;
    background: rgba(18, 18, 18, 0.1);
}

.cart-free-shipping-fill {
    background: var(--ink);
}

.cart-free-shipping.is-unlocked .cart-free-shipping-fill {
    background: var(--ink);
}

.cart-item {
    gap: 16px;
    padding: 20px 24px;
    border: none;
    border-bottom: 1px solid rgba(18, 18, 18, 0.08);
    border-radius: 0;
    background: #ffffff;
    box-shadow: none;
}

.cart-item:last-child {
    border-bottom: none;
}

.cart-item-img {
    width: 80px;
    height: 96px;
    padding: 0;
    border: none;
    border-radius: 0;
    background: #f5f5f5;
    object-fit: cover;
}

.cart-item-head h4,
.cart-item-details h4 {
    font-weight: 600;
    font-size: 0.95rem;
}

.cart-item-size,
.cart-item-size-pill {
    display: inline;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(3, 4, 18, 0.52);
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0;
}

.cart-item-line-total {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--ink);
}

.cart-item-qty {
    gap: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    border: 1px solid rgba(18, 18, 18, 0.14);
}

.cart-item-qty button {
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 0;
    background: #ffffff;
    color: var(--ink);
    font-size: 1rem;
    font-weight: 600;
}

.cart-item-qty button + span {
    border-left: 1px solid rgba(18, 18, 18, 0.14);
    border-right: 1px solid rgba(18, 18, 18, 0.14);
}

.cart-item-qty button:hover {
    background: rgba(18, 18, 18, 0.05);
    border-color: transparent;
}

.cart-item-qty span {
    min-width: 28px;
    padding: 0 4px;
    font-size: 0.88rem;
    font-weight: 700;
}

.remove-item-btn {
    width: 32px;
    height: 32px;
    border-radius: var(--btn-radius);
    background: transparent;
    color: rgba(3, 4, 18, 0.42);
    font-size: 0.85rem;
}

.remove-item-btn:hover {
    color: var(--ink);
    background: rgba(18, 18, 18, 0.06);
}

.drawer-empty-state {
    min-height: min(48vh, 320px);
    margin: 0;
    padding: 48px 24px;
    border: none;
    border-radius: 0;
    background: #ffffff;
}

.drawer-empty-state i {
    font-size: 2rem;
    color: rgba(3, 4, 18, 0.28);
    opacity: 1;
}

.cart-drawer .close-cart-btn {
    border-radius: var(--btn-radius);
}

@media (max-width: 768px) {
    .cart-drawer {
        box-shadow: 0 -16px 48px rgba(3, 4, 18, 0.12);
    }

    .cart-drawer-content {
        padding: 0;
        background: #ffffff;
    }

    .cart-item {
        padding: 16px 18px;
    }

    .cart-free-shipping {
        padding: 14px 18px;
    }

    .cart-drawer .close-cart-btn {
        border-radius: var(--btn-radius);
        background: #f5f5f5;
    }

    .cart-total-line {
        padding: 12px 0;
        border-radius: 0;
        background: transparent;
    }

    .cart-drawer-actions .primary-btn {
        box-shadow: none;
    }
}

/* Andre kiggede også på – samme kortstil som Zilenzo favoritter */
.related-shell .related-slider-track .zilenzo-product-card {
    max-width: 300px;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.related-shell .related-slider-track .zilenzo-product-info {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.related-shell .related-slider-track .zilenzo-product-copy {
    flex: 1 1 auto;
}

.related-shell .related-slider-track .zilenzo-product-copy h3 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: calc(2 * 1.3em);
}

.related-shell .related-slider-track .zilenzo-featured-size-grid {
    flex: 0 0 auto;
}

.related-shell .related-slider-track .zilenzo-product-actions {
    flex: 0 0 auto;
    margin-top: auto;
}

.related-shell .section-heading h2 {
    font-weight: 900;
    letter-spacing: 0.02em;
}

.related-shell .related-slider-arrow {
    border-radius: 8px;
    color: #111111;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
}

.related-shell .related-slider-arrow:hover {
    background: #111111;
    color: #ffffff;
    border-color: #111111;
}

.related-shell .related-slider-dot.is-active {
    background: #111111;
}

@media (max-width: 768px) {
    .related-shell.is-touch-carousel .related-slider-track .zilenzo-product-card {
        flex: 0 0 clamp(236px, 78vw, 300px);
        width: clamp(236px, 78vw, 300px);
        max-width: none;
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }
}

/* Desktop: venstrejusteret hero-tekst; mobil forbliver centreret i @media (max-width: 900px) */
@media (min-width: 901px) {
    .zilenzo-front-hero--photo .zilenzo-front-content,
    .zilenzo-front-hero--photo .zilenzo-front-content.zilenzo-front-content--showcase {
        align-items: flex-start;
        justify-content: center;
        text-align: left;
        padding-left: clamp(48px, 6vw, 100px);
        padding-right: clamp(24px, 4vw, 48px);
    }

    .zilenzo-front-hero--photo .zilenzo-front-showcase-stack {
        align-items: stretch;
        text-align: left;
        width: max-content;
        max-width: min(820px, 62vw);
        margin-inline: 0;
    }

    .zilenzo-front-hero--photo .zilenzo-front-showcase-copy {
        align-items: flex-start;
        text-align: left;
        width: 100%;
    }

    .zilenzo-front-hero--photo .zilenzo-front-brand {
        text-align: left;
        padding-left: 0;
    }

    .zilenzo-front-showcase-title,
    .zilenzo-front-hero--photo .zilenzo-front-content h1.zilenzo-front-showcase-title {
        width: 100%;
        text-align: left;
        margin-inline: 0;
        font-size: clamp(1.75rem, 2vw + 0.75rem, 2.55rem);
        line-height: 1.1;
    }

    .zilenzo-hero-title-line,
    .zilenzo-front-hero--photo .zilenzo-hero-title-line,
    .zilenzo-front-hero--photo .zilenzo-hero-title-line--nowrap,
    .zilenzo-front-hero--photo .zilenzo-hero-title-line--primary,
    .zilenzo-front-hero--photo .zilenzo-hero-title-line--secondary {
        justify-content: flex-start;
        text-align: left;
        white-space: nowrap;
        width: 100%;
    }

    .zilenzo-front-hero--photo .zilenzo-hero-title-line--primary {
        font-size: 1em;
        font-weight: 700;
        letter-spacing: -0.025em;
    }

    .zilenzo-front-hero--photo .zilenzo-hero-title-line--secondary {
        margin-top: 0.14em;
        font-size: 0.62em;
        font-weight: 500;
        letter-spacing: 0.005em;
        opacity: 0.96;
    }

    .zilenzo-front-showcase-spec,
    .zilenzo-front-hero--photo .zilenzo-front-showcase-spec {
        display: block;
        width: 100%;
        max-width: none;
        text-align: left;
        margin-inline: 0;
        white-space: nowrap;
        text-wrap: nowrap;
        font-size: clamp(0.8rem, 0.82vw + 0.28rem, 0.96rem);
        letter-spacing: -0.015em;
        line-height: 1.35;
    }

    .zilenzo-front-showcase-actions,
    .zilenzo-front-hero--photo .zilenzo-front-showcase-actions {
        justify-content: flex-start;
        align-self: stretch;
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        padding-left: 0;
    }
}

/* Hero: undertekst på én linje (mobil base-størrelse) */
@media (max-width: 900px) {
    .zilenzo-front-showcase-title,
    .zilenzo-front-hero--photo .zilenzo-front-content h1.zilenzo-front-showcase-title {
        font-size: clamp(1.05rem, 1.2vw + 0.5rem, 1.85rem);
        line-height: 1.2;
    }
}

.zilenzo-front-hero--photo .zilenzo-front-showcase-spec {
    max-width: none;
}

@media (min-width: 901px) {
    .zilenzo-front-hero--photo .zilenzo-front-showcase-spec {
        max-width: none;
        width: 100%;
        text-wrap: nowrap;
        white-space: nowrap;
    }

    .zilenzo-front-hero--photo .zilenzo-front-showcase-spec {
        font-size: clamp(0.8rem, 0.82vw + 0.28rem, 0.96rem);
        line-height: 1.35;
    }
}

@media (min-width: 1400px) {
    .zilenzo-front-hero--photo .zilenzo-front-content h1.zilenzo-front-showcase-title {
        font-size: clamp(2rem, 2.1vw + 0.55rem, 2.75rem);
    }

    .zilenzo-front-hero--photo .zilenzo-hero-title-line--secondary {
        font-size: 0.6em;
    }
}

@media (max-width: 900px) {
    .zilenzo-front-hero--photo .zilenzo-front-content h1.zilenzo-front-showcase-title {
        font-size: clamp(1.35rem, 5.8vw, 1.9rem);
    }

    .zilenzo-front-hero--photo .zilenzo-front-showcase-spec {
        max-width: 100%;
        white-space: nowrap;
        text-wrap: nowrap;
        font-size: clamp(0.68rem, 2.6vw, 0.88rem);
        line-height: 1.35;
        letter-spacing: -0.01em;
    }
}

@media (max-width: 420px) {
    .zilenzo-front-hero--photo .zilenzo-front-showcase-spec {
        font-size: clamp(0.64rem, 2.4vw, 0.78rem);
        padding-inline: 0;
        white-space: nowrap;
        text-wrap: nowrap;
    }
}

/* Mobil hero: dedikeret portrætbanner med brand-redaktionel tekst */
@media (max-width: 900px) {
    .zilenzo-front-hero--photo {
        isolation: isolate;
    }

    .zilenzo-front-hero--photo::after {
        content: "";
        position: absolute;
        inset: auto 0 0 0;
        height: 46%;
        z-index: 2;
        pointer-events: none;
        background: linear-gradient(
            180deg,
            rgba(0, 0, 0, 0) 0%,
            rgba(0, 0, 0, 0.06) 28%,
            rgba(0, 0, 0, 0.42) 68%,
            rgba(0, 0, 0, 0.72) 100%
        );
    }

    .zilenzo-front-hero--photo .zilenzo-front-image {
        object-fit: cover;
        object-position: center center;
        transform: none;
        filter: none;
    }

    .zilenzo-front-hero--photo .zilenzo-front-content,
    .zilenzo-front-hero--photo .zilenzo-front-content.zilenzo-front-content--showcase {
        justify-content: flex-end;
        align-items: center;
        height: 100%;
        padding: 0 18px calc(88px + env(safe-area-inset-bottom, 0px));
        z-index: 3;
    }

    .zilenzo-front-hero--photo .zilenzo-front-showcase-stack {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-end;
        width: 100%;
        max-width: 100%;
        height: auto;
        min-height: 0;
        margin: 0;
        padding: 0;
        gap: clamp(12px, 2.2vh, 16px);
        transform: none;
    }

    .zilenzo-front-hero--photo .zilenzo-front-showcase-copy {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: clamp(10px, 1.8vh, 14px);
        width: 100%;
        padding: 0 2px 4px;
        background: none;
        border: none;
        box-shadow: none;
        backdrop-filter: none;
    }

    .zilenzo-front-hero--photo .zilenzo-front-brand {
        margin: 0;
        padding: 0;
        border: none;
        background: none;
        font-size: clamp(10px, 2.6vw, 11px);
        font-weight: 700;
        letter-spacing: 0.34em;
        text-indent: 0.34em;
        opacity: 0.9;
    }

    .zilenzo-front-hero--photo .zilenzo-front-brand::after {
        content: "";
        display: block;
        width: 28px;
        height: 1px;
        margin: 9px auto 0;
        background: rgba(255, 255, 255, 0.62);
    }

    .zilenzo-front-hero--photo .zilenzo-front-content h1.zilenzo-front-showcase-title {
        font-size: clamp(1.34rem, 6vw, 1.72rem);
        line-height: 1.14;
        max-width: 11.5em;
        font-weight: 700;
        letter-spacing: -0.02em;
        text-shadow: 0 2px 18px rgba(0, 0, 0, 0.38);
    }

    .zilenzo-front-hero--photo .zilenzo-hero-title-line--primary,
    .zilenzo-front-hero--photo .zilenzo-hero-title-line--secondary {
        display: block;
        justify-content: center;
        gap: 0;
        white-space: normal;
    }

    .zilenzo-front-hero--photo .zilenzo-hero-title-line--secondary {
        margin-top: 0.22em;
        font-size: clamp(0.98rem, 4.4vw, 1.18rem);
        font-weight: 500;
        letter-spacing: 0.01em;
        opacity: 0.96;
    }

    .zilenzo-front-hero--photo .zilenzo-front-showcase-spec {
        margin: 0;
        max-width: 100%;
        padding-inline: 0;
        font-size: clamp(0.68rem, 2.6vw, 0.88rem);
        line-height: 1.35;
        font-weight: 400;
        letter-spacing: -0.01em;
        white-space: nowrap;
        text-wrap: nowrap;
        color: rgba(255, 255, 255, 0.86);
        opacity: 1;
        text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
    }

    .zilenzo-front-hero--photo .zilenzo-front-showcase-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: stretch;
        gap: 10px;
        width: 100%;
        max-width: 100%;
        margin: 0 0 2px;
        padding-top: 0;
    }

    .zilenzo-front-hero--photo .zilenzo-hero-btn {
        flex: none;
        width: 100%;
        min-width: 0;
        min-height: 46px;
        padding: 0 12px;
        font-size: clamp(0.72rem, 2.5vw, 0.82rem);
        font-weight: 700;
        letter-spacing: 0.01em;
        border-radius: 4px;
        box-shadow: none;
    }

    .zilenzo-front-hero--photo .zilenzo-hero-btn--primary {
        background: #ffffff;
        color: #030412;
        border: 1px solid #ffffff;
    }

    .zilenzo-front-hero--photo .zilenzo-hero-btn--ghost {
        background: transparent;
        color: #ffffff;
        border: 1px solid rgba(255, 255, 255, 0.82);
        backdrop-filter: none;
    }
}

/* Pas Normal-inspireret størrelsesguide + produktinfo */
body.zilenzo-size-drawer-open,
body.zilenzo-info-drawer-open {
    overflow: hidden;
}

.zilenzo-size-drawer,
.zilenzo-info-drawer {
    position: fixed;
    inset: 0;
    z-index: 13000;
}

.zilenzo-size-drawer[hidden],
.zilenzo-info-drawer[hidden] {
    display: none;
}

.zilenzo-size-drawer__backdrop,
.zilenzo-info-drawer__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.42);
    backdrop-filter: blur(2px);
}

.zilenzo-size-drawer > .zilenzo-size-drawer__sheet,
.zilenzo-info-drawer > .zilenzo-info-drawer__sheet {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    width: min(100%, 430px);
    height: 100%;
    max-height: 100dvh;
    background: #fff;
    box-shadow: -12px 0 40px rgba(0, 0, 0, 0.12);
    animation: zilenzoSizeDrawerIn 0.28s ease;
}

@keyframes zilenzoSizeDrawerIn {
    from {
        transform: translateX(100%);
    }

    to {
        transform: translateX(0);
    }
}

.zilenzo-size-drawer__header,
.zilenzo-info-drawer__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 22px 22px 10px;
}

.zilenzo-size-drawer__header h2,
.zilenzo-info-drawer__header h2 {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.zilenzo-size-drawer__close,
.zilenzo-info-drawer__close {
    width: 36px;
    height: 36px;
    border: 0;
    background: transparent;
    color: #111;
    font-size: 1.8rem;
    line-height: 1;
    cursor: pointer;
}

.zilenzo-size-drawer__tabs,
.zilenzo-info-drawer__tabs {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 18px;
    padding: 0 22px 14px;
    border-bottom: 1px solid rgba(17, 17, 17, 0.08);
}

.zilenzo-size-drawer__tabs {
    justify-content: flex-end;
}

.zilenzo-size-drawer__tab,
.zilenzo-info-drawer__tab {
    border: 0;
    background: transparent;
    padding: 0;
    color: rgba(17, 17, 17, 0.45);
    font: inherit;
    font-size: 0.92rem;
    font-weight: 600;
    cursor: pointer;
}

.zilenzo-size-drawer__tab.is-active,
.zilenzo-info-drawer__tab.is-active {
    color: #111;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.zilenzo-size-drawer__panels {
    flex: 1 1 auto;
    overflow-y: auto;
    overflow-x: clip;
    padding: 18px 22px 0;
    -webkit-overflow-scrolling: touch;
}

.zilenzo-info-drawer__panels {
    flex: 1 1 auto;
    overflow-y: auto;
    overflow-x: clip;
    padding: 18px 22px 28px;
    -webkit-overflow-scrolling: touch;
}

.zilenzo-size-drawer__panel[hidden],
.zilenzo-info-drawer__panel[hidden] {
    display: none;
}

.zilenzo-info-drawer .product-detail-accordion {
    width: 100%;
    border-top: none;
    border-bottom: none;
    background: transparent;
}

.zilenzo-info-drawer .product-detail-accordion__panel {
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    border-bottom: none;
}

.zilenzo-info-drawer .product-detail-accordion__panel:first-child {
    border-top: none;
}

.zilenzo-info-drawer .product-detail-accordion__summary {
    padding: 16px 0;
    gap: 12px;
}

.zilenzo-info-drawer .product-detail-accordion__summary span {
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    color: #1f2937;
}

.zilenzo-info-drawer .product-detail-accordion__icon {
    font-size: 0.82rem;
    color: rgba(17, 24, 39, 0.45);
}

.zilenzo-info-drawer .product-detail-accordion__body {
    padding: 0 0 18px;
}

.zilenzo-info-drawer .product-detail-rich-text {
    font-size: 0.95rem;
    line-height: 1.72;
    color: #374151;
}

.zilenzo-info-drawer .product-detail-rich-text--specs {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.zilenzo-info-drawer .product-accordion-list li {
    font-size: 0.95rem;
    line-height: 1.68;
    color: #374151;
}

.zilenzo-size-drawer__model-stage {
    display: grid;
    gap: 14px;
}

.zilenzo-size-drawer__model-image {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 5;
    max-height: 420px;
    margin: 0 auto;
    border: 1px solid rgba(17, 17, 17, 0.06);
    border-radius: 10px;
    background: #ececec;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.85) inset,
        0 10px 28px rgba(17, 17, 17, 0.08);
}

.zilenzo-size-drawer__model-photo {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    overflow: hidden;
    background: #f3f3f3;
}

.zilenzo-size-drawer__model-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.zilenzo-size-drawer__model-fallback {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    min-height: 240px;
    color: #111;
    font-size: 2rem;
    font-weight: 800;
}

.zilenzo-size-drawer__model-overlays {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
}

.zilenzo-size-drawer__callout {
    position: absolute;
    z-index: 2;
    max-width: 138px;
    padding: 8px 10px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
}

.zilenzo-size-drawer__measure-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.zilenzo-size-drawer__measure-card {
    display: grid;
    gap: 4px;
    padding: 10px 12px;
    border: 1px solid rgba(17, 17, 17, 0.08);
    border-radius: 8px;
    background: #fafafa;
}

.zilenzo-size-drawer__measure-card-label {
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(17, 17, 17, 0.55);
}

.zilenzo-size-drawer__measure-card-value {
    font-size: 0.92rem;
    line-height: 1.2;
    color: #111;
}

.zilenzo-size-drawer__measure-card-hint {
    margin: 0;
    color: rgba(17, 17, 17, 0.58);
    font-size: 0.72rem;
    line-height: 1.35;
}

.zilenzo-size-drawer__measure-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
}

.zilenzo-size-drawer__callout-tag {
    display: block;
    margin-bottom: 3px;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.zilenzo-size-drawer__callout strong {
    display: block;
    font-size: 0.82rem;
    line-height: 1.2;
}

.zilenzo-size-drawer__callout p {
    margin: 4px 0 0;
    color: rgba(17, 17, 17, 0.62);
    font-size: 0.64rem;
    line-height: 1.3;
}

.zilenzo-size-drawer__callout-line {
    position: absolute;
    border-top: 1px dashed rgba(255, 255, 255, 0.95);
    pointer-events: none;
}

.zilenzo-size-drawer__callout--chest {
    top: 26%;
    right: 10%;
}

.zilenzo-size-drawer__callout--chest .zilenzo-size-drawer__callout-line {
    top: 50%;
    right: 100%;
    width: 36px;
    transform: translateY(-50%);
}

.zilenzo-size-drawer__callout--waist {
    top: 48%;
    left: 7%;
}

.zilenzo-size-drawer__callout--waist .zilenzo-size-drawer__callout-line {
    top: 50%;
    left: 100%;
    width: 36px;
    transform: translateY(-50%);
}

.zilenzo-size-drawer__tape-hint,
.zilenzo-size-drawer__model-note {
    margin: 0;
    color: rgba(17, 17, 17, 0.62);
    font-size: 0.8rem;
    line-height: 1.45;
}

.zilenzo-size-drawer__tape-hint {
    margin-top: 14px;
}

.zilenzo-size-drawer__model-note {
    margin-top: 8px;
    margin-bottom: 16px;
}

.zilenzo-size-drawer__footer {
    flex-shrink: 0;
    padding: 16px 22px calc(22px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid rgba(17, 17, 17, 0.08);
    background: #fff;
}

.zilenzo-size-drawer__footer-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.zilenzo-size-drawer__footer-top h3 {
    margin: 0;
    font-size: 0.92rem;
    font-weight: 700;
}

.zilenzo-size-drawer__fit-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 14px;
}

.zilenzo-size-drawer__measures-card {
    padding: 12px 14px;
    border-radius: 6px;
    background: #f7f7f7;
}

.zilenzo-size-drawer__fit {
    margin: 0 0 6px;
    color: #4b5563;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.4;
}

.zilenzo-size-drawer__measure-line {
    margin: 0;
    color: rgba(17, 17, 17, 0.72);
    font-size: 0.8rem;
    line-height: 1.55;
}

.zilenzo-size-drawer__measure-line strong {
    color: #111;
    font-weight: 700;
}

.zilenzo-size-drawer__measure-list {
    display: none;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 12px;
    margin: 0;
}

.zilenzo-size-drawer__measure-list-item {
    display: grid;
    gap: 2px;
}

.zilenzo-size-drawer__measure-list-item dt {
    margin: 0;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(17, 17, 17, 0.55);
}

.zilenzo-size-drawer__measure-list-item dd {
    margin: 0;
    font-size: 0.82rem;
    font-weight: 600;
    color: #111;
}

.zilenzo-size-drawer__table-section + .zilenzo-size-drawer__table-section {
    margin-top: 18px;
}

.zilenzo-size-drawer__table-heading,
.zilenzo-size-drawer__measure-heading,
.zilenzo-size-drawer__measure-subheading {
    margin: 0 0 10px;
    font-size: 14px;
    font-weight: 700;
    color: #111111;
}

.zilenzo-size-drawer__profile-note,
.zilenzo-size-drawer__between-sizes,
.size-guide-between-sizes {
    margin: 8px 0 0;
    font-size: 13px;
    line-height: 1.5;
    color: #444444;
}

.zilenzo-size-drawer__between-sizes:last-child,
.size-guide-between-sizes:last-child {
    margin-bottom: 16px;
}

.zilenzo-size-drawer__measure-section + .zilenzo-size-drawer__measure-section {
    margin-top: 16px;
}

.zilenzo-size-drawer__table-wrap {
    overflow-x: auto;
    overflow-y: hidden;
}

.zilenzo-size-drawer__table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    font-size: 0.72rem;
}

.zilenzo-size-drawer__table th,
.zilenzo-size-drawer__table td {
    padding: 10px 2px;
    border-bottom: 1px solid rgba(17, 17, 17, 0.08);
    text-align: center;
    vertical-align: middle;
    white-space: normal;
    line-height: 1.25;
    word-break: break-word;
}

.zilenzo-size-drawer__table thead th {
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(17, 17, 17, 0.72);
    padding-bottom: 8px;
}

.zilenzo-size-drawer__table-size,
.zilenzo-size-drawer__table tbody th {
    width: 12%;
    text-align: left;
    padding-left: 0;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
    font-size: 0.72rem;
}

.zilenzo-size-drawer__unit-toggle {
    display: inline-flex;
    gap: 10px;
}

.zilenzo-size-drawer__unit-btn {
    border: 0;
    background: transparent;
    padding: 0;
    color: rgba(17, 17, 17, 0.45);
    font: inherit;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
}

.zilenzo-size-drawer__unit-btn.is-active {
    color: #111;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.zilenzo-size-drawer__fit-btn {
    min-height: 44px;
    border: 1px solid rgba(17, 17, 17, 0.18);
    border-radius: 2px;
    background: #fff;
    font: inherit;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
}

.zilenzo-size-drawer__fit-btn.is-selected {
    border-color: #111;
    box-shadow: inset 0 0 0 1px #111;
}

.zilenzo-size-guide-link {
    min-height: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #111;
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.zilenzo-size-guide-link:hover {
    background: transparent;
    color: #111;
}

@media (max-width: 768px) {
    .zilenzo-size-drawer > .zilenzo-size-drawer__sheet,
    .zilenzo-info-drawer > .zilenzo-info-drawer__sheet {
        width: 100%;
        top: auto;
        bottom: 0;
        height: min(100dvh, 100%);
        max-height: 100dvh;
        border-radius: 16px 16px 0 0;
        animation: zilenzoSizeDrawerUp 0.28s ease;
    }

    @keyframes zilenzoSizeDrawerUp {
        from {
            transform: translateY(100%);
        }

        to {
            transform: translateY(0);
        }
    }

    .zilenzo-size-drawer__header,
    .zilenzo-info-drawer__header {
        padding: 18px 18px 8px;
    }

    .zilenzo-size-drawer__tabs,
    .zilenzo-size-drawer__panels {
        padding-left: 18px;
        padding-right: 18px;
    }

    .zilenzo-info-drawer__tabs,
    .zilenzo-info-drawer__panels {
        padding-left: 18px;
        padding-right: 18px;
    }

    .zilenzo-size-drawer__footer {
        padding-left: 18px;
        padding-right: 18px;
    }

    .zilenzo-size-drawer__model-image {
        max-height: min(52vw, 280px);
        aspect-ratio: 4 / 5;
    }

    .zilenzo-size-drawer__model-overlays {
        display: none;
    }

    .zilenzo-size-drawer__measure-grid {
        grid-template-columns: 1fr;
    }

    .zilenzo-size-drawer__measure-card:last-child:nth-child(odd) {
        grid-column: auto;
    }

    .zilenzo-size-drawer__measure-card-hint {
        font-size: 0.74rem;
    }

    .zilenzo-size-drawer__fit-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .zilenzo-size-drawer__measure-line--inline {
        display: none;
    }

    .zilenzo-size-drawer__measure-list {
        display: grid;
    }

    .zilenzo-size-drawer__measure-list-item:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }
}

/* Cookieoversigt */
.cookie-table-wrap {
    overflow-x: auto;
    margin-top: 1rem;
}

.cookie-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.cookie-table th,
.cookie-table td {
    border: 1px solid rgba(0, 0, 0, 0.08);
    padding: 0.65rem 0.75rem;
    text-align: left;
    vertical-align: top;
}

.cookie-table th {
    background: rgba(0, 0, 0, 0.03);
    font-weight: 600;
}

.form-hint {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.85rem;
    color: #666;
}

/* 404-side */
.error-page-main {
    display: grid;
    place-items: center;
    min-height: 50vh;
    padding: 2rem 1rem 4rem;
}

.error-page-card {
    max-width: 560px;
    text-align: center;
    padding: 2.5rem 2rem;
}

.error-page-logo {
    margin: 0 auto 1.25rem;
    display: block;
}

.error-page-card h1 {
    margin-bottom: 0.75rem;
}

.error-page-actions {
    display: flex;
    gap: 0.75rem;
    justify-content: center;
    flex-wrap: wrap;
    margin: 1.5rem 0;
}

.error-page-search {
    margin-top: 1rem;
}

/* Forside hero — brandbudskab med tekst til venstre */

.zilenzo-front-hero--homepage {
    /* Kant til kant · 60% af skærmhøjden */
    --zilenzo-homepage-hero-h: 60vh;
    --zilenzo-homepage-hero-h: 60svh;
    --zilenzo-home-hero-object-position: 68% 22%;
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    aspect-ratio: auto;
    height: var(--zilenzo-homepage-hero-h);
    min-height: var(--zilenzo-homepage-hero-h);
    max-height: none;
    isolation: isolate;
    background: #1f2226;
    overflow: hidden;
}

.zilenzo-front-hero--homepage .zilenzo-front-hero-picture {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #1f2226;
}

.zilenzo-front-hero--homepage .zilenzo-front-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: var(--zilenzo-home-hero-object-position, 68% 22%);
    -webkit-transform: none;
    transform: none;
    filter: none;
    z-index: 1;
    image-rendering: auto;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.zilenzo-front-hero--homepage.zilenzo-front-hero--has-video .zilenzo-front-video {
    --zilenzo-home-hero-object-position: center 42%;
    display: block;
    background: #1f2226;
    pointer-events: none;
}

.zilenzo-front-hero--homepage::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: rgba(0, 0, 0, 0.28);
}

.zilenzo-front-content--homepage {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    max-width: none;
    height: 100%;
    margin: 0;
    padding:
        clamp(24px, 4vh, 48px)
        var(--site-edge-padding);
    box-sizing: border-box;
    color: #ffffff;
    pointer-events: none;
    text-align: left;
}

.zilenzo-front-homepage-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(22px, 2.8vh, 30px);
    width: auto;
    max-width: none;
    margin: 0;
    margin-right: auto;
    pointer-events: auto;
}

.zilenzo-front-content--align-center {
    align-items: center;
    text-align: center;
}

.zilenzo-front-homepage-stack--center {
    align-items: center;
    margin-left: auto;
    margin-right: auto;
}

.zilenzo-front-homepage-copy--center {
    align-items: center;
    text-align: center;
}

.zilenzo-front-homepage-stack--center .zilenzo-front-homepage-actions {
    justify-content: center;
}

.zilenzo-front-homepage-copy {
    display: flex;
    flex-direction: column;
    gap: clamp(16px, 2.2vh, 22px);
    width: 100%;
    max-width: 100%;
}

.zilenzo-front-homepage-title {
    margin: 0;
    max-width: 100%;
    font-size: clamp(1.625rem, 0.95vw + 1rem, 2.875rem);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -0.035em;
    color: #ffffff;
    white-space: normal;
    text-shadow:
        0 1px 2px rgba(0, 0, 0, 0.42),
        0 8px 28px rgba(0, 0, 0, 0.38);
}

.zilenzo-front-homepage-lead {
    margin: 0;
    max-width: 640px;
    font-size: clamp(1rem, 0.2vw + 0.92rem, 1.125rem);
    font-weight: 400;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.94);
    text-shadow: 0 1px 14px rgba(0, 0, 0, 0.45);
}

.zilenzo-front-homepage-lead-line1,
.zilenzo-front-homepage-lead-line2 {
    display: block;
}

.zilenzo-front-homepage-actions {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 12px;
    width: auto;
    max-width: 100%;
}

.zilenzo-front-hero--homepage .zilenzo-hero-btn {
    min-height: 52px;
    padding: 0 26px;
    font-size: 1.02rem;
    font-weight: 500;
    border-radius: 5px;
    white-space: nowrap;
    border: none;
}

.zilenzo-front-hero--homepage .zilenzo-hero-btn--primary {
    background: #145c38;
    color: #ffffff;
    box-shadow: 0 10px 28px rgba(20, 92, 56, 0.28);
}

.zilenzo-front-hero--homepage .zilenzo-hero-btn--primary:hover {
    background: #0f3f27;
    color: #ffffff;
    transform: translateY(-1px);
}

.zilenzo-front-hero--homepage .zilenzo-hero-btn--ghost {
    background: #ffffff;
    color: #111111;
    backdrop-filter: none;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
}

.zilenzo-front-hero--homepage .zilenzo-hero-btn--ghost:hover {
    background: #f5f5f5;
    color: #111111;
}

.zilenzo-front-hero--homepage .zilenzo-hero-btn-arrow {
    margin-left: 2px;
    font-size: 0.92em;
    opacity: 0.72;
}

.zilenzo-front-homepage-trust {
    margin: -6px 0 0;
    max-width: 620px;
    font-size: clamp(0.85rem, 0.3vw + 0.78rem, 1rem);
    font-weight: 500;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.82);
    letter-spacing: 0.015em;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.45);
}

.zilenzo-trust-dk-flag {
    display: inline-block;
    width: 1.15em;
    height: 0.82em;
    margin: 0 0.28em;
    vertical-align: -0.08em;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 1px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
    background:
        linear-gradient(#ffffff, #ffffff) 0 42% / 100% 18% no-repeat,
        linear-gradient(#ffffff, #ffffff) 34% 0 / 18% 100% no-repeat,
        #c8102e;
}

@media (min-width: 901px) {
    body[data-page="home"] .top-bar {
        padding-inline: var(--site-edge-padding);
    }

    body[data-page="home"] .navbar {
        padding-inline: var(--site-edge-padding);
        gap: clamp(10px, 1vw, 14px);
    }

    body[data-page="home"] .navbar > .logo {
        margin-left: 0;
        margin-right: clamp(8px, 0.8vw, 12px);
    }

    body[data-page="home"] .nav-links {
        margin-left: 0;
        margin-right: clamp(12px, 1.5vw, 20px);
        padding-left: 0;
    }

    .zilenzo-front-content--homepage {
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        padding:
            clamp(24px, 4vh, 48px)
            var(--site-edge-padding);
    }

    body[data-page="home"] .zilenzo-front-content--homepage {
        padding-inline: var(--site-edge-padding);
    }

    .zilenzo-front-homepage-stack {
        max-width: min(720px, 56vw);
        margin-top: 0;
        margin-bottom: 0;
        margin-right: auto;
        margin-left: 0;
        transform: none;
    }

    .zilenzo-front-hero--homepage .zilenzo-hero-btn {
        min-height: 54px;
        padding: 0 30px;
        font-size: 1.06rem;
    }

    .zilenzo-front-homepage-copy {
        max-width: 100%;
    }

    .zilenzo-front-homepage-title {
        width: max-content;
        max-width: none;
        font-size: clamp(2rem, 0.95vw + 1.2rem, 3rem);
        white-space: nowrap;
        letter-spacing: -0.04em;
    }

    .zilenzo-front-homepage-lead {
        max-width: none;
        width: max-content;
        font-size: 1.125rem;
        line-height: 1.5;
        white-space: nowrap;
    }

    .zilenzo-front-homepage-lead-line1,
    .zilenzo-front-homepage-lead-line2 {
        display: inline;
        white-space: nowrap;
    }

    .zilenzo-front-homepage-lead-line1::after {
        content: " ";
    }
}

@media (max-width: 900px) {
    .zilenzo-front-hero--homepage {
        /* Fyld resten af skærmen under header — så al tekst forbliver synlig */
        --zilenzo-homepage-hero-h: calc(100vh - var(--zilenzo-home-header-h, 108px));
        --zilenzo-homepage-hero-h: calc(100svh - var(--zilenzo-home-header-h, 108px));
        --zilenzo-homepage-hero-pad-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
        width: 100%;
        max-width: 100%;
        margin: 0;
        margin-inline: 0;
        padding-inline: 0;
        left: 0;
        right: 0;
        aspect-ratio: auto;
        height: var(--zilenzo-homepage-hero-h);
        min-height: var(--zilenzo-homepage-hero-h);
        max-height: var(--zilenzo-homepage-hero-h);
    }

    .zilenzo-front-hero--homepage .zilenzo-front-hero-picture {
        position: absolute;
        inset: 0;
        z-index: 1;
        display: block;
        width: 100%;
        height: 100%;
        overflow: hidden;
        background: #1f6fe0;
    }

    .zilenzo-front-hero--homepage .zilenzo-front-image {
        inset: 0;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        height: 100%;
        min-width: 100%;
        min-height: 100%;
        max-width: none;
        object-fit: cover;
        object-position: var(--zilenzo-home-hero-object-position, 62% 18%);
        -webkit-transform: none;
        transform: none;
        filter: none;
        image-rendering: auto;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }

    .zilenzo-front-hero--homepage::before {
        background:
            linear-gradient(
                180deg,
                rgba(8, 14, 20, 0.12) 0%,
                rgba(8, 14, 20, 0) 28%,
                rgba(8, 14, 20, 0.18) 52%,
                rgba(8, 14, 20, 0.62) 78%,
                rgba(8, 14, 20, 0.88) 100%
            );
    }

    .zilenzo-front-content--homepage {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-end;
        width: 100%;
        max-width: none;
        margin: 0;
        padding:
            clamp(12px, 2vh, 20px)
            max(16px, env(safe-area-inset-right, 0px))
            var(--zilenzo-homepage-hero-pad-bottom, calc(88px + env(safe-area-inset-bottom, 0px)))
            max(16px, env(safe-area-inset-left, 0px));
        text-align: left;
        overflow: visible;
    }

    .zilenzo-front-homepage-stack {
        max-width: min(100%, 34rem);
        width: 100%;
        gap: 10px;
        align-items: flex-start;
        text-align: left;
        margin-left: 0;
        margin-right: auto;
        padding-inline: 0;
        box-sizing: border-box;
        max-height: none;
        overflow: visible;
    }

    .zilenzo-front-homepage-copy {
        max-width: 100%;
        width: 100%;
        padding-inline: 0;
        box-sizing: border-box;
        text-align: left;
        gap: 8px;
        display: flex;
        flex-direction: column;
    }

    .zilenzo-front-homepage-title {
        max-width: 100%;
        width: 100%;
        font-size: clamp(1.35rem, 6.2vw, 1.95rem);
        line-height: 1.12;
        letter-spacing: -0.03em;
        white-space: normal;
        text-wrap: balance;
        text-align: left;
        color: #ffffff;
        padding-inline: 0;
        overflow: visible;
        text-overflow: unset;
        text-shadow:
            0 1px 3px rgba(0, 0, 0, 0.82),
            0 6px 22px rgba(0, 0, 0, 0.55);
    }

    .zilenzo-front-homepage-lead {
        width: 100%;
        max-width: 100%;
        font-size: clamp(0.9rem, 3.6vw, 1.05rem);
        font-weight: 500;
        line-height: 1.4;
        letter-spacing: -0.01em;
        color: #ffffff;
        white-space: normal;
        text-align: left;
        overflow: visible;
        text-shadow:
            0 1px 3px rgba(0, 0, 0, 0.78),
            0 5px 18px rgba(0, 0, 0, 0.5);
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }

    .zilenzo-front-homepage-lead-line1,
    .zilenzo-front-homepage-lead-line2 {
        display: block;
        width: 100%;
        max-width: 100%;
        font-size: inherit;
        line-height: inherit;
        letter-spacing: inherit;
        font-weight: inherit;
        white-space: normal;
        text-align: left;
        overflow: visible;
        text-overflow: unset;
    }

    .zilenzo-front-homepage-lead-line1::after {
        content: none;
    }

    .zilenzo-front-homepage-actions {
        flex-direction: row;
        align-items: stretch;
        flex-wrap: nowrap;
        gap: 8px;
        width: 100%;
    }

    .zilenzo-front-hero--homepage .zilenzo-hero-btn {
        width: auto;
        flex: 1 1 0;
        min-width: 0;
        min-height: 44px;
        padding: 0 10px;
        font-size: 0.82rem;
        white-space: nowrap;
        text-align: center;
        border-radius: 8px;
    }

    .zilenzo-front-homepage-trust {
        width: 100%;
        max-width: 100%;
        margin-top: 2px;
        padding-bottom: 0;
        font-size: clamp(0.62rem, 2.4vw, 0.74rem);
        font-weight: 500;
        line-height: 1.35;
        letter-spacing: -0.01em;
        white-space: normal;
        overflow: visible;
        color: rgba(255, 255, 255, 0.9);
        text-shadow:
            0 1px 3px rgba(0, 0, 0, 0.8),
            0 6px 18px rgba(0, 0, 0, 0.6);
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }
}

@supports (height: 100svh) {
    @media (max-width: 900px) {
        .zilenzo-front-hero--homepage {
            --zilenzo-homepage-hero-h: calc(100svh - var(--zilenzo-home-header-h, 108px));
            height: var(--zilenzo-homepage-hero-h);
            min-height: var(--zilenzo-homepage-hero-h);
            max-height: var(--zilenzo-homepage-hero-h);
        }
    }
}

@supports (height: 100dvh) {
    @media (max-width: 900px) {
        .zilenzo-front-hero--homepage {
            --zilenzo-homepage-hero-h: calc(100dvh - var(--zilenzo-home-header-h, 108px));
            height: var(--zilenzo-homepage-hero-h);
            min-height: var(--zilenzo-homepage-hero-h);
            max-height: var(--zilenzo-homepage-hero-h);
        }
    }
}

@media (max-width: 520px) {
    .zilenzo-front-homepage-title,
    body[data-page="home"] .zilenzo-front-homepage-title {
        font-size: clamp(1.28rem, 6vw, 1.85rem);
        letter-spacing: -0.03em;
    }

    .zilenzo-front-homepage-lead,
    body[data-page="home"] .zilenzo-front-homepage-lead {
        font-size: clamp(0.88rem, 3.5vw, 1.02rem);
    }

    .zilenzo-front-homepage-trust,
    body[data-page="home"] .zilenzo-front-homepage-trust {
        font-size: clamp(0.6rem, 2.3vw, 0.72rem);
    }
}

.zilenzo-front-hero--homepage .zilenzo-front-content--homepage h1.zilenzo-front-homepage-title {
    width: auto;
    max-width: none;
    margin: 0;
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -0.035em;
    color: #ffffff;
}

@media (max-width: 900px) {
    .zilenzo-front-hero--homepage .zilenzo-front-content--homepage h1.zilenzo-front-homepage-title {
        width: 100%;
        max-width: 100%;
        white-space: normal;
        text-wrap: balance;
        text-align: left;
    }
}

@media (min-width: 901px) {
    .zilenzo-front-hero--homepage .zilenzo-front-content--homepage h1.zilenzo-front-homepage-title {
        width: max-content;
        max-width: none;
        white-space: nowrap;
    }
}

/* Forside: ens venstre/højre margin */
@media (min-width: 901px) {
    body[data-page="home"] .top-bar {
        padding-inline: var(--site-edge-padding);
    }

    body[data-page="home"] .navbar {
        padding-inline: var(--site-edge-padding);
    }

    body[data-page="home"] .zilenzo-front-content--homepage {
        padding-inline: var(--site-edge-padding);
    }

    body[data-page="home"] .zilenzo-front-homepage-stack {
        margin-left: 0;
        padding-left: 0;
    }

    body[data-page="home"] .popular-products-section > .container,
    body[data-page="home"] .popular-products-section .container {
        padding-inline: var(--site-edge-padding) !important;
    }

    body[data-page="home"] .popular-products-section h2 {
        padding-left: 0;
        margin-left: 0;
    }

    body[data-page="home"] .footer-fusion-container--links-only {
        padding-inline: var(--site-edge-padding);
    }

    body[data-page="home"] .footer-fusion-wordmark-inner {
        padding-inline: var(--site-edge-padding);
    }

    body[data-page="home"] .footer-fusion-wordmark-text {
        padding-inline: 0;
    }

    body[data-page="home"] .site-footer--fusion .footer-bottom-inner,
    body[data-page="home"] .site-footer--fusion .footer-fusion-bottom-inner {
        padding-inline: var(--site-edge-padding);
    }

    body[data-page="home"] .popular-products-section .zilenzo-slider-wrapper:not(.is-touch-carousel) {
        position: relative;
        display: block;
    }

    body[data-page="home"] .popular-products-section .zilenzo-slider-wrapper:not(.is-touch-carousel) .zilenzo-slider-arrow {
        position: absolute;
        top: 38%;
        transform: translateY(-50%);
        z-index: 4;
    }

    body[data-page="home"] .popular-products-section .zilenzo-slider-wrapper:not(.is-touch-carousel) .zilenzo-slider-arrow-left {
        left: 0;
    }

    body[data-page="home"] .popular-products-section .zilenzo-slider-wrapper:not(.is-touch-carousel) .zilenzo-slider-arrow-right {
        right: 0;
    }
}

/* Forside — mobil header + søgning */
@media (max-width: 900px) {
    body[data-page="home"] {
        --zilenzo-home-header-h: 108px;
    }

    body[data-page="home"] .top-bar {
        padding: 8px 14px;
    }

    body[data-page="home"] .navbar {
        padding: 10px 14px;
        gap: 10px;
        background: #ffffff;
        border-bottom: 1px solid rgba(18, 18, 18, 0.07);
        box-shadow: 0 1px 0 rgba(18, 18, 18, 0.04);
    }

    body[data-page="home"] .navbar-brand-row {
        gap: 12px;
        min-width: max-content;
        flex-shrink: 0;
        flex-wrap: nowrap;
    }

    body[data-page="home"] .navbar-brand-row .logo {
        width: 38px;
        height: 38px;
        min-width: 38px;
        max-width: 38px;
    }

    body[data-page="home"] .navbar-brand-row .logo img {
        height: 22px;
        max-width: 30px;
    }

    body[data-page="home"] .mobile-menu-toggle {
        width: 38px;
        height: 38px;
        border-radius: 10px;
        flex-shrink: 0;
    }

    body[data-page="home"] .nav-actions > .search-container {
        padding: 4px 8px 4px 14px;
        border-radius: 999px;
        background: #f0f6f9;
        overflow: visible;
    }

    body[data-page="home"] .nav-actions > .search-container .site-search-dropdown {
        left: 0;
        right: auto;
        width: 100%;
        max-width: 100%;
    }

    body[data-page="home"] .popular-products-section {
        padding-top: 36px;
    }

    body[data-page="home"] .popular-products-section > .container,
    body[data-page="home"] .popular-products-section .container {
        padding-inline: 16px !important;
    }

    body[data-page="home"] .popular-products-section h2 {
        padding-left: 0;
        margin-bottom: 22px;
        font-size: clamp(1.35rem, 5.5vw, 1.65rem);
    }
}

/* Forside hero — mobil Chrome (smal viewport, høj specificitet) */
@media (max-width: 900px) {
    body[data-page="home"] .zilenzo-front-hero--homepage {
        width: 100%;
        max-width: 100%;
        margin: 0;
        margin-inline: 0;
        padding-inline: 0;
        aspect-ratio: auto;
        --zilenzo-homepage-hero-h: calc(100vh - var(--zilenzo-home-header-h, 108px));
        --zilenzo-homepage-hero-h: calc(100svh - var(--zilenzo-home-header-h, 108px));
        --zilenzo-homepage-hero-pad-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
        height: var(--zilenzo-homepage-hero-h);
        min-height: var(--zilenzo-homepage-hero-h);
        max-height: var(--zilenzo-homepage-hero-h);
        padding-top: 0;
        overflow: hidden;
    }

    body[data-page="home"] .zilenzo-front-hero--homepage .zilenzo-front-hero-picture {
        position: absolute;
        inset: 0;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        min-width: 100%;
        min-height: 100%;
        max-width: none;
        margin: 0;
        overflow: hidden;
    }

    body[data-page="home"] .zilenzo-front-hero--homepage .zilenzo-front-image {
        position: absolute;
        inset: 0;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        height: 100%;
        min-width: 100%;
        min-height: 100%;
        max-width: none;
        margin: 0;
        object-fit: cover;
        object-position: center 12%;
        -webkit-transform: none;
        transform: none;
        filter: none;
        image-rendering: auto;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }

    body[data-page="home"] .zilenzo-front-content.zilenzo-front-content--homepage {
        position: absolute;
        inset: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-end;
        width: 100%;
        max-width: none;
        margin: 0;
        padding:
            clamp(12px, 2vh, 20px)
            max(16px, env(safe-area-inset-right, 0px))
            var(--zilenzo-homepage-hero-pad-bottom, calc(88px + env(safe-area-inset-bottom, 0px)))
            max(16px, env(safe-area-inset-left, 0px));
        box-sizing: border-box;
        text-align: left;
        overflow: visible;
    }

    body[data-page="home"] .zilenzo-front-homepage-stack {
        width: auto;
        max-width: min(100%, 34rem);
        margin-left: 0;
        margin-right: auto;
        align-items: flex-start;
        text-align: left;
        box-sizing: border-box;
    }

    body[data-page="home"] .zilenzo-front-homepage-copy,
    body[data-page="home"] .zilenzo-front-homepage-actions,
    body[data-page="home"] .zilenzo-front-homepage-trust {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        text-align: left;
    }

    body[data-page="home"] .zilenzo-front-homepage-actions {
        flex-direction: row;
        gap: 8px;
    }

    body[data-page="home"] .zilenzo-front-homepage-copy {
        text-align: left;
    }

    body[data-page="home"] .zilenzo-front-homepage-title {
        width: 100%;
        max-width: 100%;
        font-size: clamp(1.35rem, 6.2vw, 1.95rem);
        line-height: 1.12;
        letter-spacing: -0.03em;
        white-space: normal;
        text-wrap: balance;
        text-align: left;
        overflow: visible;
        text-overflow: unset;
        text-shadow:
            0 1px 3px rgba(0, 0, 0, 0.82),
            0 6px 22px rgba(0, 0, 0, 0.55);
    }

    body[data-page="home"] .zilenzo-front-homepage-lead {
        width: 100%;
        max-width: 100%;
        font-size: clamp(0.9rem, 3.6vw, 1.05rem);
        font-weight: 500;
        line-height: 1.4;
        letter-spacing: -0.01em;
        color: #ffffff;
        white-space: normal;
        text-align: left;
        overflow: visible;
        text-shadow:
            0 1px 3px rgba(0, 0, 0, 0.78),
            0 5px 18px rgba(0, 0, 0, 0.5);
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }

    body[data-page="home"] .zilenzo-front-homepage-lead-line1,
    body[data-page="home"] .zilenzo-front-homepage-lead-line2 {
        display: block;
        width: 100%;
        max-width: 100%;
        font-size: inherit;
        line-height: inherit;
        letter-spacing: inherit;
        font-weight: inherit;
        white-space: normal;
        text-align: left;
        overflow: visible;
        text-overflow: unset;
    }

    body[data-page="home"] .zilenzo-front-homepage-lead-line1::after {
        content: none;
    }

    body[data-page="home"] .zilenzo-front-homepage-trust {
        width: 100%;
        max-width: 100%;
        margin-top: 2px;
        padding-bottom: 0;
        font-size: clamp(0.62rem, 2.4vw, 0.74rem);
        font-weight: 500;
        line-height: 1.35;
        letter-spacing: -0.01em;
        white-space: normal;
        overflow: visible;
        color: rgba(255, 255, 255, 0.9);
        text-shadow:
            0 1px 3px rgba(0, 0, 0, 0.8),
            0 6px 18px rgba(0, 0, 0, 0.6);
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }

    body[data-page="home"] .top-bar {
        margin-bottom: 0;
    }

    body[data-page="home"] .navbar {
        margin-top: 0;
    }
}

/* ===== Om Zilenzo page (oz-) — brand story layout ===== */
.oz-page {
    --oz-navy: #003b5c;
    --oz-navy-deep: #002a42;
    --oz-ink: #0f2433;
    --oz-muted: #5b6470;
    --oz-soft: #f3f5f6;
    --oz-green: #145c38;
    background: #ffffff;
}

.oz-main {
    width: 100%;
    overflow-x: clip;
}

.oz-kicker {
    margin: 0 0 12px;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--oz-green);
}

.oz-kicker--light { color: rgba(255, 255, 255, 0.72); }
.oz-kicker--center { text-align: center; }

.oz-title {
    margin: 0 0 18px;
    font-size: clamp(1.7rem, 3.2vw, 2.6rem);
    line-height: 1.08;
    letter-spacing: -0.03em;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--oz-ink);
}

.oz-title--light { color: #ffffff; }
.oz-title--center { text-align: center; }

.oz-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 0 22px;
    border-radius: 6px;
    font-size: 0.92rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.oz-btn--ghost {
    background: transparent;
    color: #ffffff !important;
    border: 1.5px solid rgba(255, 255, 255, 0.85);
}

.oz-btn--ghost:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff !important;
}

.oz-btn--primary {
    background: var(--oz-green);
    color: #ffffff !important;
    border: 1.5px solid var(--oz-green);
}

.oz-btn--primary:hover {
    background: #0f3f27;
    color: #ffffff !important;
}

.oz-btn--dark {
    background: var(--oz-navy);
    color: #ffffff !important;
    border: 1.5px solid var(--oz-navy);
}

.oz-btn--dark:hover {
    background: var(--oz-navy-deep);
    color: #ffffff !important;
}

/* Hero split — hele figuren (inkl. fødder) i første viewport på desktop */
.oz-hero {
    --oz-hero-h: calc(100vh - 148px);
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
    height: var(--oz-hero-h);
    max-height: var(--oz-hero-h);
    min-height: 0;
    background: var(--oz-navy);
    color: #ffffff;
    align-items: stretch;
    overflow: hidden;
}

.oz-hero__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    min-height: 0;
    overflow: auto;
    padding: clamp(28px, 4vw, 64px) clamp(28px, 4vw, 72px);
}

.oz-hero .oz-kicker {
    margin: 0 0 18px;
    font-size: clamp(0.95rem, 1.1vw, 1.15rem);
    letter-spacing: 0.2em;
}

.oz-btn--solid {
    background: #ffffff;
    color: #111111 !important;
    border: 1.5px solid #ffffff;
}

.oz-btn--solid:hover {
    background: #f3f3f3;
    color: #111111 !important;
}

.oz-hero__title {
    margin: 0 0 22px;
    max-width: none;
    font-size: clamp(1.75rem, 2.8vw + 0.5rem, 4.25rem);
    line-height: 1.04;
    letter-spacing: -0.035em;
    font-weight: 800;
    text-transform: uppercase;
    color: #ffffff;
    white-space: normal;
    overflow-wrap: anywhere;
    hyphens: auto;
}

.oz-hero__title-line {
    display: block;
    white-space: normal;
    overflow-wrap: anywhere;
}

.oz-hero__lead {
    margin: 0 0 34px;
    max-width: 34ch;
    font-size: clamp(1rem, 0.55vw + 0.85rem, 1.4rem);
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.9);
}

.oz-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.oz-hero .oz-btn {
    min-height: 56px;
    padding: 0 28px;
    font-size: 1rem;
}

.oz-hero__media {
    position: relative;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    overflow: hidden;
    background: #0b1a24;
}

.oz-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

/* Split passion */
.oz-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(28px, 4vw, 56px);
    padding: clamp(48px, 7vw, 88px) var(--site-edge-padding);
    background: #ffffff;
}

.oz-split__media {
    overflow: hidden;
    border-radius: 4px;
    min-height: 320px;
    background: var(--oz-soft);
}

.oz-split__media img {
    width: 100%;
    height: 100%;
    min-height: 360px;
    object-fit: cover;
    display: block;
}

.oz-split__copy p {
    margin: 0 0 14px;
    color: var(--oz-muted);
    line-height: 1.65;
    font-size: 1.02rem;
}

.oz-icon-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
}

.oz-icon-row li {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
    color: var(--oz-ink);
    font-size: 0.86rem;
    line-height: 1.35;
}

.oz-icon-row i {
    font-size: 1.35rem;
    color: var(--oz-green);
}

.oz-icon-row__flag {
    width: 22px;
    height: 15px;
}

.oz-icon-row strong {
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* Timeline */
.oz-timeline {
    padding: clamp(56px, 8vw, 96px) var(--site-edge-padding);
    background: var(--oz-navy);
    color: #ffffff;
}

.oz-timeline__track {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
    margin: 40px 0 0;
    padding: 0;
    list-style: none;
    counter-reset: none;
}

.oz-timeline__track li {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    text-align: center;
    position: relative;
}

.oz-timeline__track li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 28px;
    left: calc(50% + 28px);
    width: calc(100% - 56px);
    height: 1px;
    background: rgba(255, 255, 255, 0.22);
}

.oz-timeline__icon {
    width: 56px;
    height: 56px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    font-size: 1.25rem;
    color: #ffffff;
    z-index: 1;
}

.oz-timeline__track strong {
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.oz-timeline__track p {
    margin: 0;
    max-width: 22ch;
    font-size: 0.88rem;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.72);
    font-weight: 400;
}

/* Develop */
.oz-develop {
    padding: clamp(56px, 8vw, 96px) var(--site-edge-padding);
    background: #ffffff;
}

.oz-develop__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(18px, 2.5vw, 28px);
    margin-top: 36px;
}

.oz-develop__card {
    display: grid;
    gap: 12px;
}

.oz-develop__media {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--oz-soft);
}

.oz-develop__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.oz-develop__step {
    margin: 0;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--oz-green);
}

.oz-develop__card > p:last-child {
    margin: 0;
    color: var(--oz-muted);
    line-height: 1.55;
}

/* Values */
.oz-values {
    padding: clamp(56px, 8vw, 96px) var(--site-edge-padding);
    background: var(--oz-soft);
}

.oz-values__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-top: 36px;
}

.oz-values__card {
    background: #ffffff;
    padding: 0 0 22px;
    text-align: left;
    display: grid;
    gap: 12px;
    min-height: 0;
    align-content: start;
    overflow: hidden;
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.oz-values__card .oz-values__media {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #e8eef2;
    border-radius: 14px 14px 0 0;
}

.oz-values__card .oz-values__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

.oz-values__card--community .oz-values__media img {
    object-position: center 35%;
}

.oz-values__card i {
    display: none;
}

.oz-values__card h3 {
    margin: 4px 18px 0;
    font-size: 0.92rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--oz-ink);
}

.oz-values__card p {
    margin: 0 18px;
    color: var(--oz-muted);
    line-height: 1.5;
    font-size: 0.95rem;
}

/* Feature split */
.oz-feature {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    min-height: 480px;
    background: var(--oz-navy);
}

.oz-feature__media {
    min-height: 320px;
    overflow: hidden;
}

.oz-feature__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 35%;
    display: block;
}

.oz-feature__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: clamp(36px, 6vw, 72px);
    color: #ffffff;
}

.oz-feature__lead {
    margin: 0 0 22px;
    max-width: 36ch;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.05rem;
    line-height: 1.55;
}

.oz-checklist {
    margin: 0 0 28px;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 14px;
}

.oz-checklist li {
    position: relative;
    padding-left: 34px;
    color: rgba(255, 255, 255, 0.92);
    font-weight: 600;
}

.oz-checklist li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.15em;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23145c38' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.2l2.8 2.8 6.2-6.2'/%3E%3C/svg%3E") center / 12px no-repeat;
}

/* Founder */
.oz-founder {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(28px, 4vw, 56px);
    padding: clamp(56px, 8vw, 96px) var(--site-edge-padding);
    background: #ffffff;
}

.oz-founder__media {
    overflow: hidden;
    min-height: 360px;
    background: var(--oz-soft);
}

.oz-founder__media img {
    width: 100%;
    height: 100%;
    min-height: 400px;
    object-fit: cover;
    display: block;
}

.oz-founder__quote {
    margin: 0 0 24px;
    font-size: clamp(1.15rem, 2vw, 1.45rem);
    line-height: 1.45;
    color: var(--oz-ink);
    font-weight: 600;
}

.oz-founder__sign {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.55rem;
    color: var(--oz-ink);
}

.oz-founder__role {
    margin: 4px 0 0;
    font-size: 0.9rem;
    color: var(--oz-muted);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/* CTA banner */
.oz-cta-banner {
    position: relative;
    min-height: clamp(360px, 52vh, 560px);
    display: grid;
    place-items: center;
    overflow: hidden;
    background: var(--oz-navy);
    color: #ffffff;
    text-align: center;
}

.oz-cta-banner__media,
.oz-cta-banner__overlay {
    position: absolute;
    inset: 0;
}

.oz-cta-banner__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 38%;
    opacity: 0.72;
}

.oz-cta-banner__overlay {
    background:
        radial-gradient(ellipse at center, rgba(0, 59, 92, 0.25) 0%, rgba(0, 42, 66, 0.62) 70%, rgba(0, 42, 66, 0.8) 100%),
        linear-gradient(180deg, rgba(0, 59, 92, 0.35) 0%, rgba(0, 42, 66, 0.25) 40%, rgba(0, 42, 66, 0.6) 100%);
}

.oz-cta-banner__content {
    position: relative;
    z-index: 1;
    padding: clamp(48px, 7vw, 80px) clamp(20px, 4vw, 40px);
    max-width: 1100px;
}

.oz-cta-banner__title,
.oz-page .oz-cta-banner__title {
    margin: 0 0 18px;
    font-size: clamp(2.4rem, 5.5vw, 4.5rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
    text-transform: uppercase;
    font-weight: 800;
    color: #ffffff !important;
    text-shadow:
        0 2px 4px rgba(0, 0, 0, 0.45),
        0 12px 36px rgba(0, 0, 0, 0.4);
}

.oz-cta-banner__content p {
    margin: 0;
    color: rgba(255, 255, 255, 0.95);
    font-size: clamp(1.1rem, 1.5vw, 1.35rem);
    line-height: 1.45;
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
}

/* Closing */
.oz-closing {
    padding: clamp(48px, 7vw, 80px) var(--site-edge-padding) clamp(64px, 8vw, 96px);
    background: #ffffff;
}

.oz-closing__card {
    max-width: 720px;
    margin: 0 auto 40px;
    padding: clamp(28px, 4vw, 40px);
    border: 1px solid rgba(15, 23, 42, 0.08);
    text-align: center;
    background: #ffffff;
    box-shadow: 0 16px 40px rgba(8, 18, 28, 0.06);
}

.oz-closing__card h2 {
    margin: 0 0 10px;
    font-size: clamp(1.4rem, 2.5vw, 1.85rem);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.oz-closing__card p {
    margin: 0 0 22px;
    color: var(--oz-muted);
}

.oz-closing__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

.oz-trust {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.oz-trust li {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 64px;
    padding: 14px 12px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: var(--oz-soft);
    color: var(--oz-ink);
    font-size: 0.9rem;
    font-weight: 600;
    text-align: center;
}

.oz-trust i {
    color: var(--oz-green);
    font-size: 1.15rem;
}

.shop-catalog-hero__trust .zilenzo-trust-dk-flag {
    width: 18px;
    height: 12px;
    margin: 0;
    flex: 0 0 auto;
}

@media (max-width: 980px) {
    .oz-hero,
    .oz-split,
    .oz-feature,
    .oz-founder {
        grid-template-columns: 1fr;
    }

    .oz-hero {
        height: auto;
        max-height: none;
        min-height: 0;
        overflow: visible;
    }

    .oz-hero__media {
        min-height: min(72vh, 620px);
        height: min(72vh, 620px);
        max-height: min(72vh, 620px);
        order: -1;
    }

    .oz-hero__media img {
        object-fit: cover;
        object-position: center center;
    }

    .oz-hero__title {
        max-width: none;
        font-size: clamp(1.45rem, 5.5vw, 2.2rem);
        line-height: 1.12;
    }

    .oz-hero__title-line {
        white-space: normal;
    }

    .oz-hero__lead {
        max-width: none;
        font-size: clamp(0.95rem, 2.8vw, 1.12rem);
        margin-bottom: clamp(18px, 4vw, 28px);
    }

    .oz-hero__copy {
        padding: clamp(22px, 5vw, 36px) var(--site-edge-padding);
    }

    .oz-hero .oz-btn {
        min-height: 48px;
        padding: 0 20px;
        font-size: 0.88rem;
    }

    .oz-timeline__track {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .oz-timeline__track li:not(:last-child)::after {
        display: none;
    }

    .oz-develop__grid,
    .oz-values__grid,
    .oz-trust {
        grid-template-columns: 1fr 1fr;
    }

    .oz-icon-row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .oz-develop__grid,
    .oz-values__grid,
    .oz-trust {
        grid-template-columns: 1fr;
    }

    .oz-closing__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .oz-hero__media {
        min-height: min(58vh, 480px);
        height: min(58vh, 480px);
        max-height: min(58vh, 480px);
    }

    .oz-hero__title {
        font-size: clamp(1.35rem, 7vw, 1.85rem);
    }

    .oz-hero__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .oz-hero .oz-btn {
        width: 100%;
    }
}

/* Om Zilenzo — desktop/tablet orientering */
@media (min-width: 981px) and (max-width: 1280px) {
    .oz-hero__copy {
        padding: clamp(24px, 3vw, 48px);
    }

    .oz-hero__title {
        font-size: clamp(1.9rem, 2.8vw, 3rem);
    }

    .oz-hero__lead {
        font-size: clamp(1rem, 1.2vw, 1.2rem);
    }
}

@media (min-width: 981px) and (orientation: portrait) {
    .oz-hero {
        --oz-hero-h: auto;
        height: auto;
        max-height: none;
        grid-template-columns: 1fr;
    }

    .oz-hero__media {
        min-height: min(42vh, 480px);
        height: min(42vh, 480px);
        max-height: min(42vh, 480px);
        order: -1;
    }

    .oz-hero__copy {
        padding: clamp(28px, 4vw, 48px) var(--site-edge-padding);
    }

    .oz-hero__title {
        font-size: clamp(1.75rem, 4.2vw, 2.65rem);
    }
}

@media (min-width: 981px) and (orientation: landscape) and (max-height: 720px) {
    .oz-hero {
        --oz-hero-h: calc(100svh - 128px);
    }

    .oz-hero__copy {
        padding: clamp(20px, 3vh, 36px) clamp(24px, 3vw, 48px);
    }

    .oz-hero__title {
        margin-bottom: 14px;
        font-size: clamp(1.65rem, 2.6vw, 2.35rem);
    }

    .oz-hero__lead {
        margin-bottom: 18px;
        font-size: clamp(0.92rem, 1.1vw, 1.05rem);
    }

    .oz-hero .oz-btn {
        min-height: 44px;
        padding: 0 18px;
        font-size: 0.86rem;
    }
}

/* ===== Kundeservice / kontakt page (ks-) ===== */
.ks-page {
    --ks-navy: #0b1f3a;
    --ks-navy-deep: #081628;
    --ks-ink: #142033;
    --ks-muted: #5b6678;
    --ks-soft: #f2f4f7;
    --ks-line: rgba(15, 30, 55, 0.12);
    --ks-green: #145c38;
    --ks-green-dark: #0f4a2c;
    background: #ffffff;
    color: var(--ks-ink);
}

.ks-main {
    width: 100%;
    overflow-x: clip;
}

.ks-wrap {
    width: min(1120px, calc(100% - 40px));
    margin: 0 auto;
}

.ks-kicker {
    margin: 0 0 12px;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--ks-green);
}

.ks-kicker--light {
    color: rgba(255, 255, 255, 0.7);
}

.ks-section {
    padding: 72px 0;
}

.ks-section-title {
    margin: 0 0 28px;
    font-size: clamp(1.55rem, 3vw, 2.15rem);
    line-height: 1.1;
    letter-spacing: -0.03em;
    font-weight: 800;
    text-transform: uppercase;
    text-align: center;
    color: var(--ks-ink);
}

.ks-section-title--left {
    text-align: left;
    margin-bottom: 12px;
}

.ks-section-lead {
    margin: 0 0 28px;
    max-width: 42ch;
    color: var(--ks-muted);
    font-size: 1.02rem;
    line-height: 1.55;
}

.ks-section-lead--center {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    max-width: 48ch;
}

.ks-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 0 22px;
    border-radius: 6px;
    border: 1px solid transparent;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.ks-btn--green {
    background: var(--ks-green);
    color: #fff;
}

.ks-btn--green:hover {
    background: var(--ks-green-dark);
    color: #fff;
}

.ks-btn--white {
    background: #fff;
    color: var(--ks-navy);
}

.ks-btn--white:hover {
    background: #f3f6f9;
    color: var(--ks-navy);
}

.ks-btn--ghost-light {
    background: transparent;
    color: #fff;
    border-color: rgba(255, 255, 255, 0.55);
}

.ks-btn--ghost-light:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.ks-btn--outline {
    background: #fff;
    color: var(--ks-ink);
    border-color: var(--ks-line);
}

.ks-btn--outline:hover {
    border-color: var(--ks-green);
    color: var(--ks-green);
}

.ks-btn--block { width: 100%; }
.ks-btn--sm { min-height: 42px; padding: 0 16px; font-size: 0.82rem; }
.ks-btn--lg { min-height: 54px; padding: 0 28px; }

.ks-field {
    display: grid;
    gap: 8px;
    margin-bottom: 16px;
}

.ks-field > span {
    font-size: 0.86rem;
    font-weight: 700;
    color: var(--ks-ink);
}

.ks-field input,
.ks-field select,
.ks-field textarea {
    width: 100%;
    min-height: 50px;
    padding: 12px 14px;
    border: 1px solid var(--ks-line);
    border-radius: 8px;
    background: #fff;
    color: var(--ks-ink);
    font: inherit;
}

.ks-field textarea {
    min-height: 150px;
    resize: vertical;
}

.ks-field input:focus,
.ks-field select:focus,
.ks-field textarea:focus {
    outline: 2px solid rgba(20, 92, 56, 0.25);
    border-color: var(--ks-green);
}

.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;
}

/* Hero */
.ks-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 88px 0 96px;
    background:
        radial-gradient(1200px 500px at 50% -10%, rgba(255, 255, 255, 0.08), transparent 60%),
        linear-gradient(180deg, var(--ks-navy) 0%, var(--ks-navy-deep) 100%);
    color: #fff;
    text-align: center;
}

.ks-hero__rings {
    position: absolute;
    inset: -20% -10%;
    background:
        radial-gradient(circle at 18% 70%, transparent 0 18%, rgba(255,255,255,0.05) 18.5% 19%, transparent 19.5%),
        radial-gradient(circle at 82% 35%, transparent 0 22%, rgba(255,255,255,0.05) 22.5% 23%, transparent 23.5%),
        radial-gradient(circle at 50% 110%, transparent 0 34%, rgba(255,255,255,0.04) 34.5% 35%, transparent 35.5%);
    pointer-events: none;
    z-index: 0;
}

.ks-hero__inner {
    position: relative;
    z-index: 1;
    width: min(1080px, calc(100% - 40px));
    margin: 0 auto;
}

.ks-hero__title {
    margin: 0 0 14px;
    font-size: clamp(1.55rem, 3.6vw, 3.15rem);
    line-height: 1.08;
    letter-spacing: -0.035em;
    font-weight: 800;
    text-transform: uppercase;
    color: #ffffff;
    white-space: nowrap;
    animation: ks-fade-up 0.75s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.ks-hero__lead {
    margin: 0 auto 28px;
    max-width: none;
    color: rgba(255, 255, 255, 0.82);
    font-size: clamp(0.95rem, 1.35vw, 1.12rem);
    line-height: 1.4;
    white-space: nowrap;
    animation: ks-fade-up 0.75s 0.08s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.ks-hero-search {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0;
    align-items: stretch;
    max-width: 720px;
    margin: 0 auto;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
    animation: ks-fade-up 0.75s 0.16s cubic-bezier(0.22, 1, 0.36, 1) both;
    z-index: 5;
}

.ks-hero-search__field {
    display: grid;
    grid-template-columns: 22px 1fr auto;
    align-items: center;
    gap: 10px;
    padding: 0 14px 0 18px;
    min-height: 56px;
}

.ks-hero-search__icon {
    color: #8a93a3;
    font-size: 1.05rem;
}

.ks-hero-search input {
    width: 100%;
    min-height: 56px;
    border: 0;
    padding: 0;
    font: inherit;
    color: var(--ks-ink);
    background: transparent;
}

.ks-hero-search input::-webkit-search-decoration,
.ks-hero-search input::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
}

.ks-hero-search input:focus {
    outline: none;
}

.ks-hero-search__clear {
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 50%;
    background: #eef1f5;
    color: var(--ks-ink);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.ks-hero-search__clear[hidden] {
    display: none !important;
}

.ks-hero-search .ks-btn {
    border-radius: 0 14px 14px 0;
    min-width: 112px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 800;
}

.ks-hero-search__panel {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 8px);
    background: #fff;
    border: 1px solid var(--ks-line);
    border-radius: 12px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
    overflow: hidden;
    text-align: left;
    z-index: 6;
}

.ks-hero-search__panel[hidden] {
    display: none !important;
}

.ks-hero-suggest {
    width: 100%;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
    padding: 12px 14px;
    border: 0;
    background: #fff;
    color: var(--ks-ink);
    text-align: left;
    cursor: pointer;
    font: inherit;
}

.ks-hero-suggest:hover,
.ks-hero-suggest.is-active {
    background: #f3f6f8;
}

.ks-hero-suggest__tag {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--ks-green);
    background: rgba(20, 92, 56, 0.1);
    border-radius: 999px;
    padding: 4px 8px;
}

.ks-hero-suggest__label {
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.3;
}

.ks-hero-search__chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin: 16px auto 0;
    max-width: 720px;
    animation: ks-fade-up 0.75s 0.22s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.ks-hero-chip {
    appearance: none;
    border: 1px solid rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    border-radius: 999px;
    padding: 8px 14px;
    font-size: 0.88rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.18s ease, border-color 0.18s ease;
}

.ks-hero-chip:hover {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.45);
}

.ks-hero-search__msg {
    margin: 14px auto 0;
    max-width: 720px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.95rem;
    line-height: 1.4;
    animation: ks-fade-up 0.35s ease both;
}

.ks-hero-search__msg.is-error {
    color: #ffd5d5;
}

/* Topics */
.ks-topics__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.ks-topic {
    position: relative;
    display: grid;
    gap: 10px;
    min-height: 168px;
    padding: 24px 22px 20px;
    border: 1px solid var(--ks-line);
    border-radius: 12px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;
}

.ks-topic:hover {
    border-color: rgba(20, 92, 56, 0.35);
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(15, 30, 55, 0.08);
}

.ks-topic.is-dimmed { opacity: 0.35; }
.ks-topic.is-match {
    border-color: var(--ks-green);
    box-shadow: 0 12px 28px rgba(20, 92, 56, 0.12);
}

.ks-topic__icon {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--ks-ink);
    font-size: 1.45rem;
}

.ks-topic__title {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.ks-topic__text {
    margin: 0;
    color: var(--ks-muted);
    font-size: 0.95rem;
    line-height: 1.45;
    max-width: 28ch;
}

.ks-topic__arrow {
    position: absolute;
    right: 18px;
    bottom: 16px;
    color: var(--ks-green);
    font-size: 1.1rem;
}

/* Order */
.ks-order {
    background: var(--ks-soft);
}

.ks-order__card {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 0;
    align-items: stretch;
    background: #fff;
    border: 1px solid var(--ks-line);
    border-radius: 16px;
    overflow: hidden;
}

.ks-order__form-col {
    padding: 36px 36px 32px;
}

.ks-order__track-col {
    padding: 36px 32px 28px;
    border-left: 1px solid var(--ks-line);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.ks-order__grid {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 48px;
    align-items: center;
}

.ks-order-form {
    display: grid;
    gap: 16px;
    max-width: 420px;
}

.ks-order-form .ks-field {
    display: grid;
    gap: 8px;
    margin: 0;
}

.ks-order-form .ks-field span {
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--ks-ink);
}

.ks-order-form .ks-field input {
    width: 100%;
    min-height: 50px;
    padding: 12px 14px;
    border: 1px solid rgba(15, 30, 55, 0.16);
    border-radius: 10px;
    background: #fff;
    color: var(--ks-ink);
    font-size: 1rem;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.ks-order-form .ks-field input::placeholder {
    color: #9aa3b2;
}

.ks-order-form .ks-field input:focus {
    outline: none;
    border-color: rgba(20, 92, 56, 0.55);
    box-shadow: 0 0 0 3px rgba(20, 92, 56, 0.12);
}

.ks-order-form .ks-field input.is-invalid {
    border-color: rgba(185, 28, 28, 0.55);
    box-shadow: 0 0 0 3px rgba(185, 28, 28, 0.1);
}

.ks-order-form__submit {
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 800;
    min-height: 52px;
}

.ks-order-form__submit.is-loading {
    opacity: 0.78;
    pointer-events: none;
}

.ks-order-form__secure {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: var(--ks-muted);
    font-size: 0.88rem;
}

.ks-order-form__hint {
    margin: 0;
    color: var(--ks-muted);
    font-size: 0.86rem;
    line-height: 1.4;
}

.ks-order-form__msg {
    margin: 0;
    padding: 12px 14px;
    border-radius: 8px;
    background: rgba(20, 92, 56, 0.08);
    color: var(--ks-green-dark);
    font-size: 0.92rem;
    line-height: 1.45;
}

.ks-order-form__msg.is-error {
    background: rgba(185, 28, 28, 0.08);
    color: #991b1b;
}

.ks-order__result {
    margin: 14px 0 0;
    padding: 16px 16px 14px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid var(--ks-line);
    font-size: 0.92rem;
    line-height: 1.5;
    color: var(--ks-ink);
    display: grid;
    gap: 10px;
    animation: ks-order-fade 0.35s ease;
}

@keyframes ks-order-fade {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

.ks-order__result.is-error {
    border-color: rgba(185, 28, 28, 0.25);
    background: rgba(185, 28, 28, 0.05);
}

.ks-order__result.is-success {
    border-color: rgba(20, 92, 56, 0.22);
}

.ks-order__result-title {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 800;
    color: var(--ks-ink);
}

.ks-order__result-text {
    margin: 0;
    color: var(--ks-muted);
}

.ks-order__result-meta {
    margin: 0;
    font-size: 0.88rem;
    color: var(--ks-ink);
}

.ks-order__result-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    align-items: center;
}

.ks-order__result a {
    color: var(--ks-green);
    font-weight: 700;
}

.ks-order__track-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.ks-icon-svg {
    width: 28px;
    height: 28px;
    display: block;
    color: inherit;
}

.ks-icon-svg--lg {
    width: 34px;
    height: 34px;
}

.ks-tracker {
    --ks-progress: 0;
    --ks-icon-size: 40px;
    --ks-dot-size: 30px;
    --ks-icon-dot-gap: 8px;
    --ks-line-top: calc(var(--ks-icon-size) + var(--ks-icon-dot-gap) + (var(--ks-dot-size) / 2));
    list-style: none;
    margin: 0;
    padding: 8px 4px 4px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    background: transparent;
    border: 0;
    border-radius: 0;
    position: relative;
}

.ks-tracker::before,
.ks-tracker::after {
    content: "";
    position: absolute;
    left: 12.5%;
    top: var(--ks-line-top);
    height: 2px;
    transform: translateY(-50%);
}

.ks-tracker::before {
    right: 12.5%;
    background: rgba(15, 30, 55, 0.16);
}

.ks-tracker::after {
    width: calc((100% - 25%) * (var(--ks-progress) / 3));
    max-width: calc(100% - 25%);
    background: var(--ks-green);
    transition: width 0.45s ease;
}

.ks-tracker__step {
    display: grid;
    justify-items: center;
    grid-template-rows: var(--ks-icon-size) var(--ks-dot-size) auto;
    gap: var(--ks-icon-dot-gap);
    text-align: center;
    position: relative;
    z-index: 1;
}

.ks-tracker__icon {
    width: var(--ks-icon-size);
    height: var(--ks-icon-size);
    border-radius: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: #5f6878;
    font-size: 1.55rem;
    transition: color 0.25s ease;
}

.ks-tracker__dot {
    width: var(--ks-dot-size);
    height: var(--ks-dot-size);
    border-radius: 50%;
    border: 2px solid rgba(15, 30, 55, 0.2);
    background: #fff;
    color: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    box-shadow: 0 0 0 3px #fff;
    transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.ks-tracker__step.is-done .ks-tracker__icon,
.ks-tracker__step.is-active .ks-tracker__icon {
    background: transparent;
    color: var(--ks-green);
}

.ks-tracker__step.is-done .ks-tracker__dot {
    background: var(--ks-green);
    border-color: var(--ks-green);
    color: #fff;
}

.ks-tracker__step.is-active .ks-tracker__dot {
    background: var(--ks-green);
    border-color: var(--ks-green);
    color: #fff;
    transform: scale(1.18);
    box-shadow: 0 0 0 4px rgba(20, 92, 56, 0.14);
}

.ks-tracker__step.is-active .ks-tracker__icon {
    transform: none;
    box-shadow: none;
}

.ks-tracker__label {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--ks-muted);
}

.ks-tracker__step.is-active .ks-tracker__label {
    color: var(--ks-green);
}

.ks-tracker__step.is-done .ks-tracker__label {
    color: var(--ks-ink);
}

.ks-order__missing {
    display: inline-block;
    margin-top: 18px;
    color: #1d4f91;
    font-weight: 700;
    font-size: 0.92rem;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.ks-order__missing:hover {
    color: var(--ks-green);
}

/* Return */
.ks-return {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    min-height: 480px;
    background: var(--ks-navy);
    color: #fff;
}

.ks-return__media {
    min-height: 320px;
    overflow: hidden;
}

.ks-return__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ks-return__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(48px, 6vw, 72px) clamp(36px, 5vw, 64px);
}

.ks-return__content .ks-kicker {
    margin-bottom: 14px;
    font-size: 0.95rem;
    letter-spacing: 0.14em;
}

.ks-return__title {
    margin: 0 0 14px;
    font-size: clamp(1.55rem, 3.2vw, 2.85rem);
    line-height: 1.08;
    letter-spacing: -0.03em;
    font-weight: 800;
    text-transform: uppercase;
    color: #ffffff;
    max-width: none;
    white-space: nowrap;
}

.ks-return__lead {
    margin: 0 0 28px;
    color: rgba(255, 255, 255, 0.86);
    font-size: clamp(1rem, 1.45vw, 1.2rem);
    line-height: 1.35;
    max-width: none;
    font-weight: 500;
    white-space: nowrap;
}

.ks-return__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 20px;
}

.ks-return__steps {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, auto));
    justify-content: start;
    column-gap: 22px;
    row-gap: 10px;
}

.ks-return__steps li {
    display: grid;
    gap: 8px;
    justify-items: start;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    color: rgba(255, 255, 255, 0.95);
}

.ks-return__step-icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 1.5px solid rgba(255, 255, 255, 0.4);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
}

/* FAQ */
.ks-faq__layout {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 36px;
    align-items: start;
}

.ks-faq__cats {
    display: grid;
    gap: 4px;
}

.ks-faq__cat {
    appearance: none;
    border: 0;
    background: transparent;
    text-align: left;
    padding: 12px 14px;
    border-left: 3px solid transparent;
    border-radius: 0 8px 8px 0;
    font: inherit;
    font-weight: 700;
    color: var(--ks-muted);
    cursor: pointer;
}

.ks-faq__cat.is-active,
.ks-faq__cat:hover {
    color: var(--ks-green);
    background: rgba(20, 92, 56, 0.06);
    border-left-color: var(--ks-green);
}

.ks-faq__item {
    border: 1px solid var(--ks-line);
    border-radius: 10px;
    background: #fff;
    margin-bottom: 12px;
    overflow: hidden;
}

.ks-faq__item summary {
    list-style: none;
    cursor: pointer;
    padding: 18px 52px 18px 18px;
    font-weight: 700;
    position: relative;
}

.ks-faq__item summary::-webkit-details-marker { display: none; }

.ks-faq__item summary::after {
    content: "+";
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.35rem;
    font-weight: 500;
    color: var(--ks-muted);
}

.ks-faq__item[open] summary::after {
    content: "–";
    color: var(--ks-green);
}

.ks-faq__item p {
    margin: 0;
    padding: 0 18px 18px;
    color: var(--ks-muted);
    line-height: 1.55;
}

.ks-faq__more {
    display: flex;
    justify-content: center;
    margin-top: 28px;
}

/* Guides */
.ks-guides {
    padding-top: 24px;
}

.ks-guides__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.ks-guide {
    display: grid;
    grid-template-columns: 104px 1fr;
    gap: 20px;
    align-items: center;
    padding: 28px;
    border: 1px solid var(--ks-line);
    border-radius: 12px;
    background: #fff;
}

.ks-guide__visual {
    width: 96px;
    min-height: 96px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: var(--ks-soft);
    color: var(--ks-ink);
    flex: 0 0 96px;
    padding: 10px;
}

.ks-guide__visual--care {
    flex-wrap: wrap;
    width: 104px;
    flex: 0 0 104px;
    gap: 4px;
    padding: 12px;
}

.ks-guide__visual--care .ks-guide__img {
    width: 36px;
    height: 36px;
}

.ks-guide__img {
    width: 48px;
    height: 48px;
    object-fit: contain;
    display: block;
}

.ks-guide__img--measure {
    width: 78px;
    height: 78px;
}

.ks-topic__img {
    width: 34px;
    height: 34px;
    object-fit: contain;
    display: block;
}

.ks-modal__icon {
    margin: 0 0 12px;
}

.ks-modal__icon img {
    width: 72px;
    height: 72px;
    object-fit: contain;
    display: block;
}

.ks-guide__title {
    margin: 0 0 8px;
    font-size: 1.05rem;
    font-weight: 800;
    text-transform: uppercase;
}

.ks-guide__body p {
    margin: 0 0 16px;
    color: var(--ks-muted);
    line-height: 1.5;
}

/* Contact */
.ks-contact {
    background: var(--ks-soft);
}

.ks-contact__intro {
    margin-bottom: 28px;
}

.ks-contact__channels {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 28px;
}

.ks-channel {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 220px;
    padding: 28px 22px 24px;
    border: 1px solid var(--ks-line);
    border-radius: 14px;
    background: #fff;
    text-align: center;
    box-shadow: 0 8px 24px rgba(15, 30, 55, 0.04);
}

.ks-channel__icon {
    display: inline-flex;
    width: 52px;
    height: 52px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(20, 92, 56, 0.1);
    color: var(--ks-green);
    font-size: 1.35rem;
    margin-bottom: 14px;
}

.ks-channel h3 {
    margin: 0 0 10px;
    font-size: 0.95rem;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--ks-ink);
}

.ks-channel__link {
    color: var(--ks-green) !important;
    font-weight: 700;
    text-decoration: none;
}

.ks-channel__link:hover {
    color: var(--ks-green-dark) !important;
    text-decoration: underline;
}

.ks-channel p {
    margin: 8px 0 0;
    color: var(--ks-muted);
    font-size: 0.92rem;
    line-height: 1.45;
    flex: 1;
}

.ks-channel .ks-btn {
    margin-top: 18px;
}

.ks-channel .ks-btn--green,
.ks-channel a.ks-btn--green,
.ks-channel a.ks-btn--green:hover,
.ks-channel a.ks-btn--green:focus {
    background: var(--ks-green);
    color: #ffffff !important;
}

.ks-channel .ks-btn--green span,
.ks-channel .ks-btn--green i {
    color: #ffffff !important;
}

.ks-contact__form-card {
    padding: 28px;
    border: 1px solid var(--ks-line);
    border-radius: 14px;
    background: #fff;
}

.ks-form__row--3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.ks-form__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 18px;
}

.ks-form__footer .ks-check {
    flex: 1;
    min-width: 0;
    max-width: 52ch;
}

.ks-form__footer #contactSubmitBtn,
.ks-form__footer .ks-btn--green {
    flex-shrink: 0;
    background: var(--ks-green);
    color: #ffffff !important;
}

.ks-form__footer #contactSubmitBtn span,
.ks-form__footer #contactSubmitBtn i,
.ks-form__footer .ks-btn--green span,
.ks-form__footer .ks-btn--green i {
    color: #ffffff !important;
}

.ks-form__footer #contactSubmitBtn:hover,
.ks-form__footer .ks-btn--green:hover {
    background: var(--ks-green-dark);
    color: #ffffff !important;
}

.ks-form__footer #contactSubmitBtn:disabled {
    opacity: 0.72;
    cursor: wait;
}

.ks-check {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    font-size: 0.9rem;
    color: var(--ks-muted);
    line-height: 1.45;
}

.ks-check input {
    margin-top: 3px;
}

.ks-check a {
    color: var(--ks-green);
}

.ks-page .contact-honeypot {
    position: absolute;
    left: -9999px;
    opacity: 0;
    height: 0;
    width: 0;
    pointer-events: none;
}

.ks-page .contact-file-field {
    margin: 4px 0 0;
}

.ks-page .contact-file-upload {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.ks-page .contact-file-hint {
    margin: 0;
    margin-left: auto;
    font-size: 0.82rem;
    color: var(--ks-muted);
}

.ks-page .contact-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    overflow: hidden;
}

.ks-page .contact-file-name {
    margin: 0;
    font-size: 0.85rem;
    color: var(--ks-muted);
}

/* Trust */
.ks-trust {
    padding: 28px 0;
    background: #e9edf2;
    border-top: 1px solid rgba(15, 30, 55, 0.06);
}

.ks-trust__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.ks-trust__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--ks-ink);
}

.ks-trust__item i {
    color: var(--ks-green);
    font-size: 1.15rem;
}

@keyframes ks-fade-up {
    from {
        opacity: 0;
        transform: translateY(16px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 980px) {
    .ks-topics__grid,
    .ks-order__grid,
    .ks-order__card,
    .ks-return,
    .ks-faq__layout,
    .ks-guides__grid,
    .ks-contact__channels,
    .ks-form__row--3,
    .ks-trust__grid {
        grid-template-columns: 1fr;
    }

    .ks-order__track-col {
        border-left: 0;
        border-top: 1px solid var(--ks-line);
    }

    .ks-hero__title,
    .ks-hero__lead {
        white-space: normal;
    }

    .ks-return__steps {
        grid-template-columns: 1fr;
    }

    .ks-tracker {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }

    .ks-tracker::before,
    .ks-tracker::after {
        display: none;
    }

    .ks-return__content {
        padding: 40px 24px 48px;
    }

    .ks-return__title,
    .ks-return__lead {
        white-space: normal;
    }

    .ks-hero-search {
        border-radius: 12px;
    }

    .ks-hero-search .ks-btn {
        border-radius: 0 12px 12px 0;
    }

    .ks-form__footer {
        flex-direction: column;
        align-items: stretch;
    }

    .ks-form__footer .ks-check {
        max-width: none;
    }

    .ks-form__footer #contactSubmitBtn {
        width: 100%;
    }

    .ks-topics__grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .ks-hero {
        padding: 64px 0 72px;
    }

    .ks-hero-search {
        grid-template-columns: 1fr;
    }

    .ks-hero-search .ks-btn {
        border-radius: 0 0 12px 12px;
        min-height: 48px;
    }

    .ks-hero-search__panel {
        top: calc(100% + 6px);
    }

    .ks-topics__grid {
        grid-template-columns: 1fr;
    }

    .ks-guide {
        grid-template-columns: 1fr;
        justify-items: start;
    }

    .ks-section {
        padding: 56px 0;
    }
}

/* Kundeservice modals */
body.ks-modal-open {
    overflow: hidden;
}

.ks-modal[hidden] {
    display: none !important;
}

.ks-modal {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    place-items: center;
    padding: 20px;
}

.ks-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 18, 28, 0.55);
}

.ks-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(640px, 100%);
    max-height: min(86vh, 820px);
    overflow: auto;
    padding: 28px 24px 24px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 24px 60px rgba(8, 18, 28, 0.28);
    color: var(--ks-ink);
}

.ks-modal__dialog h2 {
    margin: 0 0 12px;
    font-size: clamp(1.35rem, 2.5vw, 1.7rem);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: -0.02em;
}

.ks-modal__close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 50%;
    background: var(--ks-soft);
    color: var(--ks-ink);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.ks-modal__close:hover {
    background: #e5e9ef;
}

.ks-modal__lead,
.ks-modal__hint {
    margin: 0 0 18px;
    color: var(--ks-muted);
    line-height: 1.55;
}

.ks-modal__hint {
    margin-top: 14px;
    font-size: 0.92rem;
}

.ks-modal__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.ks-size-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--ks-line);
    border-radius: 10px;
}

.ks-size-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.92rem;
}

.ks-size-table th,
.ks-size-table td {
    padding: 12px 14px;
    text-align: left;
    border-bottom: 1px solid var(--ks-line);
}

.ks-size-table th {
    background: var(--ks-soft);
    font-weight: 800;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.06em;
}

.ks-size-table tr:last-child td {
    border-bottom: 0;
}

.ks-care-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 12px;
}

.ks-care-list li {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 14px;
    align-items: center;
    padding: 14px 16px;
    border: 1px solid var(--ks-line);
    border-radius: 10px;
    background: #fafbfc;
    color: var(--ks-ink);
    line-height: 1.45;
}

.ks-care-list__icon {
    width: 40px;
    height: 40px;
    object-fit: contain;
    display: block;
}

.ks-faq__item a {
    color: var(--ks-green);
    font-weight: 700;
}
/* ========== Handelsbetingelser hub (terms-hub) ========== */

.terms-hub-page {
    background: #ffffff;
}

.terms-hub {
    display: block;
}

.terms-hub-inner {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding-inline: clamp(16px, 3.5vw, 48px);
    box-sizing: border-box;
}

.terms-hub-hero {
    position: relative;
    isolation: isolate;
    width: 100%;
    min-height: clamp(360px, 56vh, 580px);
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    background: #0b1220;
}

.terms-hub-hero__media {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.terms-hub-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

.terms-hub-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(8, 14, 28, 0.82) 0%, rgba(8, 14, 28, 0.55) 48%, rgba(8, 14, 28, 0.28) 100%),
        linear-gradient(180deg, rgba(8, 14, 28, 0.15) 0%, rgba(8, 14, 28, 0.55) 100%);
}

.terms-hub-hero__content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: clamp(52px, 9vh, 96px) clamp(16px, 3.5vw, 48px) clamp(44px, 7vh, 80px);
    color: #ffffff;
    box-sizing: border-box;
}

.terms-hub-hero__content h1 {
    margin: 0 0 8px;
    max-width: 18ch;
    font-size: clamp(2.2rem, 5vw, 3.4rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.05;
    color: #ffffff;
}

.terms-hub-hero__accent {
    margin: 0 0 16px;
    max-width: 22ch;
    font-size: clamp(1.35rem, 3vw, 2rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #7dffa3;
    line-height: 1.15;
}

.terms-hub-hero__lead {
    margin: 0;
    max-width: 38rem;
    font-size: clamp(0.98rem, 1.6vw, 1.12rem);
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
}

.terms-hub-hero__rule {
    display: block;
    width: 64px;
    height: 3px;
    margin-top: 22px;
    border-radius: 999px;
    background: #7dffa3;
}

.terms-hub-topics {
    padding: clamp(52px, 7vw, 96px) 0 clamp(36px, 5vw, 56px);
    background: #ffffff;
}

.terms-hub-intro {
    max-width: 720px;
    margin: 0 auto 48px;
    text-align: center;
}

.terms-hub-kicker {
    margin: 0 0 10px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #1f9d57;
}

.terms-hub-intro h2 {
    margin: 0 0 12px;
    font-size: clamp(1.85rem, 3.4vw, 2.55rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #0b1220;
}

.terms-hub-intro p {
    margin: 0;
    color: rgba(11, 18, 32, 0.68);
    line-height: 1.65;
    font-size: 1.06rem;
}

.terms-hub-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 20px;
}

.terms-hub-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    min-height: 230px;
    padding: 28px 24px 24px;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    background: #ffffff;
    color: #0b1220;
    text-decoration: none;
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.03);
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.terms-hub-card:hover,
.terms-hub-card:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(31, 157, 87, 0.35);
    box-shadow: 0 16px 36px rgba(11, 18, 32, 0.1);
    outline: none;
}

.terms-hub-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 14px;
    background: rgba(15, 23, 42, 0.04);
    color: #0b1220;
    font-size: 1.45rem;
}

.terms-hub-card:hover .terms-hub-card__icon {
    background: rgba(31, 157, 87, 0.12);
    color: #147a42;
}

.terms-hub-card strong {
    font-size: 1.12rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    line-height: 1.25;
}

.terms-hub-card > span {
    flex: 1 1 auto;
    font-size: 0.98rem;
    line-height: 1.5;
    color: rgba(11, 18, 32, 0.62);
}

.terms-hub-card em {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    font-style: normal;
    font-size: 0.95rem;
    font-weight: 700;
    color: #1f9d57;
}

.terms-hub-trust {
    padding: 0;
    width: 100%;
}

.terms-hub-trust > .terms-hub-inner {
    padding-inline: 0;
}

.terms-hub-trust__panel {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.6fr);
    gap: 32px;
    align-items: stretch;
    width: 100%;
    margin: 0;
    padding: clamp(36px, 5vw, 56px) clamp(16px, 3.5vw, 48px);
    border-radius: 0;
    background: linear-gradient(135deg, #0f3d2e 0%, #14523c 55%, #0d3326 100%);
    color: #ffffff;
    box-shadow: none;
}

.terms-hub-trust__lead {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.terms-hub-trust__shield {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 16px;
    border: 1.5px solid rgba(125, 255, 163, 0.45);
    color: #7dffa3;
    font-size: 1.55rem;
}

.terms-hub-trust__lead h2 {
    margin: 0 0 10px;
    font-size: clamp(1.25rem, 2.4vw, 1.55rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #ffffff;
}

.terms-hub-trust__lead p {
    margin: 0;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.82);
}

.terms-hub-trust__cols {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.terms-hub-trust__cols article {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 4px 4px 4px 16px;
    border-left: 1px solid rgba(255, 255, 255, 0.14);
}

.terms-hub-trust__cols article i {
    color: #7dffa3;
    font-size: 1.2rem;
}

.terms-hub-trust__cols h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
    color: #ffffff;
}

.terms-hub-trust__cols p {
    margin: 0;
    flex: 1 1 auto;
    font-size: 0.9rem;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.78);
}

.terms-hub-trust__cols a,
.terms-hub-trust__cols a:link,
.terms-hub-trust__cols a:visited,
.terms-hub-trust__cols a:hover,
.terms-hub-trust__cols a:focus,
.terms-hub-trust__cols a:focus-visible,
.terms-hub-trust__cols a:active,
a.terms-hub-trust__link,
a.terms-hub-trust__link:link,
a.terms-hub-trust__link:visited,
a.terms-hub-trust__link:hover,
a.terms-hub-trust__link:focus,
a.terms-hub-trust__link:focus-visible,
a.terms-hub-trust__link:active {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    color: #ffffff !important;
    font-weight: 700;
    font-size: 0.9rem;
    text-decoration: none;
}

.terms-hub-trust__cols a i,
a.terms-hub-trust__link i {
    color: #ffffff !important;
}

.terms-hub-trust__cols a:hover,
.terms-hub-trust__cols a:focus-visible,
a.terms-hub-trust__link:hover,
a.terms-hub-trust__link:focus-visible {
    text-decoration: underline;
}

.terms-hub-usp {
    padding: 0;
    width: 100%;
}

.terms-hub-usp > .terms-hub-inner,
.terms-hub-usp__row.terms-hub-inner {
    padding-inline: 0;
}

.terms-hub-usp__row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    width: 100%;
    border: 0;
    border-block: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 0;
    background: #f7faf8;
    overflow: hidden;
}

.terms-hub-usp__item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 28px clamp(16px, 3vw, 36px);
    border-right: 1px solid rgba(15, 23, 42, 0.08);
}

.terms-hub-usp__item:last-child {
    border-right: 0;
}

.terms-hub-usp__item i {
    flex: 0 0 auto;
    color: #1f9d57;
    font-size: 1.35rem;
}

.terms-hub-usp__item strong {
    display: block;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #0b1220;
}

.terms-hub-usp__item span {
    display: block;
    margin-top: 2px;
    font-size: 0.88rem;
    color: rgba(11, 18, 32, 0.62);
}

@media (max-width: 1100px) {
    .terms-hub-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .terms-hub-trust__panel {
        grid-template-columns: 1fr;
    }

    .terms-hub-usp__row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .terms-hub-usp__item:nth-child(2) {
        border-right: 0;
    }

    .terms-hub-usp__item:nth-child(1),
    .terms-hub-usp__item:nth-child(2) {
        border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    }
}

@media (max-width: 760px) {
    .terms-hub-inner {
        width: 100%;
        padding-inline: 16px;
    }

    .terms-hub-hero__content {
        width: 100%;
        margin: 0;
        padding: 48px 16px 36px;
    }

    .terms-hub-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .terms-hub-card {
        min-height: 0;
        padding: 24px 20px;
    }

    .terms-hub-trust__cols {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .terms-hub-trust__cols article {
        border-left: 0;
        border-top: 1px solid rgba(255, 255, 255, 0.14);
        padding: 16px 0 0;
    }

    .terms-hub-trust__cols article:first-child {
        border-top: 0;
        padding-top: 0;
    }

    .terms-hub-usp__row {
        grid-template-columns: 1fr;
    }

    .terms-hub-usp__item {
        border-right: 0;
        border-bottom: 1px solid rgba(15, 23, 42, 0.08);
        padding: 22px 16px;
    }

    .terms-hub-usp__item:last-child {
        border-bottom: 0;
    }

    .terms-hub-usp__item:nth-child(1),
    .terms-hub-usp__item:nth-child(2) {
        border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    }
}

@media (max-width: 480px) {
    .terms-hub-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   Handelsbetingelser document layout (terms-doc)
   ============================================================ */
.terms-doc-page {
    background: #f6f7f9;
}

.terms-doc {
    --td-ink: #0b1220;
    --td-muted: rgba(11, 18, 32, 0.62);
    --td-green: #1f9d57;
    --td-green-dark: #147a42;
    --td-dark: #0c1118;
    --td-card: #ffffff;
    --td-line: rgba(15, 23, 42, 0.1);
}

.terms-doc-hero {
    background: #0b2a4a;
    color: #fff;
    padding: 0;
    min-height: 32px;
    height: 32px;
    border-bottom: 0;
}

.terms-doc-hero__inner {
    display: none;
}

.terms-doc-hero h1 {
    margin: 0 0 10px;
    font-size: clamp(2.5rem, 5vw, 3.75rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.08;
    color: var(--td-ink);
}

.terms-doc-hero__accent {
    margin: 0 0 14px;
    color: var(--td-green-dark);
    font-size: clamp(1.05rem, 2vw, 1.35rem);
    font-weight: 700;
}

.terms-doc-hero__lead {
    margin: 0;
    max-width: 42rem;
    color: var(--td-muted);
    font-size: 1.08rem;
    line-height: 1.65;
}

.terms-doc-hero__visual {
    display: flex;
    justify-content: center;
    align-items: center;
}

.terms-doc-hero__shield {
    width: clamp(140px, 18vw, 200px);
    height: clamp(140px, 18vw, 200px);
    border-radius: 28px;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(13, 61, 46, 0.12);
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.12);
}

.terms-doc-hero__shield .material-symbols-outlined {
    font-size: clamp(64px, 10vw, 96px);
    color: var(--td-green-dark);
    font-variation-settings: "FILL" 0, "wght" 300, "GRAD" 0, "opsz" 48;
}

.terms-doc-features {
    list-style: none;
    margin: 0;
    padding: 22px var(--site-edge-padding, clamp(20px, 4vw, 70px));
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
    border-top: 1px solid var(--td-line);
    background: #fff;
    box-sizing: border-box;
}

.terms-doc-features li {
    padding: 0;
}

.terms-doc-features a {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    transition: background 0.15s ease;
}

.terms-doc-features a:hover,
.terms-doc-features a:focus-visible {
    background: rgba(13, 61, 46, 0.06);
    outline: none;
}

.terms-doc-features .material-symbols-outlined {
    color: var(--td-green-dark);
    font-size: 30px;
    font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 28;
    flex-shrink: 0;
}

.terms-doc-features strong {
    display: block;
    font-size: 0.78rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 800;
    line-height: 1.25;
    color: var(--td-ink);
}

.terms-doc-features em {
    display: block;
    font-style: normal;
    font-size: 0.85rem;
    color: var(--td-muted);
    margin-top: 2px;
}

.terms-doc-body {
    width: 100%;
    margin: 0;
    padding: 28px var(--site-edge-padding, clamp(20px, 4vw, 70px)) 20px;
    box-sizing: border-box;
}

.terms-doc-layout {
    display: grid;
    grid-template-columns: minmax(260px, 300px) minmax(0, 1fr);
    gap: 14px;
    align-items: start;
}

.terms-doc-aside {
    position: sticky;
    top: 88px;
    display: grid;
    gap: 18px;
}

.terms-doc-toc,
.terms-doc-shortcuts {
    background: var(--td-card);
    border: 1px solid var(--td-line);
    border-radius: 18px;
    padding: 22px 18px;
}

.terms-doc-toc h2,
.terms-doc-shortcuts h2 {
    margin: 0 0 14px;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--td-ink);
}

.terms-doc-toc__nav,
.terms-doc-shortcuts nav {
    display: grid;
    gap: 2px;
}

.terms-doc-toc__nav a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 10px;
    border-radius: 999px;
    text-decoration: none;
    color: var(--td-ink);
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.25;
    transition: background 0.15s ease, color 0.15s ease;
}

.terms-doc-toc__nav a span {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    background: var(--td-ink);
    color: #fff;
    font-size: 0.68rem;
    font-weight: 800;
}

.terms-doc-toc__nav a:hover,
.terms-doc-toc__nav a:focus-visible {
    background: rgba(15, 23, 42, 0.06);
}

.terms-doc-toc__nav a.is-active {
    background: rgba(15, 23, 42, 0.08);
}

.terms-doc-toc__nav a.is-active span {
    background: var(--td-green);
}

.terms-doc-shortcuts a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 6px;
    text-decoration: none;
    color: var(--td-ink);
    font-size: 0.88rem;
    font-weight: 600;
    border-radius: 8px;
}

.terms-doc-shortcuts a:hover {
    color: var(--td-green-dark);
}

.terms-doc-shortcuts .material-symbols-outlined {
    font-size: 20px;
    color: var(--td-ink);
}

.terms-doc-content {
    min-width: 0;
}

.terms-doc-pagehead {
    margin: 0 0 20px;
    padding: 8px 4px 4px;
}

.terms-doc-pagehead__kicker {
    margin: 0 0 8px;
    color: var(--td-green-dark);
    font-weight: 700;
    font-size: 0.95rem;
}

.terms-doc-pagehead h1 {
    margin: 0 0 12px;
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--td-ink);
}

.terms-doc-pagehead__lead {
    margin: 0;
    max-width: 40rem;
    color: var(--td-muted);
    line-height: 1.65;
    font-size: 1.05rem;
}

.terms-doc-intro {
    background: var(--td-card);
    border: 1px solid var(--td-line);
    border-radius: 20px;
    padding: 40px 40px 36px;
    margin-bottom: 16px;
    scroll-margin-top: 100px;
    display: block;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.terms-doc-intro:hover,
.terms-doc-intro:focus-visible,
.terms-doc-card:hover,
.terms-doc-card:focus-visible {
    border-color: rgba(31, 157, 87, 0.45);
    box-shadow: 0 14px 36px rgba(15, 23, 42, 0.1);
    transform: translateY(-2px);
    outline: none;
}

.terms-doc-intro h2 {
    margin: 0 0 14px;
    font-size: clamp(1.5rem, 2.4vw, 1.85rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--td-ink);
}

.terms-doc-intro p {
    margin: 0 0 12px;
    color: var(--td-muted);
    line-height: 1.7;
    font-size: 1.05rem;
}

.terms-doc-intro p:last-of-type {
    margin-bottom: 18px;
}

.terms-doc-intro .terms-doc-card__more {
    margin-top: 0;
}

.terms-doc-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.terms-doc-card {
    background: var(--td-card);
    border: 1px solid var(--td-line);
    border-radius: 20px;
    padding: 40px 36px 36px;
    scroll-margin-top: 100px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-height: 280px;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.terms-doc-card > .material-symbols-outlined {
    color: var(--td-green);
    font-size: 44px;
    font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 40;
    margin-bottom: 4px;
    transition: color 0.15s ease;
}

.terms-doc-card:hover > .material-symbols-outlined,
.terms-doc-card:focus-visible > .material-symbols-outlined {
    color: var(--td-green-dark);
}

.terms-doc-card h3 {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -0.015em;
    color: var(--td-ink);
    line-height: 1.25;
}

.terms-doc-card p,
.terms-doc-card li {
    margin: 0;
    color: var(--td-muted);
    font-size: 1.05rem;
    line-height: 1.65;
}

.terms-doc-card ul {
    margin: 4px 0 6px;
    padding-left: 1.15rem;
}

.terms-doc-card li + li {
    margin-top: 2px;
}

.terms-doc-card__more {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-style: normal;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--td-green-dark);
}

.terms-doc-card__more .material-symbols-outlined {
    font-size: 18px;
}

.terms-doc-card:hover .terms-doc-card__more,
.terms-doc-intro:hover .terms-doc-card__more {
    color: var(--td-green);
}

.terms-doc-cta {
    background: #eef1f4;
    border-top: 1px solid var(--td-line);
    margin-top: 20px;
}

.terms-doc-cta__inner {
    width: 100%;
    margin: 0;
    padding: 44px 20px;
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) auto minmax(240px, 0.7fr);
    gap: 32px;
    align-items: center;
}

.terms-doc-cta__lead {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.terms-doc-cta__icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid var(--td-line);
    display: grid;
    place-items: center;
    flex-shrink: 0;
}

.terms-doc-cta__icon .material-symbols-outlined {
    color: var(--td-green);
    font-size: 28px;
}

.terms-doc-cta__lead h2 {
    margin: 0 0 6px;
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--td-ink);
}

.terms-doc-cta__lead p {
    margin: 0;
    color: var(--td-muted);
    line-height: 1.5;
    font-size: 0.95rem;
}

.terms-doc-cta__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 22px;
    border-radius: 10px;
    background: var(--td-green-dark);
    color: #fff !important;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.95rem;
    white-space: nowrap;
    transition: background 0.15s ease, transform 0.15s ease;
}

.terms-doc-cta__btn:hover {
    background: #0f5f34;
    transform: translateY(-1px);
}

.terms-doc-cta__btn .material-symbols-outlined {
    font-size: 18px;
    color: #fff !important;
}

.terms-doc-cta__meta {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
}

.terms-doc-cta__meta li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.9rem;
    color: var(--td-ink);
    font-weight: 600;
}

.terms-doc-cta__meta a {
    color: inherit;
    text-decoration: none;
}

.terms-doc-cta__meta a:hover {
    color: var(--td-green-dark);
}

.terms-doc-cta__meta .material-symbols-outlined {
    color: var(--td-green);
    font-size: 20px;
}

@media (max-width: 1020px) {
    .terms-doc-layout {
        grid-template-columns: 1fr;
    }

    .terms-doc-aside {
        position: static;
        grid-template-columns: 1fr 1fr;
    }

    .terms-doc-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .terms-doc-card {
        min-height: 240px;
    }

    .terms-doc-features {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .terms-doc-cta__inner {
        grid-template-columns: 1fr;
        justify-items: start;
    }
}

@media (max-width: 760px) {
    .terms-doc-hero__inner,
    .terms-doc-body,
    .terms-doc-features,
    .terms-doc-cta__inner {
        width: 100%;
        padding-left: 16px;
        padding-right: 16px;
    }

    .terms-doc-hero__inner {
        grid-template-columns: 1fr;
        padding-top: 40px;
        padding-bottom: 28px;
        text-align: left;
    }

    .terms-doc-hero__visual {
        order: -1;
        justify-content: flex-start;
    }

    .terms-doc-hero__shield {
        width: 110px;
        height: 110px;
    }

    .terms-doc-features {
        grid-template-columns: 1fr 1fr;
        gap: 4px;
        padding-bottom: 22px;
    }

    .terms-doc-aside {
        grid-template-columns: 1fr;
    }

    .terms-doc-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .terms-doc-card {
        min-height: 0;
        padding: 28px 24px;
    }

    .terms-doc-intro {
        padding: 28px 24px;
    }

    .terms-doc-toc__nav {
        max-height: 280px;
        overflow: auto;
    }
}

@media (max-width: 480px) {
    .terms-doc-features {
        grid-template-columns: 1fr;
    }
}
