
/* ════════════════════════════════════════════════════
   TOKENS
════════════════════════════════════════════════════ */
:root {
    --ppp-bg:           #f0ebe1;
    --ppp-surface:      #faf7f3;
    --ppp-surface-2:    #f3ede4;
    --ppp-border:       #ddd3c3;
    --ppp-border-2:     #c8baa8;
    --ppp-text:         #1e1a16;
    --ppp-text-2:       #4a3f33;
    --ppp-muted:        #8b7355;
    --ppp-light:        #b09f88;
    --ppp-amber:        #c8763a;
    --ppp-amber-h:      #a85f28;
    --ppp-amber-s:      rgba(200,118,58,.12);
    --ppp-gold:         #e8a020;
    --ppp-ff-display:   'Playfair Display', Georgia, serif;
    --ppp-ff-body:      'Lato', system-ui, sans-serif;
    --ppp-r:            8px;
    --ppp-r2:           14px;
    --ppp-shadow:       0 2px 16px rgba(30,26,22,.07);
    --ppp-shadow-2:     0 8px 40px rgba(30,26,22,.13);
    --ppp-ease:         .22s ease;
    --ppp-max:          1160px;
}

/* ════════════════════════════════════════════════════
   RESET / BASE for PPP scopes
════════════════════════════════════════════════════ */
.ppp-single,
.ppp-archive,
.ppp-checkout-page {
    max-width: var(--ppp-max);
    margin: 0 auto;
    padding: 52px 24px 96px;
    font-family: var(--ppp-ff-body);
    color: var(--ppp-text);
    background: var(--ppp-bg);
}

.ppp-single *,
.ppp-archive *,
.ppp-checkout-page * {
    box-sizing: border-box;
}

.ppp-atc-btn--full {
    width: 100%;
    font-size: 16px !important;
    padding: 16px 28px !important;
    justify-content: center;
}

/* ── EDD Native Variation Styling ───────────────────────────────────────
   We style EDD's own .edd_price_options list as cards.
   Works for BOTH multi-mode (checkboxes) and single-mode (radios).
   Zero JS. Native behavior fully preserved.
   ─────────────────────────────────────────────────────────────────────── */

/* Show the list — previously hidden */
.ppp-edd-form-wrap .edd_price_options,
.ppp-edd-form-wrap div.edd_price_options {
    display: block !important;
    margin: 0 0 20px !important;
}

/* Remove default list styles */
.ppp-edd-form-wrap .edd_price_options ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

/* Add a label above the options */
.ppp-edd-form-wrap .edd_price_options::before {
    content: 'Choose your edition:';
    display: block;
    font-family: var(--ppp-ff-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--ppp-muted);
    margin-bottom: 10px;
}

/* Each list item — full width */
.ppp-edd-form-wrap .edd_price_options li {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

/* The label becomes the card — full width, price pushed right */
.ppp-edd-form-wrap .edd_price_options li label {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 14px 18px !important;
    border: 1.5px solid var(--ppp-border) !important;
    border-radius: var(--ppp-r) !important;
    background: var(--ppp-surface-2) !important;
    cursor: pointer !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: var(--ppp-text) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    transition: border-color var(--ppp-ease), background var(--ppp-ease), box-shadow var(--ppp-ease) !important;
    margin: 0 !important;
    line-height: 1.3 !important;
    box-sizing: border-box !important;
}

.ppp-edd-form-wrap .edd_price_options li label:hover {
    border-color: var(--ppp-amber) !important;
    background: #fff !important;
}

/* Hide the native input visually but keep it functional */
.ppp-edd-form-wrap .edd_price_options li input[type="checkbox"],
.ppp-edd-form-wrap .edd_price_options li input[type="radio"] {
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    accent-color: var(--ppp-amber) !important;
    cursor: pointer !important;
}

/* Selected state */
.ppp-edd-form-wrap .edd_price_options li input:checked + * ,
.ppp-edd-form-wrap .edd_price_options li:has(input:checked) label {
    border-color: var(--ppp-amber) !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px var(--ppp-amber-s);
}
.edd_price_option_name{
    box-shadow: none!important;
}
/* Option name — bold */
.ppp-edd-form-wrap .edd_price_option_name {
    font-weight: 700 !important;
    color: var(--ppp-text) !important;
    flex: 1 !important;
}

/* Separator — hide */
.ppp-edd-form-wrap .edd_price_option_sep {
    display: none !important;
}

/* Price — amber, pushed to right */
.ppp-edd-form-wrap .edd_price_option_price {
    font-family: var(--ppp-ff-display) !important;
    font-weight: 700 !important;
    color: var(--ppp-amber) !important;
    margin-left: auto !important;
    font-size: 15px !important;
}

/* EDD 3.x wraps the button in .edd_purchase_submit_wrapper */
.ppp-edd-form-wrap .edd_purchase_submit_wrapper {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Style the AJAX button — NO !important on display, EDD must control it */
.ppp-edd-form-wrap .edd-add-to-cart.edd-has-js {
    display: inline-flex!important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    background: var(--ppp-amber) !important;
    color: #fff !important;
    font-family: var(--ppp-ff-body) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: var(--ppp-r) !important;
    padding: 16px 28px !important;
    cursor: pointer !important;
    transition: background var(--ppp-ease), transform var(--ppp-ease);
    box-shadow: 0 3px 12px rgba(200,118,58,.28) !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

.ppp-edd-form-wrap .edd-add-to-cart .edd-loading,
.ppp-edd-form-wrap .edd-add-to-cart .edd-add-to-cart-label {
    transition: opacity .1s !important;
}

.ppp-edd-form-wrap .edd-add-to-cart.edd-has-js:hover {
    background: var(--ppp-amber-h) !important;
    transform: translateY(-1px) !important;
}

/* Hide the no-JS fallback submit input (visible without JS only) */
/* Hide no-JS fallback — must be more specific than .ppp-atc-btn display rule */
.ppp-edd-form-wrap input.edd-add-to-cart.edd-no-js,
.ppp-edd-form-wrap .edd-add-to-cart.edd-no-js {
    display: none !important;
    visibility: hidden !important;
}

/* Style EDD's "Checkout" link — hidden by JS on page load, shown after add to cart.
   Must be full-width block matching Add to Cart button width. */
.ppp-edd-form-wrap .edd_go_to_checkout {
    box-sizing: border-box !important;
    display: block !important; /* JS overrides this to none on load */
    width: 100% !important;
    background: var(--ppp-text) !important;
    color: #fff !important;
    font-family: var(--ppp-ff-body) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: var(--ppp-r) !important;
    padding: 16px 28px !important;
    text-align: center !important;
    text-decoration: none !important;
    margin-top: 10px !important;
    transition: background var(--ppp-ease) !important;
}

/* When EDD's JS sets display via inline style, our !important block applies */
.ppp-edd-form-wrap .edd_go_to_checkout:hover {
    background: #333 !important;
    color: #fff !important;
}

/* "Added to cart" success tick */
.ppp-edd-form-wrap .edd-cart-ajax-alert {
    text-align: center;
    font-size: 13px;
    color: var(--ppp-amber);
    margin-top: 8px;
}

/* Remove any EDD wrapper margin that squishes button */
.ppp-purchase-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 0;
    padding: 0;
}

/* ════════════════════════════════════════════════════
   SHARED UTILITIES
════════════════════════════════════════════════════ */
.ppp-archive-rule {
    width: 56px;
    height: 3px;
    background: var(--ppp-amber);
    border-radius: 2px;
    margin: 16px auto 0;
}

/* ── Buttons ─────────────────────────────────────── */
.ppp-atc-btn:not(.edd_go_to_checkout),
.ppp-atc-btn.edd-submit:not(.edd_go_to_checkout),
a.ppp-atc-btn:not(.edd_go_to_checkout),
button.ppp-atc-btn:not(.edd_go_to_checkout) {
    /* No display !important — EDD JS must be able to show/hide buttons */
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--ppp-amber) !important;
    color: #fff !important;
    font-family: var(--ppp-ff-body) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: .03em;
    text-decoration: none !important;
    border: none !important;
    border-radius: var(--ppp-r) !important;
    padding: 15px 36px !important;
    cursor: pointer;
    transition: background var(--ppp-ease), transform var(--ppp-ease), box-shadow var(--ppp-ease);
    box-shadow: 0 3px 12px rgba(200,118,58,.28);
    line-height: 1.2 !important;
    -webkit-appearance: none;
}

.ppp-atc-btn:hover,
.ppp-atc-btn.edd-submit:hover {
    background: var(--ppp-amber-h) !important;
    transform: translateY(-1px);
    box-shadow: 0 5px 20px rgba(200,118,58,.38) !important;
    color: #fff !important;
}

.ppp-atc-btn--sm,
.ppp-atc-btn--sm.edd-submit {
    font-size: 13px !important;
    padding: 10px 20px !important;
}

/* Override ALL EDD default button styling */
.ppp-single  .edd-submit,
.ppp-archive .edd-submit,
.ppp-checkout-page .edd-submit {
    background: var(--ppp-amber) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--ppp-r) !important;
    font-family: var(--ppp-ff-body) !important;
    font-weight: 700 !important;
    transition: background var(--ppp-ease) !important;
}

