/* Winix site pages on the LP design system (templates/base.html).
   Components for the pages other than the landing, built on the same tokens as the landing v2:
   --lp-* surfaces and text, the Winix green, Hanken Grotesk. Flat surfaces: no outlines, no shadows
   (only the pressed buttons of the design system), radii from 8px (controls) to 16px (cards).
   Text sizes include the landing's +10% (landing-v2.css). */

body {
    background-color: var(--color-core-greyBlue-900)
}

:root {
    --winix-green: var(--color-core-freecashGreen-500)
}

/* Inline markup coming from translations (data-i18n) */
.lp-v12 .text-green,
.lp-v12 .text-winix {
    color: hsl(var(--lp-primary))
}

.lp-v12 .text-light {
    color: inherit
}

.lp-v12 .underline {
    text-decoration: underline;
    text-underline-offset: 3px
}

/* ---------- Navbar menu below 1200px ---------- */

.wx-menu-btn {
    width: 2.375rem;
    padding-inline: 0
}

.wx-menu-btn .wx-menu-close,
.wx-menu-btn[aria-expanded=true] .wx-menu-open {
    display: none
}

.wx-menu-btn[aria-expanded=true] .wx-menu-close {
    display: block
}

.wx-menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 30;
    height: calc(100dvh - var(--header-height));
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 8px 16px 24px;
    background-color: var(--color-core-greyBlue-900)
}

.wx-menu ul {
    margin: 0;
    padding: 0;
    list-style: none
}

.wx-menu a {
    display: block;
    padding: 14px 12px;
    border-radius: 8px;
    font-size: 19.8px;
    font-weight: 800;
    line-height: 1.3;
    color: var(--color-core-greyBlue-25);
    text-decoration: none
}

.wx-menu a:hover {
    color: var(--color-core-neutral-0);
    background-color: var(--color-core-greyBlue-800)
}

.wx-menu a[aria-current] {
    color: var(--color-core-freecashGreen-500)
}

@media (min-width:1200px) {
    .wx-menu-btn,
    .wx-menu {
        display: none !important
    }
}

/* ---------- Footer language switch ---------- */

@media (max-width: 767px) {
    .wx-footer-language-socials { flex-direction: column }
}

.wx-lang {
    display: flex;
    align-items: center;
    gap: 4px
}

.wx-lang a,
.wx-lang button {
    padding: 8px 9px;
    border-radius: 6px;
    font: inherit;
    font-size: 13.2px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .04em;
    color: var(--color-core-greyBlue-50);
    text-decoration: none;
    cursor: pointer
}

.wx-lang a:hover,
.wx-lang button:hover {
    color: var(--color-core-neutral-0)
}

.wx-lang [aria-current],
.wx-lang [aria-pressed=true] {
    color: var(--color-core-neutral-0);
    background-color: var(--color-core-greyBlue-500)
}

/* ---------- Layout ---------- */

.wx-section {
    padding: 80px 24px
}

.wx-section--top {
    padding-top: 0
}

.wx-container {
    max-width: 72rem;
    margin-inline: auto
}

.wx-container--md {
    max-width: 56rem
}

.wx-container--text {
    max-width: 46rem
}

.wx-container--narrow {
    max-width: 34rem
}

.wx-container--form {
    max-width: 44rem
}

.wx-split {
    display: grid;
    gap: 40px
}

.wx-grid {
    display: grid;
    gap: 24px
}

.wx-grid--loose {
    gap: 40px
}

@media (min-width:640px) {
    .wx-section {
        padding-block: 112px
    }

    .wx-section--top {
        padding-top: 0
    }

    .wx-grid--2,
    .wx-grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .wx-grid--3 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media (min-width:1024px) {
    .wx-split {
        grid-template-columns: .8fr 1.2fr;
        gap: 64px;
        align-items: start
    }

    .wx-split--even {
        grid-template-columns: 1fr 1fr;
        align-items: center
    }

    .wx-sticky {
        position: sticky;
        top: calc(var(--header-height) + 32px)
    }

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

    .wx-grid--4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 32px
    }
}

