/*
 * 4eva Pep approved-brand presentation layer.
 * The shared cp-platform parent remains intentionally untouched.
 */

:root {
    --brand-primary: #b52cff;
    --brand-secondary: #e35cff;
    --brand-accent: #d948ff;
    --brand-dark: #050407;
    --brand-light: #1b0a24;
    --surface: #0a090d;
    --surface-alt: #121016;
    --surface-raised: #19151e;
    --text-primary: #f7f4f8;
    --text-secondary: #bcb4c2;
    --border: #33293a;
    --success: #6bdaa0;
    --warning: #ffd166;
    --error: #ff6b7a;
    --pep-radius-sm: .4rem;
    --pep-radius: .75rem;
    --pep-radius-lg: 1.25rem;
    --pep-shadow: 0 1.5rem 4rem rgb(0 0 0 / 42%);
    --pep-glow: 0 0 2.5rem rgb(181 44 255 / 22%);
    --cp-color-on-accent: #fff;
}

html { color-scheme: dark; }
body.pep-site {
    background: var(--surface);
    background-image: radial-gradient(circle at 85% 10%, rgb(120 24 164 / 10%), transparent 25rem);
    color: var(--text-primary);
}
body.pep-site::selection { background: var(--brand-primary); color: #fff; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
    outline-color: #f08cff;
}
.pep-eyebrow { color: #e47aff; }
.pep-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .wc-block-components-button {
    border-color: var(--brand-primary) !important;
    border-radius: .35rem !important;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.pep-button--primary, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .wc-block-components-button {
    background: linear-gradient(135deg, #8f18d1, #c326f2) !important;
    box-shadow: 0 .6rem 1.6rem rgb(154 22 219 / 22%);
}
.pep-button--primary:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .wc-block-components-button:hover {
    background: linear-gradient(135deg, #a523ed, #dc45ff) !important;
    box-shadow: 0 .8rem 2rem rgb(195 38 242 / 30%);
}
.pep-button--secondary { border-color: #76657e !important; background: rgb(255 255 255 / 3%); color: var(--text-primary); }
.pep-button--secondary:hover { border-color: var(--brand-secondary) !important; background: var(--brand-light); }
.pep-text-link { color: #e47aff; }

/* Header and navigation */
.pep-announcement {
    border-bottom: 1px solid #31163d;
    background: #050407;
    color: #d8ccd9;
}
.pep-header {
    border-color: var(--border);
    background: rgb(8 7 11 / 94%);
    box-shadow: 0 .75rem 2rem rgb(0 0 0 / 18%);
    backdrop-filter: blur(1rem);
}
.pep-header__inner { min-height: 6.25rem; }
.pep-approved-logo { display: inline-flex; align-items: center; text-decoration: none; }
.pep-approved-logo img { display: block; width: auto; object-fit: cover; object-position: center; }
.pep-approved-logo--header { width: clamp(9.5rem, 16vw, 13.25rem); height: 4.7rem; overflow: hidden; }
.pep-approved-logo--header img { width: 100%; height: 100%; }
.pep-menu a, .pep-icon-button { color: var(--text-primary); }
.pep-menu a:hover, .pep-menu .current-menu-item > a, .pep-menu .current-menu-ancestor > a { color: #e47aff; }
.pep-menu .sub-menu, .pep-search-panel, .pep-drawer__panel {
    border-color: var(--border);
    background: #100d13;
    box-shadow: var(--pep-shadow);
}
.pep-icon-button:hover { background: #211727; color: #eb8cff; }
.pep-cart-count { border-color: #09070b; background: var(--brand-primary); color: #fff; }
.pep-product-search input[type="search"], .pep-search-panel input[type="search"] {
    border-color: var(--border);
    background: #0c0a0e;
    color: var(--text-primary);
}
.pep-drawer__scrim { background: rgb(0 0 0 / 75%); }
.pep-drawer__utilities a { color: var(--text-primary); }

/* Hero */
.pep-hero {
    border-color: var(--border);
    background:
        linear-gradient(90deg, rgb(6 5 8 / 96%) 0 46%, rgb(6 5 8 / 68%) 100%),
        repeating-linear-gradient(60deg, transparent 0 38px, rgb(181 44 255 / 5%) 39px 40px, transparent 41px 76px);
}
.pep-hero::before {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 76% 48%, rgb(185 32 255 / 18%), transparent 38%);
    content: "";
    pointer-events: none;
}
.pep-hero::after {
    right: -8rem;
    bottom: -10rem;
    width: 32rem;
    height: 32rem;
    border-color: rgb(205 77 255 / 18%);
    box-shadow: 0 0 0 5rem rgb(122 18 161 / 3%), 0 0 0 10rem rgb(122 18 161 / 2%);
}
.pep-hero h1 {
    max-width: 11ch;
    background: linear-gradient(110deg, #fff 20%, #c7bdca 56%, #f09bff 88%);
    background-clip: text;
    color: transparent;
    font-weight: 850;
    text-shadow: 0 1rem 4rem rgb(187 44 255 / 10%);
}
.pep-hero__lead { color: #c5bcc9; }
.pep-brand-stage {
    width: min(100%, 38rem);
    aspect-ratio: auto;
    border-color: #42294d;
    border-radius: var(--pep-radius-lg);
    background: linear-gradient(145deg, rgb(20 15 24 / 94%), rgb(4 3 6 / 96%));
    box-shadow: var(--pep-shadow), var(--pep-glow);
    backdrop-filter: none;
}
.pep-brand-stage::before, .pep-brand-stage::after { display: none; }
.pep-brand-showcase { display: block; padding: clamp(.8rem, 2vw, 1.25rem); overflow: hidden; }
.pep-brand-showcase__logo { display: block; width: 100%; height: auto; border: 1px solid #3c3440; }
.pep-brand-showcase__labels { display: grid; gap: .6rem; margin-top: .7rem; }
.pep-brand-showcase__labels img { display: block; width: 100%; height: auto; border: 1px solid #2c2630; }
.pep-hero-product { border: 1px solid #3e3145; background: #09070b; box-shadow: var(--pep-shadow), var(--pep-glow); }

/* Sections, cards, content and forms */
.pep-section--categories, .pep-products-section { position: relative; }
.pep-section--categories::before, .pep-products-section::before {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: radial-gradient(circle at 10% 50%, rgb(130 28 177 / 7%), transparent 28rem);
    content: "";
}
.pep-category-card {
    border-color: var(--border);
    background: linear-gradient(145deg, #17131a, #0d0b0f);
    color: var(--text-primary);
    box-shadow: inset 0 1px rgb(255 255 255 / 3%);
}
.pep-category-card::before {
    top: -2.5rem;
    right: -2rem;
    width: 7rem;
    height: 6rem;
    border: 1px solid rgb(215 75 255 / 22%);
    border-radius: 28% 28% 28% 28%;
    background: transparent;
    transform: rotate(30deg);
}
.pep-category-card:hover { border-color: #86449f; box-shadow: var(--pep-glow); }
.pep-empty-state, .pep-learn-card {
    border-color: var(--border);
    background: linear-gradient(125deg, #17121b, #0b090d);
}
.pep-empty-state__icon { background: #291433; color: #e369ff; }
.pep-page-hero {
    border-color: var(--border);
    background: radial-gradient(circle at 70% 20%, rgb(154 31 206 / 18%), transparent 22rem), linear-gradient(135deg, #100c13, #08070a);
}
.pep-page-hero h1, .pep-section-heading h2, .pep-learn-card h2 { color: #f9f6fa; }
.pep-prose { color: #d5cdd8; }
.pep-prose a { color: #e47aff; }
.pep-prose blockquote { border-left-color: var(--brand-primary); background: var(--surface-alt); }
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="search"], input[type="number"], select, textarea {
    border-color: var(--border) !important;
    background: #0c0a0e !important;
    color: var(--text-primary) !important;
}

/* WooCommerce surfaces */
.cp-commerce ul.products li.product, .woocommerce ul.products li.product {
    border-color: var(--border);
    background: linear-gradient(160deg, #17131a, #0d0b0f);
    box-shadow: inset 0 1px rgb(255 255 255 / 3%);
}
.cp-commerce ul.products li.product:hover, .woocommerce ul.products li.product:hover {
    border-color: #6f3a81;
    box-shadow: var(--pep-shadow), 0 0 2rem rgb(181 44 255 / 12%);
}
.woocommerce ul.products li.product a, .woocommerce div.product a { color: inherit; }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price { color: #ed91ff; }
.woocommerce span.onsale { background: var(--brand-primary); color: #fff; }
.woocommerce div.product div.images img, .woocommerce-cart table.cart img { background: #100d13; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: transparent; color: var(--text-secondary); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-color: var(--brand-primary); color: var(--text-primary); }
.woocommerce-cart .cart-collaterals .cart_totals, .woocommerce-checkout #order_review, .woocommerce-account .woocommerce-MyAccount-content {
    border-color: var(--border);
    background: var(--surface-alt);
}
.woocommerce table.shop_table, .woocommerce-account .woocommerce-MyAccount-navigation ul { border-color: var(--border); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: #291433; color: #f09bff; }
.woocommerce-error, .woocommerce-info, .woocommerce-message { border-top-color: var(--brand-primary); background: #17131a; color: var(--text-primary); }

/* Footer */
.pep-footer {
    border-color: #291f2e;
    background: #060507;
    background-image: radial-gradient(circle at 15% 0, rgb(146 24 199 / 11%), transparent 25rem);
}
.pep-approved-logo--footer { width: 14rem; height: 8.4rem; overflow: hidden; }
.pep-approved-logo--footer img { width: 100%; height: 100%; }
.pep-footer__nav h2 { color: #eee7f0; }
.pep-footer__nav a { color: #aca2b0; }
.pep-footer__nav a:hover { color: #e47aff; }
.pep-footer__bottom { border-color: #291f2e; }

@media (max-width: 64rem) {
    .pep-approved-logo--header { margin-inline: auto; }
}

@media (max-width: 48rem) {
    .pep-header__inner { min-height: 5rem; }
    .pep-approved-logo--header { width: 8.75rem; height: 3.75rem; }
    .pep-hero {
        background: radial-gradient(ellipse at 50% 76%, rgb(181 44 255 / 15%), transparent 40%), #070609;
    }
    .pep-hero__grid, .pep-hero__content, .pep-hero__visual { min-width: 0; width: 100%; }
    .pep-hero h1 { max-width: 100%; overflow-wrap: anywhere; }
    .pep-hero__lead { max-width: 100%; overflow-wrap: anywhere; }
    .pep-hero__visual { min-height: auto; padding-top: 0; overflow: hidden; }
    .pep-brand-showcase { box-sizing: border-box; width: min(100%, 32rem); max-width: 100%; }
    .pep-brand-showcase img { max-width: 100%; }
    .pep-actions { display: grid; grid-template-columns: 1fr; }
    .pep-actions .pep-button { width: 100%; }
    .pep-brand-showcase__labels img:nth-child(n+3) { display: none; }
    .pep-footer__grid { gap: 2.5rem 1.5rem; }
}

/* 1.4 premium commerce UX: identity-led, restrained WooCommerce surfaces. */
@view-transition { navigation: auto; }

:root {
    --pep-commerce-ease: cubic-bezier(.2, .7, .2, 1);
    --pep-commerce-fast: 160ms;
    --pep-commerce-standard: 220ms;
}

body.pep-commerce-overlay-open { overflow: hidden; }
.pep-product-accent { display: inline-block; width: .55rem; height: .55rem; flex: 0 0 auto; border-radius: 50%; background: var(--4eva-product-accent, var(--brand-primary)); }

/* Curated catalog cards retain native WooCommerce links and actions. */
.woocommerce .products { gap: clamp(1rem, 2.5vw, 2rem); }
.woocommerce ul.products li.product.pep-product-card {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: clamp(1rem, 2vw, 1.4rem);
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: .45rem;
    background: #0e0c10;
    box-shadow: none;
    transition: border-color var(--pep-commerce-standard) var(--pep-commerce-ease), transform var(--pep-commerce-standard) var(--pep-commerce-ease);
    width: 100% !important;
    justify-self: stretch;
}
.woocommerce ul.products li.product.pep-product-card::before {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 1rem;
    left: 1rem;
    height: 2px;
    background: var(--4eva-product-accent, var(--brand-primary));
    content: "";
    opacity: .78;
}
.woocommerce ul.products li.product.pep-product-card a.woocommerce-LoopProduct-link { display: block; flex: 1; text-decoration: none; }
.woocommerce ul.products li.product.pep-product-card img {
    width: 100%;
    aspect-ratio: 3 / 1;
    margin: 0 0 clamp(1.2rem, 2.5vw, 1.75rem);
    padding: clamp(.5rem, 1.2vw, .85rem);
    object-fit: contain;
    border-radius: .25rem;
    background: #08070a;
    transition: transform var(--pep-commerce-standard) var(--pep-commerce-ease);
}
.woocommerce ul.products li.product.pep-product-card .woocommerce-loop-product__title { margin: 0; color: #f2eef4; font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: 1.2; }
.woocommerce ul.products li.product.pep-product-card .price { margin: .7rem 0 0; font-size: 1rem; }
.woocommerce ul.products li.product.pep-product-card > .button { align-self: flex-start; margin-top: 1.25rem; }
.woocommerce .woocommerce-notices-wrapper:empty { display: none; }
.pep-commerce-enhanced .woocommerce a.added_to_cart.wc-forward { display: none; }
.pep-catalog-empty { display: flex; align-items: center; gap: 1rem; max-width: 48rem; }
.pep-catalog-empty h2, .pep-catalog-empty p { margin: 0; }
.pep-catalog-empty h2 { font-size: clamp(1.2rem, 2.2vw, 1.55rem); }
.pep-catalog-empty p { margin-top: .25rem; color: var(--text-secondary); }
@media (hover: hover) and (pointer: fine) {
    .woocommerce ul.products li.product.pep-product-card:hover { border-color: color-mix(in srgb, var(--4eva-product-accent, #a72ccc) 46%, var(--border)); transform: translateY(-3px); }
    .woocommerce ul.products li.product.pep-product-card:hover img { transform: scale(1.012); }
}

/* Search stays a header interaction and enhances the existing form progressively. */
.pep-search-panel { max-height: min(78vh, 42rem); overflow-y: auto; }
.pep-search-panel__inner { align-items: start; }
.pep-search-panel__content { min-width: 0; width: min(100%, 52rem); margin-inline: auto; }
.pep-search-panel__content .pep-product-search { width: 100%; }
.pep-search-results { display: grid; gap: .35rem; margin-top: .65rem; }
.pep-search-results:empty { display: none; }
.pep-search-result {
    position: relative;
    display: grid;
    grid-template-columns: 5.5rem minmax(0, 1fr);
    align-items: center;
    gap: 1rem;
    min-height: 4.75rem;
    padding: .6rem .8rem .6rem 1rem;
    border: 1px solid transparent;
    border-left: 2px solid var(--4eva-product-accent, #6c3477);
    border-radius: .25rem;
    background: #0c0a0e;
    color: #eee9f0;
    font-weight: 720;
    text-decoration: none;
}
.pep-search-result:hover, .pep-search-result:focus-visible { border-color: #3b3340; background: #121015; }
.pep-search-result img { width: 5.5rem; height: 3rem; object-fit: contain; background: #08070a; }
.pep-search-results__empty { margin: .75rem 0 0; padding: .85rem 1rem; color: var(--text-secondary); }

/* Native WooCommerce mini-cart inside an accessible custom drawer. */
.pep-commerce-drawer[hidden] { display: none; }
.pep-commerce-drawer { position: fixed; z-index: 1200; inset: 0; display: grid; grid-template-columns: minmax(0, 1fr) min(92vw, 27rem); }
.pep-commerce-drawer__scrim { width: 100%; height: 100%; padding: 0; border: 0; border-radius: 0; background: rgb(0 0 0 / 62%); opacity: 0; transition: opacity var(--pep-commerce-standard) var(--pep-commerce-ease); }
.pep-commerce-drawer__panel {
    display: flex;
    min-width: 0;
    height: 100%;
    max-height: 100dvh;
    flex-direction: column;
    padding: max(1.15rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) 1.25rem;
    overflow-y: auto;
    border-left: 1px solid var(--border);
    background: #09080b;
    box-shadow: -1.5rem 0 4rem rgb(0 0 0 / 35%);
    transform: translateX(100%);
    transition: transform var(--pep-commerce-standard) var(--pep-commerce-ease);
}
.pep-commerce-drawer.is-open .pep-commerce-drawer__scrim { opacity: 1; }
.pep-commerce-drawer.is-open .pep-commerce-drawer__panel { transform: translateX(0); }
.pep-commerce-drawer__head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 1rem; border-bottom: 1px solid var(--border); }
.pep-commerce-drawer__head h2 { margin: 0; font-size: 1.25rem; }
.pep-mini-cart__contents { display: flex; min-height: 0; flex: 1; flex-direction: column; }
.pep-mini-cart__contents .woocommerce-mini-cart { padding: 0; margin: 0; list-style: none; }
.pep-mini-cart__contents .woocommerce-mini-cart-item {
    position: relative;
    display: grid;
    grid-template-columns: 5.5rem minmax(0, 1fr) auto;
    gap: .8rem;
    padding: 1rem .25rem 1rem .75rem;
    border-bottom: 1px solid var(--border);
    border-left: 2px solid var(--4eva-product-accent, #6c3477);
}
.pep-mini-cart__contents .woocommerce-mini-cart-item > a:not(.remove) { grid-column: 1 / 3; display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); align-items: center; gap: .8rem; color: #eee9f0; font-weight: 700; text-decoration: none; }
.pep-mini-cart__contents .woocommerce-mini-cart-item img { width: 5.5rem; height: 3.25rem; margin: 0; object-fit: contain; background: #08070a; }
.pep-mini-cart__contents .woocommerce-mini-cart-item .quantity { grid-column: 2; color: var(--text-secondary); }
.pep-mini-cart__contents a.remove { grid-column: 3; grid-row: 1; align-self: start; color: #c5bdc8 !important; }
.pep-mini-cart__contents .woocommerce-mini-cart__total { margin: auto 0 0; padding: 1rem 0; border-top: 1px solid var(--border); }
.pep-mini-cart__contents .woocommerce-mini-cart__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; margin: 0; }
.pep-mini-cart__contents .woocommerce-mini-cart__buttons .button { min-height: 3rem; padding-inline: .75rem; }
.pep-mini-cart__contents .woocommerce-mini-cart__empty-message { margin: auto; padding: 3rem 1rem; color: var(--text-secondary); text-align: center; }

/* Product detail hierarchy and conditional information. */
.single-product .product { --pep-product-rule: var(--4eva-product-accent, var(--brand-primary)); }
.single-product .woocommerce div.product { padding-block: clamp(3rem, 7vw, 6rem); }
.single-product .woocommerce div.product div.images,
.single-product .woocommerce div.product div.summary { margin-bottom: clamp(3rem, 6vw, 5rem); }
.single-product .woocommerce div.product div.images { padding: clamp(1rem, 3vw, 2rem); border: 1px solid var(--border); border-top: 2px solid var(--pep-product-rule); border-radius: .4rem; background: #0c0a0e; }
.single-product .woocommerce div.product div.images img { width: 100%; aspect-ratio: 3 / 1; object-fit: contain; background: #08070a; }
.single-product .woocommerce div.product div.summary { position: relative; padding-top: 1.2rem; }
.single-product .woocommerce div.product div.summary::before { position: absolute; top: 0; left: 0; width: 4rem; height: 2px; background: var(--pep-product-rule); content: ""; }
.single-product .product_title { margin-bottom: 1rem; font-size: clamp(2.5rem, 6vw, 5.25rem); letter-spacing: -.06em; line-height: .98; }
.single-product .summary .price { font-size: clamp(1.2rem, 2vw, 1.5rem); }
.single-product .summary form.cart { display: flex; align-items: stretch; gap: .65rem; margin-top: 2rem; }
.single-product .summary form.cart .quantity input { min-height: 3.1rem; }
.single-product .woocommerce-tabs { clear: both; padding-top: 1rem; border-top: 1px solid var(--border); }
.single-product .woocommerce-tabs ul.tabs { display: flex; gap: 1.5rem; padding: 0 !important; margin-bottom: 1.5rem !important; overflow-x: auto; }
.single-product .woocommerce-tabs ul.tabs::before, .single-product .woocommerce-tabs ul.tabs li::before, .single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li { padding: 0 0 .55rem !important; border: 0 !important; border-bottom: 2px solid transparent !important; border-radius: 0 !important; }
.single-product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--pep-product-rule) !important; }

.pep-product-documents { clear: both; padding-block: clamp(2rem, 5vw, 4rem); border-top: 1px solid var(--border); }
.pep-product-documents > h2 { margin: 0 0 1.5rem; font-size: clamp(1.75rem, 3vw, 2.5rem); }
.pep-product-documents__list { display: grid; gap: .75rem; }
.pep-product-document { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.2rem 1.4rem; border: 1px solid var(--border); border-left: 2px solid var(--4eva-product-accent, var(--brand-primary)); background: #0d0b0f; }
.pep-product-document h3, .pep-product-document p { margin: .15rem 0 0; }
.pep-product-document__type { color: var(--text-secondary); font-size: .72rem; font-weight: 780; letter-spacing: .12em; text-transform: uppercase; }

.pep-sticky-purchase[hidden] { display: none; }
.pep-sticky-purchase { position: fixed; z-index: 900; right: 0; bottom: 0; left: 0; padding: .7rem 0 max(.7rem, env(safe-area-inset-bottom)); border-top: 1px solid var(--border); background: rgb(9 8 11 / 96%); box-shadow: 0 -1rem 2.5rem rgb(0 0 0 / 28%); backdrop-filter: blur(.75rem); }
.pep-sticky-purchase__inner, .pep-sticky-purchase__product { display: flex; align-items: center; gap: .75rem; }
.pep-sticky-purchase__inner { justify-content: space-between; }
.pep-sticky-purchase__price { color: #d7cfd9; }
.pep-sticky-purchase .button { min-height: 2.8rem !important; }

/* Cart, checkout, and account retain WooCommerce processing with a native visual hierarchy. */
.woocommerce-cart table.cart tr.cart_item,
.woocommerce-checkout-review-order-table tr.cart_item,
.woocommerce-order-details tr.order_item { box-shadow: inset 2px 0 var(--4eva-product-accent, transparent); }
.woocommerce-cart table.cart img,
.woocommerce-checkout-review-order-table img { aspect-ratio: 3 / 1; object-fit: contain; }
.woocommerce-cart .cart_totals h2,
.woocommerce-checkout #order_review_heading { display: flex; align-items: center; gap: .7rem; }
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review { min-width: 0; }
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { float: none; width: auto; }
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout #order_review_heading { margin-top: 0; padding-bottom: .9rem; border-bottom: 1px solid var(--border); }
.woocommerce-checkout .form-row { margin-bottom: .9rem; }
.woocommerce-checkout .form-row label { margin-bottom: .3rem; color: #c8c1ca; font-size: .85rem; font-weight: 680; }
.woocommerce form .form-row.woocommerce-invalid label,
.woocommerce .checkout-inline-error-message { color: var(--error) !important; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { padding-block: .8rem; }
.woocommerce-checkout form.checkout_coupon { max-width: 34rem; padding: 1rem; border-color: var(--border); background: #0d0b0f; }
.woocommerce-account.logged-in .cp-entry__content > .woocommerce { align-items: start; gap: clamp(1.25rem, 4vw, 3rem); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { background: #0b090d; }
.woocommerce-account .woocommerce-MyAccount-navigation a { position: relative; color: #b9b1bc; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: #171119; color: #f0eaf2; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a::before { position: absolute; inset: 0 auto 0 0; width: 2px; background: var(--brand-primary); content: ""; }
.woocommerce-account .woocommerce-MyAccount-content { min-width: 0; }
.woocommerce-account .woocommerce-orders-table tr.order { border-left: 2px solid #583064; }
.woocommerce-account .woocommerce-info { display: flex; align-items: center; gap: .9rem; border-top-width: 2px; }
.woocommerce-account.logged-in .cp-main.cp-container--narrow { max-width: min(100%, 72rem); }
.woocommerce-account .woocommerce-info .button { order: 2; float: none; flex: 0 0 auto; margin: 0 0 0 auto; }
.woocommerce-account .woocommerce-orders-table__cell-order-actions { white-space: nowrap; }
.woocommerce-account .woocommerce-orders-table__cell-order-actions .button { min-height: 2.55rem; margin: .15rem; padding: .65rem .75rem; }

@media (max-width: 48rem) {
    .woocommerce ul.products { grid-template-columns: 1fr !important; }
    .pep-search-panel { max-height: calc(100dvh - 7rem); }
    .pep-search-result { grid-template-columns: 4.5rem minmax(0,1fr); }
    .pep-search-result img { width: 4.5rem; }
    .pep-commerce-drawer { grid-template-columns: 1fr; }
    .pep-commerce-drawer__scrim { position: absolute; inset: 0; }
    .pep-commerce-drawer__panel { position: relative; z-index: 1; width: min(100%, 27rem); margin-left: auto; }
    .single-product .woocommerce div.product { padding-top: 2.5rem; }
    .single-product .woocommerce div.product div.images,
    .single-product .woocommerce div.product div.summary { float: none; width: 100%; }
    .single-product .product_title { font-size: clamp(2.5rem, 12vw, 4rem); }
    .single-product .summary form.cart { align-items: stretch; }
    .pep-sticky-purchase__product { min-width: 0; }
    .pep-sticky-purchase__product strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .pep-sticky-purchase__price { display: none; }
    .pep-product-document { align-items: flex-start; flex-direction: column; }
    .woocommerce-cart table.shop_table_responsive tr.cart_item { border-left: 2px solid var(--4eva-product-accent, var(--border)); }
    .woocommerce-checkout #order_review { padding: 1rem; }
    .woocommerce-account .woocommerce-info { display: block; }
    .woocommerce-account .woocommerce-info .button { float: none; display: block; width: max-content; margin: 0 0 .75rem; }
}

@media (max-width: 23.5rem) {
    .pep-mini-cart__contents .woocommerce-mini-cart__buttons { grid-template-columns: 1fr; }
    .pep-sticky-purchase__inner { gap: .5rem; }
    .pep-sticky-purchase__product strong { max-width: 8rem; }
}

@media (prefers-reduced-motion: reduce) {
    @view-transition { navigation: none; }
    *, *::before, *::after { scroll-behavior: auto !important; }
    .pep-commerce-drawer__scrim, .pep-commerce-drawer__panel,
    .woocommerce ul.products li.product.pep-product-card,
    .woocommerce ul.products li.product.pep-product-card img { transition-duration: .01ms !important; transform: none !important; }
}

@media (forced-colors: active) {
    .pep-product-accent, .woocommerce ul.products li.product.pep-product-card::before { border: 1px solid CanvasText; }
}

@media (max-width: 24rem) {
    .pep-approved-logo--header { width: 7rem; height: 3.2rem; }
    .pep-brand-showcase__labels img:nth-child(n+2) { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .pep-button, .pep-category-card, .woocommerce ul.products li.product { box-shadow: none; }
}

@media (forced-colors: active) {
    .pep-hero h1 { background: none; color: CanvasText; }
}

/* 1.2 refinement: disciplined composition, native motifs, quieter interaction. */
:root {
    --surface: #08070a;
    --surface-alt: #0d0c0f;
    --surface-raised: #131116;
    --border: #29242d;
    --text-secondary: #aaa4ae;
    --pep-shadow: 0 1.25rem 3rem rgb(0 0 0 / 28%);
    --pep-glow: none;
    --pep-space-section: clamp(5rem, 9vw, 8.5rem);
}

body.pep-site { background-image: none; }
.pep-container { width: min(calc(100% - clamp(2rem, 6vw, 6rem)), var(--pep-container)); }
.pep-eyebrow { color: #cc52ea; letter-spacing: .18em; }
.pep-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .wc-block-components-button {
    min-height: 3.1rem;
    border-radius: .25rem !important;
    box-shadow: none !important;
    letter-spacing: .075em;
}
.pep-button--primary, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .wc-block-components-button {
    border-color: #a72ccc !important;
    background: #9825b9 !important;
}
.pep-button--primary:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .wc-block-components-button:hover {
    background: #ac36ca !important;
    box-shadow: none !important;
}
.pep-button--secondary { border-color: #4e4752 !important; background: #0e0c10; }
.pep-button--secondary:hover { border-color: #9250a1 !important; background: #17121a; }

/* One continuous header/page plane. */
.pep-announcement { border: 0; background: #060507; color: #c4bdc7; }
.pep-header {
    border-color: rgb(255 255 255 / 7%);
    background: #08070a;
    box-shadow: none;
    backdrop-filter: none;
}
.pep-header__inner { min-height: 5.75rem; }
.pep-approved-logo--header { width: clamp(10rem, 15vw, 12.25rem); height: 4.35rem; }
.pep-approved-logo img {
    mix-blend-mode: screen;
    -webkit-mask-image: radial-gradient(ellipse 100% 100% at center, #000 88%, transparent 100%);
    mask-image: radial-gradient(ellipse 100% 100% at center, #000 88%, transparent 100%);
}
.pep-menu a { color: #d3ced6; font-size: .75rem; letter-spacing: .1em; }
.pep-menu a:hover, .pep-menu .current-menu-item > a, .pep-menu .current-menu-ancestor > a { color: #fff; }
.pep-menu .current-menu-item > a::after, .pep-menu .current-menu-ancestor > a::after {
    position: absolute;
    right: 0;
    bottom: .2rem;
    left: 0;
    height: 1px;
    background: #bd40dc;
    content: "";
}
.pep-icon-button:hover { background: #141116; color: #d968ef; }

/* Homepage hero uses the logo as a mark within native composition, not a poster. */
.pep-hero {
    border: 0;
    background: #08070a;
}
.pep-hero::before {
    background:
        radial-gradient(ellipse at 75% 47%, rgb(132 35 156 / 12%), transparent 36%),
        linear-gradient(90deg, transparent 0 50%, rgb(255 255 255 / 2%) 50% 50.08%, transparent 50.08%);
}
.pep-hero::after { display: none; }
.pep-hero__grid { min-height: clamp(40rem, 68vw, 52rem); }
.pep-hero__content { padding-right: clamp(2rem, 8vw, 7rem); }
.pep-hero h1 {
    max-width: 10ch;
    background: none;
    color: #f3eff5;
    font-size: clamp(3.4rem, 6.4vw, 6.5rem);
    font-weight: 760;
    letter-spacing: -.07em;
    text-shadow: none;
}
.pep-hero__lead { max-width: 34rem; color: #b7b0ba; }
.pep-brand-stage {
    width: min(100%, 38rem);
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.pep-brand-orbit { position: relative; display: grid; min-height: 30rem; place-items: center; isolation: isolate; }
.pep-brand-orbit__logo {
    position: relative;
    z-index: 2;
    display: block;
    width: min(112%, 40rem);
    height: auto;
    clip-path: inset(1px);
    mix-blend-mode: screen;
    -webkit-mask-image: radial-gradient(ellipse 100% 100% at center, #000 88%, transparent 100%);
    mask-image: radial-gradient(ellipse 100% 100% at center, #000 88%, transparent 100%);
    filter: drop-shadow(0 .9rem 1.5rem rgb(0 0 0 / 35%));
}
.pep-brand-orbit__ring {
    position: absolute;
    z-index: 1;
    width: 78%;
    aspect-ratio: 2.1 / 1;
    border: 1px solid rgb(194 57 222 / 36%);
    border-radius: 50%;
    transform: rotate(-16deg);
}
.pep-brand-orbit__ring::after {
    position: absolute;
    inset: 13%;
    border: 1px solid rgb(255 255 255 / 7%);
    border-radius: inherit;
    content: "";
}
.pep-brand-orbit__hex {
    position: absolute;
    width: 6rem;
    aspect-ratio: 1;
    border: 1px solid rgb(200 72 228 / 15%);
    clip-path: polygon(25% 7%, 75% 7%, 100% 50%, 75% 93%, 25% 93%, 0 50%);
}
.pep-brand-orbit__hex--one { top: 10%; right: 3%; }
.pep-brand-orbit__hex--two { bottom: 12%; left: 5%; width: 3.75rem; opacity: .65; }
.pep-brand-orbit__line {
    position: absolute;
    right: 4%;
    bottom: 13%;
    width: 52%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgb(199 65 226 / 60%), transparent);
}

/* Section flow: tonal rhythm and fine lines instead of framed blocks. */
.pep-section--categories, .pep-products-section { background: transparent; }
.pep-section--categories::before, .pep-products-section::before { display: none; }
.pep-products-section {
    border-top: 1px solid rgb(255 255 255 / 6%);
    background: linear-gradient(180deg, #0a090c, #08070a);
}
.pep-products-section::after {
    position: absolute;
    top: -1px;
    left: max(clamp(1rem, 6vw, 6rem), calc((100% - var(--pep-container)) / 2));
    width: min(12rem, 35vw);
    height: 1px;
    background: #a62fc4;
    content: "";
}
.pep-empty-state {
    border: 1px solid var(--border);
    border-left: 2px solid #843098;
    border-radius: .35rem;
    background: #0d0b0f;
}
.pep-empty-state__icon { border-radius: .3rem; background: #18121b; color: #c058d5; }
.pep-learn-section {
    border-top: 1px solid rgb(255 255 255 / 5%);
    background: #0b090c;
}
.pep-learn-card {
    position: relative;
    padding: clamp(2rem, 5vw, 4.5rem);
    border: 0;
    border-radius: 0;
    background: #100d12;
}
.pep-learn-card::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 1px;
    background: linear-gradient(transparent, #a63cc0, transparent);
    content: "";
}
.pep-learn-card .pep-eyebrow { color: #c95ae0; }
.pep-learn-card p:not(.pep-eyebrow) { color: #aaa3ad; }

/* About composition remains useful when final copy arrives. */
.pep-about { background: #08070a; }
.pep-about-hero {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid rgb(255 255 255 / 6%);
}
.pep-about-hero::before {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 78% 46%, rgb(131 32 154 / 13%), transparent 32%);
    content: "";
}
.pep-about-hero__grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(22rem, 1.1fr);
    align-items: center;
    gap: clamp(3rem, 9vw, 9rem);
    min-height: clamp(36rem, 63vw, 48rem);
}
.pep-about-hero__content { padding-block: clamp(5rem, 10vw, 8rem); }
.pep-about-hero h1 {
    max-width: 9ch;
    margin: 0;
    color: #f2eef4;
    font-size: clamp(3.5rem, 7vw, 6.6rem);
    font-weight: 760;
    letter-spacing: -.075em;
    line-height: .94;
}
.pep-about-hero__content > p:last-child { max-width: 34rem; margin: 1.75rem 0 0; color: #aaa3ad; font-size: clamp(1rem, 1.5vw, 1.15rem); }
.pep-about-hero__visual { position: relative; display: grid; min-height: 25rem; place-items: center; }
.pep-about-hero__visual img {
    position: relative;
    z-index: 2;
    width: min(110%, 36rem);
    height: auto;
    clip-path: inset(1px);
    opacity: .9;
    mix-blend-mode: screen;
    -webkit-mask-image: radial-gradient(ellipse 100% 100% at center, #000 88%, transparent 100%);
    mask-image: radial-gradient(ellipse 100% 100% at center, #000 88%, transparent 100%);
}
.pep-about-hero__halo {
    position: absolute;
    width: 72%;
    aspect-ratio: 2 / 1;
    border: 1px solid rgb(197 57 222 / 25%);
    border-radius: 50%;
    transform: rotate(-15deg);
}
.pep-about-hero__trace { position: absolute; right: 10%; bottom: 13%; width: 45%; height: 1px; background: #8d359f; opacity: .55; }
.pep-about-framework { padding-block: clamp(4rem, 9vw, 7rem); background: linear-gradient(180deg, #0b0a0d, #08070a); }
.pep-about-framework__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pep-about-framework__intro { min-height: 11rem; padding: 1.5rem clamp(1.25rem, 3vw, 2.5rem); border-left: 1px solid var(--border); }
.pep-about-framework__intro:last-child { border-right: 1px solid var(--border); }
.pep-about-framework__intro span { color: #b549c9; font-size: .72rem; font-weight: 800; letter-spacing: .16em; }
.pep-about-framework__intro p { max-width: 17rem; margin: 2.5rem 0 0; color: #bbb4be; }
.pep-about-editor { padding-bottom: var(--pep-space-section); }

/* Native footer composition with logo artwork blended into the plane. */
.pep-footer {
    position: relative;
    padding-top: clamp(5rem, 9vw, 8rem);
    overflow: hidden;
    border-color: rgb(255 255 255 / 7%);
    background: #060507;
    background-image: radial-gradient(ellipse at 10% 20%, rgb(115 27 135 / 9%), transparent 26rem);
}
.pep-footer__motif { position: absolute; top: -.5rem; right: 0; left: 0; height: 5rem; opacity: .42; }
.pep-footer__motif svg { display: block; width: 100%; height: 100%; }
.pep-footer__motif polyline { fill: none; stroke: #aa43be; stroke-width: 1; vector-effect: non-scaling-stroke; }
.pep-footer__grid { position: relative; grid-template-columns: minmax(15rem, 1.6fr) repeat(4, minmax(8rem, 1fr)); }
.pep-footer__brand { max-width: 20rem; }
.pep-approved-logo--footer { width: 15rem; height: 7.25rem; margin: -1rem 0 .75rem; }
.pep-approved-logo--footer img { clip-path: inset(1px); }
.pep-footer__brand p { color: #918a94; }
.pep-footer__nav h2 { color: #d8d2da; }
.pep-footer__nav a { color: #918a94; }
.pep-footer__nav a:hover { color: #d16ae2; text-decoration: none; }
.pep-footer__bottom { border-color: rgb(255 255 255 / 7%); }

.cp-commerce ul.products li.product, .woocommerce ul.products li.product {
    border-color: var(--border);
    border-radius: .4rem;
    background: #0e0c10;
    box-shadow: none;
}
.cp-commerce ul.products li.product:hover, .woocommerce ul.products li.product:hover {
    border-color: #4b3a50;
    box-shadow: 0 1rem 2.5rem rgb(0 0 0 / 24%);
    transform: translateY(-2px);
}

@media (max-width: 64rem) {
    .pep-about-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(18rem, .85fr); gap: 2rem; }

}

@media (max-width: 48rem) {
    .pep-container { width: min(calc(100% - 2rem), var(--pep-container)); }
    .pep-approved-logo--header { width: 8.25rem; height: 3.55rem; }
    .pep-hero__grid { min-height: auto; }
    .pep-hero__content { padding: 4.5rem 0 2rem; }
    .pep-hero h1 { font-size: clamp(3rem, 13vw, 4.3rem); }
    .pep-brand-orbit { min-height: 20rem; }
    .pep-brand-orbit__hex { display: none; }
    .pep-brand-orbit__line { opacity: .45; }
    .pep-about-hero__grid { grid-template-columns: 1fr; gap: 0; min-height: auto; }
    .pep-about-hero__content { padding: 4.5rem 0 1rem; }
    .pep-about-hero h1 { font-size: clamp(3rem, 14vw, 4.5rem); }
    .pep-about-hero__visual { min-height: 18rem; overflow: hidden; }
    .pep-about-hero__visual img { width: min(115%, 29rem); }
    .pep-about-framework__grid { grid-template-columns: 1fr; }
    .pep-about-framework__intro { min-height: auto; padding: 1.5rem 1rem 2rem; border-top: 1px solid var(--border); border-right: 0 !important; border-left: 0; }
    .pep-about-framework__intro p { margin-top: 1rem; }
    .pep-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pep-footer__brand { grid-column: 1 / -1; max-width: 100%; }
    .pep-approved-logo--footer { width: 12.5rem; height: 6rem; }
}

@media (max-width: 24rem) {
    .pep-approved-logo--header { width: 7rem; height: 3rem; }
    .pep-footer__grid { gap: 2rem 1rem; }
}

/* 1.3 final foundation: genuine transparent logo asset and page-shell polish. */
.pep-approved-logo img {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
    mix-blend-mode: normal;
    -webkit-mask-image: none;
    mask-image: none;
}
.pep-approved-logo--header {
    width: clamp(9.25rem, 13vw, 10.75rem);
    height: auto;
    overflow: visible;
}
.pep-header__inner { min-height: 5.5rem; }
.pep-brand-orbit__logo {
    width: min(112%, 42rem);
    clip-path: none;
    mix-blend-mode: normal;
    -webkit-mask-image: none;
    mask-image: none;
    filter: drop-shadow(0 .75rem 1.4rem rgb(101 25 121 / 12%));
}
.pep-about-hero__visual img {
    width: min(112%, 39rem);
    clip-path: none;
    mix-blend-mode: normal;
    -webkit-mask-image: none;
    mask-image: none;
}
.pep-approved-logo--footer {
    width: 13.5rem;
    height: auto;
    margin: 0 0 1.25rem;
    overflow: visible;
}
.pep-approved-logo--footer img { clip-path: none; }

/* Keep placeholder-length internal pages composed without manufacturing copy. */
.pep-page:not(.pep-about) {
    position: relative;
    display: flex;
    min-height: 68vh;
    flex-direction: column;
    overflow: hidden;
}
.pep-page:not(.pep-about)::after {
    position: absolute;
    z-index: -1;
    right: -4rem;
    bottom: 1rem;
    width: 17rem;
    aspect-ratio: 1;
    border: 1px solid rgb(174 62 197 / 7%);
    clip-path: polygon(25% 7%, 75% 7%, 100% 50%, 75% 93%, 25% 93%, 0 50%);
    content: "";
}
.pep-page:not(.pep-about) .pep-page-hero {
    position: relative;
    margin-bottom: clamp(3rem, 7vw, 5.5rem);
    overflow: hidden;
    border-bottom: 1px solid rgb(255 255 255 / 5%);
    background: radial-gradient(ellipse at 72% 30%, rgb(115 31 135 / 9%), transparent 25rem), #0a090c;
}
.pep-page:not(.pep-about) > .pep-container:last-child { flex: 1; padding-bottom: clamp(5rem, 9vw, 8rem); }

@media (max-width: 64rem) {
    .pep-approved-logo--header { width: 9rem; }
}

@media (max-width: 48rem) {
    .pep-approved-logo--header { width: 8rem; }
    .pep-header__inner { min-height: 4.85rem; }
    .pep-brand-orbit { min-height: 18rem; }
    .pep-brand-orbit__logo { width: min(108%, 32rem); }
    .pep-about-hero__visual img { width: min(108%, 31rem); }
    .pep-approved-logo--footer { width: 12rem; }
    .pep-page:not(.pep-about) { min-height: 64vh; }
    .pep-page:not(.pep-about)::after { width: 10rem; opacity: .7; }
}

@media (max-width: 24rem) {
    .pep-approved-logo--header { width: 7.25rem; }
}

/* WooCommerce foundation: scoped fixes for classic custom-theme surfaces. */
.woocommerce-account:not(.logged-in) .cp-entry__content > .woocommerce { display: block; }
.woocommerce-account:not(.logged-in) .woocommerce .u-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(1.25rem, 4vw, 2.5rem);
}
.woocommerce-account:not(.logged-in) .woocommerce .u-columns::before,
.woocommerce-account:not(.logged-in) .woocommerce .u-columns::after { display: none; }
.woocommerce-account:not(.logged-in) .woocommerce .u-column1,
.woocommerce-account:not(.logged-in) .woocommerce .u-column2 { float: none; width: auto; }
.woocommerce-account:not(.logged-in) .woocommerce form.login,
.woocommerce-account:not(.logged-in) .woocommerce form.register {
    min-height: 100%;
    padding: clamp(1.25rem, 3vw, 2rem);
    border-color: var(--border);
    border-radius: .4rem;
    background: #0d0b0f;
}
.woocommerce-account:not(.logged-in) .woocommerce form .form-row { padding: 0; }
.woocommerce-account:not(.logged-in) .woocommerce form .woocommerce-form-login__rememberme { display: block; margin-bottom: 1rem; }
.woocommerce-account:not(.logged-in) .woocommerce-LostPassword { margin-bottom: 0; }
.woocommerce-cart .cp-entry,
.woocommerce-checkout .cp-entry,
.woocommerce-account .cp-entry { min-height: 32rem; }
.woocommerce-cart .cp-entry__header h1,
.woocommerce-checkout .cp-entry__header h1,
.woocommerce-account .cp-entry__header h1 { font-size: clamp(2.75rem, 7vw, 5rem); letter-spacing: -.06em; line-height: 1; }

@media (max-width: 48rem) {
    .woocommerce-account:not(.logged-in) .woocommerce .u-columns { grid-template-columns: 1fr; }
    .woocommerce-cart .cp-entry,
    .woocommerce-checkout .cp-entry,
    .woocommerce-account .cp-entry { min-height: 24rem; }
}

/* Final commerce cascade: keep identity interaction above prior refinements. */
.woocommerce ul.products li.product.pep-product-card { border-color: var(--border); background: #0e0c10; box-shadow: none; }
.woocommerce ul.products li.product.pep-product-card::before { background: var(--4eva-product-accent, var(--brand-primary)); }
.pep-mini-cart__contents .woocommerce-mini-cart-item { display: grid; grid-template-columns: 5.5rem minmax(0,1fr) 1.5rem; gap: .35rem .8rem; padding: 1rem .25rem 1rem .75rem; }
.pep-mini-cart__contents .woocommerce-mini-cart-item > a:not(.remove) { display: grid; width: 100%; grid-column: 1 / 3; grid-template-columns: 5.5rem minmax(0,1fr); align-items: center; gap: .8rem; }
.pep-mini-cart__contents .woocommerce-mini-cart-item > img { grid-column: 1; float: none !important; width: 5.5rem !important; height: 3.25rem !important; margin: 0 !important; object-fit: contain; }
.pep-mini-cart__contents .woocommerce-mini-cart-item > .pep-cart-product-name { grid-column: 2; align-self: center; }
.pep-mini-cart__contents .woocommerce-mini-cart-item .quantity { grid-column: 2; display: block; margin: 0; }
.pep-mini-cart__contents .woocommerce-mini-cart-item a.remove { position: static; grid-column: 3; grid-row: 1; justify-self: end; }
.pep-mini-cart__contents .woocommerce-mini-cart__buttons .button { width: auto !important; margin: 0 !important; }
.woocommerce-account.logged-in .cp-entry__content > .woocommerce { display: grid; grid-template-columns: minmax(12rem, 15rem) minmax(0,1fr); align-items: start; gap: clamp(1.25rem,4vw,3rem); }
.woocommerce-account.logged-in .cp-entry__content > .woocommerce::before,
.woocommerce-account.logged-in .cp-entry__content > .woocommerce::after { display: none; }
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
.woocommerce-account.logged-in .woocommerce-MyAccount-content { float: none; width: auto; }
.woocommerce-account.logged-in .woocommerce-MyAccount-content form { max-width: 52rem; }
@media (hover: hover) and (pointer: fine) {
    .woocommerce ul.products li.product.pep-product-card:hover { border-color: color-mix(in srgb, var(--4eva-product-accent, #a72ccc) 46%, var(--border)); box-shadow: none; transform: translateY(-3px); }
    .woocommerce ul.products li.product.pep-product-card:hover img { transform: scale(1.012); }
}
@media (max-width: 48rem) {
    .woocommerce-account.logged-in .cp-entry__content > .woocommerce { grid-template-columns: minmax(0,1fr); }
}

/* Content-completion components built from the frozen palette and rhythm. */
.pep-about-framework__intro h2 { margin: .75rem 0 0; color: #f4eef6; font-size: clamp(1.15rem, 2vw, 1.45rem); letter-spacing: -.02em; }
.pep-resource-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-bottom: clamp(4rem, 8vw, 6rem); background: var(--border); border: 1px solid var(--border); }
.pep-resource-card { display: grid; grid-template-columns: minmax(7rem, .42fr) minmax(0, 1fr); align-items: center; gap: clamp(1rem, 3vw, 1.75rem); padding: clamp(1rem, 3vw, 1.75rem); background: #0d0b0f; box-shadow: inset 3px 0 0 var(--4eva-product-accent, var(--brand-primary)); }
.pep-resource-card__image { display: block; min-width: 0; }
.pep-resource-card__image img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: contain; }
.pep-resource-card h3 { margin: .25rem 0 .65rem; font-size: clamp(1.25rem, 2.5vw, 1.7rem); }
.pep-resource-card h3 a { color: #f8f4f9; text-decoration: none; }
.pep-resource-card p:last-child { margin: 0; color: #aaa3ad; font-size: .94rem; }
.pep-content-section { padding-block: clamp(2rem, 5vw, 3.5rem); border-top: 1px solid var(--border); }
.pep-faq-group + .pep-faq-group { margin-top: clamp(3rem, 7vw, 5rem); }
.pep-faq-content details div { padding: 0 0 1.25rem; }
.pep-contact-form { margin: 2rem 0 0; padding: clamp(1.25rem, 4vw, 2.5rem); border: 1px solid var(--border); background: #0d0b0f; }
.pep-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.pep-contact-form p { margin: 0 0 1.25rem; }
.pep-contact-form label { display: block; margin-bottom: .5rem; color: #f5eff6; font-weight: 700; }
.pep-contact-form input, .pep-contact-form select, .pep-contact-form textarea { width: 100%; min-height: 3rem; padding: .8rem .9rem; border: 1px solid var(--border); border-radius: .2rem; background: #141116; color: #f7f3f8; font: inherit; }
.pep-contact-form textarea { min-height: 10rem; resize: vertical; }
.pep-contact-form input:focus, .pep-contact-form select:focus, .pep-contact-form textarea:focus { outline: 2px solid var(--brand-primary); outline-offset: 2px; }
.pep-contact-form .pep-form-note { color: #aaa3ad; font-size: .94rem; }
.pep-contact-form button[disabled] { opacity: .58; cursor: not-allowed; }
@media (max-width: 48rem) {
    .pep-resource-grid, .pep-form-grid { grid-template-columns: 1fr; }
    .pep-resource-card { grid-template-columns: minmax(6.5rem, .38fr) minmax(0, 1fr); }
}

@media (min-width: 48.0625rem) and (max-width: 63.5rem) {
    .pep-footer__grid { grid-template-columns: minmax(15rem, 1.5fr) repeat(2, minmax(0, 1fr)); }
}