/* ════════════════════════════════════════════════════
   SINGLE PRODUCT — TOP SECTION
════════════════════════════════════════════════════ */
.ppp-product-top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: start;
    margin-bottom: 64px;
}

/* Details left, image right — REMOVED, image stays LEFT */
/* .ppp-details-col { order: 1; } */
/* .ppp-gallery-col  { order: 2; } */

@media (max-width: 860px) {
    .ppp-product-top {
        grid-template-columns: 1fr;
        gap: 36px;
    }
    /* On mobile: constrain image to reasonable size, don't fill full width */
    .ppp-gallery-col {
        max-width: 420px;
        margin: 0 auto;
        width: 100%;
    }
}

/* ── Gallery Column ──────────────────────────────── */
.ppp-gallery-col {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

@media (max-width: 860px) {
    .ppp-gallery-col { position: static; }
}

.ppp-gallery-main {
    border-radius: var(--ppp-r2);
    overflow: hidden;
    background: var(--ppp-surface);
    box-shadow: var(--ppp-shadow-2);
    position: relative;
}

.ppp-gallery-main-inner {
    position: relative;
    line-height: 0;
}

.ppp-main-img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 560px;
    object-fit: contain;
    background: #fff;
    transition: opacity .18s ease;
}

.ppp-gallery-placeholder {
    aspect-ratio: 3/4;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--ppp-surface-2);
    color: var(--ppp-light);
}

.ppp-look-badge {
    position: absolute;
    bottom: 14px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(30,26,22,.72);
    color: #fff;
    font-size: 12px;
    font-family: var(--ppp-ff-body);
    font-weight: 700;
    letter-spacing: .04em;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 7px 16px;
    border-radius: 40px;
    backdrop-filter: blur(4px);
    transition: background var(--ppp-ease);
    white-space: nowrap;
}

.ppp-look-badge:hover {
    background: var(--ppp-amber);
    color: #fff;
}

/* Thumbnails strip */
.ppp-gallery-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ppp-thumb-btn {
    width: 72px;
    height: 90px;
    border: 2px solid var(--ppp-border);
    border-radius: var(--ppp-r);
    overflow: hidden;
    cursor: pointer;
    padding: 0;
    background: var(--ppp-surface);
    transition: border-color var(--ppp-ease), box-shadow var(--ppp-ease);
    flex-shrink: 0;
}

.ppp-thumb-btn img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ppp-thumb-btn:hover,
.ppp-thumb-btn.active {
    border-color: var(--ppp-amber);
    box-shadow: 0 0 0 3px var(--ppp-amber-s);
}

/* ── Details Column ──────────────────────────────── */
.ppp-details-col {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-top: 8px;
}

.ppp-product-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 4px;
}

.ppp-cat-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: var(--ppp-ff-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--ppp-amber) !important;
    text-decoration: none !important;
    border: 1.5px solid var(--ppp-amber);
    border-radius: 40px;
    padding: 5px 14px 5px 10px;
    transition: all var(--ppp-ease);
    background: transparent;
}

.ppp-cat-badge::before {
    content: '';
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ppp-amber);
    flex-shrink: 0;
}

.ppp-cat-badge:hover {
    background: var(--ppp-amber);
    color: #fff !important;
}

.ppp-cat-badge:hover::before {
    background: #fff;
}

.ppp-product-title {
    font-family: var(--ppp-ff-display);
    font-size: clamp(28px, 3.5vw, 42px);
    font-weight: 700;
    line-height: 1.15;
    color: var(--ppp-text);
    margin: 0;
}

.ppp-product-subtitle {
    font-family: var(--ppp-ff-display);
    font-size: 18px;
    font-style: italic;
    font-weight: 400;
    color: var(--ppp-muted);
    margin: -8px 0 0;
}

/* Stars */
.ppp-rating-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ppp-stars-sm {
    display: flex;
    gap: 2px;
    line-height: 1;
}

.ppp-star-sm {
    font-size: 18px;
    color: var(--ppp-border);
    transition: color var(--ppp-ease);
}

.ppp-star-sm.full   { color: var(--ppp-gold); }
.ppp-star-sm.half   { color: var(--ppp-gold); opacity: .55; }
.ppp-star-sm.empty  { color: var(--ppp-border); }