/* Phones: content aligned on the header and footer gutter (16px) */
@media (max-width:639px) {
    .wx-section,
    .wx-hero,
    .lp-v12 .px-6 {
        padding-inline: 16px
    }

    .wx-filters {
        margin-inline: -16px;
        padding-inline: 16px
    }

    .wx-card--lg {
        padding: 20px
    }
}

/* ---------- Type ---------- */

.wx-hero {
    position: relative;
    isolation: isolate;
    padding: 48px 24px 72px;
    text-align: center
}

/* Same faint green light as the landing hero (lp-glow-soft) */
.wx-hero::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 40%;
    left: 50%;
    width: 420px;
    height: 300px;
    transform: translate(-50%, -50%);
    background-image: radial-gradient(closest-side, hsl(var(--lp-primary)/.03) 0%, hsl(var(--lp-primary)/.03) 55%, hsl(var(--lp-primary)/0) 100%);
    pointer-events: none
}

.wx-hero--left {
    text-align: left
}

.wx-eyebrow {
    font-size: 14.3px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .025em;
    text-transform: uppercase;
    color: hsl(var(--lp-foreground)/.5)
}

.wx-h1 {
    font-size: clamp(2.4rem, 11vw, 3rem);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -.025em;
    color: hsl(var(--lp-foreground))
}

.wx-h1--statement {
    font-size: clamp(2rem, 8.5vw, 2.6rem);
    line-height: 1.12
}

.wx-eyebrow + .wx-h1 {
    margin-top: 20px
}

.wx-lead {
    max-width: 38rem;
    margin: 20px auto 0;
    font-size: 19.8px;
    line-height: 1.6;
    color: hsl(var(--lp-foreground)/.85)
}

.wx-hero--left .wx-lead {
    margin-inline: 0
}

.wx-h2 {
    font-size: 33px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.025em;
    color: hsl(var(--lp-foreground))
}

.wx-h3 {
    font-size: 22px;
    font-weight: 800;
    line-height: 1.3;
    color: hsl(var(--lp-foreground))
}

.wx-text {
    font-size: 17.6px;
    line-height: 1.65;
    color: hsl(var(--lp-foreground)/.85)
}

.wx-text + .wx-text {
    margin-top: 16px
}

.wx-text strong,
.wx-small strong {
    font-weight: 800;
    color: hsl(var(--lp-foreground))
}

.wx-text a,
.wx-small a {
    font-weight: 600;
    color: hsl(var(--lp-primary));
    text-decoration: none
}

.wx-muted {
    color: hsl(var(--lp-foreground)/.7)
}

.wx-small {
    font-size: 15.4px;
    line-height: 1.6;
    color: hsl(var(--lp-foreground)/.7)
}

.wx-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 16.5px;
    font-weight: 600;
    color: hsl(var(--lp-primary));
    text-decoration: none
}

.wx-link:hover {
    text-decoration: underline;
    text-underline-offset: 4px
}

.wx-center {
    text-align: center
}

/* Shown on phones and tablets only */
@media (min-width:1024px) {
    .wx-phone-only {
        display: none !important
    }
}

.wx-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    margin-top: 32px
}

@media (min-width:640px) {
    .wx-h1 {
        font-size: 52.8px;
        line-height: 1.04
    }

    .wx-h1--statement {
        font-size: 44px;
        line-height: 1.12
    }

    .wx-hero {
        padding: 80px 24px 104px
    }

    .wx-hero::before {
        width: 900px;
        height: 600px
    }

    .wx-h2 {
        font-size: 44px;
        line-height: 1.15
    }

    .wx-actions {
        flex-direction: row;
        justify-content: center
    }

    .wx-actions--start {
        justify-content: flex-start
    }
}

@media (min-width:768px) {
    .wx-h3 {
        font-size: 26.4px;
        line-height: 1.25
    }
}

@media (min-width:1024px) {
    .wx-lg-left {
        text-align: left
    }

    .wx-lg-left .wx-lead {
        margin-inline: 0
    }

    .wx-lg-left .wx-actions {
        justify-content: flex-start
    }
}

/* ---------- Surfaces ---------- */

.wx-card {
    border-radius: 1rem;
    padding: 24px;
    background-color: hsl(var(--lp-card))
}

