/*!
 * @file     global/tokens.css
 * @segment  global
 * @extends  —
 *
 * Digistore24 global CSS: Design tokens
 *
 * Single source of truth for all --ds24-* CSS custom properties.
 *
 * Notes:
 * - Never add unprefixed custom properties.
 * - Segment token overrides live in segments/[x]/tokens.css, scoped to [data-segment="x"].
 *
 */:root{--ds24-color-accent: #63D1DE;--ds24-color-black: #000;--ds24-color-white: #fff;--ds24-color-gray: #828990;--ds24-color-dark-gray: #828990;--ds24-color-light-gray: #E5E5E5;--ds24-color-bg-off: rgba(93, 172, 255, .15);--ds24-color-muted: #9da9b0;--ds24-color-border: rgba(157, 169, 176, .25);--ds24-color-blue: #0288d1;--ds24-gradient-button: linear-gradient(200deg, #3146a0 10%, #0288d1 100%);--ds24-color-black-90: rgba(0, 0, 0, .9);--ds24-color-black-50: rgba(0, 0, 0, .5);--ds24-color-black-30: rgba(0, 0, 0, .3);--ds24-color-black-20: rgba(0, 0, 0, .2);--ds24-color-black-10: rgba(0, 0, 0, .1);--ds24-color-white-90: rgba(255, 255, 255, .9);--ds24-color-white-50: rgba(255, 255, 255, .5);--ds24-color-white-30: rgba(255, 255, 255, .3);--ds24-color-white-20: rgba(255, 255, 255, .2);--ds24-color-white-10: rgba(255, 255, 255, .1);--ds24-font-family: "HelveticaNeuePro", Arial, sans-serif;--ds24-font-light: 300;--ds24-font-medium: 500;--ds24-font-bold: 700;--ds24-max-width: 1280px;--ds24-space-xlarge: 120px;--ds24-space-large: 80px;--ds24-space-default: 40px;--ds24-space-small: 30px;--ds24-space-xsmall: 20px;--ds24-space-btn-large: 24px;--ds24-space-btn-default: 16px;--ds24-space-btn-small: 12px;--ds24-radius-card: 20px;--ds24-header-height: 70px;--ds24-subnav-height: 0px}@media (min-width: 1024px) and (max-width: 1439px){:root{--ds24-space-xlarge: 90px;--ds24-space-large: 60px;--ds24-space-default: 30px;--ds24-space-small: 20px;--ds24-space-xsmall: 16px}}@media (max-width: 767px){:root{--ds24-space-xlarge: 60px;--ds24-space-large: 40px;--ds24-space-default: 20px;--ds24-space-small: 18px;--ds24-space-xsmall: 16px}}/*!
 * @file     global/fonts.css
 * @segment  global
 * @extends  —
 *
 * Digistore24 global CSS: Fonts
 *
 * @font-face declarations for HelveticaNeuePro (Light 300, Medium 500, Bold 700).
 *
 * Notes:
 * - Font files are subject to the MyFonts EULA.
 *
 *//**
 * @license
 * MyFonts Webfont Build ID 3867246, 2020-12-16T11:57:38-0500
 *
 * The fonts listed in this notice are subject to the End User License
 * Agreement(s) entered into by the website owner. All other parties are
 * explicitly restricted from using the Licensed Webfonts(s).
 *
 * You may obtain a valid license at the URLs below.
 * 
 * Webfont: Neue Helvetica Pro 45 Light by myfonts-production
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica Pro 65 Medium by myfonts-production
 * URL: https://www.myfonts.com/collections/linotype-foundry

 * Webfont: Neue Helvetica Pro 75 Bold by myfonts-production
 * URL: https://www.myfonts.com/collections/linotype-foundry
 *
 * © 2025 MyFonts Inc.
 */@font-face{font-family:HelveticaNeuePro;src:url(/ds24-assets/fonts/NeueHelveticaPro45Light/font.woff2) format("woff2"),url(/ds24-assets/fonts/NeueHelveticaPro45Light/font.woff) format("woff");font-weight:300;font-style:normal}@font-face{font-family:HelveticaNeuePro;src:url(/ds24-assets/fonts/NeueHelveticaPro65Medium/font.woff2) format("woff2"),url(/ds24-assets/fonts/NeueHelveticaPro65Medium/font.woff) format("woff");font-weight:500;font-style:normal}@font-face{font-family:HelveticaNeuePro;src:url(/ds24-assets/fonts/NeueHelveticaPro75Bold/font.woff2) format("woff2"),url(/ds24-assets/fonts/NeueHelveticaPro75Bold/font.woff) format("woff");font-weight:700;font-style:normal}/*!
 * @file     global/reset.css
 * @segment  global
 * @extends  —
 *
 * Digistore24 global CSS: Reset
 *
 * Box-sizing reset and base element normalization.
 *
 * Notes:
 * - No component or utility classes here.
 *
 */*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--ds24-font-family);font-weight:var(--ds24-font-light);font-size:16px;line-height:1.4;color:var(--ds24-color-black);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;scroll-padding-top:calc(var(--ds24-header-height) + var(--ds24-subnav-height) + var(--ds24-space-default))}body{background:var(--ds24-color-white);min-height:100vh;padding-top:calc(var(--ds24-header-height) + var(--ds24-subnav-height))}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}/*!
 * @file     global/typography.css
 * @segment  global
 * @extends  —
 *
 * Digistore24 global CSS: Typography
 *
 * Base heading and body type scale using --ds24-* tokens.
 *
 * Notes:
 * - TODO: Replace with real global type scale in next phase.
 *   Currently mirrors blog typography. Segment overrides go in segments/[x]/tokens.css.
 *
 */h1,h2,h3,h4,h5,h6{font-weight:var(--ds24-font-bold);line-height:1}h1{font-size:50px;line-height:1}h2{font-size:30px}h3{font-size:24px}h4{font-size:20px}h5{font-size:18px}@media (max-width: 767px){h1{font-size:32px}h2{font-size:24px}h3{font-size:20px}}/*!
 * @file     global/utilities.css
 * @segment  global
 * @type     ds24-layout-- | ds24-element--
 *
 * Digistore24 global CSS: Utilities
 *
 * Shared layout containers, accessibility helpers, buttons, and meta elements.
 *
 * Notes:
 * - ds24-element--button variants are scoped under the identity class.
 * - ds24-element--meta and ds24-element--read-more are shared blog utilities for now.
 *
 */.ds24-layout--container{max-width:var(--ds24-max-width);margin:0 auto;padding:80px 40px}@media (max-width: 767px){.ds24-layout--container{padding:40px 20px}}.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}.ds24-element--button{display:inline-block;font-family:var(--ds24-font-family);font-weight:var(--ds24-font-medium);font-size:16px;padding:14px 20px 12px;border:none;cursor:pointer;text-decoration:none;text-align:center}.ds24-element--button.type--primary{background-color:var(--ds24-color-black);border:1px solid var(--ds24-color-black);color:var(--ds24-color-white);transition:all .2s ease-in-out}.ds24-element--button.type--primary:hover{opacity:.8}.ds24-element--button.type--secondary{background:var(--ds24-color-bg-off);color:var(--ds24-color-black);transition:all .2s ease-in-out}.ds24-element--button.type--secondary:hover{background:var(--ds24-color-border);opacity:.8}.ds24-element--button.type--outline{background:transparent;color:var(--ds24-color-black);border:1px solid currentColor;padding:18px 28px 14px;transition:all .2s ease-in-out}.ds24-element--button.type--outline:hover{color:var(--ds24-color-blue);opacity:.8}.ds24-element--link-btn{display:inline-flex;align-items:center;font-weight:var(--ds24-font-medium);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:2px;transition:opacity .2s ease-in-out;cursor:pointer;border:none;background:none;color:var(--ds24-color-black);gap:6px}.ds24-element--link-btn:hover{opacity:.8;text-decoration:none}.ds24-element--link-btn:focus-visible{outline:3px dotted #005fcc;outline-offset:3px}.ds24-element--link-btn.mode--inverted{color:var(--ds24-color-white)}.ds24-element--link-btn.mode--inverted .ds24-element--icon{filter:invert(1)}.ds24-element--link-btn.size--lg{font-size:21px;text-decoration-thickness:2.5px;text-underline-offset:2.5px;gap:10px}.ds24-element--link-btn.size--md{font-size:18px;text-decoration-thickness:2px;text-underline-offset:2px;gap:8px}.ds24-element--link-btn.size--sm{font-size:16px;text-decoration-thickness:2px;text-underline-offset:2px;gap:6px}.ds24-element--link-btn.size--xs{font-size:14px;text-decoration-thickness:1.5px;text-underline-offset:2px;gap:4px}.ds24-element--link-btn .ds24-element--icon{display:inline-flex;align-items:center;line-height:0;flex-shrink:0;transition:transform .3s ease}.ds24-element--link-btn .ds24-element--icon svg{width:14px;height:14px;stroke-width:2px}.ds24-element--link-btn:hover .ds24-element--icon{transform:translate(4px)}.ds24-element--read-more{display:inline-flex;font-size:14px;font-weight:var(--ds24-font-medium);color:var(--ds24-color-black);text-decoration:none;position:relative;align-items:center}.ds24-element--read-more:after{content:"";display:inline-flex;position:absolute;bottom:-3px;left:0;width:100%;height:2px;background:var(--ds24-color-accent);transition:.3s}.ds24-element--read-more:hover:after{width:50%}.ds24-element--read-more .chevron{width:6px;height:6px;border-width:1.5px 1.5px 0 0;border-style:solid;border-color:var(--ds24-color-black);transform:rotate(45deg);display:inline-block;top:-1px;position:relative;margin-left:4px}.ds24-element--meta{font-size:14px;font-weight:var(--ds24-font-medium);color:var(--ds24-color-black);display:flex;align-items:center;justify-content:space-between}.ds24-element--meta .meta-item{display:inline-flex;align-items:center;gap:8px}.ds24-element--meta .meta-icon{flex-shrink:0;color:var(--ds24-color-muted);position:relative;top:-2px;width:18px;height:18px;stroke-width:2px}.ds24-element--button-block{margin:1.5em 0;display:flex}.ds24-element--button-block.align--left{justify-content:flex-start}.ds24-element--button-block.align--center{justify-content:center}.ds24-element--button-block.align--right{justify-content:flex-end}/*!
 * @file     segments/blog/typography.css
 * @segment  blog
 * @extends  global/typography.css
 *
 * Digistore24 blog-specific CSS overrides: Typography
 *
 * Blog-scoped heading and body type scale. Mirrors global/typography.css — frozen from future global changes.
 *
 * Notes:
 * - Scoped under .ds24-segment--blog to isolate from global typography redesigns.
 * - TODO: When global typography is designed, remove duplicated rules and keep only blog-specific overrides here.
 *
 */.ds24-segment--blog h1,.ds24-segment--blog h2,.ds24-segment--blog h3,.ds24-segment--blog h4,.ds24-segment--blog h5,.ds24-segment--blog h6{font-weight:var(--ds24-font-bold);line-height:1}.ds24-segment--blog h1{font-size:50px;line-height:1}.ds24-segment--blog h2{font-size:30px}.ds24-segment--blog h3{font-size:24px}.ds24-segment--blog h4{font-size:20px}.ds24-segment--blog h5{font-size:18px}@media (max-width: 767px){.ds24-segment--blog h1{font-size:32px}.ds24-segment--blog h2{font-size:24px}.ds24-segment--blog h3{font-size:20px}}/*!
 * @file     global/header.css
 * @segment  global
 * @type     ds24-component--header
 *
 * Digistore24 component-specific CSS: Header
 *
 * Global header bar — fixed white bar with logo, desktop nav, additional nav,
 * login/CTA group, and language trigger. Dropdown and sidenav styles are in
 * header-dropdown.css and header-sidenav.css respectively.
 *
 * Notes:
 * - Breakpoint threshold: 1024px (desktop/mobile switch).
 * - filter: invert(1) on .header-bar.is--dropdown-open flips bar to white-on-black
 *   when a dropdown panel is open — matches the black panel background.
 * - Depends on: global/tokens.css → --ds24-header-height, --ds24-space-*, --ds24-color-*
 *
 */.ds24-component--header{position:fixed;top:0;left:0;right:0;z-index:100}.ds24-component--header .header-bar{position:relative;z-index:2;background:var(--ds24-color-white);border-bottom:1px solid var(--ds24-color-border);height:var(--ds24-header-height);display:flex;align-items:center;padding:0 var(--ds24-space-default);gap:var(--ds24-space-default);transition:filter .4s cubic-bezier(.165,.84,.44,1)}.ds24-component--header .header-bar.is--dropdown-open{filter:invert(1)}.ds24-component--header .header-branding{flex-shrink:0;display:flex;align-items:center}.ds24-component--header .header-branding a{display:inline-flex;align-items:center;line-height:1}.ds24-component--header .header-branding img{height:27px;width:auto;display:block}.ds24-component--header .header-nav{flex:1;display:flex;align-items:center;justify-content:space-between;min-width:0}.ds24-component--header .header-navbar-left{display:flex;align-items:center;gap:var(--ds24-space-small);position:relative;top:1px}.ds24-component--header .header-navbar-left .nav-trigger{display:flex;align-items:center;gap:4px;font-size:16px;font-weight:var(--ds24-font-medium);color:var(--ds24-color-black);background:none;border:none;cursor:pointer;padding:0;line-height:1;white-space:nowrap;transition:opacity .2s;text-decoration:none}.ds24-component--header .header-navbar-left .nav-trigger:hover{opacity:.7}.ds24-component--header .header-navbar-left .nav-trigger .ds24-element--icon{display:inline-flex;align-items:center;line-height:0;flex-shrink:0;transition:transform .25s ease;position:relative;top:-1px}.ds24-component--header .header-navbar-left .nav-trigger .ds24-element--icon svg{width:16px;height:16px;stroke-width:2px}.ds24-component--header .header-navbar-left .nav-trigger.is--open .ds24-element--icon{transform:rotateX(180deg)}.ds24-component--header .header-navbar-right{display:flex;align-items:center;gap:var(--ds24-space-small)}.ds24-component--header .header-navbar-right .nav-additional-item{white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.ds24-component--header .header-navbar-right .nav-additional-item .nav-additional-label{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}.ds24-component--header .header-navbar-right .nav-additional-item .nav-additional-arrow{display:inline-flex;align-items:center;flex-shrink:0;transition:transform .3s ease}.ds24-component--header .header-navbar-right .nav-additional-item .nav-additional-arrow svg{width:16px;height:16px}.ds24-component--header .header-navbar-right .nav-additional-item:hover .nav-additional-arrow{transform:translate(3px)}.ds24-component--header .header-login{display:flex;align-items:center;gap:var(--ds24-space-xsmall);padding-left:var(--ds24-space-small);border-left:1px solid var(--ds24-color-black-20)}.ds24-component--header .header-login .cta-secondary{font-size:16px;font-weight:var(--ds24-font-medium);color:var(--ds24-color-black);white-space:nowrap;text-decoration:none;transition:opacity .2s}.ds24-component--header .header-login .cta-secondary:hover{opacity:.7}.ds24-component--header .header-login .ds24-element--button{display:inline-flex;align-items:center;white-space:nowrap}.ds24-component--header .header-lang-trigger{display:flex;align-items:center;gap:4px;font-size:15px;font-weight:var(--ds24-font-medium);color:var(--ds24-color-black);background:none;border:none;cursor:pointer;padding:0;line-height:1;white-space:nowrap;transition:opacity .2s}.ds24-component--header .header-lang-trigger:hover{opacity:.7}.ds24-component--header .header-lang-trigger .ds24-element--icon{transition:transform .25s ease;flex-shrink:0}.ds24-component--header .header-lang-trigger.is--open .ds24-element--icon{transform:rotate(180deg)}@media (min-width: 1280px) and (max-width: 1439px){.ds24-component--header .header-navbar-left,.ds24-component--header .header-navbar-right{gap:var(--ds24-space-xsmall)}}@media (min-width: 1024px) and (max-width: 1279px){.ds24-component--header .header-navbar-left{gap:var(--ds24-space-xsmall)}.ds24-component--header .header-navbar-left .nav-trigger:last-child{display:none}.ds24-component--header .header-navbar-right .nav-additional-item{display:none}.ds24-component--header .header-login{padding-left:0;border-left:none}}@media (max-width: 1023px){.ds24-component--header .header-nav{display:none}}/*!
 * @file     global/header-dropdown.css
 * @segment  global
 * @type     ds24-component--header
 *
 * Digistore24 component-specific CSS: Header Dropdown Panels
 *
 * Full-width black dropdown panels for the desktop header nav. Two templates:
 * type--featured (left groups + right promo block) and type--links (left + right groups).
 *
 * Notes:
 * - Height-based reveal: header-dropdown starts at height:0 and transitions to the
 *   open panel's scrollHeight (set as inline style by JS). Closed panels are position:absolute
 *   so they don't stack; the open panel switches to position:relative so the outer container
 *   can scroll it when content exceeds the viewport.
 * - Hidden on tablet/mobile — sidenav handles nav at <1024px.
 * - Depends on: global/tokens.css → --ds24-space-*, --ds24-color-*, --ds24-max-width
 *
 */.ds24-component--header .header-dropdown{position:absolute;top:100%;left:0;right:0;height:0;overflow:hidden;pointer-events:none;z-index:1;transition:height .4s cubic-bezier(.165,.84,.44,1)}.ds24-component--header .header-dropdown.is--open{pointer-events:auto;max-height:calc(100vh - var(--ds24-header-height))}.ds24-component--header .header-dropdown-panel{position:absolute;top:0;left:0;right:0;width:100%;background:var(--ds24-color-black);pointer-events:none;z-index:0}.ds24-component--header .header-dropdown-panel.is--open{pointer-events:auto;z-index:1;position:relative}.ds24-component--header .dropdown-nav-container{margin:0 auto;padding:0 var(--ds24-space-default);display:flex;gap:var(--ds24-space-default);opacity:0;transform:translateY(-12px);transition:opacity .3s ease 0s,transform .3s ease 0s}.ds24-component--header .header-dropdown-panel.is--open .dropdown-nav-container{opacity:1;transform:translateY(0);transition:opacity .3s ease .15s,transform .3s ease .15s}.ds24-component--header .header-dropdown-panel.type--links .dropdown-nav-left .dropdown-nav-group-items{width:100%;display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,auto);grid-auto-flow:column;gap:var(--ds24-space-default);padding:var(--ds24-space-default) 0 var(--ds24-space-large) 0}.ds24-component--header .dropdown-nav-group-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:var(--ds24-font-bold);color:var(--ds24-color-white-50);margin-bottom:var(--ds24-space-default)}.ds24-component--header .dropdown-nav-group-title .ds24-element--icon.group-title-icon{display:flex;align-items:center;flex-shrink:0;color:var(--ds24-color-white-50)}.ds24-component--header .dropdown-nav-group-title .ds24-element--icon.group-title-icon svg{width:20px;height:20px}.ds24-component--header .dropdown-nav-group-title .group-title-label{position:relative;top:2px}.ds24-component--header .dropdown-nav-group-items{display:flex;flex-wrap:wrap;gap:var(--ds24-space-default)}.ds24-component--header .dropdown-nav-group-items .item-type--default{width:100%}.ds24-component--header .dropdown-nav-group-items .item-type--compact{width:calc((100% - 2 * 40px) / 3)}.ds24-element--nav-item.type--default{display:flex;align-items:flex-start;gap:10px;color:var(--ds24-color-white)}.ds24-element--nav-item.type--default .nav-item-label-link .ds24-element--icon.nav-item-icon{display:flex;align-items:center;flex-shrink:0;color:var(--ds24-color-white)}.ds24-element--nav-item.type--default .nav-item-label-link .ds24-element--icon.nav-item-icon svg{width:24px;height:24px}.ds24-element--nav-item.type--default .nav-item-content{display:flex;flex-direction:column;gap:10px}.ds24-element--nav-item.type--default .nav-item-label-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--ds24-color-white);transition:opacity .2s ease}.ds24-element--nav-item.type--default .nav-item-label-link:hover{opacity:.8}.ds24-element--nav-item.type--default .nav-item-label{font-size:21px;font-weight:var(--ds24-font-medium);line-height:1.2;position:relative;top:2px}.ds24-element--nav-item.type--default .nav-item-desc{font-size:14px;font-weight:var(--ds24-font-medium);color:var(--ds24-color-white-50);line-height:1.2}.ds24-element--nav-item.type--compact{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--ds24-color-white-50);transition:opacity .2s ease}.ds24-element--nav-item.type--compact:hover{opacity:.8}.ds24-element--nav-item.type--compact .nav-item-label{font-size:16px;font-weight:var(--ds24-font-medium)}.ds24-element--nav-item .nav-item-arrow{flex-shrink:0;display:inline-flex;align-items:center;line-height:0;transition:transform .3s ease,opacity .2s ease}.ds24-element--nav-item .nav-item-arrow .ds24-element--icon{display:inline-flex;align-items:center;line-height:0}.ds24-element--nav-item.type--default .nav-item-arrow .ds24-element--icon svg{width:22px;height:22px;stroke-width:2px}.ds24-element--nav-item.type--default .nav-item-label-link:hover .nav-item-arrow{transform:translate(4px)}.ds24-element--nav-item.type--compact .nav-item-arrow{opacity:0}.ds24-element--nav-item.type--compact .nav-item-arrow .ds24-element--icon svg{width:16px;height:16px;stroke-width:2px}.ds24-element--nav-item.type--compact:hover .nav-item-arrow{opacity:1;transform:translate(4px)}.ds24-component--header .header-dropdown-panel.type--featured .dropdown-nav-container{gap:var(--ds24-space-default);padding:var(--ds24-space-default)}.ds24-component--header .header-dropdown-panel.type--featured .dropdown-nav-left{display:flex;flex-direction:column;width:100%;gap:var(--ds24-space-default);padding:var(--ds24-space-small) 0}.ds24-component--header .header-dropdown-panel.type--featured .dropdown-nav-group:last-of-type{border-top:1px solid var(--ds24-color-white-20);padding-top:var(--ds24-space-default)}.ds24-component--header .header-dropdown-panel.type--featured .dropdown-nav-group:last-of-type ul{display:flex;gap:var(--ds24-space-default)}.ds24-component--header .header-dropdown-panel.type--featured .dropdown-nav-group:last-of-type li{width:calc((100% - 2 * var(--ds24-space-default)) / 3)}.ds24-component--header .dropdown-nav-right.type--featured{display:flex;flex-direction:column;align-self:start;padding:var(--ds24-space-small) var(--ds24-space-xsmall);gap:var(--ds24-space-default);color:var(--ds24-color-white);background-color:var(--ds24-color-white-20);border-radius:8px;max-width:420px}.ds24-component--header .dropdown-nav-right.type--featured .featured-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.ds24-component--header .dropdown-nav-right.type--featured .featured-title-group{display:flex;align-items:center;gap:8px}.ds24-component--header .dropdown-nav-right.type--featured .featured-title-group .ds24-element--icon.featured-icon{display:flex;align-items:center;flex-shrink:0;color:var(--ds24-color-white-50)}.ds24-component--header .dropdown-nav-right.type--featured .featured-title-group .ds24-element--icon.featured-icon svg{width:20px;height:20px}.ds24-component--header .dropdown-nav-right.type--featured .featured-title{font-size:16px;font-weight:var(--ds24-font-bold);color:var(--ds24-color-white);line-height:1.3;position:relative;top:2px}.ds24-component--header .dropdown-nav-right.type--featured .featured-caption{font-size:12px;font-weight:var(--ds24-font-medium);color:var(--ds24-color-white-50);white-space:nowrap;flex-shrink:0}.ds24-component--header .dropdown-nav-right.type--featured .featured-image-wrap{overflow:hidden}.ds24-component--header .dropdown-nav-right.type--featured .featured-image{width:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.ds24-component--header .dropdown-nav-right.type--featured:hover .featured-image{transform:scale(1.05)}.ds24-component--header .dropdown-nav-right.type--featured .featured-desc{font-weight:var(--ds24-font-medium)}.ds24-component--header .dropdown-nav-right.type--featured .ds24-element--button.type--outline{display:block;width:100%;color:var(--ds24-color-white);border-color:var(--ds24-color-white-30);transition:all .3s ease}.ds24-component--header .dropdown-nav-right.type--featured:hover .ds24-element--button.type--outline{background-color:var(--ds24-color-white);color:var(--ds24-color-black)}.ds24-component--header .dropdown-nav-right.type--links{width:100%;max-width:420px;padding:var(--ds24-space-default) 0 var(--ds24-space-large) var(--ds24-space-default);border-left:1px solid var(--ds24-color-white-20);display:flex;flex-direction:column;gap:var(--ds24-space-default)}.ds24-component--header .dropdown-nav-right.type--links .nav-item-desc{font-size:13px;color:var(--ds24-color-white-50);line-height:1.55;margin-top:2px}.ds24-component--header .dropdown-nav-right.type--links .nav-item-label{font-size:16px}.ds24-component--header .dropdown-nav-right.type--links .ds24-element--nav-item.type--default .nav-item-label-link .ds24-element--icon.nav-item-icon svg{width:16px;height:16px}.ds24-component--header .dropdown-nav-right.type--links .ds24-element--nav-item.type--default .nav-item-arrow .ds24-element--icon svg{width:16px;height:16px}.ds24-component--header .header-dropdown-panel.type--links .ds24-element--nav-item.type--default .nav-item-arrow{opacity:0}.ds24-component--header .header-dropdown-panel.type--links .ds24-element--nav-item.type--default .nav-item-label-link:hover .nav-item-arrow{opacity:1;transform:translate(4px)}.ds24-component--header .header-dropdown-panel.type--featured .dropdown-nav-group:last-of-type .ds24-element--nav-item.type--default .nav-item-arrow{opacity:0}.ds24-component--header .header-dropdown-panel.type--featured .dropdown-nav-group:last-of-type .ds24-element--nav-item.type--default .nav-item-label-link:hover .nav-item-arrow{opacity:1;transform:translate(4px)}@media (min-width: 1024px) and (max-width: 1279px){.ds24-component--header .dropdown-nav-right.type--featured{max-width:320px}.ds24-component--header .header-dropdown-panel.type--featured .dropdown-nav-group:last-of-type li{width:calc((100% - 2 * var(--ds24-space-default)) / 2)}.ds24-component--header .dropdown-nav-right.type--links{flex:0 0 320px;padding-left:var(--ds24-space-small)}.ds24-component--header .dropdown-nav-group-items{gap:var(--ds24-space-small)}.ds24-component--header .dropdown-nav-group-items .item-type--compact{width:calc((100% - 1 * var(--ds24-space-default)) / 2)}}@media (max-width: 1023px){.ds24-component--header .header-dropdown{display:none}}/*!
 * @file     global/header-sidenav.css
 * @segment  global
 * @type     ds24-component--header
 *
 * Digistore24 component-specific CSS: Header Sidenav + Hamburger
 *
 * Mobile full-screen black sidenav with accordion nav and hamburger button.
 * Visible only below the 1024px breakpoint.
 *
 * Notes:
 * - ds24-element--hamburger: 3-bar → X animation driven by .is--active class.
 * - .header-sidenav: slides in from right via right: -100vw → right: 0.
 * - .sidenav-accordion: max-height: 0 → max-height: 200vh reveal.
 * - .sidenav-additional-menu: flex-grow:1 + flex-direction:column-reverse pushes CTA to bottom.
 * - Depends on: global/tokens.css → --ds24-color-*, --ds24-header-height, --ds24-font-*, --ds24-space-*
 *
 */.ds24-element--hamburger{display:none;background:none;border:none;cursor:pointer;padding:0;width:40px;height:40px;position:fixed;right:32px;top:calc(var(--ds24-header-height) / 2);transform:translateY(-50%);z-index:300;outline:none;flex-shrink:0;transition:opacity .25s linear}.ds24-element--hamburger:hover{opacity:.75}.ds24-element--hamburger .hamburger-box{width:24px;height:40px;display:flex;align-items:center;justify-content:center;margin:0 auto}.ds24-element--hamburger .hamburger-inner{display:block;position:relative}.ds24-element--hamburger .hamburger-inner,.ds24-element--hamburger .hamburger-inner:before,.ds24-element--hamburger .hamburger-inner:after{width:24px;height:2px;background-color:var(--ds24-color-black);position:absolute;transition:transform .25s ease,background-color .1s ease .5s}.ds24-element--hamburger .hamburger-inner:before,.ds24-element--hamburger .hamburger-inner:after{content:"";display:block}.ds24-element--hamburger .hamburger-inner:before{top:-7px;transition:top .1s .7s ease,opacity .1s .5s ease,background-color .1s ease .5s}.ds24-element--hamburger .hamburger-inner:after{bottom:-7px;transition:bottom .1s .7s ease,transform .1s .5s cubic-bezier(.55,.055,.675,.19),background-color .1s ease .5s}.ds24-element--hamburger .hamburger-inner{transition-duration:.1s;transition-timing-function:cubic-bezier(.55,.055,.675,.19);transition-delay:.5s}.ds24-element--hamburger.is--active .hamburger-inner,.ds24-element--hamburger.is--active .hamburger-inner:before,.ds24-element--hamburger.is--active .hamburger-inner:after{background-color:var(--ds24-color-white)}.ds24-element--hamburger.is--active .hamburger-inner{transform:rotate(45deg);transition-delay:.2s;transition-timing-function:cubic-bezier(.215,.61,.355,1)}.ds24-element--hamburger.is--active .hamburger-inner:before{top:0;opacity:0;transition:top .1s ease,opacity .1s .2s ease}.ds24-element--hamburger.is--active .hamburger-inner:after{bottom:0;transform:rotate(-90deg);transition:bottom .1s ease,transform .1s .2s cubic-bezier(.215,.61,.355,1)}.header-sidenav{display:flex;flex-direction:column;background-color:var(--ds24-color-black);position:fixed;top:0;right:-100vw;width:100vw;height:100dvh;overflow-y:auto;z-index:99;transition:right .4s cubic-bezier(.165,.84,.44,1) .5s}.header-sidenav.is--open{right:0;transition:right .4s cubic-bezier(.165,.84,.44,1) 0s}.header-sidenav>*{opacity:0;transform:translate(-10px);transition:opacity .5s ease 0s,transform .5s ease 0s}.header-sidenav.is--open>*{opacity:1;transform:translate(0);transition:opacity .5s ease .5s,transform .5s ease .5s}.header-sidenav>*:has(.ds24-component--language-switcher.expanded){opacity:1;transform:translate(0);transition:none}.header-sidenav .sidenav-top{display:flex;align-items:center;padding:var(--ds24-space-small) var(--ds24-space-default);flex-shrink:0;position:relative;z-index:1}.header-sidenav .sidenav-body{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:8px 0 0}.header-sidenav .sidenav-nav-block{padding:0 var(--ds24-space-default)}.header-sidenav .sidenav-nav-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:18px 0;border-bottom:1px solid var(--ds24-color-white-10);font-size:30px;font-weight:var(--ds24-font-medium);color:var(--ds24-color-white);text-decoration:none;background:none;border-top:none;border-left:none;border-right:none;cursor:pointer;text-align:left;line-height:1.2;transition:opacity .2s}.header-sidenav .sidenav-nav-item:hover{opacity:.7}.header-sidenav .sidenav-nav-item .ds24-element--icon{display:inline-flex;align-items:center;line-height:0;flex-shrink:0;transition:transform .25s ease}.header-sidenav .sidenav-nav-item .ds24-element--icon svg{width:22px;height:22px;stroke-width:2px}.header-sidenav .sidenav-nav-item.is--open .ds24-element--icon{transform:rotateX(180deg)}.header-sidenav .sidenav-accordion{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.165,.84,.44,1)}.header-sidenav .sidenav-accordion-inner{padding:var(--ds24-space-xsmall) 0 var(--ds24-space-small);display:flex;flex-direction:column;gap:2px}.header-sidenav .sidenav-accordion .sidenav-group-title{font-size:12px;font-weight:var(--ds24-font-bold);color:var(--ds24-color-white-50);text-transform:uppercase;letter-spacing:.08em;padding:8px 0 6px;margin-top:8px}.header-sidenav .sidenav-accordion .sidenav-group-title:first-child{margin-top:0}.header-sidenav .sidenav-accordion .sidenav-item-link{display:flex;align-items:center;gap:10px;padding:10px 0;font-weight:var(--ds24-font-medium);color:var(--ds24-color-white);text-decoration:none;transition:opacity .2s}.header-sidenav .sidenav-accordion .sidenav-item-link:hover{opacity:.7}.header-sidenav .sidenav-accordion .sidenav-item-link.type--default{font-size:21px}.header-sidenav .sidenav-accordion .sidenav-item-link.type--compact,.header-sidenav .sidenav-accordion .sidenav-group--right .sidenav-item-link.type--default{font-size:18px;color:var(--ds24-color-white-50)}.header-sidenav .sidenav-accordion .sidenav-group--right .sidenav-item-link .ds24-element--icon{display:none}.header-sidenav .sidenav-accordion .sidenav-item-link .ds24-element--icon{display:flex;align-items:center;flex-shrink:0}.header-sidenav .sidenav-accordion .sidenav-item-link .ds24-element--icon svg{width:20px;height:20px}.header-sidenav .sidenav-accordion .sidenav-item-label{line-height:1.3}.header-sidenav .sidenav-accordion .sidenav-item-desc{font-size:13px;color:var(--ds24-color-white-50)}.header-sidenav .sidenav-additional-menu{flex-grow:1;display:flex;flex-direction:column-reverse;padding:var(--ds24-space-small) var(--ds24-space-default);gap:0}.header-sidenav .sidenav-ctas{display:flex;flex-direction:column;gap:var(--ds24-space-xsmall);padding-top:var(--ds24-space-small);margin-bottom:var(--ds24-space-small)}.header-sidenav .sidenav-ctas .cta-primary{display:inline-flex;align-items:center;justify-content:center;padding:var(--ds24-space-btn-default);background-color:var(--ds24-color-white);border:1px solid var(--ds24-color-white);color:var(--ds24-color-black);font-size:16px;font-weight:var(--ds24-font-medium);text-decoration:none;transition:all .2s ease-in-out;line-height:18px}.header-sidenav .sidenav-ctas .cta-primary:hover{opacity:.8}.header-sidenav .sidenav-ctas .cta-secondary{display:inline-flex;align-items:center;justify-content:center;padding:var(--ds24-space-btn-default);border:1px solid var(--ds24-color-white-30);color:var(--ds24-color-white);font-size:16px;font-weight:var(--ds24-font-medium);text-decoration:none;transition:border-color .2s,opacity .2s;line-height:18px}.header-sidenav .sidenav-ctas .cta-secondary:hover{border-color:var(--ds24-color-white);opacity:.85}.header-sidenav .sidenav-additional-links{display:flex;flex-direction:column;justify-content:center}.header-sidenav .sidenav-additional-links .sidenav-flat-link{display:block;padding:12px 0;font-size:18px;font-weight:var(--ds24-font-medium);color:var(--ds24-color-white);text-decoration:none;text-align:center;transition:opacity .2s}.header-sidenav .sidenav-additional-links .sidenav-flat-link:hover{opacity:.7}@media (max-width: 1023px){.ds24-element--hamburger{display:flex;align-items:center;justify-content:center}}@media (max-width: 767px){.ds24-element--hamburger{right:12px}.header-sidenav .sidenav-top{padding:26px var(--ds24-space-xsmall)}.header-sidenav .sidenav-nav-block{padding:0 var(--ds24-space-xsmall)}.header-sidenav .sidenav-additional-menu{padding:var(--ds24-space-small) var(--ds24-space-xsmall)}.header-sidenav .sidenav-nav-item{font-size:26px}}@media (min-width: 1024px){.header-sidenav{display:none}}/*!
 * @file     segments/blog/header.css
 * @segment  blog
 * @type     ds24-component--header
 *
 * Digistore24 component-specific CSS: Header (blog overrides)
 *
 * Blog-segment header overrides. Sets --ds24-subnav-height so body padding
 * accounts for the fixed sub-header rendered on all blog pages.
 *
 * Notes:
 * - All rules must be scoped under .ds24-segment--blog
 * - Depends on: global/header.css, global/tokens.css
 *
 */[data-segment=blog]{--ds24-subnav-height: 44px}/*!
 * @file     global/language-switcher.css
 * @segment  global
 * @type     ds24-component--language-switcher
 *
 * Digistore24 component-specific CSS: Language Switcher
 *
 * Global language switcher component with two types:
 * type--header: fullscreen overlay, used in the global header and mobile menu.
 * type--footer: inline dropdown, used in the global footer.
 *
 * Notes:
 * - Depends on: global/tokens.css → --ds24-color-*, --ds24-font-*, --ds24-header-height
 * - .ls-no-scroll applied to body by JS to freeze scroll when header overlay is open.
 *
 */.ds24-component--language-switcher.type--header.layout--default .ls-trigger,.ds24-component--language-switcher.type--header.layout--default .ls-close{display:flex;align-items:center;gap:6px;font-size:16px;font-weight:var(--ds24-font-medium);background:none;border:none;cursor:pointer;padding:0;line-height:1;transition:opacity .2s}.ds24-component--language-switcher.type--header.layout--default .ls-trigger:hover,.ds24-component--language-switcher.type--header.layout--default .ls-close:hover{opacity:.75}.ds24-component--language-switcher.type--header.layout--default .ls-trigger{color:var(--ds24-color-black)}.ds24-component--language-switcher.type--header.layout--default .ls-arrow{transition:transform .3s ease;flex-shrink:0}.ds24-component--language-switcher.type--header.layout--default .ls-trigger.expanded .ls-arrow{transform:rotateX(180deg)}.ds24-component--language-switcher.type--header.layout--default .ls-close{color:var(--ds24-color-white);position:absolute;top:calc((var(--ds24-header-height) - 22px) / 2);right:40px}.ds24-component--language-switcher.type--header.layout--default .ls-close .ls-arrow{transform:rotateX(180deg)}.ds24-component--language-switcher.type--header.layout--default .ls-overlay{position:fixed;inset:0;z-index:200;background-color:#0000;display:flex;width:100vw;height:100dvh;justify-content:center;align-items:center;padding:40px;opacity:0;pointer-events:none;transition:background-color .3s ease .3s,opacity .3s ease .3s}.ds24-component--language-switcher.type--header.layout--default .ls-overlay.expanded{background-color:#000;opacity:1;pointer-events:auto;transition:background-color .3s ease 0s,opacity .3s ease 0s}.ds24-component--language-switcher.type--header.layout--default .ls-content{display:flex;flex-direction:column;align-items:center;gap:80px;transform:translateY(20px);opacity:0;transition:transform .3s ease 0s,opacity .3s ease 0s}.ds24-component--language-switcher.type--header.layout--default .ls-overlay.expanded .ls-content{transform:translateY(0);opacity:1;transition:transform .3s ease .3s,opacity .3s ease .3s}.ds24-component--language-switcher.type--header.layout--default .ls-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:30px}.ds24-component--language-switcher.type--header.layout--default .ls-label{font-size:21px;font-weight:var(--ds24-font-medium);color:#9da9b0}.ds24-component--language-switcher.type--header.layout--default .ls-item{order:2}.ds24-component--language-switcher.type--header.layout--default .ls-item--is-active{order:1}.ds24-component--language-switcher.type--header.layout--default .ls-item a{font-size:30px;font-weight:var(--ds24-font-medium);color:#9da9b0;text-decoration:none;transition:opacity .2s;display:flex;align-items:center;gap:10px}.ds24-component--language-switcher.type--header.layout--default .ls-item a:hover,.ds24-component--language-switcher.type--header.layout--default .ls-item a:focus{text-decoration:none;opacity:.8}.ds24-component--language-switcher.type--header.layout--default .ls-item--is-active a{color:var(--ds24-color-white)}.ds24-component--language-switcher.type--header.layout--default .ls-region{font-size:14px;color:var(--ds24-color-black);background-color:#9da9b0;padding:4px 4px 2px;border-radius:4px;display:inline-flex;line-height:1}body.ls-no-scroll{overflow:hidden}.ds24-component--language-switcher .ls-arrow .ds24-element--icon{display:inline-flex;align-items:center;line-height:0;margin-top:2px}.ds24-component--language-switcher .ls-arrow .ds24-element--icon svg{width:16px;height:16px;stroke-width:2px}.ds24-component--language-switcher.type--header.layout--mobile{background-color:var(--ds24-color-black)}.ds24-component--language-switcher.type--header.layout--mobile .ls-trigger,.ds24-component--language-switcher.type--header.layout--mobile .ls-close{display:flex;align-items:center;gap:6px;font-size:16px;font-weight:var(--ds24-font-bold);background:none;border:none;cursor:pointer;padding:0;line-height:1}.ds24-component--language-switcher.type--header.layout--mobile .ls-trigger:hover,.ds24-component--language-switcher.type--header.layout--mobile .ls-close:hover{opacity:.75}.ds24-component--language-switcher.type--header.layout--mobile .ls-trigger{color:var(--ds24-color-white)}.ds24-component--language-switcher.type--header.layout--mobile .ls-arrow{transition:transform .3s ease;flex-shrink:0}.ds24-component--language-switcher.type--header.layout--mobile .ls-trigger.expanded .ls-arrow{transform:rotateX(180deg)}.ds24-component--language-switcher.type--header.layout--mobile .ls-close{color:var(--ds24-color-white);position:absolute;left:40px;top:30px}.ds24-component--language-switcher.type--header.layout--mobile .ls-close .ls-arrow{transform:rotateX(180deg)}.ds24-component--language-switcher.type--header.layout--mobile .ls-overlay{position:fixed;inset:0;z-index:200;background-color:#000;display:flex;width:100vw;height:100dvh;justify-content:center;align-items:center;padding:40px;opacity:0;pointer-events:none;transition:all .3s ease .3s}.ds24-component--language-switcher.type--header.layout--mobile .ls-overlay.expanded{opacity:1;pointer-events:auto}.ds24-component--language-switcher.type--header.layout--mobile .ls-content{display:flex;flex-direction:column;align-items:center;gap:40px;transform:translateY(20px);opacity:0;transition:transform .3s ease 0s,opacity .3s ease 0s}.ds24-component--language-switcher.type--header.layout--mobile .ls-overlay.expanded .ls-content{transform:translateY(0);opacity:1;transition:transform .3s ease .3s,opacity .3s ease 0s}.ds24-component--language-switcher.type--header.layout--mobile .ls-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:30px}.ds24-component--language-switcher.type--header.layout--mobile .ls-label{font-size:21px;font-weight:var(--ds24-font-medium);color:#9da9b0}.ds24-component--language-switcher.type--header.layout--mobile .ls-item{order:2}.ds24-component--language-switcher.type--header.layout--mobile .ls-item--is-active{order:1}.ds24-component--language-switcher.type--header.layout--mobile .ls-item a{font-size:30px;font-weight:var(--ds24-font-medium);color:#9da9b0;text-decoration:none;transition:opacity .2s;display:flex;align-items:center;gap:10px}.ds24-component--language-switcher.type--header.layout--mobile .ls-item a:hover,.ds24-component--language-switcher.type--header.layout--mobile .ls-item a:focus{text-decoration:none;opacity:.8}.ds24-component--language-switcher.type--header.layout--mobile .ls-item--is-active a{color:var(--ds24-color-white)}.ds24-component--language-switcher.type--header.layout--mobile .ls-region{font-size:14px;color:var(--ds24-color-black);background-color:#9da9b0;padding:4px 4px 2px;border-radius:4px;display:inline-flex;line-height:1;margin-top:-2px}@media (max-width: 767px){.ds24-component--language-switcher.type--header.layout--mobile .ls-close{left:20px;top:26px}}.ds24-component--language-switcher.type--footer{display:inline-flex;border:1px solid var(--ds24-color-border);padding:12px;position:absolute;bottom:0;left:0;background:var(--ds24-color-white);transition:all .3s ease}.ds24-component--language-switcher.type--footer:hover{opacity:.8}.ds24-component--language-switcher.type--footer .ls-btn{display:inline-flex;align-items:center;align-self:end;gap:6px;background:transparent;color:var(--ds24-color-black);font-size:14px;line-height:19px;font-weight:var(--ds24-font-medium);cursor:pointer;border:none}.ds24-component--language-switcher.type--footer .ls-arrow{flex-shrink:0;color:var(--ds24-color-black);rotate:-90deg}.ds24-component--language-switcher.type--footer .ls-btn.expanded .ls-arrow{transform:rotateX(180deg)}.ds24-component--language-switcher.type--footer .ls-content{display:inline-flex;width:auto;gap:6px;max-width:0;max-height:0;overflow:hidden}.ds24-component--language-switcher.type--footer .ls-content.expanded{max-width:500px;max-height:500px;margin-left:10px}.ds24-component--language-switcher.type--footer .ls-list{list-style:none;display:flex;align-items:start;flex-direction:column;gap:10px;padding:0;margin:0}.ds24-component--language-switcher.type--footer .ls-item{display:flex;order:1}.ds24-component--language-switcher.type--footer .ls-item--is-active{order:2}.ds24-component--language-switcher.type--footer .ls-item a{font-size:16px;line-height:16px;font-weight:var(--ds24-font-medium);color:var(--ds24-color-gray);text-decoration:none;transition:color .3s ease;display:flex;align-items:center;gap:6px;position:relative;top:1px}.ds24-component--language-switcher.type--footer .ls-item--is-active a{color:var(--ds24-color-black)}.ds24-component--language-switcher.type--footer .ls-item a:hover,.ds24-component--language-switcher.type--footer .ls-item a:focus{text-decoration:none;opacity:.8}.ds24-component--language-switcher.type--footer .ls-region{font-size:12px;line-height:1;border:1px solid var(--ds24-color-border);padding:3px 4px 1px;border-radius:4px;display:inline-flex;position:relative;top:-1px}@media (max-width: 767px){.ds24-component--language-switcher.type--footer{bottom:-8px}}/*!
 * @file     global/subnav.css
 * @segment  global
 * @type     ds24-component--subnav
 *
 * Digistore24 component-specific CSS: Sub-header (Subnav)
 *
 * Global configurable slot system rendered below the main header. Any segment
 * can opt in to slots via segmentConfig.subHeaderSlots. Renders nothing when
 * no slots are active.
 *
 * Notes:
 * - Not scoped to any segment — this is a global component.
 * - Slot order (left → right): segmentLabel · categoryNav · socialIcons
 * - .subnav-item.is--active: active category highlighted by JS in subnav.js
 * - On tablet/mobile (≤1023px): category list + social hidden; trigger button shown instead.
 * - Categories sheet slides DOWN from subnav edge — trigger is the sole toggle (no close button).
 * - Depends on: global/tokens.css → --ds24-color-*, --ds24-max-width, --ds24-font-*, --ds24-space-*
 *
 */.ds24-component--subnav{position:fixed;top:var(--ds24-header-height);left:0;right:0;z-index:98;background:var(--ds24-color-white);border-bottom:1px solid var(--ds24-color-border);height:var(--ds24-subnav-height, 44px);padding:0 var(--ds24-space-default);display:flex;align-items:center;gap:var(--ds24-space-small)}.ds24-component--subnav .subnav-slot--label{flex-shrink:0;position:relative;top:1px}.ds24-component--subnav .subnav-slot--label a{font-size:16px;font-weight:var(--ds24-font-bold);color:var(--ds24-color-black);text-decoration:none;text-transform:uppercase;letter-spacing:.06em;transition:opacity .2s;white-space:nowrap}.ds24-component--subnav .subnav-slot--label a:hover{opacity:.6}.ds24-component--subnav .subnav-slot--categories{flex:1;overflow:hidden}.ds24-component--subnav .subnav-list{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.ds24-component--subnav .subnav-list::-webkit-scrollbar{display:none}.ds24-component--subnav .subnav-item a{display:inline-flex;align-items:center;padding:6px 10px 4px;border-radius:4px;font-size:16px;font-weight:var(--ds24-font-medium);color:var(--ds24-color-gray);text-decoration:none;white-space:nowrap;transition:color .2s,background .2s}.ds24-component--subnav .subnav-item a:hover,.ds24-component--subnav .subnav-item.is--active a{color:var(--ds24-color-black);background:var(--ds24-color-black-10)}.ds24-component--subnav .subnav-slot--social{flex-shrink:0;margin-left:auto;display:flex;align-items:center;gap:12px}.ds24-component--subnav .subnav-slot--social a{display:inline-flex;align-items:center;color:var(--ds24-color-gray);transition:color .2s}.ds24-component--subnav .subnav-slot--social a:hover{color:var(--ds24-color-black)}.ds24-component--subnav .subnav-slot--social img{width:16px;height:16px;-o-object-fit:contain;object-fit:contain}.ds24-component--subnav .subnav-categories-trigger{display:none;flex-shrink:0;margin-left:auto;align-items:center;gap:6px;padding:0;border:none;background:none;font-family:var(--ds24-font-family);font-size:16px;font-weight:var(--ds24-font-medium);color:var(--ds24-color-black);cursor:pointer;white-space:nowrap}.ds24-component--subnav .subnav-categories-trigger svg{flex-shrink:0;width:18px;height:18px;transition:transform .2s}.ds24-component--subnav .subnav-categories-trigger.is--open svg{transform:rotateX(180deg)}.subnav-cat-sheet{position:fixed;top:calc(var(--ds24-header-height) + var(--ds24-subnav-height));left:0;right:0;bottom:0;background:var(--ds24-color-white);border-bottom:1px solid var(--ds24-color-border);transform:translateY(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;z-index:97;pointer-events:none}.subnav-cat-sheet.is-open{transform:translateY(0);pointer-events:auto}.subnav-cat-sheet-header{padding:16px var(--ds24-space-default);border-bottom:1px solid var(--ds24-color-border);flex-shrink:0}.subnav-cat-sheet-title{font-size:12px;font-weight:var(--ds24-font-bold);color:var(--ds24-color-muted);text-transform:uppercase;letter-spacing:.08em}.subnav-cat-list{list-style:none;margin:0;padding:0;overflow-y:auto;overscroll-behavior:contain}.subnav-cat-item a{display:flex;align-items:center;padding:16px var(--ds24-space-default);font-size:16px;font-weight:var(--ds24-font-medium);color:var(--ds24-color-black);text-decoration:none;border-bottom:1px solid var(--ds24-color-border);transition:background .2s}.subnav-cat-item:last-child a{border-bottom:none}.subnav-cat-item a:hover{background:var(--ds24-color-black-10)}.subnav-cat-item.is--active a{background:var(--ds24-color-black-10);font-weight:var(--ds24-font-bold)}@media (min-width: 1024px) and (max-width: 1279px){.ds24-component--subnav .subnav-list{overflow:hidden}.ds24-component--subnav .subnav-item:nth-child(n+6){display:none}}@media (max-width: 1023px){.ds24-component--subnav .subnav-slot--social,.ds24-component--subnav .subnav-slot--categories{display:none}.ds24-component--subnav .subnav-categories-trigger{display:flex}}@media (max-width: 767px){.ds24-component--subnav{gap:var(--ds24-space-xsmall)}}/*!
 * @file     global/footer.css
 * @segment  global
 * @type     ds24-component--footer
 *
 * Digistore24 component-specific CSS: Footer
 *
 * Global footer styles — link columns, CTA, social icons, legal.
 *
 * Notes:
 * - TODO: Replace with real global footer design in next phase.
 *   Currently mirrors blog footer. Blog-scoped override lives in segments/blog/footer.css.
 * - Depends on: global/tokens.css → --ds24-color-*, --ds24-font-*
 *
 */.ds24-component--footer{padding:40px;color:var(--ds24-color-black)}.ds24-component--footer .footer-top{display:grid;grid-template-columns:1fr auto;border-top:1px solid var(--ds24-color-border);padding-top:40px;gap:40px;margin-bottom:40px}.ds24-component--footer .footer-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:40px;border-right:1px solid var(--ds24-color-border)}.ds24-component--footer .footer-column-title{font-size:20px;font-weight:var(--ds24-font-bold);margin-bottom:16px;color:var(--ds24-color-black)}.ds24-component--footer .footer-links{list-style:none;display:flex;flex-direction:column;gap:10px}.ds24-component--footer .footer-link{font-size:16px;font-weight:var(--ds24-font-medium);color:var(--ds24-color-black);transition:color .2s}.ds24-component--footer .footer-link:hover{color:var(--ds24-color-accent)}.ds24-component--footer .footer-cta{text-align:left;padding-right:40px}.ds24-component--footer .footer-cta-title{font-size:20px;font-weight:var(--ds24-font-bold);margin-bottom:16px}.ds24-component--footer .footer-bottom{display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding-top:40px;border-top:1px solid var(--ds24-color-border);flex-wrap:wrap;gap:40px;font-weight:var(--ds24-font-medium)}.ds24-component--footer .footer-bottom-row{display:flex;width:100%;justify-content:space-between;align-items:center;position:relative}.ds24-component--footer .footer-bottom-row:first-of-type{min-height:45px}.ds24-component--footer .footer-social{display:flex;flex-grow:1;justify-content:end;gap:16px}.ds24-component--footer .footer-legal{display:flex;flex-wrap:wrap;gap:8px 20px}.ds24-component--footer .footer-legal-link{font-size:14px;color:var(--ds24-color-black);transition:opacity .3s}.ds24-component--footer .footer-legal-link:hover{opacity:.8}.ds24-component--footer .footer-copyright{font-size:14px;color:var(--ds24-color-black)}@media (max-width: 767px){.ds24-component--footer{padding:40px 20px}.ds24-component--footer .footer-top{grid-template-columns:1fr}.ds24-component--footer .footer-columns{grid-template-columns:1fr;border-right:none;border-bottom:1px solid var(--ds24-color-border);padding-bottom:40px}.ds24-component--footer .footer-bottom{flex-direction:column;align-items:flex-start;border-top:none;padding-top:0}.ds24-component--footer .footer-bottom-row{flex-direction:column;align-items:center;gap:40px;padding-top:40px;border-top:1px solid var(--ds24-color-border)}.ds24-component--footer .footer-bottom-row:first-of-type{min-height:60px;justify-content:space-between;flex-direction:row}.ds24-component--footer .footer-legal{justify-content:center}}/*!
 * @file     global/social-icons.css
 * @segment  global
 * @type     ds24-element--social-icon
 *
 * Digistore24 element-specific CSS: Social Icon
 *
 * Global social icon link styles with two types:
 * type--header: used in the global header (desktop and mobile menu).
 * type--footer: used in the global footer.
 *
 * Notes:
 * - Depends on: global/tokens.css → --ds24-color-muted, --ds24-color-black, --ds24-color-white
 *
 */.ds24-element--social-icon.type--header{color:var(--ds24-color-muted);display:flex;align-items:center;transition:color .2s}.ds24-element--social-icon.type--header svg{width:18px;height:18px}.ds24-element--social-icon.type--header:hover{color:var(--ds24-color-black)}.ds24-component--header .mobile-bottom .ds24-element--social-icon.type--header{color:#fff9}.ds24-component--header .mobile-bottom .ds24-element--social-icon.type--header:hover{color:var(--ds24-color-white)}.ds24-element--social-icon.type--footer{color:var(--ds24-color-muted);transition:color .2s;display:flex}.ds24-element--social-icon.type--footer svg{width:18px;height:18px}.ds24-element--social-icon.type--footer:hover{color:var(--ds24-color-black)}/*!
 * @file     segments/blog/footer.css
 * @segment  blog
 * @type     ds24-component--footer
 *
 * Digistore24 component-specific CSS: Footer
 *
 * Blog-scoped footer styles. Mirrors global/footer.css — frozen from future global changes.
 *
 * Notes:
 * - Scoped under .ds24-segment--blog to isolate from global footer redesigns.
 * - Depends on: global/tokens.css → --ds24-color-*, --ds24-font-*
 *
 */.ds24-segment--blog .ds24-component--footer{padding:40px;color:var(--ds24-color-black)}.ds24-segment--blog .ds24-component--footer .footer-top{display:grid;grid-template-columns:1fr auto;border-top:1px solid var(--ds24-color-border);padding-top:40px;gap:40px;margin-bottom:40px}.ds24-segment--blog .ds24-component--footer .footer-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:40px;border-right:1px solid var(--ds24-color-border)}.ds24-segment--blog .ds24-component--footer .footer-column-title{font-size:20px;font-weight:var(--ds24-font-bold);margin-bottom:16px;color:var(--ds24-color-black)}.ds24-segment--blog .ds24-component--footer .footer-links{list-style:none;display:flex;flex-direction:column;gap:10px}.ds24-segment--blog .ds24-component--footer .footer-link{font-size:16px;font-weight:var(--ds24-font-medium);color:var(--ds24-color-black);transition:opacity .3s}.ds24-segment--blog .ds24-component--footer .footer-link:hover{opacity:.75}.ds24-segment--blog .ds24-component--footer .footer-cta{text-align:left;padding-right:40px}.ds24-segment--blog .ds24-component--footer .footer-cta-title{font-size:20px;font-weight:var(--ds24-font-bold);margin-bottom:16px}.ds24-segment--blog .ds24-component--footer .footer-bottom{display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding-top:40px;border-top:1px solid var(--ds24-color-border);flex-wrap:wrap;gap:40px;font-weight:var(--ds24-font-medium)}.ds24-segment--blog .ds24-component--footer .footer-bottom-row{display:flex;width:100%;justify-content:space-between;align-items:center;position:relative}.ds24-segment--blog .ds24-component--footer .footer-bottom-row:first-of-type{min-height:45px}.ds24-segment--blog .ds24-component--footer .footer-social{display:flex;flex-grow:1;justify-content:end;gap:16px}.ds24-segment--blog .ds24-component--footer .footer-legal{display:flex;flex-wrap:wrap;gap:8px 20px}.ds24-segment--blog .ds24-component--footer .footer-legal-link{font-size:14px;color:var(--ds24-color-black);transition:opacity .3s}.ds24-segment--blog .ds24-component--footer .footer-legal-link:hover{opacity:.8}.ds24-segment--blog .ds24-component--footer .footer-copyright{font-size:14px;color:var(--ds24-color-black)}@media (max-width: 1023px){.ds24-segment--blog .ds24-component--footer .footer-top{display:flex;flex-direction:column}.ds24-segment--blog .ds24-component--footer .footer-columns{border-right:none}.ds24-segment--blog .ds24-component--footer .footer-cta{padding-right:0;border-top:1px solid var(--ds24-color-border);padding-top:var(--ds24-space-default)}}@media (max-width: 767px){.ds24-segment--blog .ds24-component--footer{padding:40px 20px}.ds24-segment--blog .ds24-component--footer .footer-top{grid-template-columns:1fr}.ds24-segment--blog .ds24-component--footer .footer-columns{grid-template-columns:1fr;border-right:none;border-bottom:0;padding-bottom:0}.ds24-segment--blog .ds24-component--footer .footer-cta{display:flex;flex-direction:column;justify-content:center;text-align:center;padding-top:var(--ds24-space-large)}.ds24-segment--blog .ds24-component--footer .footer-bottom{flex-direction:column;align-items:flex-start;border-top:none;padding-top:0}.ds24-segment--blog .ds24-component--footer .footer-bottom-row{flex-direction:column;align-items:center;gap:40px}.ds24-segment--blog .ds24-component--footer .footer-bottom-row:first-of-type{min-height:60px;justify-content:space-between;flex-direction:row}.ds24-segment--blog .ds24-component--footer .footer-legal{justify-content:center}}