.ppp-rating-count {
    font-size: 13px;
    color: var(--ppp-muted);
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

/* Short description */
.ppp-short-desc {
    font-size: 16px;
    line-height: 1.75;
    color: var(--ppp-text-2);
    border-left: 3px solid var(--ppp-amber);
    padding-left: 18px;
}

.ppp-short-desc p { margin: 0 0 .75em; }
.ppp-short-desc p:last-child { margin-bottom: 0; }

/* ── Purchase Box ────────────────────────────────── */
.ppp-purchase-box {
    background: var(--ppp-surface);
    border: 1.5px solid var(--ppp-border);
    border-radius: var(--ppp-r2);
    padding: 28px 26px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    box-shadow: var(--ppp-shadow);
}

.ppp-price-wrap {
    display: flex;
    align-items: baseline;
    gap: 12px;
}

.ppp-price {
    font-family: var(--ppp-ff-display);
    font-size: 32px;
    font-weight: 700;
    color: var(--ppp-text);
    line-height: 1;
}

/* Variation Picker */
.ppp-variation-label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--ppp-muted);
    margin-bottom: 10px;
}

.ppp-variation-options {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ppp-variation-option {
    cursor: pointer;
    display: block;
}

.ppp-variation-option input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.ppp-variation-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 13px 18px;
    border: 1.5px solid var(--ppp-border);
    border-radius: var(--ppp-r);
    background: var(--ppp-surface-2);
    transition: border-color var(--ppp-ease), background var(--ppp-ease), box-shadow var(--ppp-ease);
    cursor: pointer;
}

.ppp-variation-option input:checked + .ppp-variation-inner {
    border-color: var(--ppp-amber);
    background: #fff;
    box-shadow: 0 0 0 3px var(--ppp-amber-s);
}

.ppp-variation-option:hover .ppp-variation-inner {
    border-color: var(--ppp-amber);
    background: #fff;
}

.ppp-variation-name {
    font-size: 15px;
    font-weight: 600;
    color: var(--ppp-text);
}

.ppp-variation-price {
    font-family: var(--ppp-ff-display);
    font-size: 16px;
    font-weight: 700;
    color: var(--ppp-amber);
}

/* EDD form wrapper — hide EDD's own variable price checkboxes (we replaced them) */
.ppp-edd-form-wrap .edd_price_options_form,
.ppp-edd-form-wrap .edd-price-options,
.ppp-edd-form-wrap ul.edd_price_options {
    display: none !important;
}

/* Keep submit wrapper visible */
.ppp-edd-form-wrap .edd_purchase_submit_wrapper {
    display: block;
}

.ppp-edd-form-wrap .ppp-atc-btn {
    width: 100%;
    font-size: 16px !important;
    padding: 16px 28px !important;
}

/* Product Meta */
.ppp-product-meta {
    border-top: 1px solid var(--ppp-border);
    padding-top: 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ppp-meta-row {
    display: flex;
    gap: 16px;
    font-size: 13.5px;
}

.ppp-meta-key {
    font-weight: 700;
    color: var(--ppp-muted);
    min-width: 80px;
    flex-shrink: 0;
}

.ppp-meta-val {
    color: var(--ppp-text-2);
}

/* ════════════════════════════════════════════════════
   SINGLE PRODUCT — BOTTOM TABS
════════════════════════════════════════════════════ */
.ppp-product-bottom {
    border-top: 1px solid var(--ppp-border);
    padding-top: 0;
}

.ppp-tabs-nav {
    display: flex;
    gap: 0;
    border-bottom: 2px solid var(--ppp-border);
    margin-bottom: 0;
}

.ppp-tab-btn {
    font-family: var(--ppp-ff-body);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .03em;
    color: var(--ppp-muted);
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    padding: 16px 28px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: color var(--ppp-ease), border-color var(--ppp-ease);
}

.ppp-tab-btn:hover {
    color: var(--ppp-text);
}

.ppp-tab-btn.active {
    color: var(--ppp-amber);
    border-bottom-color: var(--ppp-amber);
}

.ppp-tab-count {
    background: var(--ppp-amber);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 40px;
    min-width: 20px;
    text-align: center;
}

.ppp-tab-panel {
    padding: 40px 0;
}

.ppp-full-desc {
    font-size: 16px;
    line-height: 1.8;
    color: var(--ppp-text-2);
    max-width: 760px;
}

.ppp-full-desc h2,
.ppp-full-desc h3 {
    font-family: var(--ppp-ff-display);
    color: var(--ppp-text);
    margin: 1.5em 0 .5em;
}

.ppp-full-desc p { margin: 0 0 1.2em; }
.ppp-full-desc ul, .ppp-full-desc ol { padding-left: 1.4em; margin: 0 0 1.2em; }
.ppp-full-desc li { margin-bottom: .5em; }
.ppp-full-desc em { font-family: var(--ppp-ff-display); font-style: italic; }
.ppp-full-desc strong { color: var(--ppp-text); }

/* Reviews */
.ppp-review-item {
    padding: 24px 0;
    border-bottom: 1px solid var(--ppp-border);
}

.ppp-review-item:last-child { border-bottom: none; }

.ppp-review-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

.ppp-review-name {
    font-size: 15px;
    color: var(--ppp-text);
}

.ppp-review-date {
    font-size: 12px;
    color: var(--ppp-light);
    margin-left: auto;
}

.ppp-review-body {
    font-size: 15px;
    line-height: 1.7;
    color: var(--ppp-text-2);
    margin: 0;
    font-style: italic;
    font-family: var(--ppp-ff-display);
}

.ppp-no-reviews {
    color: var(--ppp-muted);
    font-size: 15px;
    padding: 20px 0;
}
.ppp-view-btn:hover{
background-color:#c8753a!important;
color: #fff!important;
}
/* ════════════════════════════════════════════════════
   ARCHIVE PAGE
════════════════════════════════════════════════════ */
.ppp-archive-header {
    text-align: center;
}

.ppp-archive-title {
    font-family: var(--ppp-ff-display);
    font-size: clamp(28px, 4vw, 46px);
    font-weight: 700;
    color: var(--ppp-text);
    margin: 0 0 12px;
    line-height: 1.2;
}

.ppp-archive-desc {
    font-size: 16px;
    color: var(--ppp-muted);
    margin: 10px 0 0;
    font-family: var(--ppp-ff-display);
    font-style: italic;
}

/* Filter nav */
.ppp-filter-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-bottom: 48px;
}

.ppp-filter-chip {
    display: inline-block;
    font-family: var(--ppp-ff-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--ppp-muted);
    border: 1.5px solid var(--ppp-border);
    border-radius: 40px;
    padding: 7px 18px;
    transition: all var(--ppp-ease);
    background: var(--ppp-surface);
}

.ppp-filter-chip:hover,
.ppp-filter-chip.active {
    background: var(--ppp-amber);
    border-color: var(--ppp-amber);
    color: #fff;
}

/* Book cards grid */
.ppp-archive-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 32px;
    margin-bottom: 60px;
}