/* A card on a card-coloured section takes the page colour, like the landing step panels */
.lp-bg-card .wx-card {
    background-color: hsl(var(--lp-background))
}

@media (min-width:768px) {
    .wx-card--lg {
        padding: 32px
    }
}

.wx-note {
    border-radius: 12px;
    padding: 18px 20px;
    font-size: 16.5px;
    line-height: 1.6;
    color: hsl(var(--lp-foreground)/.85);
    background-color: hsl(var(--lp-card))
}

.lp-bg-card .wx-note {
    background-color: hsl(var(--lp-background))
}

.wx-note strong {
    font-weight: 800;
    color: hsl(var(--lp-foreground))
}

.wx-note--icon {
    display: flex;
    gap: 14px;
    align-items: flex-start
}

.wx-note--icon svg {
    flex: none;
    width: 22px;
    height: 22px;
    margin-top: 2px
}

.wx-note--danger,
.lp-bg-card .wx-note--danger {
    color: var(--color-core-red-200);
    background-color: rgba(240, 67, 67, .1)
}

.wx-note--danger svg {
    color: var(--color-core-red-400)
}

.wx-alert {
    border-radius: 8px;
    padding: 12px 16px;
    font-size: 15.4px;
    line-height: 1.5;
    color: var(--color-core-red-300);
    background-color: rgba(240, 67, 67, .12)
}

.wx-alert ul {
    margin: 8px 0 0;
    padding-left: 18px
}

/* Short green bar above a title, as in the landing "ne te demandera jamais" list */
.wx-bar {
    width: 32px;
    height: 4px;
    border-radius: 999px;
    background-color: hsl(var(--lp-primary))
}

/* Numbered list of the landing withdrawals section */
.wx-steps {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none
}

.wx-steps > li {
    display: flex;
    align-items: flex-start;
    gap: 16px
}

.wx-steps__num {
    flex: none;
    width: 32px;
    font-size: 17.6px;
    font-weight: 800;
    line-height: 1.6;
    color: hsl(var(--lp-primary))
}

.wx-steps__body {
    font-size: 17.6px;
    line-height: 1.6;
    color: hsl(var(--lp-foreground)/.7)
}

.wx-steps__body strong {
    font-weight: 800;
    color: hsl(var(--lp-foreground))
}

/* Line with the landing check icon */
.wx-check-row {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    font-size: 17.6px;
    line-height: 1.6;
    color: hsl(var(--lp-foreground)/.7)
}

.wx-check-row svg {
    flex: none;
    width: 22px;
    height: 22px;
    margin-top: 3px
}

.wx-check-row strong {
    font-weight: 800;
    color: hsl(var(--lp-foreground))
}

.wx-list {
    margin-bottom: 0;
    margin-inline: 0;
    padding: 0;
    list-style: none
}

/* Figures of the landing hero ("Chiffres") */
.wx-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px 24px;
    text-align: center
}

.wx-stat__value {
    font-size: 44px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    color: hsl(var(--lp-foreground))
}

.wx-stat__label {
    margin-top: 12px;
    font-size: 16.5px;
    font-weight: 600;
    line-height: 1.3;
    color: hsl(var(--lp-primary))
}

@media (min-width:640px) {
    .wx-stats--3 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .wx-stat__value {
        font-size: 61.6px
    }

    .wx-stat__label {
        font-size: 19.8px
    }
}

/* ---------- Forms ---------- */

.wx-form {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.wx-form-grid {
    display: grid;
    gap: 24px
}

@media (min-width:640px) {
    .wx-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px 20px
    }
}

.wx-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0
}

.wx-label,
.wx-field > legend {
    padding: 0;
    font-size: 15.4px;
    font-weight: 700;
    line-height: 1.4;
    color: hsl(var(--lp-foreground))
}

.wx-field > legend {
    margin-bottom: 8px
}

.wx-hint {
    font-size: 14.3px;
    line-height: 1.5;
    color: hsl(var(--lp-foreground)/.5)
}

.wx-hint.is-error {
    color: var(--color-core-red-400)
}

