/**
 * Paperchase design tokens — afgeleid van familie-sites (analyse).
 *
 * distribution.paperchase.nl/style.css:
 *   body background #131313, color #ccc, font Poppins; nav Jost uppercase letter-spacing 1px;
 *   accent #173cc8; grid-gap 25px artist grid; info skew -10deg border-bottom 2.5px #173cc8;
 *   box-shadow 0px 0px 5px rgba(0,0,0,.05); border-radius 9px (nav.css/snav).
 * bookings.paperchase.nl/style.css:
 *   background #000; Poppins; red #c81717; transition .25s all ease;
 *   hvr-underline-from-center ::before height 2px #c81717.
 * publishing.paperchase.nl (M7BIB): body #484848 light pages; nav gold #ffcb00; skew -9deg bar 0.5s ease-out.
 *
 * Shop = Paperchase Dark: distribution grey-black als basis, pure black zones, tri-kleuren accents.
 */

:root {
    /* Family accent primaries */
    --pcs-distribution-blue: #173cc8;
    --pcs-publishing-gold: #ffcb00;
    --pcs-bookings-red: #c81717;

    /* Surfaces (distribution-led dark) */
    --pcs-bg-body: #131313;
    --pcs-bg-void: #000000;
    --pcs-bg-elevated: #0a0a0a;
    --pcs-text-primary: #f2f2f2;
    --pcs-text-distribution: #cccccc;
    --pcs-text-muted: rgba(242, 242, 242, 0.62);

    /* Geometry */
    --pcs-radius-container: 9px;
    --pcs-radius-tile: 14px;
    --pcs-radius-pill: 999px;

    /* Motion (familie-global) */
    --pcs-ease: 0.25s ease;
    --pcs-ease-nav: 0.5s ease-out;

    /* Type */
    --pcs-font-body: "Poppins", system-ui, sans-serif;
    --pcs-font-display: "Jost", system-ui, sans-serif;

    /* Artist grid (distribution #artists) */
    --pcs-artist-grid-gap: 25px;
    --pcs-artist-skew: -10deg;
    --pcs-artist-ribbon-border: 2.5px;

    /* Scrollbar (Firefox scrollbar-color + WebKit fallbacks hieronder) */
    --pcs-scrollbar-thumb: color-mix(in srgb, var(--pcs-publishing-gold) 40%, #353535);
    --pcs-scrollbar-thumb-hover: color-mix(in srgb, var(--pcs-publishing-gold) 58%, #353535);
}

/**
 * Scrollbar — viewport (html). Tokens.css laadt alleen op dit thema.
 * Firefox: scrollbar-width + scrollbar-color. Chromium/Safari/Edge: ::-webkit-scrollbar*.
 */
html {
    scrollbar-width: thin;
    scrollbar-color: #6a5f2e var(--pcs-bg-body, #131313);
    scrollbar-color: var(--pcs-scrollbar-thumb) var(--pcs-bg-body, #131313);
}

html::-webkit-scrollbar {
    width: 11px;
    height: 11px;
}

html::-webkit-scrollbar-track {
    background: var(--pcs-bg-body, #131313);
}

html::-webkit-scrollbar-thumb {
    background: rgba(255, 203, 0, 0.38);
    background: var(--pcs-scrollbar-thumb);
    border-radius: 999px;
    border: 3px solid var(--pcs-bg-body, #131313);
    background-clip: padding-box;
}

html::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 203, 0, 0.55);
    background: var(--pcs-scrollbar-thumb-hover);
}

html::-webkit-scrollbar-corner {
    background: var(--pcs-bg-body, #131313);
}

/* Binnen lagen met eigen scroll (o.a. mobiel menu-drawer) */
.site-nav-shell {
    scrollbar-width: thin;
    scrollbar-color: #6a5f2e var(--pcs-bg-body, #131313);
    scrollbar-color: var(--pcs-scrollbar-thumb) var(--pcs-bg-body, #131313);
}

.site-nav-shell::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.site-nav-shell::-webkit-scrollbar-track {
    background: var(--pcs-bg-body, #131313);
}

.site-nav-shell::-webkit-scrollbar-thumb {
    background: rgba(255, 203, 0, 0.35);
    background: var(--pcs-scrollbar-thumb);
    border-radius: 999px;
    border: 2px solid var(--pcs-bg-body, #131313);
    background-clip: padding-box;
}

.site-nav-shell::-webkit-scrollbar-thumb:hover {
    background: var(--pcs-scrollbar-thumb-hover);
}

/* Shell: alle papirCHASE-shop pagina’s — geen lichte default-body meer */
body.paperchase-shop-theme.pcs-paperchase-shell {
    background: var(--pcs-bg-body);
    color: var(--pcs-text-distribution);
    font-family: var(--pcs-font-body);
}

body.paperchase-shop-theme.pcs-paperchase-shell .site-header,
body.paperchase-shop-theme.pcs-paperchase-shell .site-footer,
body.paperchase-shop-theme.pcs-paperchase-shell .site-main {
    transition: border-color var(--pcs-ease), background var(--pcs-ease), color var(--pcs-ease);
}

body.paperchase-shop-theme.pcs-paperchase-shell .site-header {
    background: transparent;
    border-bottom: 1px solid color-mix(in srgb, var(--pcs-distribution-blue) 22%, transparent);
}

body.paperchase-shop-theme.pcs-paperchase-shell .site-header__backdrop {
    background: rgba(0, 0, 0, 0.92);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

body.paperchase-shop-theme.pcs-paperchase-shell .site-title,
body.paperchase-shop-theme.pcs-paperchase-shell .site-nav__list a {
    color: #fff;
}

body.paperchase-shop-theme.pcs-paperchase-shell .site-footer {
    background: #050505;
    color: var(--pcs-text-distribution);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

body.paperchase-shop-theme.pcs-paperchase-shell .site-footer__copy,
body.paperchase-shop-theme.pcs-paperchase-shell .site-footer__credits {
    color: rgba(204, 204, 204, 0.85);
}

body.paperchase-shop-theme.pcs-paperchase-shell .site-footer__credit-link {
    color: color-mix(in srgb, var(--pcs-publishing-gold) 92%, transparent);
    border-bottom-color: color-mix(in srgb, var(--pcs-publishing-gold) 40%, transparent);
}

/* Social (Customizer — header/footer) */
.pcs-social {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.pcs-social__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(0, 0, 0, 0.38);
    text-decoration: none;
    transition:
        color var(--pcs-ease),
        border-color var(--pcs-ease),
        box-shadow var(--pcs-ease),
        background var(--pcs-ease);
}

.pcs-social__link:hover,
.pcs-social__link:focus-visible {
    color: var(--pcs-publishing-gold);
    border-color: color-mix(in srgb, var(--pcs-distribution-blue) 42%, transparent);
    box-shadow: 0 0 14px color-mix(in srgb, var(--pcs-publishing-gold) 14%, transparent);
}

.pcs-social__icon {
    display: flex;
    line-height: 0;
}

.pcs-social--footer {
    justify-content: flex-end;
    flex-wrap: wrap;
}

/* Zelfde breakpoint als mobiele header-nav (base.css): >960px = desktop */
@media (min-width: 961px) {
    .pcs-social.pcs-social--hide-desktop {
        display: none !important;
    }
}

@media (max-width: 960px) {
    .pcs-social.pcs-social--hide-mobile {
        display: none !important;
    }
}

/* Nav — Paperchase.nl: blauw (Distribution) + geel (Publishing); per menu-item */
.pcs-nav__link {
    position: relative;
    display: inline-block;
    z-index: 0;
}

/* Standaard / hub / merk: distribution-blauw (niet overal geel) */
.pcs-nav__link::after {
    content: "";
    position: absolute;
    left: -10px;
    top: 2px;
    z-index: -1;
    width: 0;
    height: 86%;
    transform: skew(-9deg);
    opacity: 0;
    background: var(--pcs-nav-skew, var(--pcs-distribution-blue));
    transition: width var(--pcs-ease-nav), opacity var(--pcs-ease), background var(--pcs-ease-nav);
}

.site-nav__list .menu-item.pcs-nav-item--distribution .pcs-nav__link,
.site-nav__list .menu-item.pcs-nav-item--hub .pcs-nav__link {
    --pcs-nav-skew: var(--pcs-distribution-blue);
}

.site-nav__list .menu-item.pcs-nav-item--publishing .pcs-nav__link,
.site-nav__list .menu-item.pcs-nav-item--shop .pcs-nav__link {
    --pcs-nav-skew: var(--pcs-publishing-gold);
}

.site-nav__list .menu-item.pcs-nav-item--bookings .pcs-nav__link {
    --pcs-nav-skew: var(--pcs-bookings-red);
}

/* Standaard: Distribution / Bookings / Publishing — iets meer breedte dan 110%, minder dan oude 132%. */
.pcs-nav__link:hover::after,
.pcs-nav__link:focus-visible::after {
    width: 118%;
    opacity: 1;
}

/* Hub + Distribution (blauw): korter label — minder naar links, iets meer naar rechts. */
.site-nav__list .menu-item.pcs-nav-item--hub .pcs-nav__link::after,
.site-nav__list .menu-item.pcs-nav-item--distribution .pcs-nav__link::after {
    left: -8px;
}

.site-nav__list .menu-item.pcs-nav-item--hub .pcs-nav__link:hover::after,
.site-nav__list .menu-item.pcs-nav-item--hub .pcs-nav__link:focus-visible::after,
.site-nav__list .menu-item.pcs-nav-item--distribution .pcs-nav__link:hover::after,
.site-nav__list .menu-item.pcs-nav-item--distribution .pcs-nav__link:focus-visible::after {
    width: 142%;
}

/* Shop (goud): minder naar links dan voorheen (was met hub gedeeld -12px). */
.site-nav__list .menu-item.pcs-nav-item--shop .pcs-nav__link::after {
    left: -6px;
}

.site-nav__list .menu-item.pcs-nav-item--shop .pcs-nav__link:hover::after,
.site-nav__list .menu-item.pcs-nav-item--shop .pcs-nav__link:focus-visible::after {
    width: 134%;
}

/* Bookings-style underline (secundair op focus binnen hub CTA’s) */
.pcs-underline-bookings {
    position: relative;
}

.pcs-underline-bookings::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -3px;
    height: 2px;
    background: var(--pcs-bookings-red);
    transform: scaleX(0);
    transition: transform var(--pcs-ease-nav);
    transform-origin: center;
}

.pcs-underline-bookings:hover::after,
.pcs-underline-bookings:focus-visible::after {
    transform: scaleX(1);
}

@media (prefers-reduced-motion: reduce) {
    .pcs-nav__link::after,
    .pcs-underline-bookings::after {
        transition: none;
    }
}

/* Mobiel drawer: skew-highlight op volle regel (subdomein-menu) */
@media (max-width: 960px) {
    .site-nav-shell .site-nav__list > .menu-item > .pcs-nav__link {
        position: relative;
        z-index: 0;
    }

    .site-nav-shell .site-nav__list > .menu-item > .pcs-nav__link::after {
        left: -4px;
        right: -4px;
        top: 0;
        height: 100%;
        transform: skew(-9deg);
    }

    .site-nav-shell .site-nav__list > .menu-item.pcs-nav-item--hub > .pcs-nav__link::after,
    .site-nav-shell .site-nav__list > .menu-item.pcs-nav-item--distribution > .pcs-nav__link::after {
        left: -8px;
        right: -12px;
    }

    .site-nav-shell .site-nav__list > .menu-item.pcs-nav-item--shop > .pcs-nav__link::after {
        left: -5px;
        right: -10px;
    }
}