@media (max-width: 560px) {
    .ppp-archive-grid {
        grid-template-columns: 1fr 1fr;
        gap: 18px;
    }
}

@media (max-width: 360px) {
    .ppp-archive-grid {
        grid-template-columns: 1fr;
    }
}

.ppp-book-card {
    background: var(--ppp-surface);
    border: 1px solid var(--ppp-border);
    border-radius: var(--ppp-r2);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow var(--ppp-ease), transform var(--ppp-ease), border-color var(--ppp-ease);
}

.ppp-book-card:hover {
    box-shadow: var(--ppp-shadow-2);
    transform: translateY(-4px);
    border-color: var(--ppp-border-2);
}

.ppp-card-cover-link { display: block; text-decoration: none; }

.ppp-card-cover-wrap {
    position: relative;
    overflow: hidden;
    aspect-ratio: 3/4;
    background: var(--ppp-surface-2);
}

.ppp-card-cover-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .38s ease;
}

.ppp-book-card:hover .ppp-card-cover-img {
    transform: scale(1.04);
}

.ppp-card-cover-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ppp-light);
}

.ppp-card-hover-overlay {
    position: absolute;
    inset: 0;
    background: rgba(30,26,22,.5);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity var(--ppp-ease);
}

.ppp-book-card:hover .ppp-card-hover-overlay { opacity: 1; }

.ppp-card-hover-cta {
    color: #fff;
    font-family: var(--ppp-ff-body);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    border: 1.5px solid rgba(255,255,255,.55);
    border-radius: 40px;
    padding: 8px 22px;
}

.ppp-card-content {
    padding: 20px 18px 22px;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 7px;
}

.ppp-card-cat {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--ppp-amber);
}

.ppp-card-title {
    font-family: var(--ppp-ff-display);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0;
}

.ppp-card-title a {
    color: var(--ppp-text);
    text-decoration: none;
    transition: color var(--ppp-ease);
}

.ppp-card-title a:hover { color: var(--ppp-amber); }

.ppp-card-subtitle {
    font-family: var(--ppp-ff-display);
    font-size: 13px;
    font-style: italic;
    color: var(--ppp-muted);
    margin: 0;
}

.ppp-card-excerpt {
    font-size: 13px;
    line-height: 1.65;
    color: var(--ppp-muted);
    margin: 0;
    flex: 1;
}

.ppp-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 14px;
    border-top: 1px solid var(--ppp-border);
    margin-top: 6px;
    gap: 8px;
}

.ppp-card-price {
    font-family: var(--ppp-ff-display);
    font-size: 18px;
    font-weight: 700;
    color: var(--ppp-text);
    line-height: 1;
}
/* Grid equal height */
.ppp-view-grid {
    align-items: stretch;
}

.ppp-view-grid .ppp-book-card {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.ppp-view-grid .ppp-card-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Card footer EDD price override */
.ppp-card-footer .edd_price {
    font-family: var(--ppp-ff-display);
    font-size: 18px;
    font-weight: 700;
    color: var(--ppp-text);
}

/* Pagination */
.ppp-pagination {
    margin-top: 16px;
}

.ppp-pagination .nav-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.ppp-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: var(--ppp-r);
    border: 1.5px solid var(--ppp-border);
    font-family: var(--ppp-ff-body);
    font-size: 14px;
    font-weight: 600;
    color: var(--ppp-muted);
    text-decoration: none;
    background: var(--ppp-surface);
    transition: all var(--ppp-ease);
    gap: 4px;
}

.ppp-pagination .page-numbers:hover,
.ppp-pagination .page-numbers.current {
    background: var(--ppp-amber);
    border-color: var(--ppp-amber);
    color: #fff;
}

.ppp-pagination .prev,
.ppp-pagination .next {
    font-size: 13px;
    letter-spacing: .02em;
}

/* Empty state */
.ppp-empty-state {
    text-align: center;
    padding: 80px 24px;
    color: var(--ppp-muted);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.ppp-empty-icon {
    color: var(--ppp-light);
    opacity: .6;
}

.ppp-empty-state h2 {
    font-family: var(--ppp-ff-display);
    font-size: 24px;
    color: var(--ppp-text);
    margin: 0;
}

.ppp-empty-state p {
    font-size: 15px;
    margin: 0;
}
#edd_terms_agreement,
        #edd-privacy-policy-agreement {
            border: none !important;
            padding: 0 !important;
            margin: 0 0 8px !important;
        }

        /* Single checkbox row */
        .edd-terms-agreement {
            display: flex !important;
            align-items: center !important;
            gap: 10px !important;
            flex-wrap: wrap !important;
        }

        .edd-terms-agreement label {
            display: flex !important;
            align-items: center !important;
            flex-wrap: wrap !important;
            gap: 8px !important;
            font-size: 14px !important;
            color: var(--ppp-text-2) !important;
            font-weight: 400 !important;
            text-transform: none !important;
            letter-spacing: 0 !important;
            cursor: pointer !important;
        }

        #edd_agree_to_terms,
        #edd-agree-to-privacy-policy {
            width: 18px !important;
            height: 18px !important;
            flex-shrink: 0 !important;
            margin: 0 !important;
            accent-color: var(--ppp-amber) !important;
            cursor: pointer !important;
        }

        /* Show/Hide toggle rows — inline next to checkbox label */
        .edd-show-terms {
            display: inline-flex !important;
            align-items: center !important;
            gap: 4px !important;
        }

        .edd-show-terms .edd_terms_links {
            font-size: 12px !important;
            font-weight: 700 !important;
            color: var(--ppp-amber) !important;
            text-decoration: none !important;
            border: 1px solid var(--ppp-amber) !important;
            border-radius: 40px !important;
            padding: 2px 10px !important;
            white-space: nowrap !important;
            transition: all 0.2s ease !important;
        }

        .edd-show-terms .edd_terms_links:hover {
            background: var(--ppp-amber) !important;
            color: #fff !important;
        }

        /* Terms/policy content box */
        .edd-terms {
            background: var(--ppp-surface-2) !important;
            border: 1px solid var(--ppp-border) !important;
            border-radius: var(--ppp-r) !important;
            padding: 16px 18px !important;
            font-size: 13px !important;
            line-height: 1.7 !important;
            color: var(--ppp-text-2) !important;
            margin-bottom: 12px !important;
            max-height: 220px !important;
            overflow-y: auto !important;
        }
/* ════════════════════════════════════════════════════
   CHECKOUT PAGE
════════════════════════════════════════════════════ */
.ppp-checkout-header {
    text-align: center;
}
.ppp-checkoutwrap .widget{
	margin-bottom: 20px;
}
.ppp-checkout-title {
    font-family: var(--ppp-ff-display);
    font-size: clamp(26px, 3.5vw, 38px);
    font-weight: 700;
    color: var(--ppp-text);
    margin: 0 0 16px;
}