.wx-input {
    width: 100%;
    min-height: 48px;
    padding: 12px 16px;
    border: 1px solid transparent;
    border-radius: 8px;
    appearance: none;
    outline: none;
    font-family: inherit;
    font-size: 16px;
    line-height: 24px;
    color: var(--color-core-neutral-0);
    background-color: var(--color-core-greyBlue-400);
    transition: border-color .2s, background-color .2s
}

.wx-input::placeholder {
    color: var(--color-core-greyBlue-50);
    opacity: 1
}

.wx-input:focus-visible {
    border-color: var(--color-core-greyBlue-100)
}

textarea.wx-input {
    min-height: 128px;
    resize: vertical
}

select.wx-input {
    padding-right: 44px;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%23a9a9ca'%3E%3Cpath d='M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 16px
}

select.wx-input:invalid {
    color: var(--color-core-greyBlue-50)
}

select.wx-input option {
    color: var(--color-core-neutral-0);
    background-color: var(--color-core-greyBlue-700)
}

/* Input with an icon on the left (phone, search) */
.wx-input-icon {
    position: relative
}

.wx-input-icon > svg {
    position: absolute;
    top: 50%;
    left: 14px;
    transform: translateY(-50%);
    pointer-events: none
}

.wx-input-icon > .wx-input {
    padding-left: 44px
}

/* Checkbox */
.wx-check {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    font-size: 16.5px;
    line-height: 1.5;
    color: hsl(var(--lp-foreground)/.85)
}

.wx-check input {
    display: grid;
    flex: none;
    place-content: center;
    width: 22px;
    height: 22px;
    margin: 1px 0 0;
    border: 1px solid transparent;
    border-radius: 6px;
    appearance: none;
    cursor: pointer;
    background-color: var(--color-core-greyBlue-400);
    transition: background-color .12s
}

.wx-check input::before {
    content: "";
    width: 12px;
    height: 12px;
    transform: scale(0);
    background-color: var(--color-core-greyBlue-900);
    clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
    transition: transform .12s
}

.wx-check input:checked {
    background-color: hsl(var(--lp-primary))
}

.wx-check input:checked::before {
    transform: scale(1)
}

.wx-check input:focus-visible {
    border-color: var(--color-core-greyBlue-100)
}

/* Choice chips (radio buttons and filter buttons) */
.wx-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.wx-chip {
    position: relative
}

.wx-chip input {
    position: absolute;
    opacity: 0;
    pointer-events: none
}

.wx-chip span,
.wx-chip-btn {
    display: inline-flex;
    flex: none;
    align-items: center;
    min-height: 40px;
    padding: 8px 16px;
    border-radius: 8px;
    font-family: inherit;
    font-size: 15.4px;
    font-weight: 600;
    line-height: 1.3;
    white-space: nowrap;
    cursor: pointer;
    color: var(--color-core-greyBlue-25);
    background-color: var(--color-core-greyBlue-400);
    transition: background-color .15s, color .15s
}

.wx-chip span:hover,
.wx-chip-btn:hover {
    color: var(--color-core-neutral-0);
    background-color: var(--color-core-greyBlue-300)
}

.wx-chip input:checked + span,
.wx-chip-btn[aria-pressed=true] {
    color: var(--color-core-greyBlue-900);
    background-color: hsl(var(--lp-primary))
}

.wx-chip input:focus-visible + span,
.wx-chip-btn:focus-visible {
    outline: 2px solid var(--color-core-freecashGreen-400);
    outline-offset: 2px
}

/* File picker */
.wx-file {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border-radius: 8px;
    cursor: pointer;
    background-color: var(--color-core-greyBlue-400);
    transition: background-color .15s
}

.wx-file:hover {
    background-color: var(--color-core-greyBlue-300)
}

.wx-file input {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 1px;
    height: 1px;
    opacity: 0
}

.wx-file:focus-within {
    outline: 2px solid var(--color-core-freecashGreen-400);
    outline-offset: 2px
}

.wx-file__icon {
    display: grid;
    flex: none;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    color: var(--color-core-greyBlue-50);
    background-color: var(--color-core-greyBlue-500)
}

.wx-file__text {
    display: flex;
    flex-direction: column;
    min-width: 0
}

