/* ═══════════════════════════════════════════════════════════════════════
   EDGE STORE — UX VARIATIONS (experimental)
   Toggle with ?ux=a or ?ux=b (persists via cookie); ?ux=off to clear.
   Everything is scoped under body.edge-ux-a / body.edge-ux-b so it never
   affects the default site. Two directions remain for:
     · Single product summary
   (Listing, grouped and bundle-page variants retired Jul 2026 — each got a
   single always-on design in style.css per Dane's picks; bundle pages took
   A's green value story + B's numbered syllabus.)
   ═══════════════════════════════════════════════════════════════════════ */

.edge-ux-a, .edge-ux-b {
    --ux-navy: #003770;
    --ux-navy-soft: #2C5A8C;
    --ux-orange: #F8971D;
    --ux-orange-deep: #D97E06;
    --ux-ink: #1B2733;
    --ux-muted: #6B7683;
    --ux-line: #E4E8ED;
    --ux-panel: #F6F8FA;
    --ux-save: #2E7D4F;
    --ux-save-bg: #E9F3ED;
}


/* ┌─────────────────────────────────────────────────────────────────────┐
   │  SINGLE PRODUCT SUMMARY                                               │
   └─────────────────────────────────────────────────────────────────────┘ */

/* A · "Editorial calm" — airy, large title, understated price, roomy desc */
.edge-ux-a.single-product .product_title.entry-title {
    font-size: 34px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.01em;
    margin-bottom: 14px !important;
}
.edge-ux-a.single-product .woocommerce-product-details__short-description {
    font-size: 16.5px;
    line-height: 1.7;
    color: #3a4552;
    max-width: 62ch;
}
.edge-ux-a.single-product div.product p.price,
.edge-ux-a.single-product div.product span.price {
    font-size: 20px !important;
    color: var(--ux-navy) !important;
    text-transform: none !important;
    font-weight: 600 !important;
}
.edge-ux-a.single-product .product_meta { border-top: 1px solid var(--ux-line); padding-top: 16px; margin-top: 22px; }
.edge-ux-a.single-product .product_meta .item { margin-bottom: 6px; }