/* Two-column layout */
.ppp-checkout-wrap {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 48px;
    align-items: start;
}

@media (max-width: 940px) {
    .ppp-checkout-wrap {
        grid-template-columns: 1fr;
    }
    .ppp-checkout-sidebar { order: -1; }
}

/* ── LEFT: EDD form overrides ───────────────────── */
.ppp-checkout-left {
    background: var(--ppp-surface);
    border: 1px solid var(--ppp-border);
    border-radius: var(--ppp-r2);
    padding: 36px 32px;
    box-shadow: var(--ppp-shadow);
}

@media (max-width: 600px) {
    .ppp-checkout-left { padding: 24px 18px; }
}

/* EDD fieldset / sections */
.ppp-checkout-left #edd_checkout_form_wrap fieldset,
.ppp-checkout-left fieldset {
    border: none;
    padding: 0 0 28px;
    margin: 0 0 0;
    border-bottom: 1px solid var(--ppp-border);
}

.ppp-checkout-left #edd_checkout_form_wrap fieldset:last-of-type,
.ppp-checkout-left fieldset:last-of-type {
    border-bottom: none;
    padding-bottom: 0;
}

.ppp-checkout-left legend,
.ppp-checkout-left h3.edd-section-title {
    font-family: var(--ppp-ff-display) !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    color: var(--ppp-text) !important;
    padding: 0 !important;
    margin: 0 0 20px !important;
    float: none !important;
    width: auto !important;
}

/* Labels */
.ppp-checkout-left label,
.ppp-checkout-left .edd-label {
    display: block;
    font-family: var(--ppp-ff-body) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--ppp-muted) !important;
    margin-bottom: 6px !important;
}

/* Inputs */
.ppp-checkout-left input[type="text"],
.ppp-checkout-left input[type="email"],
.ppp-checkout-left input[type="tel"],
.ppp-checkout-left input[type="password"],
.ppp-checkout-left input[type="number"],
.ppp-checkout-left select,
.ppp-checkout-left textarea {
    width: 100% !important;
    font-family: var(--ppp-ff-body) !important;
    font-size: 15px !important;
    color: var(--ppp-text) !important;
    background: #fff !important;
    border: 1.5px solid var(--ppp-border) !important;
    border-radius: var(--ppp-r) !important;
    padding: 12px 16px !important;
    outline: none !important;
    transition: border-color var(--ppp-ease), box-shadow var(--ppp-ease) !important;
    box-shadow: none !important;
    -webkit-appearance: none;
    margin-bottom: 16px !important;
}

.ppp-checkout-left input:focus,
.ppp-checkout-left select:focus,
.ppp-checkout-left textarea:focus {
    border-color: var(--ppp-amber) !important;
    box-shadow: 0 0 0 3px var(--ppp-amber-s) !important;
}

/* Radio / Checkbox */
.ppp-checkout-left input[type="radio"],
.ppp-checkout-left input[type="checkbox"] {
    width: auto !important;
    margin: 0 8px 0 0 !important;
    accent-color: var(--ppp-amber);
}

/* Payment gateway select */
.ppp-checkout-left #edd-payment-mode-select li,
.ppp-checkout-left .edd-gateway-option {
    list-style: none !important;
    padding: 0 !important;
}

.ppp-checkout-left #edd-payment-mode-select label,
.ppp-checkout-left .edd-gateway-option label {
    display: flex !important;
    align-items: center;
    padding: 12px 16px !important;
    border: 1.5px solid var(--ppp-border) !important;
    border-radius: var(--ppp-r) !important;
    background: var(--ppp-surface-2) !important;
    margin-bottom: 8px !important;
    cursor: pointer;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    transition: all var(--ppp-ease) !important;
}

.ppp-checkout-left #edd-payment-mode-select label:hover,
.ppp-checkout-left .edd-gateway-option label:hover {
    border-color: var(--ppp-amber) !important;
    background: #fff !important;
}

/* Purchase button */
.ppp-checkout-left #edd-purchase-button,
.ppp-checkout-left input[type="submit"].edd-submit,
.ppp-checkout-left button#edd-purchase-button {
    width: 100% !important;
    background: var(--ppp-amber) !important;
    color: #fff !important;
    font-family: var(--ppp-ff-body) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: var(--ppp-r) !important;
    padding: 17px 28px !important;
    cursor: pointer !important;
    transition: background var(--ppp-ease), transform var(--ppp-ease), box-shadow var(--ppp-ease) !important;
    box-shadow: 0 3px 14px rgba(200,118,58,.3) !important;
    letter-spacing: .02em !important;
    margin-top: 8px !important;
}

.ppp-checkout-left #edd-purchase-button:hover,
.ppp-checkout-left input[type="submit"].edd-submit:hover {
    background: var(--ppp-amber-h) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 5px 20px rgba(200,118,58,.4) !important;
}

/* Discount code row */
.ppp-checkout-left #edd-discount-code-wrap {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin-top: 8px;
}

.ppp-checkout-left #edd-discount-code-wrap input {
    flex: 1;
    margin-bottom: 0 !important;
}

.ppp-checkout-left #edd-apply-discount {
    background: transparent !important;
    border: 1.5px solid var(--ppp-amber) !important;
    color: var(--ppp-amber) !important;
    padding: 12px 18px !important;
    border-radius: var(--ppp-r) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    white-space: nowrap;
    transition: all var(--ppp-ease) !important;
    margin: 0 !important;
}

.ppp-checkout-left #edd-apply-discount:hover {
    background: var(--ppp-amber) !important;
    color: #fff !important;
}

/* Errors */
.ppp-checkout-left .edd_errors,
.ppp-checkout-left .edd-alert {
    background: #fff5f5;
    border: 1px solid #f5c6c6;
    border-radius: var(--ppp-r);
    padding: 12px 16px;
    font-size: 14px;
    color: #7a2a2a;
    margin-bottom: 16px;
    list-style: none;
}

/* ── RIGHT: Order Summary ─────────────────────────── */
.ppp-checkout-sidebar {
    position: sticky;
    top: 28px;
}

.ppp-order-summary {
    background: var(--ppp-surface);
    border: 1px solid var(--ppp-border);
    border-radius: var(--ppp-r2);
    padding: 28px 24px;
    box-shadow: var(--ppp-shadow);
}

.ppp-sidebar-title {
    font-family: var(--ppp-ff-display);
    font-size: 20px;
    font-weight: 700;
    color: var(--ppp-text);
    margin: 0 0 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--ppp-border);
}

.ppp-summary-items {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 18px;
}

.ppp-summary-item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.ppp-summary-thumb {
    flex-shrink: 0;
    width: 52px;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 1px 8px rgba(30,26,22,.15);
}

.ppp-summary-thumb img {
    display: block;
    width: 100%;
    height: auto;
}