.wx-file__title {
    font-size: 16.5px;
    font-weight: 700;
    line-height: 1.4;
    color: hsl(var(--lp-foreground))
}

.wx-file__name {
    font-size: 14.3px;
    line-height: 1.4;
    color: hsl(var(--lp-foreground)/.5);
    overflow-wrap: anywhere
}

.wx-file.has-file .wx-file__icon {
    color: var(--color-core-greyBlue-900);
    background-color: hsl(var(--lp-primary))
}

.wx-file.has-file .wx-file__name {
    color: hsl(var(--lp-foreground)/.85)
}

/* Red variant of the design system's pressed button */
.wx-btn-danger {
    --btn-shadow: var(--color-core-red-700);
    color: var(--color-core-neutral-0);
    background-color: var(--color-core-red-500)
}

.wx-btn-danger:hover,
.wx-btn-danger:active {
    background-color: var(--color-core-red-600)
}

.wx-btn-block {
    width: 100%;
    height: 48px;
    min-height: 48px
}

button:disabled[class*=btn-press],
.wx-btn-block:disabled {
    opacity: .6;
    cursor: not-allowed
}

/* Success state of the forms */
.wx-done {
    text-align: center
}

.wx-done__icon {
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    margin: 0 auto 20px;
    border-radius: 999px;
    color: var(--color-core-greyBlue-900);
    background-color: hsl(var(--lp-primary))
}

.wx-done__icon svg {
    width: 26px;
    height: 26px
}

.wx-code {
    padding: 2px 8px;
    border-radius: 6px;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: .92em;
    color: hsl(var(--lp-foreground));
    background-color: var(--color-core-greyBlue-400)
}

@keyframes wx-spin {
    to {
        transform: rotate(360deg)
    }
}

/* ---------- Long text: legal pages and blog articles ---------- */

.wx-prose {
    font-size: 17.6px;
    line-height: 1.75;
    color: hsl(var(--lp-foreground)/.8);
    overflow-wrap: anywhere
}

.wx-prose > :first-child {
    margin-top: 0
}

.wx-prose p,
.wx-prose ul,
.wx-prose ol,
.wx-prose blockquote,
.wx-prose table {
    margin: 18px 0 0
}

.wx-prose h2,
.wx-prose h3 {
    margin: 56px 0 0;
    font-size: 24px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -.01em;
    color: hsl(var(--lp-foreground));
    scroll-margin-top: calc(var(--header-height) + 24px)
}

.wx-prose h4 {
    margin: 32px 0 0;
    font-size: 18.7px;
    font-weight: 800;
    line-height: 1.4;
    color: hsl(var(--lp-foreground))
}

.wx-prose :is(h2, h3, h4) + * {
    margin-top: 14px
}

.wx-prose strong,
.wx-prose b {
    font-weight: 700;
    color: hsl(var(--lp-foreground))
}

.wx-prose a {
    font-weight: 600;
    color: hsl(var(--lp-primary));
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px
}

.wx-prose ul {
    padding: 0;
    list-style: none
}

.wx-prose ul > li {
    position: relative;
    padding-left: 26px
}

.wx-prose ul > li::before {
    content: "";
    position: absolute;
    top: .75em;
    left: 6px;
    width: 7px;
    height: 7px;
    border-radius: 2px;
    background-color: hsl(var(--lp-primary))
}

.wx-prose ol {
    padding-left: 26px;
    list-style: decimal
}

.wx-prose ol > li {
    padding-left: 6px
}

.wx-prose ol > li::marker {
    font-weight: 800;
    color: hsl(var(--lp-primary))
}

.wx-prose li + li {
    margin-top: 10px
}

.wx-prose .wx-emph {
    font-weight: 700;
    color: hsl(var(--lp-foreground))
}

/* Sections are separated by their headings */
.wx-prose hr {
    display: none
}

.wx-prose blockquote {
    border-radius: 12px;
    padding: 16px 20px;
    color: hsl(var(--lp-foreground)/.85);
    background-color: hsl(var(--lp-card))
}