/* B · "Commerce focus" — bold navy price, add-to-cart grouped in a panel */
.edge-ux-b.single-product .product_title.entry-title {
    font-size: 28px !important;
    line-height: 1.2 !important;
    margin-bottom: 10px !important;
}
.edge-ux-b.single-product div.product p.price,
.edge-ux-b.single-product div.product span.price {
    font-size: 26px !important;
    color: var(--ux-navy) !important;
    font-weight: 700 !important;
    text-transform: none !important;
}
.edge-ux-b.single-product div.product form.cart,
.edge-ux-b.single-product div.product .edge-login-required {
    background: var(--ux-panel);
    border: 1px solid var(--ux-line);
    border-radius: 12px;
    padding: 18px 20px;
}
.edge-ux-b.single-product .single_add_to_cart_button.button {
    border-radius: 8px !important;
    width: 100%;
    padding: 14px 0 !important;
    font-size: 15px !important;
}
.edge-ux-b.single-product .woocommerce-product-details__short-description { font-size: 15px; color: #45505d; }


/* ═══════════════════════════════════════════════════════════════════════
   ADD-TO-CART POPUP (always on, this branch)
   ═══════════════════════════════════════════════════════════════════════ */
:root {
    --atc-navy: #003770;
    --atc-navy-hover: #00294F;
    --atc-orange: #F8971D;
    --atc-orange-hover: #E0860F;
    --atc-ink: #1B2733;
    --atc-muted: #6B7683;
    --atc-line: #E4E8ED;
    --atc-panel: #F6F8FA;
    --atc-save: #2E7D4F;
}
body.edge-atc-open { overflow: hidden; }

.edge-atc { position: fixed; inset: 0; z-index: 100000; }
.edge-atc[hidden] { display: none; }
.edge-atc__backdrop {
    position: absolute; inset: 0;
    background: rgba(15,23,32,.55);
    animation: edge-atc-fade .18s ease;
}
.edge-atc__panel {
    position: absolute; top: 0; right: 0; bottom: 0;
    width: 420px; max-width: 92vw;
    background: #fff;
    box-shadow: -12px 0 40px rgba(15,23,32,.22);
    display: flex; flex-direction: column;
    padding: 26px 26px 22px;
    overflow-y: auto;
    animation: edge-atc-slide .24s cubic-bezier(.2,.7,.3,1);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}
@keyframes edge-atc-fade { from { opacity: 0; } }
@keyframes edge-atc-slide { from { transform: translateX(30px); opacity: .4; } }
@media (prefers-reduced-motion: reduce) {
    .edge-atc__backdrop, .edge-atc__panel { animation: none; }
}

.edge-atc__x {
    position: absolute; top: 14px; right: 16px;
    background: none; border: none; font-size: 26px; line-height: 1;
    color: var(--atc-muted); cursor: pointer; padding: 4px;
}
.edge-atc__x:hover { color: var(--atc-ink); }

.edge-atc__head {
    display: flex; align-items: center; gap: 10px;
    font-size: 17px; font-weight: 700; color: var(--atc-ink);
    margin-bottom: 18px; padding-right: 30px;
}
.edge-atc__tick {
    width: 24px; height: 24px; border-radius: 50%;
    background: var(--atc-save); color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 13px; flex: none;
}

.edge-atc__items { display: flex; flex-direction: column; gap: 12px; }
.edge-atc__item { display: flex; gap: 14px; align-items: flex-start; }
.edge-atc__thumb { flex: none; width: 66px; }
.edge-atc__thumb img { width: 66px; height: auto; border-radius: 8px; border: 1px solid var(--atc-line); display: block; }
.edge-atc__name { font-size: 14.5px; font-weight: 650; color: var(--atc-ink); margin: 0 0 3px; line-height: 1.3; }
.edge-atc__inc { font-size: 12px; color: var(--atc-muted); margin: 0 0 3px; line-height: 1.45; }
.edge-atc__price { font-size: 14px; color: var(--atc-navy); font-weight: 600; margin: 0; }
.edge-atc__price del { color: var(--atc-muted); font-weight: 400; margin-right: 6px; }
.edge-atc__price ins { text-decoration: none; }

.edge-atc__summary {
    display: flex; justify-content: space-between; align-items: baseline;
    margin: 18px 0; padding: 14px 0; border-top: 1px solid var(--atc-line); border-bottom: 1px solid var(--atc-line);
    font-size: 14px; color: var(--atc-muted);
}
.edge-atc__summary strong { font-size: 18px; color: var(--atc-ink); }

.edge-atc__actions { display: flex; flex-direction: column; gap: 10px; }
.edge-atc__btn {
    display: block; text-align: center; text-decoration: none;
    padding: 13px 0; border-radius: 8px; font-size: 15px; font-weight: 650;
}
/* The popup keeps its own navy primary (Dane, 14 Oct: the orange swap read
   wrong here); only the hover uses the shared token. */
/* !important: the theme's link colour otherwise wins over this class */
.edge-atc__btn--primary { background: var(--atc-navy); color: #fff !important; }
.edge-atc__btn--primary:hover { background: var(--atc-navy-hover); color: #fff !important; }
.edge-atc__btn--ghost { background: #fff; color: var(--atc-navy); border: 1.5px solid var(--atc-navy); }
.edge-atc__btn--ghost:hover { background: var(--atc-panel); }
.edge-atc__continue {
    background: none; border: none; color: var(--atc-muted);
    font-size: 13.5px; text-decoration: underline; cursor: pointer;
    padding: 6px 0 2px; margin-top: 2px;
}
.edge-atc__continue:hover { color: var(--atc-ink); }

.edge-atc__related { margin-top: 24px; }
.edge-atc__related-h {
    font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
    color: var(--atc-muted); margin: 0 0 12px;
}
.edge-atc__related-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.edge-atc__rcard {
    display: flex; gap: 10px; align-items: center; text-decoration: none;
    border: 1px solid var(--atc-line); border-radius: 8px; padding: 8px; transition: border-color .14s ease;
}
.edge-atc__rcard:hover { border-color: var(--atc-navy); }
.edge-atc__rthumb { flex: none; width: 40px; }
.edge-atc__rthumb img { width: 40px; height: auto; border-radius: 5px; display: block; }
.edge-atc__rname { font-size: 12px; color: var(--atc-ink); line-height: 1.3; }
/* "Available in a bundle": one card per bundle, name / price / saving */
.edge-atc__related-grid--bundles { grid-template-columns: 1fr; }
.edge-atc__rcard--bundle { border-color: var(--atc-navy); background: #F3F7FB; }
.edge-atc__rcard--bundle .edge-atc__rname { display: grid; gap: 4px; font-size: 13px; }
.edge-atc__rcard--bundle strong { color: var(--atc-navy); font-weight: 650; }
.edge-atc__rprice { font-size: 13px; }
.edge-atc__rprice del { color: var(--atc-muted); margin-right: 6px; }
.edge-atc__rprice ins { text-decoration: none; font-weight: 650; }
.edge-atc__rprice .edge-vat-label { font-size: 11px; color: var(--atc-muted); }
.edge-atc__rprice .edge-vat-alt { display: none; }
.edge-atc__rsave { justify-self: start; background: #C62828; color: #fff; font-size: 11px; font-weight: 650; padding: 2px 8px; border-radius: 999px; }
.edge-atc__rcard--bundle { cursor: pointer; }
.edge-atc__rgo { display: inline-block; justify-self: start; margin-top: 6px; background: var(--atc-navy); color: #fff !important; font-size: 13px; font-weight: 650; padding: 8px 14px; border-radius: 8px; }
.edge-atc__rcard--bundle:hover .edge-atc__rgo { background: var(--atc-navy-hover); }

/* Suppress the theme's small corner "added to cart" toast — the popup replaces it */
body.edge-atc-open .notifyjs-corner,
.notifyjs-corner:has(.notifyjs-sober-base) { display: none !important; }

@media (max-width: 480px) {
    .edge-atc__panel { width: 100%; max-width: 100%; }
    .edge-atc__related-grid { grid-template-columns: 1fr; }
}


/* ═══════════════════════════════════════════════════════════════════════
   CATALOGUE SUBJECT FILTER BAR + SEARCH RESULTS (always on, this branch)
   ═══════════════════════════════════════════════════════════════════════ */
.edge-subject-bar {
    display: flex; flex-wrap: wrap; gap: 8px;
    margin: 0 0 26px; padding: 0 0 20px;
    border-bottom: 1px solid #E4E8ED;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}
.edge-subject-chip {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 8px 15px; border-radius: 999px;
    border: 1px solid #DCE1E7; background: #fff;
    color: #34404D; font-size: 13.5px; font-weight: 600; line-height: 1;
    text-decoration: none; transition: all .14s ease; white-space: nowrap;
}
.edge-subject-chip:hover { border-color: #003770; color: #003770; }
.edge-subject-chip.is-active {
    background: #003770; border-color: #003770; color: #fff;
}
.edge-subject-chip__n {
    font-size: 11px; font-weight: 700; opacity: .6;
    font-variant-numeric: tabular-nums;
}
.edge-subject-chip.is-active .edge-subject-chip__n { opacity: .75; }

/* Search results page */
.edge-search-head { margin: 0 0 24px; }
.edge-search-title {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 26px; font-weight: 700; color: #003770; margin: 0 0 4px; text-wrap: balance;
}
.edge-search-count {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 13px; color: #6B7683; margin: 0;
}
.edge-search-none {
    text-align: center; padding: 50px 20px; max-width: 460px; margin: 0 auto;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
.edge-search-none p { margin: 0 0 10px; color: #34404D; font-size: 16px; }
.edge-search-none__hint { color: #6B7683 !important; font-size: 14px !important; }
.edge-search-none .button { margin-top: 12px; }


/* ═══════════════════════════════════════════════════════════════════════
   INSTANT SEARCH DROPDOWN (always on, this branch)
   ═══════════════════════════════════════════════════════════════════════ */
.search-modal .results-container { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; }
.edge-is-row {
    display: flex; align-items: center; gap: 14px;
    padding: 12px 14px; border-radius: 10px; text-decoration: none;
    transition: background .12s ease;
}
.edge-is-row:hover, .edge-is-row.is-active { background: #F2F5F8; }
.edge-is-thumb { flex: none; width: 48px; }
.edge-is-thumb img { width: 48px; height: auto; border-radius: 6px; border: 1px solid #E4E8ED; display: block; }
.edge-is-meta { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.edge-is-name {
    font-size: 15px; font-weight: 650; color: #1B2733; line-height: 1.3;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.edge-is-sub { display: flex; align-items: center; gap: 8px; font-size: 12px; }
.edge-is-subject {
    color: #003770; font-weight: 600; background: #EAF0F6;
    padding: 1px 8px; border-radius: 20px; white-space: nowrap;
}
.edge-is-count { color: #6B7683; }
.edge-is-price { flex: none; font-size: 14px; font-weight: 700; color: #003770; white-space: nowrap; }
.edge-is-price del { color: #9AA3AD; font-weight: 400; font-size: 12px; margin-right: 5px; }
.edge-is-price ins { text-decoration: none; }
.edge-is-go {
    flex: none;
    margin-left: 8px;
    font-size: 20px;
    line-height: 1;
    color: #C2CAD3;
    transition: color .12s ease, transform .12s ease;
}
.edge-is-row:hover .edge-is-go,
.edge-is-row.is-active .edge-is-go { color: #003770; transform: translateX(2px); }

.edge-is-empty { padding: 26px 14px; text-align: center; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
.edge-is-empty p { margin: 0 0 6px; color: #34404D; font-size: 15px; }
.edge-is-empty__hint { color: #6B7683 !important; font-size: 13px !important; }

.search-modal .view-more-results { margin-top: 12px; }
.search-modal.edge-is-ready .view-more-results { display: block; }