.ppp-summary-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.ppp-summary-name {
    font-family: var(--ppp-ff-display);
    font-size: 14px;
    font-weight: 600;
    color: var(--ppp-text);
    line-height: 1.3;
}

.ppp-summary-variant {
    font-size: 12px;
    color: var(--ppp-muted);
    font-style: italic;
}

.ppp-summary-remove {
    font-size: 11px;
    color: var(--ppp-light);
    text-decoration: none;
    display: inline-block;
    margin-top: 3px;
    transition: color var(--ppp-ease);
}

.ppp-summary-remove:hover { color: #c0392b; }

.ppp-summary-price {
    font-family: var(--ppp-ff-display);
    font-size: 15px;
    font-weight: 700;
    color: var(--ppp-text);
    white-space: nowrap;
    flex-shrink: 0;
}

.ppp-summary-totals {
    border-top: 1px solid var(--ppp-border);
    padding-top: 14px;
    display: flex;
    flex-direction: column;
    gap: 9px;
    margin-bottom: 20px;
}

.ppp-totals-row {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    color: var(--ppp-muted);
}

.ppp-totals-grand {
    font-family: var(--ppp-ff-display);
    font-size: 20px;
    font-weight: 700;
    color: var(--ppp-text);
    padding-top: 12px;
    border-top: 1px solid var(--ppp-border);
    margin-top: 4px;
}

.ppp-trust-badges {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--ppp-border);
    padding-top: 18px;
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.ppp-trust-badges li {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 12.5px;
    color: var(--ppp-muted);
}

.ppp-trust-badges svg { color: var(--ppp-amber); flex-shrink: 0; }

.ppp-cart-empty-note {
    font-size: 15px;
    color: var(--ppp-muted);
    text-align: center;
    padding: 24px 0;
}

/* ════════════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════════════ */
@media (max-width: 860px) {
    .ppp-single,
    .ppp-archive,
    .ppp-checkout-page {
        padding: 36px 18px 72px;
    }
}

@media (max-width: 600px) {
    .ppp-checkout-sidebar { position: static; }
    .ppp-tab-btn { padding: 14px 16px; font-size: 13px; }
    .ppp-thumb-btn { width: 56px; height: 70px; }
}

/* ════════════════════════════════════════════════════
   EDD NATIVE CHECKOUT BLOCK
   Targets real classes from #edd_checkout_form_wrap
════════════════════════════════════════════════════ */

/* Outer wrapper — two column grid */
#edd_checkout_form_wrap.edd-checkout__layout--full {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    align-items: start;
    max-width: var(--ppp-max);
    margin: 0 auto;
    font-family: var(--ppp-ff-body);
}

.edd-blocks__logged-in {
    grid-column: 1 / -1;
    font-size: 13px;
    color: var(--ppp-muted);
    background: var(--ppp-surface);
    border: 1px solid var(--ppp-border);
    border-radius: var(--ppp-r);
    padding: 10px 16px;
}

.edd-blocks__logged-in a { color: var(--ppp-amber); text-decoration: none; }

@media (max-width: 860px) {
    #edd_checkout_form_wrap.edd-checkout__layout--full {
        grid-template-columns: 1fr;
    }
}

/* Cart + form panels */
.edd-blocks__cart,
.edd-blocks__purchase-form {
    background: var(--ppp-surface);
    border: 1px solid var(--ppp-border);
    border-radius: var(--ppp-r2);
    padding: 32px 28px;
    box-shadow: var(--ppp-shadow);
}

/* ── Cart table ─────────────────────────────────── */
.edd-blocks-cart__row-header {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--ppp-muted);
    padding-bottom: 12px;
    border-bottom: 2px solid var(--ppp-border);
}

.edd-blocks-cart__row-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0;
    border-bottom: 1px solid var(--ppp-border);
    gap: 12px;
}

.edd_cart_item_image { flex-shrink: 0; border-radius: 4px; overflow: hidden; }
.edd_cart_item_image img {
    display: block;
    width: 48px !important;
    height: 48px !important;
    object-fit: cover;
}

.edd_checkout_cart_item_title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 600;
    color: var(--ppp-text);
    font-family: var(--ppp-ff-display);
}

.edd_cart_item_price {
    font-family: var(--ppp-ff-display);
    font-size: 15px;
    font-weight: 700;
    color: var(--ppp-text);
    text-align: right;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 14px;
    white-space: nowrap;
    justify-content: flex-end;
}

/* Remove × button — inline next to price */
.edd-blocks-cart__action-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--ppp-border);
    text-decoration: none;
    transition: background var(--ppp-ease);
    position: relative;
    flex-shrink: 0;
}
.edd-blocks-cart__action-remove .screen-reader-text { display: none; }
.edd-blocks-cart__action-remove::after {
    content: '×';
    font-size: 15px;
    line-height: 1;
    color: var(--ppp-muted);
}
.edd-blocks-cart__action-remove:hover { background: #e74c3c; }
.edd-blocks-cart__action-remove:hover::after { color: #fff; }
/* Hide the edd_cart_actions wrapper padding */
.edd_cart_actions {
    display: contents;
}

/* Total row */
.edd_cart_total {
    font-family: var(--ppp-ff-display);
    font-size: 20px;
    font-weight: 700;
    color: var(--ppp-text);
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding-top: 16px;
    border-top: 2px solid var(--ppp-border);
    margin-top: 8px;
}
.edd_cart_amount { color: var(--ppp-amber); }

/* ── Payment method ─────────────────────────────── */
#edd_payment_mode_select {
    border: none !important;
    padding: 0 !important;
    margin: 0 0 24px !important;
}
#edd_payment_mode_select legend {
    font-family: var(--ppp-ff-display) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: var(--ppp-text) !important;
    margin-bottom: 14px !important;
    padding: 0 !important;
    float: none !important;
    width: 100% !important;
}
#edd-payment-mode-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

@media (max-width: 600px) {
    #edd-payment-mode-wrap {
        grid-template-columns: 1fr;
    }
}
.edd-gateway-option {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 13px 16px !important;
    border: 1.5px solid var(--ppp-border) !important;
    border-radius: var(--ppp-r) !important;
    background: var(--ppp-surface-2) !important;
    cursor: pointer !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--ppp-text) !important;
    transition: all var(--ppp-ease) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
}
.edd-gateway-option:hover,
.edd-gateway-option-selected {
    border-color: var(--ppp-amber) !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px var(--ppp-amber-s) !important;
}
.edd-gateway-option input[type="radio"] {
    accent-color: var(--ppp-amber);
    width: 16px; height: 16px;
    flex-shrink: 0;
    margin: 0 !important;
}

/* Security note */
#edd_purchase_form_wrap .edd-description {
    font-size: 13px;
    color: var(--ppp-muted);
    background: var(--ppp-surface-2);
    border-radius: var(--ppp-r);
    padding: 10px 14px;
    margin: 16px 0 !important;
    border: 1px solid var(--ppp-border);
}