.wx-prose img {
    display: block;
    max-width: min(100%, 360px);
    height: auto;
    margin: 36px auto 0;
    border-radius: 16px
}

.wx-prose img + p:has(em) {
    max-width: 30rem;
    margin: 14px auto 0;
    text-align: center;
    font-size: 15.4px;
    color: hsl(var(--lp-foreground)/.5)
}

.wx-prose table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
    font-size: 15.4px;
    line-height: 1.55
}

.wx-prose th,
.wx-prose td {
    padding: 12px 16px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid hsl(var(--lp-border)/.6)
}

.wx-prose th {
    font-weight: 700;
    color: hsl(var(--lp-foreground));
    background-color: hsl(var(--lp-card))
}

@media (min-width:768px) {
    .wx-prose h2,
    .wx-prose h3 {
        font-size: 28.6px
    }
}

/* Legal pages: text with its table of contents on large screens */
.wx-doc {
    display: grid;
    gap: 40px
}

.wx-toc {
    display: none
}

@media (min-width:1024px) {
    .wx-doc {
        grid-template-columns: 16rem minmax(0, 46rem);
        justify-content: center;
        gap: 80px
    }

    .wx-toc {
        display: block;
        position: sticky;
        top: calc(var(--header-height) + 32px);
        align-self: start;
        max-height: calc(100dvh - var(--header-height) - 64px);
        overflow-y: auto
    }
}

.wx-toc .wx-eyebrow {
    padding-left: 12px
}

.wx-toc ol {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 16px 0 0;
    padding: 0;
    list-style: none
}

.wx-toc a {
    display: block;
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 15.4px;
    line-height: 1.4;
    color: hsl(var(--lp-foreground)/.6);
    text-decoration: none;
    transition: color .15s, background-color .15s
}

.wx-toc a:hover,
.wx-toc a[aria-current] {
    color: hsl(var(--lp-foreground));
    background-color: hsl(var(--lp-card))
}

/* ---------- Blog ---------- */

/* French / English switch */
.wx-seg {
    display: inline-flex;
    gap: 4px;
    padding: 4px;
    border-radius: 10px;
    background-color: hsl(var(--lp-card))
}

.wx-seg a {
    padding: 7px 14px;
    border-radius: 6px;
    font-size: 14.3px;
    font-weight: 700;
    line-height: 1.3;
    color: hsl(var(--lp-foreground)/.6);
    text-decoration: none
}

.wx-seg a:hover {
    color: hsl(var(--lp-foreground))
}

.wx-seg a[aria-current] {
    color: hsl(var(--lp-foreground));
    background-color: var(--color-core-greyBlue-200)
}

.wx-blog-tools {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.wx-blog-tools .wx-input-icon {
    max-width: 36rem
}

.wx-filters {
    display: flex;
    gap: 8px;
    margin-inline: -24px;
    padding: 0 24px 4px;
    overflow-x: auto;
    scrollbar-width: none
}

.wx-filters::-webkit-scrollbar {
    display: none
}

@media (min-width:1024px) {
    .wx-filters {
        flex-wrap: wrap;
        margin-inline: 0;
        padding-inline: 0
    }
}

.wx-blog-count {
    margin: 32px 0 16px;
    font-size: 14.3px;
    font-weight: 600;
    color: hsl(var(--lp-foreground)/.5)
}

.wx-post-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 16px;
    color: inherit;
    text-decoration: none;
    background-color: hsl(var(--lp-card));
    transition: background-color .15s
}

.wx-post-card:hover {
    background-color: hsl(var(--lp-muted))
}

.lp-bg-card .wx-post-card {
    background-color: hsl(var(--lp-background))
}

.wx-post-card[hidden] {
    display: none
}

.wx-post-card img {
    width: 100%;
    height: auto;
    aspect-ratio: 1.91;
    object-fit: cover;
    background-color: #191b2b
}

.wx-post-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 20px 22px 24px
}

.wx-post-card__cat {
    font-size: 13.2px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: hsl(var(--lp-primary))
}

.wx-post-card__title {
    margin-top: 10px;
    font-size: 19.8px;
    font-weight: 800;
    line-height: 1.35;
    color: hsl(var(--lp-foreground))
}