/* Purchase fieldset */
#edd_purchase_submit {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Purchase button */
#edd-purchase-button,
input#edd-purchase-button {
    width: 100% !important;
    background: var(--ppp-amber) !important;
    color: #fff !important;
    font-family: var(--ppp-ff-body) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: var(--ppp-r) !important;
    padding: 17px 28px !important;
    cursor: pointer !important;
    transition: background var(--ppp-ease), transform var(--ppp-ease), box-shadow var(--ppp-ease) !important;
    box-shadow: 0 3px 14px rgba(200,118,58,.3) !important;
    -webkit-appearance: none !important;
}
#edd-purchase-button:hover,
input#edd-purchase-button:hover {
    background: var(--ppp-amber-h) !important;
    transform: translateY(-1px) !important;
}

/* Hide no-JS button */
#edd_payment_mode_submit.edd-no-js { display: none !important; }

/* ════════════════════════════════════════════════════
   AUDIO PREVIEW PLAYER
════════════════════════════════════════════════════ */
.ppp-audio-preview {
    background: var(--ppp-surface-2);
    border: 1px solid var(--ppp-border);
    border-radius: var(--ppp-r);
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ppp-audio-label {
    display: flex;
    align-items: center;
    gap: 7px;
    font-family: var(--ppp-ff-display);
    font-style: italic;
    font-size: 14px;
    color: var(--ppp-muted);
    margin: 0;
}

.ppp-audio-label svg { color: var(--ppp-amber); flex-shrink: 0; }

.ppp-audio-player {
    width: 100%;
    height: 36px;
    border-radius: var(--ppp-r);
    accent-color: var(--ppp-amber);
    outline: none;
}

/* Webkit audio player tint */
.ppp-audio-player::-webkit-media-controls-panel {
    background: var(--ppp-surface);
}

/* ════════════════════════════════════════════════════
   ARCHIVE PAGE — IMPROVEMENTS
════════════════════════════════════════════════════ */

/* Ensure archive has the bg colour */
.ppp-archive {
    background: var(--ppp-bg);
}

/* Card image — fixed height so all covers align */
.ppp-card-cover-wrap {
    aspect-ratio: unset;
    height: 280px;
}

.ppp-card-cover-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Audio badge on archive cards — shown if product has _ppp_narrator */
.ppp-card-format-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(30,26,22,.72);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    padding: 4px 9px;
    border-radius: 40px;
    backdrop-filter: blur(4px);
    pointer-events: none;
}

/* Make card image wrapper relative for badge */
.ppp-card-cover-wrap { position: relative; }

/* Tighter card content spacing */
.ppp-card-content {
    padding: 18px 16px 20px;
    gap: 6px;
}

/* Price + button row */
.ppp-card-footer {
    flex-wrap: wrap;
    gap: 8px;
}

/* Archive card Buy Now — plain link to single product, no EDD form */
.ppp-card-buy-btn {
    display: inline-block;
    background: var(--ppp-amber);
    color: #fff !important;
    font-family: var(--ppp-ff-body);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    border-radius: var(--ppp-r);
    padding: 9px 20px;
    transition: background var(--ppp-ease), transform var(--ppp-ease);
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(200,118,58,.25);
}
.ppp-img-featured-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: rgba(232,160,32,.92);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 5px 13px;
    border-radius: 40px;
    backdrop-filter: blur(4px);
    z-index: 2;
    pointer-events: none;
}
.ppp-card-buy-btn:hover {
    background: var(--ppp-amber-h);
    color: #fff !important;
    transform: translateY(-1px);
}

/* ── Archive card badges on image ─────────────────── */
.ppp-card-badges {
    top: 10px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    z-index: 2;
}

/* Featured + format on left */
.ppp-card-badge--featured,
.ppp-card-badge--format {
    position: absolute;
    top: 10px;
    left: 10px;
}

.ppp-card-badge--format {
    top: 42px;
}

/* Category on right */
.ppp-card-badge--cat {
    position: absolute;
    top: 10px;
    right: 10px;
}

.ppp-card-badge {
    display: inline-block;
    font-family: var(--ppp-ff-body);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 40px;
    backdrop-filter: blur(4px);
    line-height: 1.4;
}

.ppp-card-badge--featured {
    background: rgba(232,160,32,.92);
    color: #fff;
}

.ppp-card-badge--format {
    background: rgba(30,26,22,.72);
    color: #fff;
}

.ppp-card-badge--cat {
    background: rgba(200,118,58,.88);
    color: #fff;
}

/* ── Card footer — price + button stacked, button centered ── */
.ppp-card-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding-top: 14px;
    border-top: 1px solid var(--ppp-border);
    margin-top: 6px;
    text-align: center;
}

.ppp-card-buy-btn {
    width: 100%;
    text-align: center;
}

/* Remove old ppp-card-format-badge since replaced */
.ppp-card-format-badge { display: none; }

/* Single product — featured badge + dot */
.ppp-featured-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-family: var(--ppp-ff-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    background: rgba(232,160,32,.15);
    color: #b07d10;
    border: 1.5px solid rgba(232,160,32,.4);
    border-radius: 40px;
    padding: 4px 12px;
}

.ppp-cat-dot {
    color: var(--ppp-light);
    font-size: 18px;
    line-height: 1;
    margin: 0 2px;
}

/* ════════════════════════════════════════════════════
   ARCHIVE — TOOLBAR & VIEW TOGGLE
════════════════════════════════════════════════════ */
.ppp-archive-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 28px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--ppp-border);
}
.ppp-archive-count {
    font-size: 13px;
    color: var(--ppp-muted);
    font-family: var(--ppp-ff-body);
}
.ppp-view-toggle {
    display: flex;
    gap: 4px;
    background: var(--ppp-surface);
    border: 1px solid var(--ppp-border);
    border-radius: var(--ppp-r);
    padding: 3px;
}
.ppp-view-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: var(--ppp-light);
    cursor: pointer;
    transition: all var(--ppp-ease);
}
.ppp-view-btn:hover { color: var(--ppp-text); }
.ppp-view-btn.active { background: var(--ppp-amber); color: #fff; }

/* ── GRID VIEW ───────────────────────────────────── */
.ppp-view-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    margin-bottom: 52px;
}
@media (max-width: 768px) {
    .ppp-view-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .ppp-view-grid { grid-template-columns: 1fr; }
}
.ppp-view-grid .ppp-card-footer {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
}
.ppp-view-grid .ppp-card-buy-btn { width: 100%; text-align: center; }