.wx-post-card__summary {
    display: -webkit-box;
    margin-top: 10px;
    overflow: hidden;
    font-size: 15.4px;
    line-height: 1.6;
    color: hsl(var(--lp-foreground)/.7);
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical
}

.wx-post-card__meta {
    margin-top: auto;
    padding-top: 18px;
    font-size: 13.2px;
    color: hsl(var(--lp-foreground)/.45)
}

/* Article */
.wx-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 14.3px;
    font-weight: 600;
    color: hsl(var(--lp-foreground)/.45)
}

.wx-breadcrumb a {
    color: hsl(var(--lp-foreground)/.7);
    text-decoration: none
}

.wx-breadcrumb a:hover {
    color: hsl(var(--lp-foreground))
}

.wx-article-head .wx-post-card__cat {
    display: block;
    margin-top: 40px
}

.wx-article-head .wx-h1 {
    margin-top: 14px;
    font-size: clamp(2.1rem, 9vw, 2.6rem);
    line-height: 1.1
}

.wx-article-head .wx-lead {
    margin-inline: 0
}

.wx-article-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 28px
}

.wx-article-meta__info {
    font-size: 14.3px;
    font-weight: 600;
    color: hsl(var(--lp-foreground)/.5)
}

.wx-cover {
    display: block;
    width: 100%;
    height: auto;
    margin-top: 32px;
    border-radius: 16px;
    background-color: #191b2b
}

@media (min-width:640px) {
    .wx-article-head .wx-h1 {
        font-size: 48.4px
    }
}

.wx-related {
    display: grid;
    gap: 12px;
    margin-top: 24px
}

.wx-related a {
    display: block;
    padding: 20px 22px;
    border-radius: 16px;
    text-decoration: none;
    background-color: hsl(var(--lp-background));
    transition: background-color .15s
}

.wx-related a:hover {
    background-color: hsl(var(--lp-muted))
}

.wx-related strong {
    display: block;
    font-size: 17.6px;
    font-weight: 800;
    line-height: 1.4;
    color: hsl(var(--lp-foreground))
}

.wx-related span {
    display: block;
    margin-top: 6px;
    font-size: 15.4px;
    line-height: 1.6;
    color: hsl(var(--lp-foreground)/.7)
}

/* ---------- Download page ---------- */

.wx-qr {
    display: inline-block;
    padding: 20px;
    border-radius: 16px;
    background-color: var(--color-core-neutral-0)
}

.wx-qr img {
    display: block;
    width: 232px;
    height: 232px
}

.wx-store {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    border-radius: 16px;
    background-color: hsl(var(--lp-card))
}

/* Phones: download button under the platform, full width */
@media (max-width:639px) {
    .wx-store {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr)
    }

    .wx-store > a {
        grid-column: 1 / -1;
        width: 100%;
        height: 48px;
        min-height: 48px
    }
}

.wx-store__icon {
    display: grid;
    flex: none;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background-color: var(--color-core-greyBlue-400)
}

.wx-store__icon svg {
    width: 22px;
    height: 22px
}

.wx-store__text {
    flex: 1;
    min-width: 0;
    text-align: left
}

.wx-store__title {
    font-size: 17.6px;
    font-weight: 800;
    line-height: 1.3;
    color: hsl(var(--lp-foreground))
}

.wx-store__desc {
    margin-top: 2px;
    font-size: 14.3px;
    line-height: 1.4;
    color: hsl(var(--lp-foreground)/.6)
}

/* ---------- Error pages ---------- */

.wx-error {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 64px 24px 96px;
    text-align: center
}

.wx-error__code {
    font-size: clamp(6.5rem, 34vw, 11rem);
    font-weight: 800;
    line-height: .9;
    letter-spacing: -.045em;
    font-variant-numeric: tabular-nums;
    color: hsl(var(--lp-primary))
}

.wx-error__links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 28px;
    margin-top: 48px
}

.wx-error__links a {
    font-size: 15.4px;
    font-weight: 600;
    color: hsl(var(--lp-foreground)/.6);
    text-decoration: none
}

.wx-error__links a:hover {
    color: hsl(var(--lp-foreground))
}