/* ── LIST VIEW ───────────────────────────────────── */
.ppp-view-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 52px;
}
.ppp-view-list .ppp-book-card {
    display: grid;
    grid-template-columns: 180px 1fr;
    border-radius: var(--ppp-r2);
    overflow: hidden;
    border: 1px solid var(--ppp-border);
    background: var(--ppp-surface);
    box-shadow: var(--ppp-shadow);
    transition: box-shadow var(--ppp-ease), transform var(--ppp-ease);
}
.ppp-view-list .ppp-book-card:hover {
    box-shadow: var(--ppp-shadow-2);
    transform: translateY(-2px);
}
.ppp-view-list .ppp-card-cover-wrap {
    height: 100%;
    min-height: 220px;
    aspect-ratio: unset;
}
.ppp-view-list .ppp-card-cover-img { width: 100%; height: 100%; object-fit: cover; }
.ppp-view-list .ppp-card-content { padding: 24px; display: flex; flex-direction: column; gap: 8px; }
.ppp-view-list .ppp-card-title { font-size: 20px; }
.ppp-view-list .ppp-card-footer {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid var(--ppp-border);
}
.ppp-view-list .ppp-card-buy-btn { width: auto; }

/* ── AUDIO META & PLAYER ─────────────────────────── */
.ppp-card-audio-meta {
    list-style: none;
    margin: 4px 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 20px;
}
.ppp-card-audio-meta li { font-size: 13px; color: var(--ppp-muted); }
.ppp-card-audio-meta li strong { color: var(--ppp-text-2); font-weight: 700; }
.ppp-card-audio-player {
    display: flex;
    flex-direction: column;
    gap: 6px;
    background: var(--ppp-surface-2);
    border: 1px solid var(--ppp-border);
    border-radius: var(--ppp-r);
    padding: 12px 14px;
    margin-top: auto;
}
.ppp-card-audio-label { font-family: var(--ppp-ff-display); font-style: italic; font-size: 13px; color: var(--ppp-muted); }
.ppp-card-player { width: 100%; height: 34px; accent-color: var(--ppp-amber); }

@media (max-width: 600px) {
    .ppp-view-list .ppp-book-card { grid-template-columns: 120px 1fr; }
    .ppp-view-list .ppp-card-cover-wrap { min-height: 160px; }
    .ppp-view-list .ppp-card-content { padding: 16px; }
    .ppp-view-list .ppp-card-title { font-size: 16px; }
}

/* Fix toggle icons */
.ppp-view-btn svg {
    display: block;
    flex-shrink: 0;
    fill: currentColor;
    pointer-events: none;
}

/* Author line on cards */
.ppp-card-author {
    font-size: 12px;
    color: var(--ppp-muted);
    font-style: italic;
    font-family: var(--ppp-ff-display);
    margin: -4px 0 0;
}

/* List image fix */
.ppp-view-list .ppp-card-cover-link { display: block; min-height: 100%; }
.ppp-view-list .ppp-card-cover-wrap { min-height: 260px; height: 100%; }
.ppp-view-list .ppp-card-cover-img { object-fit: cover; object-position: center top; }

/* List badges — horizontal row */
.ppp-view-list .ppp-card-badges { flex-direction: row; flex-wrap: wrap; top: 8px; left: 8px; right: auto; }
.ppp-view-list .ppp-card-badge--cat { position: static; }

#edd_checkout_user_info .edd-description{
    padding: 0px!important;
    margin-left: 0px!important;
}
.edd-blocks-cart__action-remove::after {content: none!important;}
/* ════════════════════════════════════════════════════
   EDD ORDER CONFIRMATION PAGE
════════════════════════════════════════════════════ */

.wp-block-edd-confirmation,
.edd-blocks__confirmation {
    font-family: var(--ppp-ff-body);
    margin: 0 auto;
}

.edd-blocks__confirmation h3 {
    font-family: var(--ppp-ff-display) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--ppp-text) !important;
    margin: 0 0 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid var(--ppp-border) !important;
}

.edd-blocks-receipt__items {
    background: var(--ppp-surface);
    border: 1px solid var(--ppp-border);
    border-radius: var(--ppp-r2);
    overflow: hidden;
    margin-bottom: 24px;
}

.edd-blocks-receipt__item {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    padding: 20px 24px !important;
    border-bottom: 1px solid var(--ppp-border) !important;
    gap: 24px !important;
}

.edd-blocks-receipt__item:last-child { border-bottom: none !important; }

.edd-blocks-receipt__item-details .edd-blocks__row-label {
    font-family: var(--ppp-ff-display) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--ppp-text) !important;
    margin-bottom: 10px !important;
}

.edd_purchase_receipt_files {
    list-style: none !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.edd_download_file_link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--ppp-amber) !important;
    text-decoration: none !important;
    background: #fdf6ee !important;
    border: 1px solid rgba(200,118,58,.25) !important;
    border-radius: var(--ppp-r) !important;
    padding: 7px 14px !important;
    transition: all var(--ppp-ease) !important;
}

.edd_download_file_link::before { content: '↓'; font-weight: 900; }

.edd_download_file_link:hover {
    background: var(--ppp-amber) !important;
    color: #fff !important;
    border-color: var(--ppp-amber) !important;
}

.edd-blocks-receipt__item-sku { display: none !important; }

.edd-blocks-receipt__item-price {
    font-family: var(--ppp-ff-display) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: var(--ppp-text) !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}

.edd-blocks-receipt__totals {
    background: var(--ppp-surface);
    border: 1px solid var(--ppp-border);
    border-radius: var(--ppp-r2);
    overflow: hidden;
    margin-bottom: 20px;
}

.edd-blocks__row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 12px 24px !important;
    border-bottom: 1px solid var(--ppp-border) !important;
    font-size: 14px !important;
}

.edd-blocks__row:last-child { border-bottom: none !important; }

.edd-blocks__row-header {
    background: var(--ppp-surface-2) !important;
    font-family: var(--ppp-ff-display) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

.edd-blocks__row-label { font-weight: 600 !important; color: var(--ppp-muted) !important; }
.edd-blocks__row-value { color: var(--ppp-text) !important; font-weight: 400 !important; }

.edd_receipt_payment_status.complete {
    background: #f0faf4 !important;
    color: #1e5c36 !important;
    border: 1px solid #a3d9b8 !important;
    border-radius: 40px !important;
    padding: 3px 12px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
}

.edd-blocks__confirmation-details { text-align: center !important; margin-top: 8px !important; }

.edd-blocks__confirmation-details a {
    display: inline-block !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--ppp-amber) !important;
    text-decoration: none !important;
    border: 1.5px solid var(--ppp-amber) !important;
    border-radius: var(--ppp-r) !important;
    padding: 10px 24px !important;
    transition: all var(--ppp-ease) !important;
}

.edd-blocks__confirmation-details a:hover {
    background: var(--ppp-amber) !important;
    color: #fff !important;
}
.wp-block-edd-receipt,
.edd-blocks__receipt {
    font-family: var(--ppp-ff-body);
    margin: 0 auto;
}