/*
Theme Name: Arco Theme
Theme URI: https://arcosw.com
Description: The Arco Software platform theme. Standalone — full custody of the frontend: design system, KB infrastructure, commerce templates, shell. Fully standalone — no parent theme, no companion.
Author: Arco Software
Author URI: https://arcosw.com
Version: 1.19.39
Text Domain: arco-theme
*/

/* =========================================================
   ARCO SOFTWARE — CHILD THEME STYLESHEET
   Single source of truth for all custom CSS.

   COLOR SYSTEM (locked):
   - Page background:      var(--arco-page)
   - Elevated surfaces:    var(--arco-panel)
   - Hover surfaces:       var(--arco-raised)
   - Primary text:         var(--arco-bone)
   - Secondary text:       #c4b8b8
   - Brand accent:         var(--arco-champ) (champagne gold)
   - Hover/active accent:  var(--arco-goldh) (bright gold)
   - Success/mint:         #7FB88A
   - Warning/amber:        #E0B06B
   - Danger/terracotta:    #D27A54
   - Info/sky:             #7EB4E6
   - Subtle border:        rgba(201,169,110,.15)
   - Strong border:        rgba(201,169,110,.22)
   ========================================================= */


/* =========================================================
   1. WOO BLOCKS — CART & CHECKOUT TOTALS (Card styling)
   ========================================================= */

.wc-block-cart .wc-block-components-totals-wrapper,
.wc-block-checkout .wc-block-components-totals-wrapper {
    background: var(--arco-panel);
    border: 1px solid rgba(201,169,110,.15);
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
    padding: 22px;
    overflow: hidden;
}

.wc-block-cart .wc-block-components-totals,
.wc-block-checkout .wc-block-components-totals {
    background: transparent;
    border: none;
    box-shadow: none;
}

.wc-block-cart .wc-block-components-totals-item,
.wc-block-checkout .wc-block-components-totals-item {
    border-bottom: 1px dashed rgba(201,169,110,.15);
    padding: 10px 0;
    margin: 0;
}

.wc-block-cart .wc-block-components-totals-item:last-child,
.wc-block-checkout .wc-block-components-totals-item:last-child {
    border-bottom: none;
}

.wc-block-components-totals-item__label {
    color: var(--arco-bone);
}
.wc-block-components-totals-item__value {
    text-align: right;
}

.wc-block-cart .wc-block-components-totals-item--total .wc-block-components-totals-item__value,
.wc-block-checkout .wc-block-components-totals-item--total .wc-block-components-totals-item__value {
    font-weight: 600;
}

.wc-block-cart .wc-block-components-panel .wc-block-components-text-input input[type="text"],
.wc-block-cart .wc-block-components-coupon__form .wc-block-components-text-input input[type="text"] {
    border: 1px solid rgba(201,169,110,.22);
    border-radius: 8px;
}

.wc-block-cart .wc-block-components-checkout-place-order-button,
.wc-block-checkout .wc-block-components-checkout-place-order-button {
    border-radius: 10px;
}

@media (max-width: 480px) {
    .wc-block-cart .wc-block-components-totals-wrapper,
    .wc-block-checkout .wc-block-components-totals-wrapper {
        border-radius: 12px;
        padding: 16px;
    }
}


/* =========================================================
   2. WOO BLOCKS — Totals Polish & Final Total Emphasis
   ========================================================= */

.wc-block-cart .wc-block-components-totals-item--total .wc-block-components-totals-item__label,
.wc-block-cart .wc-block-components-totals-item--total .wc-block-components-totals-item__value,
.wc-block-cart .wc-block-components-totals-item--grand-total .wc-block-components-totals-item__label,
.wc-block-cart .wc-block-components-totals-item--grand-total .wc-block-components-totals-item__value,
.wc-block-cart .wc-block-components-totals-footer-item--total .wc-block-components-totals-item__label,
.wc-block-cart .wc-block-components-totals-footer-item--total .wc-block-components-totals-item__value,
.wc-block-cart .wc-block-components-totals-item--order-total .wc-block-components-totals-item__label,
.wc-block-cart .wc-block-components-totals-item--order-total .wc-block-components-totals-item__value,
.wc-block-checkout .wc-block-components-totals-item--total .wc-block-components-totals-item__label,
.wc-block-checkout .wc-block-components-totals-item--total .wc-block-components-totals-item__value,
.wc-block-checkout .wc-block-components-totals-item--grand-total .wc-block-components-totals-item__label,
.wc-block-checkout .wc-block-components-totals-item--grand-total .wc-block-components-totals-item__value,
.wc-block-checkout .wc-block-components-totals-footer-item--total .wc-block-components-totals-item__label,
.wc-block-checkout .wc-block-components-totals-footer-item--total .wc-block-components-totals-item__value,
.wc-block-checkout .wc-block-components-totals-item--order-total .wc-block-components-totals-item__label,
.wc-block-checkout .wc-block-components-totals-item--order-total .wc-block-components-totals-item__value {
    font-weight: 700;
    font-size: 1.02em;
}

.wc-block-cart .wc-block-components-totals-item:last-of-type,
.wc-block-checkout .wc-block-components-totals-item:last-of-type {
    margin-bottom: 12px;
}

.wc-block-components-totals .wc-block-components-panel__button {
    border: 1px solid rgba(201,169,110,.15);
    border-radius: 8px;
    background: transparent;
    padding: 8px 12px;
    color: var(--arco-bone);
}
.wc-block-components-totals .wc-block-components-panel__button:hover {
    background: rgba(201,169,110,.15);
}

.wc-block-components-totals .wc-block-components-panel__content {
    margin-top: 10px;
}
.wc-block-components-totals .wc-block-components-coupon__form .wc-block-components-text-input input[type="text"] {
    border: 1px solid rgba(201,169,110,.22);
    border-radius: 8px;
}

.wc-block-cart .wc-block-components-totals-item__value,
.wc-block-checkout .wc-block-components-totals-item__value {
    text-align: right;
}

.wc-block-cart .wc-block-components-totals-wrapper .wc-block-components-button,
.wc-block-checkout .wc-block-components-totals-wrapper .wc-block-components-button {
    border-radius: 10px;
}

.wc-block-components-express-checkout {
    margin-bottom: 12px;
}
.wc-block-components-express-checkout-separator {
    margin: 10px 0;
}


/* =========================================================
   3. WOO BLOCKS — Cart Items & Checkout Form Card Styling
   ========================================================= */

.wc-block-cart .wc-block-cart-items,
.wc-block-cart .wc-block-cart__main {
    background: var(--arco-panel);
    border: 1px solid rgba(201,169,110,.15);
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
    padding: 22px;
    overflow: hidden;
}

.wc-block-cart .wc-block-cart-items__row {
    border-bottom: 1px dashed rgba(201,169,110,.15);
    padding: 16px 0;
    margin: 0;
}
.wc-block-cart .wc-block-cart-items__row:last-child {
    border-bottom: none;
}

.wc-block-cart .wc-block-cart-items__header {
    border-bottom: 1px solid rgba(201,169,110,.22);
    padding-bottom: 8px;
    margin-bottom: 8px;
}

.wc-block-checkout .wc-block-components-main,
.wc-block-checkout .wc-block-checkout__main {
    background: var(--arco-panel);
    border: 1px solid rgba(201,169,110,.15);
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
    padding: 22px;
    overflow: hidden;
}

.wc-block-checkout .wc-block-components-checkout-step {
    border-top: 1px dashed rgba(201,169,110,.15);
    padding-top: 16px;
    margin-top: 16px;
}
.wc-block-checkout .wc-block-components-checkout-step:first-child {
    border-top: none;
    padding-top: 0;
    margin-top: 0;
}

.wc-block-checkout input[type="text"],
.wc-block-checkout input[type="email"],
.wc-block-checkout input[type="tel"],
.wc-block-checkout input[type="number"],
.wc-block-checkout textarea,
.wc-block-checkout select {
    background: var(--arco-raised);
    border: 1px solid rgba(201,169,110,.22);
    border-radius: 8px;
    color: var(--arco-bone);
}

@media (max-width: 480px) {
    .wc-block-cart .wc-block-cart-items,
    .wc-block-cart .wc-block-cart__main,
    .wc-block-checkout .wc-block-components-main,
    .wc-block-checkout .wc-block-checkout__main {
        border-radius: 12px;
        padding: 16px;
    }
}


/* =========================================================
   4. PRODUCT ATTRIBUTES TABLE (Additional Information tab)
   ========================================================= */

table.woocommerce-product-attributes {
    border: none;
    background-color: transparent;
    font-size: 16px;
    width: 100%;
}/* data-override (justified !important): beats INLINE table styles in DB product descriptions; retire when the DB comparison-table template is re-issued in champagne during the content month */


table.woocommerce-product-attributes th {
    color: var(--arco-champ) !important;
    background-color: transparent !important;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-align: left;
    padding: 12px 0px 12px 10px;
    border-bottom: 1px solid rgba(201,169,110,.15);
    width: 30%;
    vertical-align: middle;
}

table.woocommerce-product-attributes td {
    color: var(--arco-bone) !important;
    background-color: transparent !important;
    font-style: normal;
    padding: 12px 10px;
    border-bottom: 1px solid rgba(201,169,110,.15);
    vertical-align: middle;
}

table.woocommerce-product-attributes tr:nth-child(even) th,
table.woocommerce-product-attributes tr:nth-child(even) td,
table.woocommerce-product-attributes tr:nth-child(odd) th,
table.woocommerce-product-attributes tr:nth-child(odd) td {
    background-color: transparent;
}

table.woocommerce-product-attributes tr:last-child th,
table.woocommerce-product-attributes tr:last-child td {
    border-bottom: none;
}


/* =========================================================
   5. CUSTOM TABLES IN PRODUCT DESCRIPTIONS (.arco-dark-table)
   ========================================================= */

table.arco-dark-table {
    border: none;
    border-collapse: collapse;
    background-color: transparent;
    width: 100%;
    margin-bottom: 20px;
    font-size: 16px;
}

table.arco-dark-table tr {
    border: none;
    background-color: transparent;
}

table.arco-dark-table td {
    background-color: transparent !important;
    color: var(--arco-bone) !important;
    border: none !important;
    border-bottom: 1px solid rgba(201,169,110,.15);
    padding: 12px 10px;
    font-size: 16px;
    vertical-align: middle;
}

table.arco-dark-table td:first-child {
    color: var(--arco-champ) !important;
    font-weight: 800;
    letter-spacing: 0.5px;
    width: 30%;
}

table.arco-dark-table tr:last-child td {
    border-bottom: none;
}


/* =========================================================
   6. PRICES (active and strikethrough)
   ========================================================= */

.price,
.woocommerce-Price-amount,
.amount,
ins .amount {
    color: var(--arco-champ);
    font-weight: 700;
}

ins .amount {
    color: var(--arco-goldh);
}

.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price del .amount,
.woocommerce ul.products li.product .price del .amount bdi,
.woocommerce ul.products li.product .price del bdi,
del .amount,
del .woocommerce-Price-amount {
    color: var(--arco-goldh);
    -webkit-text-fill-color: var(--arco-goldh);
    text-decoration-color: var(--arco-goldh);
    opacity: 1;
}


/* =========================================================
   7. WOOCOMMERCE SORT DROPDOWN
   ========================================================= */

.woocommerce .woocommerce-ordering select.orderby {
    color: var(--arco-bone);
    background-color: var(--arco-raised);
    border: 1px solid var(--arco-champ);
}


/* =========================================================
   8. HIDE POST META (Author, Date)
   ========================================================= */

.entry-meta,
.post-meta,
.posted-on,
.byline,
.post-author,
.meta-info,
.posted,
.article-meta,
.article-author,
.post-meta-top,
.post-meta-bottom {
    display: none;
}


/* =========================================================
   9. SEARCH/QUOTE BOX (#YQ elements)
   ========================================================= */

.yq-wrap {
    max-width: 960px;
    margin: 0 auto;
    padding: 16px;
}

.yq-row {
    display: flex;
    gap: 0;
}

.yq-row input {
    font: inherit;
}

#YQNum {
    flex: 1;
    padding: 16px 18px;
    border: 1px solid rgba(201,169,110,.22);
    border-right: 0;
    border-radius: 12px 0 0 12px;
    background: var(--arco-raised);
    color: var(--arco-bone);
}

#YQNum::placeholder {
    color: #c4b8b8;
    letter-spacing: 0.02em;
}

#YQBtn {
    padding: 16px 22px;
    border: 1px solid var(--arco-champ);
    background: var(--arco-champ);
    color: var(--arco-ink);
    border-radius: 0 12px 12px 0;
    font-weight: 700;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: all 0.18s ease;
}

#YQBtn:hover {
    background: var(--arco-goldh);
    border-color: var(--arco-goldh);
}

#YQBtn:focus-visible {
    outline: 2px solid var(--arco-goldh);
    outline-offset: 2px;
}

#YQContainer {
    margin-top: 16px;
    background: var(--arco-panel);
    border: 1px solid rgba(201,169,110,.15);
    border-radius: 14px;
    box-shadow: 0 2px 24px rgba(0, 0, 0, 0.3);
    padding: 8px;
}

@media (max-width: 600px) {
    .yq-row {
        flex-direction: column;
    }
    #YQNum {
        border-right: 1px solid rgba(201,169,110,.22);
        border-radius: 12px;
        margin-bottom: 10px;
    }
    #YQBtn {
        border-radius: 12px;
    }
}


/* =========================================================
   10. CLASSIC TEMPLATE FALLBACK (if Woo Blocks ever disabled)
   ========================================================= */

.woocommerce .cart_totals,
.woocommerce-checkout-review-order {
    background: var(--arco-panel);
    border: 1px solid rgba(201,169,110,.15);
    border-radius: 16px;
    padding: 22px;
}


/* =========================================================
   11. ARCO COLOR UNIFICATION — replaces stray colors
   ========================================================= */

/* ─── Active menu item TEXT color (link itself{
    color: var(--arco-champ);
    background: transparent;
    background-color: transparent;
}


[data-id="text"] a:hover,
[data-row*="footer"] a:hover {
    color: var(--arco-champ);
}
.tinvwl_add_to_wishlist-text.tinvwl-product-in-list {
    color: var(--arco-champ);
}
.product .tinvwl_add_to_wishlist_button {
    color: var(--arco-champ);
}

/* ─── Product card icons (favorite{
    background-color: rgba(201,169,110, 0.15);
    color: var(--arco-champ);
}



/* =========================================================
   12. EXTRA FEATURES CHECKMARKS (plugin-generated icons)
   Targets the green checkmarks in features list → champagne gold
   ========================================================= */

/* Generic plugin-generated checkmark icons */
.product-features li::before,
.extra-features li::before,
.features-list li::before,
.product .features li::before,
ul.checkmarks li::before,
ul.product-feature-list li::before {
    color: var(--arco-champ);
}

/* SVG checkmark icons */
.product svg.checkmark,
.product .icon-check,
.product [class*="check"] svg,
.feature-icon svg,
.checkmark-icon,
.product-page svg.icon-check,
.product-page [class*="check-icon"] svg {
    color: var(--arco-champ);
    fill: var(--arco-champ);
}

/* Common WooCommerce/extension feature checkmark patterns */
.wc-block-grid__product-features svg,
.wc-block-grid__product-features .feature-check,
.product-feature-check,
.guarantee-features li::before,
.product-trust-badges li::before,
.trust-section li::before {
    color: var(--arco-champ);
    fill: var(--arco-champ);
}

/* Stackable plugin checkmarks (commonly used for feature lists) */
.stk-icon-list li svg,
.stk-icon-list li .stk-icon-list__marker,
.wp-block-stackable-icon-list-item .stk-icon-list__marker,
[class*="stk-"] svg.stk-icon {
    color: var(--arco-champ);
    fill: var(--arco-champ);
}

/* Greenshift plugin patterns */
[class*="wp-block-greenshift"] svg.gspb-icon,
.gspb-list-icon,
[class*="gspb"] svg[class*="check"] {
    color: var(--arco-champ);
    fill: var(--arco-champ);
}


/* =========================================================
   13. BUTTON STYLING (champagne default → bright gold hover)
   v1.0.1: added a.added_to_cart + a.button.wc-forward + 
   .woocommerce-message a.button so the "View cart" /
   "My Licenses" link gets the same dark text on gold.
   ========================================================= */

.button.alt,
.wp-block-button__link,
.button.add_to_cart_button,
.single_add_to_cart_button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.woocommerce a.button.alt,
a.added_to_cart,
a.button.wc-forward,
.woocommerce-message a.button {
    background:linear-gradient(180deg,var(--arco-rest-hi),var(--arco-rest));
    color: var(--arco-ink);
    border: 2px solid var(--arco-champ);
    border-radius: 8px;
    padding: 14px 28px;
    font-weight: 600;
    transition: all 0.18s ease;
    display: inline-block;
    text-decoration: none;
}

.button.alt:hover,
.wp-block-button__link:hover,
.button.add_to_cart_button:hover,
.single_add_to_cart_button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.woocommerce a.button.alt:hover,
a.added_to_cart:hover,
a.button.wc-forward:hover,
.woocommerce-message a.button:hover {
    background:linear-gradient(180deg,#F0DFB4,#D6B87E);
    color: var(--arco-ink);
    border-color: var(--arco-goldh);
    box-shadow: 0 0 0 4px rgba(245, 216, 138, 0.2);
    transform: translateY(-1px);
    text-decoration: none;
}

/* Focus state for keyboard accessibility */
.button.alt:focus-visible,
.wp-block-button__link:focus-visible,
.button.add_to_cart_button:focus-visible,
.single_add_to_cart_button:focus-visible,
.wc-block-cart__submit-button:focus-visible,
a.added_to_cart:focus-visible,
a.button.wc-forward:focus-visible,
.woocommerce-message a.button:focus-visible {
    outline: 3px solid var(--arco-goldh);
    outline-offset: 2px;background:linear-gradient(180deg,#F0DFB4,#D6B87E)}


/* =========================================================
   14. TEXT SELECTION (bright gold for visibility)
   ========================================================= */

::selection {
    background: var(--arco-goldh);
    color: var(--arco-ink);
}

::-moz-selection {
    background: var(--arco-goldh);
    color: var(--arco-ink);
}


/* =========================================================
   15. SITE-WIDE LINKS (white default → bright gold hover)
   ========================================================= */

a:not(.button):not(.wp-block-button__link):not(.menu-link):not([class*="ct-"]):not(.added_to_cart):not(.wc-forward):not(.arco-ed-button):not(.arco-ed-ghost):not(.arco-btn-ghost):not(.arco-kb-back-to-shop):not(.wc-block-components-button):not(.kbh-chip):not(.kbh-dir-card):not(.kbp-esc):not(.arco-pp-kbrail):not(.kbh-sechead a) { /* v1.19.11 — KB nav family exempted from the painter (the 1.13.4 pattern): the hover chain was silently winning goldh on these anchors; exposed the moment the family went navy/white */
    color: var(--arco-bone);
    transition: color 0.15s ease;
}

a:not(.button):not(.wp-block-button__link):not(.menu-link):not([class*="ct-"]):not(.added_to_cart):not(.wc-forward):not(.arco-ed-button):not(.arco-ed-ghost):not(.arco-btn-ghost):not(.arco-kb-back-to-shop):not(.wc-block-components-button):not(.kbh-chip):not(.kbh-dir-card):not(.kbp-esc):not(.arco-pp-kbrail):not(.kbh-sechead a):hover {
    color: var(--arco-goldh);
}


/* =========================================================
   16. POST-ACTIVATION FIX — buttons wrapping to two lines
   IMPORTANT: a.added_to_cart removed from here. This rule
   targets PRODUCT GRID buttons only. The single-product page
   "View cart" link must inherit the full §13 size, so it is
   intentionally excluded from this size override.
   ========================================================= */

li.product .button,
.wc-block-grid__product .wp-block-button__link,
.products .button.add_to_cart_button,
.products .button.product_type_variable {
    white-space: nowrap;
    width: auto;
    min-width: auto;
    max-width: 100%;
    padding: 14px 20px;
    font-size: 14px;
    display: inline-block;
}

/* Make sure the parent container allows the button to size naturally */
li.product .add_to_cart_inline,
.products .price + .button {
    text-align: center;
    overflow: visible;
}

/* For very narrow grid columns, allow slightly smaller padding */
@media (max-width: 1200px) {
    li.product .button,
    .products .button.add_to_cart_button,
    .products .button.product_type_variable {
        padding: 12px 16px;
        font-size: 13px;
    }
}






/* =========================================================
   END OF CHILD THEME CSS
   KB-specific styles will be added in Step 7 of build
   ========================================================= */

/* =========================================================
   17. KNOWLEDGE BASE — HOMEPAGE STYLING
   ========================================================= */

.arco-kb-wrapper {
    max-width: 1280px;
    margin: 0 auto;
    padding: 40px 20px 80px;
}

/* CRITICAL: Constrain ALL SVGs inside KB pages to prevent overflow */
.arco-kb-wrapper svg {
    max-width: 100%;
    max-height: 100%;
    display: inline-block;
    vertical-align: middle;
}

/* ─── HERO ─── */
.arco-kb-hero {
    text-align: center;
    padding: 60px 20px 40px;
    margin-bottom: 60px;
}

.arco-kb-hero__inner {
    max-width: 760px;
    margin: 0 auto;
}

.arco-kb-hero__title {
    font-size: clamp(36px, 5vw, 56px);
    font-weight: 700;
    color: var(--arco-bone);
    margin: 0 0 16px;
    letter-spacing: -0.02em;
}

.arco-kb-hero__subtitle {
    font-size: 18px;
    line-height: 1.6;
    color: #c4b8b8;
    margin: 0 0 40px;
}

/* ─── LIVE SEARCH ─── */
.arco-kb-search {
    position: relative;
    max-width: 640px;
    margin: 0 auto;
}

.arco-kb-search__input {
    width: 100%;
    padding: 18px 60px 18px 24px;
    font-size: 16px;
    background: var(--arco-panel);
    color: var(--arco-bone);
    border: 2px solid rgba(201,169,110,.15);
    border-radius: 12px;
    transition: all 0.18s ease;
    outline: none;
}

.arco-kb-search__input:focus {
    border-color: var(--arco-champ);
    background: var(--arco-raised);
    box-shadow: 0 0 0 4px rgba(200, 165, 106, 0.15);
}

.arco-kb-search__input::placeholder {
    color: var(--arco-muted);
}

.arco-kb-search__icon {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--arco-champ);
    pointer-events: none;
    width: 20px;
    height: 20px;
}

.arco-kb-search__icon svg {
    width: 20px;
    height: 20px;
    display: block;
}

.arco-kb-search__results {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    background: var(--arco-panel);
    border: 1px solid rgba(201,169,110,.15);
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
    max-height: 480px;
    overflow-y: auto;
    z-index: 100;
    text-align: left;
}

.arco-kb-search__results.is-active {
    display: block;
}

.arco-kb-search__results-header {
    padding: 12px 20px;
    border-bottom: 1px solid rgba(201,169,110,.15);
    font-size: 13px;
    color: var(--arco-muted);
}

.arco-kb-search__result-item {
    border-bottom: 1px solid rgba(201,169,110,.15);
}

.arco-kb-search__result-item:last-child {
    border-bottom: none;
}

.arco-kb-search__result-item a {
    display: block;
    padding: 16px 20px;
    color: var(--arco-bone);
    text-decoration: none;
    transition: background 0.15s ease;
}

.arco-kb-search__result-item:hover,
.arco-kb-search__result-item.is-focused {
    background: var(--arco-raised);
}

.arco-kb-search__result-type {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 8px;
    background: rgba(200, 165, 106, 0.15);
    color: var(--arco-champ);
}

.arco-kb-search__result-type.arco-kb-type-license-error { background: rgba(210, 122, 84, 0.15); color: #D27A54; }
.arco-kb-search__result-type.arco-kb-type-free-fix { background: rgba(127, 184, 138, 0.15); color: #7FB88A; }
.arco-kb-search__result-type.arco-kb-type-review { background: rgba(126, 180, 230, 0.15); color: #7EB4E6; }
.arco-kb-search__result-type.arco-kb-type-how-to { background: rgba(200, 165, 106, 0.15); color: var(--arco-champ); }

.arco-kb-search__result-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--arco-bone);
    margin: 0 0 6px;
    line-height: 1.4;
}

.arco-kb-search__result-title mark {
    background: rgba(245, 216, 138, 0.3);
    color: var(--arco-goldh);
    padding: 0 2px;
    border-radius: 2px;
}

.arco-kb-search__result-excerpt {
    font-size: 13px;
    color: #c4b8b8;
    margin: 0 0 6px;
    line-height: 1.5;
}

.arco-kb-search__result-category {
    font-size: 12px;
    color: var(--arco-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.arco-kb-search__loading,
.arco-kb-search__empty,
.arco-kb-search__error {
    padding: 30px 20px;
    text-align: center;
    color: #c4b8b8;
}

.arco-kb-search__empty p {
    margin: 0 0 8px;
}

.arco-kb-search__empty-hint {
    font-size: 13px;
    color: var(--arco-muted);
}

/* Search examples */
.arco-kb-search__examples {
    margin-top: 20px;
    font-size: 13px;
    color: var(--arco-muted);
}

.arco-kb-search__examples-label {
    margin-right: 8px;
}

.arco-kb-search__example {
    display: inline-block;
    margin: 0 6px;
    padding: 4px 10px;
    background: rgba(201,169,110,.15);
    border: 1px solid rgba(201,169,110,.15);
    border-radius: 4px;
    color: #c4b8b8;
    text-decoration: none;
    font-size: 12px;
    transition: all 0.15s ease;
}

.arco-kb-search__example:hover {
    background: rgba(200, 165, 106, 0.1);
    border-color: var(--arco-champ);
    color: var(--arco-champ);
    text-decoration: none;
}

/* ─── SECTION HEADERS ─── */
.arco-kb-section-header {
    text-align: center;
    margin-bottom: 40px;
}

.arco-kb-section-title {
    font-size: 32px;
    font-weight: 700;
    color: var(--arco-bone);
    margin: 0 0 8px;
}

.arco-kb-section-subtitle {
    font-size: 16px;
    color: #c4b8b8;
    margin: 0;
}

/* ─── CATEGORY CARDS ─── */
.arco-kb-categories {
    margin-bottom: 80px;
}

.arco-kb-categories__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
}

.arco-kb-category-card {
    display: block;
    padding: 30px 24px;
    background: var(--arco-panel);
    border: 1px solid rgba(201,169,110,.15);
    border-radius: 12px;
    text-decoration: none;
    color: var(--arco-bone);
    transition: all 0.2s ease;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.arco-kb-category-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--accent);
    opacity: 0;
    transition: opacity 0.2s ease;
}

.arco-kb-category-card:hover {
    background: var(--arco-raised);
    border-color: var(--accent);
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    text-decoration: none;
}

.arco-kb-category-card:hover::before {
    opacity: 1;
}

/* CRITICAL: Lock category card icons to 48x48 */
.arco-kb-category-card__icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 16px;
    color: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
}

.arco-kb-category-card__icon svg {
    width: 48px;
    height: 48px;
    max-width: 48px;
    max-height: 48px;
    display: block;
    flex-shrink: 0;
}

.arco-kb-category-card__title {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 6px;
    color: var(--arco-bone);
}

.arco-kb-category-card__count {
    font-size: 13px;
    color: #c4b8b8;
    margin: 0 0 12px;
}

.arco-kb-category-card__cta {
    font-size: 13px;
    color: var(--accent);
    font-weight: 600;
    display: inline-block;
}

/* ─── RECENT ARTICLES ─── */
.arco-kb-recent {
    margin-bottom: 80px;
}

.arco-kb-recent__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}

.arco-kb-article-card {
    display: block;
    padding: 24px;
    background: var(--arco-panel);
    border: 1px solid rgba(201,169,110,.15);
    border-radius: 12px;
    text-decoration: none;
    color: var(--arco-bone);
    transition: all 0.2s ease;
}

.arco-kb-article-card:hover {
    background: var(--arco-raised);
    border-color: rgba(200, 165, 106, 0.3);
    transform: translateY(-2px);
    text-decoration: none;
}

.arco-kb-article-card__type {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 12px;
    background: rgba(200, 165, 106, 0.15);
    color: var(--arco-champ);
}

.arco-kb-article-card__type.arco-kb-type-license-error { background: rgba(210, 122, 84, 0.15); color: #D27A54; }
.arco-kb-article-card__type.arco-kb-type-free-fix { background: rgba(127, 184, 138, 0.15); color: #7FB88A; }
.arco-kb-article-card__type.arco-kb-type-review { background: rgba(126, 180, 230, 0.15); color: #7EB4E6; }
.arco-kb-article-card__type.arco-kb-type-how-to { background: rgba(200, 165, 106, 0.15); color: var(--arco-champ); }

.arco-kb-article-card__title {
    font-size: 17px;
    font-weight: 600;
    color: var(--arco-bone);
    margin: 0 0 10px;
    line-height: 1.4;
}

.arco-kb-article-card__excerpt {
    font-size: 14px;
    color: #c4b8b8;
    margin: 0 0 16px;
    line-height: 1.5;
}

.arco-kb-article-card__meta {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: var(--arco-muted);
}

.arco-kb-article-card__category {
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 600;
    color: var(--arco-champ);
}

/* ─── FEATURED PRODUCTS ─── */
.arco-kb-featured-products {
    background: var(--arco-panel);
    border-radius: 16px;
    padding: 50px 40px;
    margin-bottom: 40px;
}

.arco-kb-products__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.arco-kb-product-card {
    display: block;
    padding: 20px;
    background: var(--arco-page);
    border: 1px solid rgba(201,169,110,.15);
    border-radius: 10px;
    text-decoration: none;
    color: var(--arco-bone);
    transition: all 0.2s ease;
    text-align: center;
}

.arco-kb-product-card:hover {
    border-color: var(--arco-champ);
    transform: translateY(-2px);
    text-decoration: none;
}

.arco-kb-product-card__image {
    margin-bottom: 16px;
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.arco-kb-product-card__image img {
    max-width: 100%;
    max-height: 140px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.arco-kb-product-card__title {
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 8px;
    line-height: 1.4;
}

.arco-kb-product-card__price {
    color: var(--arco-champ);
    font-weight: 700;
    margin-bottom: 8px;
}

.arco-kb-product-card__cta {
    font-size: 12px;
    color: var(--arco-champ);
    font-weight: 600;
}

.arco-kb-featured-products__cta {
    text-align: center;
    margin-top: 24px;
}

/* "Browse all software" — render as proper button */
a.arco-kb-back-to-shop,
.arco-kb-featured-products__cta a.arco-kb-back-to-shop {
    display: inline-block;
    padding: 14px 28px;
    background: transparent;
    color: #7EB4E6; /* v1.19.24 — azure navigation voice */
    border: 2px solid rgba(126,180,230,.4);
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: 0.01em;
    transition: all 0.18s ease;
    cursor: pointer;
}

a.arco-kb-back-to-shop:hover {
    background: #1B2740;
    color: #FFFFFF;
    border-color: #7EB4E6;
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(245, 216, 138, 0.25);
    text-decoration: none;
}

/* ─── EMPTY STATE ─── */
.arco-kb-empty {
    text-align: center;
    color: #c4b8b8;
    padding: 40px 20px;
    font-style: italic;
}

/* ─── MOBILE RESPONSIVE ─── */
@media (max-width: 768px) {
    .arco-kb-wrapper {
        padding: 20px 16px 60px;
    }
    
    .arco-kb-hero {
        padding: 30px 16px 30px;
        margin-bottom: 40px;
    }
    
    .arco-kb-hero__title {
        font-size: 32px;
    }
    
    .arco-kb-hero__subtitle {
        font-size: 16px;
    }
    
    .arco-kb-section-title {
        font-size: 26px;
    }
    
    .arco-kb-categories,
    .arco-kb-recent {
        margin-bottom: 50px;
    }
    
    .arco-kb-featured-products {
        padding: 30px 20px;
    }
}

/* ═══════════════════════════════════════════════════════════
   PREMIUM TYPOGRAPHY — Add at bottom of style.css
   ═══════════════════════════════════════════════════════════ */

/* Hanken Grotesk for all headings site-wide */
h1, h2, h3, h4, h5, h6,
.site-title,
.widget-title {
    font-family: 'Hanken Grotesk', sans-serif;
}

/* Inter for all body text site-wide */
body,
p, a, span, li,
input, button, select, textarea,
.woocommerce-page p,
.entry-content p {
    font-family: 'Atkinson Hyperlegible', sans-serif;
}

/* ── Navigation — keep Inter,
nav a {
    font-family: 'Atkinson Hyperlegible', sans-serif;
    font-weight: 600;
    letter-spacing: 0.01em;
}

/* ═══════════════════════════════════════════════════════════
   SHOP — PRODUCT CARDS
   ═══════════════════════════════════════════════════════════ */

/* Card container */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    background: var(--arco-panel);
    border: 1px solid rgba(201,169,110,.15);
    border-radius: 16px;
    padding: 20px;
    transition: transform 0.2s ease, border-color 0.2s ease;
    overflow: hidden;
}
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
    transform: translateY(-4px);
    border-color: rgba(201,169,110,0.4);
}

/* Product image area */
.woocommerce ul.products li.product a img {
    border-radius: 8px;
    background: var(--arco-page);
    object-fit: contain;
    max-height: 180px;
    width: 100%;
}

/* Hide "1 in stock" availability on shop grid */
.woocommerce ul.products li.product .arco-stock-count,
.woocommerce ul.products li.product p.stock {
    display: none;
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: 'Atkinson Hyperlegible', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--arco-bone);
    padding: 12px 0 6px;
    line-height: 1.4;
}

/* Price */
.woocommerce ul.products li.product .price {
    color: var(--arco-champ);
    font-family: 'Atkinson Hyperlegible', sans-serif;
    font-weight: 700;
    font-size: 15px;
}
.woocommerce ul.products li.product .price del {
    color: var(--arco-muted);
    opacity: 1;
    font-size: 12px;
}

/* Wishlist + Compare buttons — bottom row{
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Reposition action buttons to bottom of card as clean icon row */
.woocommerce ul.products li.product .button-group-wrapper,
.woocommerce ul.products li.product .product-loop-actions {
    display: flex;
    gap: 8px;
    margin-top: 10px;
    justify-content: flex-start;
}
.woocommerce ul.products li.product .add_to_wishlist,
.woocommerce ul.products li.product .compare {
    position: static;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: rgba(201,169,110,.15);
    border: 1px solid rgba(201,169,110,.15);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    color: #c4b8b8;
    text-decoration: none;
    transition: background 0.15s, border-color 0.15s;
}
.woocommerce ul.products li.product .add_to_wishlist:hover,
.woocommerce ul.products li.product .compare:hover {
    background: rgba(201,169,110,0.12);
    border-color: rgba(201,169,110,0.35);
    color: var(--arco-champ);
}





/* Shop sort dropdown */
.woocommerce .woocommerce-ordering select {
    background: var(--arco-panel);
    border: 1px solid rgba(201,169,110,.22);
    color: #c4b8b8;
    border-radius: 8px;
    padding: 8px 14px;
    font-family: 'Atkinson Hyperlegible', sans-serif;
}

/* ═══════════════════════════════════════════════════════════
   PRODUCT PAGE
   ═══════════════════════════════════════════════════════════ */

/* Price bigger on single product */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-size: 28px;
    color: var(--arco-champ);
    font-weight: 800;
    font-family: 'Hanken Grotesk', sans-serif;
}

/* Hide tag cloud on product page */
.woocommerce div.product .tagged_as {
    display: none;
}

/* Tabs — cleaner */
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-family: 'Atkinson Hyperlegible', sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: #c4b8b8;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--arco-champ);
}

/* ═══════════════════════════════════════════════════════════
   KB HOMEPAGE — footer breathing room
   ═══════════════════════════════════════════════════════════ */

.arco-kb-page {
    padding-bottom: 80px;
}

/* Also add space on single article and category pages */
.arco-kb-article-page,
.arco-kb-category-page {
    padding-bottom: 80px;
}

/* General bottom spacing for all KB templates */
body.tax-kb_category .arco-section-inner:last-of-type,
body.single-kb_article > div:last-of-type {
    margin-bottom: 80px;
}


/* ═══════════════════════════════════════════════════════════
   BATCH B — KB SEARCH/FEEDBACK/SUBCATEGORY ADDITIONS
   May 2026
   ═══════════════════════════════════════════════════════════ */

/* Shared search bar: hover effect on the container */
.arco-kb-search-wrap > div:focus-within {
    border-color: rgba(201,169,110, 0.55);
}

/* Shared search button hover */
#arco-kb-search-btn:hover {
    background: var(--arco-goldh);
}

/* Search results dropdown — make sure links inside are styled */
#arco-kb-search-results a {
    text-decoration: none;
}

/* Feedback widget — focus state on textarea */
.arco-kb-feedback-comment:focus {
    border-color: rgba(201,169,110, 0.5);
    background: var(--arco-page);
}

/* Feedback widget — mobile responsive */
@media (max-width: 480px) {
    .arco-kb-feedback {
        padding: 22px 18px;
    }
    .arco-kb-feedback-btn {
        padding: 10px 18px;
        font-size: 13px;
    }
}

/* Dedicated search page — mobile responsive list */
@media (max-width: 600px) {
    /* Search page filter facets wrap better */
    body.page-template-page-kb-search nav[aria-label="Breadcrumb"] {
        font-size: 12px;
    }
}

/* Subcategory archive — header compact on mobile */
@media (max-width: 600px) {
    body.tax-kb_subcategory h1 {
        font-size: 22px;
    }
}

/* Article view — make sure feedback widget has breathing room */
.arco-kb-article-body + .arco-kb-feedback {
    margin-top: 56px;
}

/* ═══════════════════════════════════════════════════════════
   SECTION 19 — KB RELATED PRODUCT TAXONOMY (Option C)
   Multi-product grid + Related Articles on product pages
   May 27, 2026
   ═══════════════════════════════════════════════════════════ */

/* ──────────── Product grid in single KB article footer ──────── */

.arco-kb-products-footer {
    /* Container is styled inline; this stylesheet provides hover + responsive refinements */
}

/* Hover state on product cards within the article footer grid */
.arco-kb-products-footer > div > div {
    transition: transform 0.2s ease, border-color 0.2s ease;
}
.arco-kb-products-footer > div > div:hover {
    transform: translateY(-3px);
    border-color: rgba(201,169,110, 0.35);
}

/* Hover on the "Get It Now" buttons inside cards */
.arco-kb-products-footer a:hover {
    background: var(--arco-goldh);
}

/* ──────────── Mobile responsive grid collapse ──────────────── */

@media (max-width: 600px) {
    /* Force single column on small screens regardless of grid setting */
    .arco-kb-products-footer > div[style*="grid-template-columns"] {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    /* Footer container padding shrinks on mobile */
    .arco-kb-products-footer {
        padding: 20px 16px;
    }
}

/* ──────────── Related Articles widget on product pages ────── */

.arco-kb-related-on-product {
    /* Container is styled inline; this provides hover + spacing refinements */
}

/* Card hover state */
.arco-kb-related-on-product ul li a {
    transition: border-color 0.2s ease, transform 0.2s ease;
}
.arco-kb-related-on-product ul li a:hover {
    border-color: rgba(201,169,110, 0.3);
    transform: translateY(-2px);
}

/* Headings inside cards adjust on hover */
.arco-kb-related-on-product ul li a:hover p {
    color: var(--arco-champ);
}

/* Mobile: single-column grid */
@media (max-width: 600px) {
    .arco-kb-related-on-product ul[style*="grid-template-columns"] {
        grid-template-columns: 1fr;
    }
    .arco-kb-related-on-product {
        padding: 24px 18px;
        margin: 32px 0 24px;
    }
    .arco-kb-related-on-product h2 {
        font-size: 19px;
    }
}

/* ──────────── Sidebar multi-product stack adjustments ──────── */

/* When sidebar has multiple products stacked, ensure clean separators */
aside .arco-kb-products-sidebar > div + div {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(201,169,110,.15);
}

/* End of Section 19 CSS — KB Related Product Taxonomy */

/* ═══════════════════════════════════════════════════════════════════
   ARCO v2.2.0 — MINIMAL upgrade layer on the ORIGINAL design.
   Scope deliberately tiny: self-hosted locked fonts, palette tokens,
   global type mapping, accessibility focus states. Nothing else.
   Components, cards, buttons, grids: 100% the operator's original.
   ═══════════════════════════════════════════════════════════════════ */
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/hanken-grotesk-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20AC;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/hanken-grotesk-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20AC;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/hanken-grotesk-latin-700-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20AC;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/hanken-grotesk-latin-800-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20AC;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/hanken-grotesk-latin-ext-600-normal.woff2') format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/hanken-grotesk-latin-ext-700-normal.woff2') format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/hanken-grotesk-latin-ext-800-normal.woff2') format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF;}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/atkinson-hyperlegible-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20AC;}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/atkinson-hyperlegible-latin-700-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20AC;}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/atkinson-hyperlegible-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-024F,U+1E00-1EFF;}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/atkinson-hyperlegible-latin-ext-700-normal.woff2') format('woff2');unicode-range:U+0100-024F,U+1E00-1EFF;}

:root{
    --arco-bg:#0B0E13;--arco-card:#0D1118;--arco-card-hover:#131A28;
    --arco-gold:#C9A96E;--arco-gold-hover:#E9CF9B;--arco-muted:#AEB4C0;
    --arco-green:#7FB88A;--arco-blue:#7EB4E6;--arco-amber:#E0B06B;--arco-terra:#D27A54;
}

body{font-family:'Atkinson Hyperlegible',-apple-system,sans-serif;}
h1,h2,h3,h4,h5,h6,.site-title,.entry-title{font-family:'Hanken Grotesk',-apple-system,sans-serif;font-style:normal;}

a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
    outline:2px solid var(--arco-gold);outline-offset:2px;
}
::selection{background:var(--arco-gold);color:var(--arco-ink);}


/* ═══ v2.3.0 — card physics & product-image presence (operator-approved
   reference: the KB "Need a License?" row). Pure CSS, zero JS. ═══ */

/* Unified lift on the existing card classes (transitions already declared
   in the templates' own style blocks). */
.arco-prod-card:hover,
.arco-product-card:hover,
.arco-cat-card:hover,
.arco-article-card:hover{
    transform:translateY(-3px);
    box-shadow:0 16px 34px rgba(0,0,0,.38);
}

/* Product boxshots (transparent PNGs) get a soft gold ambient glow on
   card hover — presence without a background box. */
.arco-prod-card .arco-product-img img,
.arco-product-card img{
    transition:filter .22s ease,transform .22s ease;
}
.arco-prod-card:hover .arco-product-img img,
.arco-product-card:hover img{
    filter:drop-shadow(0 16px 26px rgba(201,169,110,.20));
    transform:translateY(-2px) scale(1.03);
}

/* Motion respect — accessibility hard constraint */
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){
    *,*::before,*::after{transition:none;animation:none;scroll-behavior:auto;transform:none;}
}


/* ═══ v2.4.0 — dark-theme signature layer ═══ */

/* Custom scrollbar — the whole product is dark, including the chrome */
html{scrollbar-color:var(--arco-champ) var(--arco-page);scrollbar-width:thin;}
::-webkit-scrollbar{width:12px;height:12px;}
::-webkit-scrollbar-track{background:var(--arco-page);}
::-webkit-scrollbar-thumb{background:var(--arco-champ);border-radius:6px;border:3px solid var(--arco-page);}
::-webkit-scrollbar-thumb:hover{background:var(--arco-goldh);}

/* Product "floor" — an elliptical shadow beneath each boxshot so the
   transparent PNGs stand on the surface instead of floating in space */
.arco-prod-card .arco-product-img,
.arco-product-card .arco-product-img{position:relative;}
.arco-prod-card .arco-product-img::after,
.arco-product-card .arco-product-img::after{
    content:"";position:absolute;left:50%;bottom:6px;transform:translateX(-50%);
    width:62%;height:12px;border-radius:50%;
    background:radial-gradient(ellipse,rgba(0,0,0,.5) 0%,rgba(201,169,110,.10) 45%,transparent 75%);
    pointer-events:none;
}
.arco-prod-card .arco-product-img img,
.arco-product-card .arco-product-img img{position:relative;z-index:1;}

/* Hero buttons: gold aura on hover (rides the templates' own transitions) */
.arco-btn-primary:hover{box-shadow:0 10px 34px rgba(201,169,110,.35);}
.arco-btn-secondary:hover{box-shadow:0 10px 30px rgba(201,169,110,.22);}


/* ═════════════════════════════════════════════════════════════════
   1.15.0 — CART REDESIGN ("Your Licenses") — WC Blocks cart.
   Conversion grammar: items as cards left, sticky order summary right,
   one primary action, coupon present but de-emphasized, steppers inline.
   Supersedes-by-order the section-1/2 legacy block rules above.
   ═════════════════════════════════════════════════════════════════ */
.woocommerce-cart .arco-page{max-width:1240px;margin:0 auto}
.wp-block-woocommerce-cart .wc-block-cart{display:flex;gap:36px;align-items:flex-start}
.wc-block-cart__main{flex:1 1 auto;min-width:0}
.wc-block-cart__sidebar{flex:0 0 400px;position:sticky;top:110px}
@media(max-width:960px){.wp-block-woocommerce-cart .wc-block-cart{flex-direction:column}.wc-block-cart__sidebar{position:static;flex:1 1 auto;width:100%}}

/* items → license cards */
.wc-block-cart-items__header{display:none}
.wc-block-cart-items,.wc-block-cart-items tbody{display:block;width:100%}
tr.wc-block-cart-items__row{display:flex;align-items:center;gap:16px;background:var(--arco-deep);border:1px solid rgba(201,169,110,.12);border-radius:14px;padding:14px 16px;margin-bottom:12px}
tr.wc-block-cart-items__row td{border:0;padding:0;background:none}
.wc-block-cart-item__image{flex:0 0 76px}
.wc-block-cart-item__image img{width:76px;height:76px;object-fit:contain;border-radius:10px;background:var(--arco-page);padding:6px}
.wc-block-cart-item__product{flex:1 1 auto;min-width:0}
.wc-block-cart-item__product .wc-block-components-product-name{color:var(--arco-bone);font:700 15.5px/1.35 "Hanken Grotesk",sans-serif;text-decoration:none}
.wc-block-cart-item__product .wc-block-components-product-name:hover{color:var(--arco-goldh)}
.wc-block-cart-item__product .wc-block-components-product-details,.wc-block-cart-item__product .wc-block-components-product-metadata{color:var(--arco-muted);font-size:13px}
.wc-block-cart-item__prices{color:var(--arco-muted);font-size:13.5px}
.wc-block-cart-item__quantity{margin-top:8px}
.wc-block-cart-item__quantity .wc-block-cart-item__remove-link{color:var(--arco-muted);font-size:13px;text-decoration:none;border-bottom:1px dashed rgba(201,169,110,.35);margin-left:14px}
.wc-block-cart-item__quantity .wc-block-cart-item__remove-link:hover{color:var(--arco-goldh);border-bottom-color:var(--arco-goldh)}
.wc-block-cart-item__total{flex:0 0 auto;text-align:right}
.wc-block-cart-item__total .wc-block-components-product-price{color:var(--arco-bone);font:700 16px/1 "Hanken Grotesk",sans-serif}

/* quantity stepper pill */
.wc-block-components-quantity-selector{background:var(--arco-panel);border:1px solid rgba(201,169,110,.25);border-radius:999px;overflow:hidden;width:118px}
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input{background:transparent;color:var(--arco-bone);font:700 14px "Hanken Grotesk",sans-serif;border:0}
.wc-block-components-quantity-selector button{color:var(--arco-champ);border:0;background:transparent;font-size:16px}
.wc-block-components-quantity-selector button:hover{background:var(--arco-champ);color:var(--arco-ink)}
.wc-block-components-quantity-selector::after{border:0}

/* order summary card */
.wc-block-cart .wc-block-components-totals-wrapper,.wc-block-cart .wc-block-cart__totals-title + *{padding-left:0;padding-right:0}
.wc-block-cart__sidebar .wp-block-woocommerce-cart-totals-block{background:var(--arco-panel);border:1px solid rgba(201,169,110,.18);border-radius:18px;padding:22px;box-shadow:0 14px 40px rgba(0,0,0,.35)}
.wc-block-cart__totals-title{color:var(--arco-champ);font:800 12px/1 "Hanken Grotesk",sans-serif;letter-spacing:.14em;text-transform:uppercase;border:0;padding:0 0 14px}
.wc-block-cart .wc-block-components-totals-item{color:var(--arco-muted);font-size:14.5px;padding:9px 0}
.wc-block-cart .wc-block-components-totals-footer-item{border-top:1px solid rgba(201,169,110,.18);margin-top:8px;padding-top:14px}
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{color:var(--arco-bone);font:800 16px "Hanken Grotesk",sans-serif}
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{color:var(--arco-champ);font:800 20px "Hanken Grotesk",sans-serif}

/* promo code — present, calm, correct */
.wc-block-components-totals-coupon-link{color:var(--arco-champ);font:700 14px "Hanken Grotesk",sans-serif;text-decoration:none}
.wc-block-components-totals-coupon-link:hover{color:var(--arco-goldh)}
.wc-block-components-totals-coupon .wc-block-components-text-input input[type=text]{background:var(--arco-deep);border:1px solid rgba(201,169,110,.25);border-radius:10px;color:var(--arco-bone);padding:14px;font-size:14px}
.wc-block-components-totals-coupon .wc-block-components-text-input input[type=text]:focus{border-color:var(--arco-champ);box-shadow:0 0 0 3px rgba(201,169,110,.18);outline:none}
.wc-block-components-totals-coupon .wc-block-components-text-input label{color:var(--arco-muted)}
.wc-block-components-totals-coupon__button{background:var(--arco-champ);color:var(--arco-ink);border:2px solid var(--arco-champ);border-radius:10px;font:700 14px "Hanken Grotesk",sans-serif;padding:0 18px;min-height:46px}
.wc-block-components-totals-coupon__button:hover:not(:disabled){background:var(--arco-goldh);border-color:var(--arco-goldh);color:var(--arco-ink)}
.wc-block-components-totals-coupon__button:disabled{opacity:.45}

/* trust row under the primary action */
.arco-cart-trust{color:var(--arco-muted);font-size:12.5px;letter-spacing:.02em;text-align:center;margin:12px 2px 0}

/* empty state */
.wc-block-cart__empty-cart__title{color:var(--arco-bone);font:800 30px/1.2 "Hanken Grotesk",sans-serif}


/* ═════════════════════════════════════════════════════════════════
   1.16.0 — OPTION C: THE VAULT RAIL (operator pick, board of three).
   Items + summary sealed into ONE card; full-height deep rail joined
   by a perforation seam; wallet = dashed gold stub on arco-refund's
   real block classes; hero total. Overrides the 1.15 two-card layout
   by later order on identical selectors.
   ═════════════════════════════════════════════════════════════════ */
/* the seal */
.wp-block-woocommerce-cart .wc-block-cart{background:var(--arco-panel);border:1px solid rgba(201,169,110,.18);border-radius:20px;overflow:hidden;box-shadow:0 16px 46px rgba(0,0,0,.4);gap:0;align-items:stretch}
.wc-block-cart__main{padding:26px}
.wc-block-cart__sidebar{position:relative;top:auto;background:var(--arco-deep);border-left:1px solid rgba(201,169,110,.28);padding:26px;flex:0 0 400px}
/* perforation seam — punched dots showing the page ground */
.wc-block-cart__sidebar::before{content:"";position:absolute;left:-6px;top:0;bottom:0;width:12px;background-image:radial-gradient(circle,var(--arco-page) 3px,transparent 3.5px);background-size:12px 18px;background-repeat:repeat-y;background-position:center;pointer-events:none}
/* items sit on ink ground inside the sealed card */
tr.wc-block-cart-items__row{background:var(--arco-page);border-color:rgba(201,169,110,.12)}
/* summary sheds its own box — the rail IS the card */
.wc-block-cart__sidebar .wp-block-woocommerce-cart-totals-block{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
/* hero total */
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:28px}

/* ── ARCO CREDIT — the dashed gold stub, on arco-refund's real classes ── */
.wc-block-cart__sidebar .arco-wallet-block{border:1px dashed rgba(201,169,110,.3);border-radius:12px;padding:15px 16px;margin:16px 0;background:linear-gradient(160deg,rgba(201,169,110,.07),transparent)}
.arco-wallet-block__header{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.arco-wallet-block__icon{color:var(--arco-champ);display:flex}
.arco-wallet-block__head-text{color:var(--arco-champ);font:800 11.5px/1 "Hanken Grotesk",sans-serif;letter-spacing:.14em;text-transform:uppercase}
.arco-wallet-block__amount-display{color:var(--arco-muted);font-size:13px;margin-bottom:6px}
.arco-wallet-block__amount{color:var(--arco-bone);font:800 16px/1 "Hanken Grotesk",sans-serif}
.arco-wallet-block__of{opacity:.7;margin:0 4px}
.arco-wallet-block__slider{width:100%;accent-color:var(--arco-champ);margin:4px 0 10px}
.arco-wallet-block__quick{display:flex;gap:8px}
.arco-wallet-block__quick-btn{flex:1;background:var(--arco-panel);border:1px solid rgba(201,169,110,.25);color:var(--arco-muted);font:700 12.5px/1 "Hanken Grotesk",sans-serif;padding:9px 6px;border-radius:999px;cursor:pointer;transition:border-color .14s,color .14s,background .14s}
.arco-wallet-block__quick-btn:hover{border-color:var(--arco-champ);color:var(--arco-goldh)}
.arco-wallet-block__quick-btn.is-active{background:var(--arco-champ);border-color:var(--arco-champ);color:var(--arco-ink)}
.arco-wallet-block__optout,.arco-wallet-block__optout-link,.arco-wallet-block__optin-link{display:inline-block;font-size:12.5px;color:var(--arco-muted);margin-top:10px;border-bottom:1px dashed rgba(201,169,110,.35);cursor:pointer;text-decoration:none;background:none;padding:0}
.arco-wallet-block__optout:hover,.arco-wallet-block__optout-link:hover,.arco-wallet-block__optin-link:hover{color:var(--arco-goldh);border-bottom-color:var(--arco-goldh)}
.arco-wallet-block__covered{color:#7FB88A;font-size:12.5px;margin-top:8px}
.arco-wallet-block.is-loading{opacity:.55;pointer-events:none}
.arco-wallet-block--optin{display:flex;align-items:center;gap:10px}

/* mobile: the card stacks, seam retires */
@media(max-width:960px){
  .wc-block-cart__sidebar{border-left:0;border-top:1px solid rgba(201,169,110,.28);flex:1 1 auto;width:100%}
  .wc-block-cart__sidebar::before{display:none}
  .wc-block-cart__main{padding:20px}
}


/* ═════════════════════════════════════════════════════════════════
   1.16.1 — VAULT RAIL FIT PASS. The cart was rendering inside the
   820px legal-article shell → blocks declared itself is-medium and
   core stacked the sidebar; legacy per-wrapper cards fragmented the
   summary. Stage widened, size-classes mirrored + exceeded
   (CASCADE LESSON applied to blocks containers), wrappers unboxed
   into ledger rows.
   ═════════════════════════════════════════════════════════════════ */
.woocommerce-cart .arco-page-content,.woocommerce-checkout .arco-page-content{max-width:none}
.woocommerce-cart .arco-page{padding-left:0;padding-right:0}

/* two columns whenever the viewport allows — regardless of is-* verdict */
@media(min-width:1000px){
  .wc-block-cart.is-large,.wc-block-cart.is-medium{flex-wrap:nowrap;align-items:stretch}
  .wc-block-cart.is-large .wc-block-cart__main,.wc-block-cart.is-medium .wc-block-cart__main{flex:1 1 auto;min-width:0;width:auto}
  .wc-block-cart.is-large .wc-block-cart__sidebar,.wc-block-cart.is-medium .wc-block-cart__sidebar{flex:0 0 400px;width:400px;max-width:400px}
}

/* item rows — approved card, exceeded across size variants; no core cell chrome */
.wc-block-cart table.wc-block-cart-items,.wc-block-cart table.wc-block-cart-items tbody{display:block;width:100%;border:0}
.wc-block-cart table.wc-block-cart-items th,.wc-block-cart table.wc-block-cart-items td{border:0;padding:0;background:none}
.wc-block-cart .wc-block-cart-items__header{display:none}
.wc-block-cart .wc-block-cart-items__row,
.wc-block-cart.is-large .wc-block-cart-items__row,
.wc-block-cart.is-medium .wc-block-cart-items__row,
.wc-block-cart.is-small .wc-block-cart-items__row{display:flex;align-items:center;gap:16px;background:var(--arco-page);border:1px solid rgba(201,169,110,.12);border-radius:14px;padding:14px 16px;margin-bottom:12px}
.wc-block-cart td.wc-block-cart-item__image{width:92px;flex:0 0 92px}
.wc-block-cart td.wc-block-cart-item__image img{width:76px;height:76px;object-fit:contain;border-radius:10px;background:var(--arco-deep);padding:6px}
.wc-block-cart td.wc-block-cart-item__product{flex:1 1 auto;min-width:0}
/* long descriptions don't belong in the cart row */
.wc-block-cart .wc-block-cart-item__product .wc-block-components-product-summary,
.wc-block-cart .wc-block-cart-item__product .wc-block-components-product-metadata__description{display:none}
.wc-block-cart td.wc-block-cart-item__total{flex:0 0 auto;text-align:right}
.wc-block-cart .wc-block-cart-item__remove-link,.wc-block-cart .wc-block-cart-item__remove-icon{color:var(--arco-muted)}
.wc-block-cart .wc-block-cart-item__remove-link:hover,.wc-block-cart .wc-block-cart-item__remove-icon:hover{color:var(--arco-goldh)}

/* summary: unbox EVERY legacy wrapper card → clean ledger rows in the rail */
.wc-block-cart .wc-block-components-totals-wrapper{background:transparent;border:0;border-radius:0;box-shadow:none;padding:10px 0;overflow:visible}
.wc-block-cart .wc-block-components-totals-wrapper:not(:last-child){border-bottom:1px solid rgba(201,169,110,.1)}
.wc-block-cart__sidebar h2{color:var(--arco-champ);font:800 12px/1 "Hanken Grotesk",sans-serif;letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px;border:0;padding:0}

/* unified stack point */
@media(max-width:999px){
  .wp-block-woocommerce-cart .wc-block-cart{flex-direction:column}
  .wc-block-cart__sidebar{border-left:0;border-top:1px solid rgba(201,169,110,.28);flex:1 1 auto;width:100%;max-width:none}
  .wc-block-cart__sidebar::before{display:none}
  .wc-block-cart__main{padding:20px}
}


/* ═════════════════════════════════════════════════════════════════
   1.16.2 — WALLET SKIN v2 (full custody). The plugin's JS-injected
   sheet is removed by shell JS; every structural rule it provided is
   ported here, palette-corrected. All selectors carry .wc-block-cart
   so no survivor can tie. Plus: Continue-shopping link styling.
   ═════════════════════════════════════════════════════════════════ */
.wc-block-cart .arco-wallet-block{background:linear-gradient(160deg,rgba(201,169,110,.07),transparent);border:1px dashed rgba(201,169,110,.3);border-radius:12px;padding:15px 16px;margin:16px 0;color:var(--arco-muted);font-family:inherit}
.wc-block-cart .arco-wallet-block.is-loading{opacity:.55;pointer-events:none}
.wc-block-cart .arco-wallet-block__header{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.wc-block-cart .arco-wallet-block__icon{display:none}
.wc-block-cart .arco-wallet-block__head-text,.wc-block-cart .arco-wallet-block__head-text strong{color:var(--arco-champ);font:800 11.5px/1.3 "Hanken Grotesk",sans-serif;letter-spacing:.14em;text-transform:uppercase}
.wc-block-cart .arco-wallet-block__amount-display{color:var(--arco-muted);font-size:13px;margin-bottom:6px}
.wc-block-cart .arco-wallet-block__amount{color:var(--arco-bone);font:800 16px/1 "Hanken Grotesk",sans-serif}
.wc-block-cart .arco-wallet-block__of{color:var(--arco-muted);opacity:.75;font-size:13px;margin-left:4px;text-decoration:none}
.wc-block-cart .arco-wallet-block__slider{width:100%;height:6px;accent-color:var(--arco-champ);margin:4px 0 12px;cursor:grab}
.wc-block-cart .arco-wallet-block__slider:active{cursor:grabbing}
.wc-block-cart .arco-wallet-block__quick{display:flex;gap:8px;flex-wrap:wrap}
.wc-block-cart .arco-wallet-block__quick-btn{flex:1;background:var(--arco-panel);border:1px solid rgba(201,169,110,.25);color:var(--arco-muted);font:700 12.5px/1 "Hanken Grotesk",sans-serif;padding:9px 6px;border-radius:999px;cursor:pointer;transition:border-color .14s,color .14s,background .14s}
.wc-block-cart .arco-wallet-block__quick-btn:hover:not(:disabled){background:var(--arco-panel);border-color:var(--arco-champ);color:var(--arco-goldh)}
.wc-block-cart .arco-wallet-block__quick-btn.is-active{background:var(--arco-champ);border-color:var(--arco-champ);color:var(--arco-ink)}
.wc-block-cart .arco-wallet-block__quick-btn:disabled{cursor:wait;opacity:.6}
.wc-block-cart .arco-wallet-block__covered{margin-top:12px;padding:9px 12px;background:rgba(127,184,138,.12);border-radius:8px;color:#7FB88A;font-size:12.5px;font-weight:600}
.wc-block-cart .arco-wallet-block__optout{margin-top:12px;text-align:left}
.wc-block-cart .arco-wallet-block__optout-link,.wc-block-cart .arco-wallet-block__optin-link,
.wc-block-cart button.arco-wallet-block__optout-link,.wc-block-cart button.arco-wallet-block__optin-link{display:inline-block;background:transparent;border:0;border-bottom:1px dashed rgba(201,169,110,.35);color:var(--arco-muted);font-size:12.5px;text-decoration:none;cursor:pointer;padding:0;font-family:inherit;border-radius:0}
.wc-block-cart .arco-wallet-block__optout-link:hover,.wc-block-cart .arco-wallet-block__optin-link:hover,
.wc-block-cart button.arco-wallet-block__optout-link:hover,.wc-block-cart button.arco-wallet-block__optin-link:hover{background:transparent;color:var(--arco-goldh);border-bottom-color:var(--arco-goldh)}
.wc-block-cart .arco-wallet-block__optout-link:focus-visible,.wc-block-cart .arco-wallet-block__optin-link:focus-visible{outline:2px solid var(--arco-goldh);outline-offset:2px}
.wc-block-cart .arco-wallet-block--optin{display:flex;align-items:center;gap:14px}
.wc-block-cart .arco-wallet-block--optin .arco-wallet-block__body{display:flex;flex-direction:column;gap:6px}

.wc-block-cart .arco-continue{margin:16px 2px 0}
.wc-block-cart .arco-continue a{font:700 14px/1 "Hanken Grotesk",sans-serif;color:var(--arco-champ);text-decoration:none}
.wc-block-cart .arco-continue a:hover{color:var(--arco-goldh)}


/* ═══ 1.16.2 — cart polish ═══ */
.arco-continue-wrap{margin:16px 2px 0}
.arco-continue{color:var(--arco-champ);font:700 14.5px/1 "Hanken Grotesk",sans-serif;text-decoration:none}
.arco-continue:hover{color:var(--arco-goldh)}
.arco-wallet-block__optout,.arco-wallet-block__optout-link,.arco-wallet-block__optin-link{background:transparent;border-top:0;border-left:0;border-right:0;appearance:none;-webkit-appearance:none;font-family:"Atkinson Hyperlegible",sans-serif}
.arco-wallet-block__optout:focus,.arco-wallet-block__optout-link:focus,.arco-wallet-block__optin-link:focus{outline:none;background:transparent}
.arco-wallet-block__optout:focus-visible,.arco-wallet-block__optout-link:focus-visible,.arco-wallet-block__optin-link:focus-visible{outline:2px solid var(--arco-goldh);outline-offset:2px}
.arco-wallet-block__optout:active,.arco-wallet-block__optout-link:active{background:transparent}
.wc-block-cart__sidebar .wp-block-heading,.wc-block-cart__sidebar h2,.wc-block-cart__sidebar .wc-block-cart__totals-title{color:var(--arco-champ);font:800 12px/1 "Hanken Grotesk",sans-serif;letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px;border:0;padding:0}


/* ═══ 1.16.3 — continue-shopping pinned bottom-left of the sealed card ═══ */
.wc-block-cart__main{position:relative;padding-bottom:68px}
.arco-continue-wrap{position:absolute;left:26px;bottom:22px;margin:0}
@media(max-width:999px){
  .wc-block-cart__main{padding-bottom:20px}
  .arco-continue-wrap{position:static;margin:16px 2px 0}
}


/* ═══ 1.16.4 — bin glows gold under the cursor + continue-shopping as ghost pill ═══ */
.wc-block-cart .wc-block-cart-item__remove-link,.wc-block-cart .wc-block-cart-item__remove-icon,
.wc-block-cart button[class*="remove"],.wc-block-cart a[class*="remove"]{color:var(--arco-muted);transition:color .15s;background:none;border:0;cursor:pointer}
.wc-block-cart .wc-block-cart-item__remove-link svg,.wc-block-cart .wc-block-cart-item__remove-icon svg,
.wc-block-cart button[class*="remove"] svg,.wc-block-cart a[class*="remove"] svg{fill:currentColor;stroke:currentColor}
.wc-block-cart .wc-block-cart-item__remove-link svg path,.wc-block-cart .wc-block-cart-item__remove-icon svg path,
.wc-block-cart button[class*="remove"] svg path,.wc-block-cart a[class*="remove"] svg path{fill:currentColor}
.wc-block-cart .wc-block-cart-item__remove-link:hover,.wc-block-cart .wc-block-cart-item__remove-icon:hover,
.wc-block-cart button[class*="remove"]:hover,.wc-block-cart a[class*="remove"]:hover{color:var(--arco-champ)}
/* the pill keeps its bottom-left pin, sized down so Checkout stays the hero */
.arco-continue.arco-ed-ghost{padding:11px 20px;font-size:13.5px}


/* ═══ one money voice (operator-requested clarity): ALL prices speak
   champagne gold — no bone/white money in the cart. Totals bolder +
   tabular figures. Bin hover = the steppers' champagne fill.
   Continue = ghost pill. ═══ */
.wc-block-cart .wc-block-cart-item__total .wc-block-components-product-price,
.wc-block-cart .wc-block-cart-item__prices .wc-block-components-product-price{color:var(--arco-champ);font:800 17px/1 "Hanken Grotesk",sans-serif;font-variant-numeric:tabular-nums}
.wc-block-cart .wc-block-components-totals-item__value{color:var(--arco-champ);font-variant-numeric:tabular-nums}
.wc-block-cart .wc-block-cart-item__remove-link,
.wc-block-cart button.wc-block-cart-item__remove-link{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(201,169,110,.25);background:transparent;color:var(--arco-muted);cursor:pointer;transition:background .14s,color .14s,border-color .14s;text-decoration:none;padding:0}
.wc-block-cart .wc-block-cart-item__remove-link svg{fill:currentColor;stroke:currentColor}
.wc-block-cart .wc-block-cart-item__remove-link:hover,
.wc-block-cart button.wc-block-cart-item__remove-link:hover{background:var(--arco-champ);color:var(--arco-ink);border-color:var(--arco-champ)}
.wc-block-cart .wc-block-cart-item__remove-link:focus-visible{outline:2px solid var(--arco-goldh);outline-offset:2px}
.arco-continue{display:inline-block;padding:12px 24px;border:2px solid rgba(201,169,110,.4);border-radius:999px;color:var(--arco-champ);font:700 14px/1 "Hanken Grotesk",sans-serif;letter-spacing:.02em;text-decoration:none;transition:background .16s,color .16s,border-color .16s}
.arco-continue:hover{background:var(--arco-champ);color:var(--arco-ink);border-color:var(--arco-champ)}


/* ═════════════════════════════════════════════════════════════════
   1.17.0 — SHOP GRID: the homepage/KB hover language (color shift,
   lift, gold glow, sheen sweep). Reduced-motion aware. Wishlist/
   compare buttons ride above the sheen.
   ═════════════════════════════════════════════════════════════════ */
.woocommerce ul.products li.product{position:relative;overflow:hidden;transition:background .22s,border-color .22s,transform .22s,box-shadow .22s}
.woocommerce ul.products li.product::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 32%,rgba(233,207,155,.09) 50%,transparent 68%);transform:translateX(-130%);transition:transform .6s ease;pointer-events:none;z-index:1}
.woocommerce ul.products li.product:hover{background:var(--arco-raised);border-color:rgba(201,169,110,.45);transform:translateY(-3px);box-shadow:0 16px 44px rgba(201,169,110,.14)}
.woocommerce ul.products li.product:hover::after{transform:translateX(130%)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{transition:color .2s}
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title{color:var(--arco-goldh)}
.woocommerce ul.products li.product .arco-card-tools,.woocommerce ul.products li.product button{position:relative;z-index:2}
@media(prefers-reduced-motion:reduce){
  .woocommerce ul.products li.product,.woocommerce ul.products li.product::after{transition:none}
  .woocommerce ul.products li.product:hover{transform:none}
  .woocommerce ul.products li.product::after{display:none}
}


/* ═════════════════════════════════════════════════════════════════
   1.17.0 — CHECKOUT: VAULT RAIL ACT II. Same sealed card + perforated
   rail as the approved cart; form fields in dark-field spec with gold
   focus rings; payment methods as selectable plates. Blocks DOM,
   size-classes mirrored (CASCADE LESSON). Status quartet untouched.
   ═════════════════════════════════════════════════════════════════ */
.wc-block-checkout .wc-block-components-sidebar-layout{background:var(--arco-panel);border:1px solid rgba(201,169,110,.18);border-radius:20px;overflow:hidden;box-shadow:0 16px 46px rgba(0,0,0,.4);display:flex;gap:0;align-items:stretch}
.wc-block-checkout__main{flex:1 1 auto;min-width:0;padding:28px}
.wc-block-checkout__sidebar{position:relative;flex:0 0 400px;width:400px;background:var(--arco-deep);border-left:1px solid rgba(201,169,110,.28);padding:26px}
.wc-block-checkout__sidebar::before{content:"";position:absolute;left:-6px;top:0;bottom:0;width:12px;background-image:radial-gradient(circle,var(--arco-page) 3px,transparent 3.5px);background-size:12px 18px;background-repeat:repeat-y;background-position:center;pointer-events:none}
@media(min-width:1000px){
  .wc-block-checkout.is-large .wc-block-components-sidebar-layout,.wc-block-checkout.is-medium .wc-block-components-sidebar-layout{flex-wrap:nowrap}
  .wc-block-checkout.is-large .wc-block-checkout__sidebar,.wc-block-checkout.is-medium .wc-block-checkout__sidebar{flex:0 0 400px;width:400px;max-width:400px}
}
@media(max-width:999px){
  .wc-block-checkout .wc-block-components-sidebar-layout{flex-direction:column}
  .wc-block-checkout__sidebar{border-left:0;border-top:1px solid rgba(201,169,110,.28);flex:1 1 auto;width:100%;max-width:none}
  .wc-block-checkout__sidebar::before{display:none}
  .wc-block-checkout__main{padding:20px}
}

/* steps */
.wc-block-checkout__main .wc-block-components-checkout-step{border-left:2px solid rgba(201,169,110,.16);padding-left:20px;margin-bottom:26px}
.wc-block-components-checkout-step__title{color:var(--arco-bone);font:800 16.5px/1.3 "Hanken Grotesk",sans-serif;letter-spacing:.01em}
.wc-block-components-checkout-step__description{color:var(--arco-muted);font-size:13.5px}

/* dark fields + gold focus */
.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-checkout select,.wc-block-checkout textarea{background:var(--arco-deep);border:1px solid rgba(201,169,110,.25);border-radius:10px;color:var(--arco-bone);padding:14px;font-size:14.5px;box-shadow:none}
.wc-block-checkout .wc-block-components-text-input input:focus,
.wc-block-checkout select:focus,.wc-block-checkout textarea:focus{border-color:var(--arco-champ);box-shadow:0 0 0 3px rgba(201,169,110,.18);outline:none}
.wc-block-checkout .wc-block-components-text-input label,.wc-block-checkout .wc-block-components-combobox label{color:var(--arco-muted)}
.wc-block-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input{accent-color:var(--arco-champ)}
.wc-block-checkout .wc-block-components-checkbox__label,.wc-block-checkout__terms{color:var(--arco-muted);font-size:13.5px}
.wc-block-checkout__terms a{color:var(--arco-champ)}
.wc-block-checkout__terms a:hover{color:var(--arco-goldh)}

/* payment methods as selectable plates */
.wc-block-checkout .wc-block-components-radio-control__option{background:var(--arco-page);border:1px solid rgba(201,169,110,.16);border-radius:12px;padding:14px 16px;margin-bottom:10px;transition:border-color .15s,background .15s}
.wc-block-checkout .wc-block-components-radio-control__option:hover{border-color:var(--arco-champ)}
.wc-block-checkout .wc-block-components-radio-control__option-checked,
.wc-block-checkout .wc-block-components-radio-control__option:has(input:checked){border-color:var(--arco-champ);background:var(--arco-raised)}
.wc-block-checkout .wc-block-components-radio-control__input{accent-color:var(--arco-champ)}
.wc-block-checkout .wc-block-components-radio-control__label{color:var(--arco-bone);font:700 14.5px "Hanken Grotesk",sans-serif}
.wc-block-checkout .wc-block-components-radio-control__description{color:var(--arco-muted);font-size:13px}

/* rail summary — cart's ledger language */
.wc-block-checkout .wc-block-components-totals-wrapper{background:transparent;border:0;border-radius:0;box-shadow:none;padding:10px 0}
.wc-block-checkout .wc-block-components-totals-wrapper:not(:last-child){border-bottom:1px solid rgba(201,169,110,.1)}
.wc-block-checkout__sidebar .wp-block-heading,.wc-block-checkout__sidebar h2{color:var(--arco-champ);font:800 12px/1 "Hanken Grotesk",sans-serif;letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px;border:0;padding:0}
.wc-block-checkout .wc-block-components-order-summary-item{padding:9px 0;border-bottom:1px solid rgba(201,169,110,.08)}
.wc-block-checkout .wc-block-components-order-summary-item__image img{width:44px;height:44px;object-fit:contain;border-radius:8px;background:var(--arco-page)}
.wc-block-checkout .wc-block-components-order-summary-item__description{color:var(--arco-bone);font:600 13.5px/1.4 "Hanken Grotesk",sans-serif}
.wc-block-checkout .wc-block-components-order-summary-item__total-price,
.wc-block-checkout .wc-block-components-totals-item__value{color:var(--arco-champ);font-variant-numeric:tabular-nums}
.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font:800 24px/1 "Hanken Grotesk",sans-serif;color:var(--arco-champ)}
.wc-block-checkout__sidebar .arco-wallet-block{border:1px dashed rgba(201,169,110,.3);border-radius:12px;padding:15px 16px;margin:16px 0;background:linear-gradient(160deg,rgba(201,169,110,.07),transparent)}
.wc-block-checkout .wc-block-components-express-payment{border:1px solid rgba(201,169,110,.16);border-radius:14px}
.wc-block-checkout .wc-block-components-express-payment__title,.wc-block-checkout .wc-block-components-express-payment-continue-rule{color:var(--arco-muted)}
.wc-block-components-checkout-return-to-cart-button{color:var(--arco-champ);font:700 14px "Hanken Grotesk",sans-serif;text-decoration:none;border:2px solid rgba(201,169,110,.4);border-radius:999px;padding:10px 20px;box-shadow:none}
.wc-block-components-checkout-return-to-cart-button:hover{background:var(--arco-champ);color:var(--arco-ink);border-color:var(--arco-champ)}


/* ═════════════════════════════════════════════════════════════════
   1.17.1 — CHECKOUT FIT PASS (the cart's lesson replayed): element-
   level field coverage so NO white surface survives (R18), autofill
   armor, broad step/rail targeting, dark notice banners with status
   semantics intact.
   ═════════════════════════════════════════════════════════════════ */
/* fields — nuclear coverage, checkout-scoped, :not() artillery of our own */
.wc-block-checkout input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),
.wp-block-woocommerce-checkout input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),
.wc-block-checkout select,.wp-block-woocommerce-checkout select,
.wc-block-checkout textarea,.wp-block-woocommerce-checkout textarea{background:var(--arco-deep);background-color:var(--arco-deep);border:1px solid rgba(201,169,110,.25);border-radius:10px;color:var(--arco-bone);padding:14px;font-size:14.5px;box-shadow:none}
.wc-block-checkout input:not([type=checkbox]):not([type=radio]):focus,
.wp-block-woocommerce-checkout input:not([type=checkbox]):not([type=radio]):focus,
.wc-block-checkout select:focus,.wp-block-woocommerce-checkout select:focus,
.wc-block-checkout textarea:focus,.wp-block-woocommerce-checkout textarea:focus{border-color:var(--arco-champ);box-shadow:0 0 0 3px rgba(201,169,110,.18);outline:none}
.wc-block-checkout input::placeholder,.wp-block-woocommerce-checkout input::placeholder{color:#7C8494}
/* browser autofill cannot repaint white */
.wc-block-checkout input:-webkit-autofill,
.wc-block-checkout input:-webkit-autofill:hover,
.wc-block-checkout input:-webkit-autofill:focus,
.wp-block-woocommerce-checkout input:-webkit-autofill{-webkit-box-shadow:0 0 0 60px var(--arco-deep) inset;-webkit-text-fill-color:var(--arco-bone);caret-color:var(--arco-bone);border:1px solid rgba(201,169,110,.25)}
.wc-block-checkout label,.wp-block-woocommerce-checkout label{color:var(--arco-muted)}
.wc-block-checkout .wc-block-components-text-input.is-active label{color:var(--arco-champ)}

/* step + section titles — every markup family */
.wc-block-checkout__main h2,.wc-block-checkout__main .wc-block-components-title,
.wc-block-checkout__main .wc-block-components-checkout-step__title,
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__title{color:var(--arco-bone);font:800 17px/1.3 "Hanken Grotesk",sans-serif;letter-spacing:.01em}

/* rail: every money amount gold + tabular, whatever wraps it */
.wc-block-checkout__sidebar .wc-block-formatted-money-amount{color:var(--arco-champ);font-variant-numeric:tabular-nums}
.wc-block-checkout__sidebar .wc-block-components-order-summary-item__description p,
.wc-block-checkout__sidebar .wc-block-components-product-metadata{display:none}
.wc-block-checkout__sidebar .wc-block-components-title{color:var(--arco-champ);font:800 12px/1 "Hanken Grotesk",sans-serif;letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px}

/* notices: dark ground, status semantics intact (R20) */
.wc-block-checkout .wc-block-components-notice-banner,
.wp-block-woocommerce-checkout .wc-block-components-notice-banner{background:var(--arco-deep);border:1px solid rgba(201,169,110,.2);border-radius:12px;color:var(--arco-bone)}
.wc-block-checkout .wc-block-components-notice-banner.is-error{border-color:#D27A54;background:rgba(210,122,84,.08)}
.wc-block-checkout .wc-block-components-notice-banner.is-error svg{fill:#D27A54}
.wc-block-checkout .wc-block-components-notice-banner.is-success{border-color:#7FB88A;background:rgba(127,184,138,.08)}
.wc-block-checkout .wc-block-components-notice-banner.is-success svg{fill:#7FB88A}


/* ═══ 1.17.2 — combobox + summary rows. The two white survivors were the
   country/province WRAPPERS (inner inputs transparent); the rail's product
   rows get real ledger structure. Wallet quick-buttons get focus manners. ═══ */
/* select/combobox wrappers — dark, one border, ring on focus-within */
.wc-block-checkout .wc-block-components-combobox,
.wc-block-checkout .wc-block-components-combobox-control,
.wc-block-checkout .components-combobox-control,
.wc-block-checkout .wc-blocks-components-select,
.wc-block-checkout .wc-block-components-select,
.wc-block-checkout .wc-block-components-select__container,
.wp-block-woocommerce-checkout .wc-block-components-combobox-control,
.wp-block-woocommerce-checkout .wc-blocks-components-select{background:var(--arco-deep);background-color:var(--arco-deep);border:1px solid rgba(201,169,110,.25);border-radius:10px;color:var(--arco-bone);box-shadow:none}
.wc-block-checkout .wc-block-components-combobox input,
.wc-block-checkout .wc-block-components-combobox-control input,
.wc-block-checkout .components-combobox-control input,
.wc-block-checkout .wc-blocks-components-select select,
.wc-block-checkout .wc-block-components-select select{background:transparent;background-color:transparent;border:0;box-shadow:none;color:var(--arco-bone)}
.wc-block-checkout .wc-block-components-combobox:focus-within,
.wc-block-checkout .wc-block-components-combobox-control:focus-within,
.wc-block-checkout .wc-blocks-components-select:focus-within,
.wc-block-checkout .wc-block-components-select:focus-within{border-color:var(--arco-champ);box-shadow:0 0 0 3px rgba(201,169,110,.18)}
.wc-block-checkout .wc-block-components-combobox svg,
.wc-block-checkout .wc-blocks-components-select svg{fill:var(--arco-champ)}
/* dropdown suggestion lists — dark card, ink-on-champagne highlight */
.wc-block-components-combobox-control__suggestions,
.components-form-token-field__suggestions-list{background:var(--arco-panel);border:1px solid rgba(201,169,110,.28);border-radius:10px;color:var(--arco-bone);box-shadow:0 14px 40px rgba(0,0,0,.5)}
.wc-block-components-combobox-control__suggestions li,
.components-form-token-field__suggestions-list li{color:var(--arco-bone)}
.wc-block-components-combobox-control__suggestions li:hover,
.wc-block-components-combobox-control__suggestions li.is-highlighted,
.components-form-token-field__suggestions-list li:hover,
.components-form-token-field__suggestions-list li.is-selected{background:var(--arco-champ);color:var(--arco-ink)}

/* rail product rows — the ledger structure */
.wc-block-checkout__sidebar .wc-block-components-order-summary-item{display:flex;gap:12px;align-items:flex-start;padding:12px 0;margin:0;border-bottom:1px solid rgba(201,169,110,.1)}
.wc-block-checkout__sidebar .wc-block-components-order-summary-item:last-of-type{border-bottom:0}
.wc-block-checkout__sidebar .wc-block-components-order-summary-item__image{flex:0 0 48px;margin:0}
.wc-block-checkout__sidebar .wc-block-components-order-summary-item__image img{width:48px;height:48px;object-fit:contain;border-radius:8px;background:var(--arco-page)}
.wc-block-checkout__sidebar .wc-block-components-order-summary-item__quantity{background:var(--arco-champ);color:var(--arco-ink);border:2px solid var(--arco-deep);font:800 11px/1 "Hanken Grotesk",sans-serif;opacity:1}
.wc-block-checkout__sidebar .wc-block-components-order-summary-item__description{flex:1 1 auto;min-width:0;color:var(--arco-bone);font:600 13.5px/1.45 "Hanken Grotesk",sans-serif;padding:0}
.wc-block-checkout__sidebar .wc-block-components-order-summary-item__individual-prices{display:block;color:var(--arco-champ);font:700 12.5px/1 "Hanken Grotesk",sans-serif;margin-top:4px;font-variant-numeric:tabular-nums}
.wc-block-checkout__sidebar .wc-block-components-order-summary-item__total-price{flex:0 0 auto;margin-left:auto;text-align:right;font:800 14px/1 "Hanken Grotesk",sans-serif}

/* wallet quick-buttons: focus manners (no stuck fills) */
.arco-wallet-block__quick-btn:focus{outline:none}
.arco-wallet-block__quick-btn:focus:not(.is-active){background:var(--arco-panel);color:var(--arco-muted);border-color:rgba(201,169,110,.25)}
.arco-wallet-block__quick-btn:focus-visible{outline:2px solid var(--arco-goldh);outline-offset:2px}


/* ═══ 1.17.3 — select, verbatim from source (R19 finally applied to WC
   core): WooCommerce 10.8's component is .wc-blockS-components-select —
   PLURAL — and the white lives on __container. Three rounds of singular
   selectors matched nothing. Mirrored exactly from
   assets/js/base/components/select/style.scss @ tag 10.8.1. ═══ */
.wc-blocks-components-select .wc-blocks-components-select__container{background:var(--arco-deep);background-color:var(--arco-deep);border-radius:10px}
.wc-blocks-components-select .wc-blocks-components-select__select{background:none;color:var(--arco-bone);border:1px solid rgba(201,169,110,.25);border-radius:10px}
.wc-blocks-components-select .wc-blocks-components-select__select:focus{border-color:var(--arco-champ);box-shadow:0 0 0 3px rgba(201,169,110,.18);outline:none}
.wc-blocks-components-select .wc-blocks-components-select__label{color:var(--arco-muted)}
.wc-blocks-components-select .wc-blocks-components-select__expand{fill:var(--arco-champ);color:var(--arco-champ)}
.wc-blocks-components-select .wc-blocks-components-select__expand svg{fill:var(--arco-champ)}
.has-dark-controls .wc-blocks-components-select__container{background:var(--arco-deep);background-color:var(--arco-deep)}
/* summary rows: firmer dividers + breathing (classes source-confirmed) */
.wc-block-checkout__sidebar .wc-block-components-order-summary-item{border-bottom:1px solid rgba(201,169,110,.12);padding:12px 0}
.wc-block-checkout__sidebar .wc-block-components-order-summary-item:last-child{border-bottom:0}


/* ═══ 1.17.4 — quantity badge law: gold circle, INK number (core paints
   the digit on a descendant — covered now), extended to drawer + cart
   via the shell injector. ═══ */
.wc-block-components-order-summary-item__quantity{background:var(--arco-champ);border:2px solid var(--arco-deep);color:var(--arco-ink);opacity:1;font:800 11.5px/1 "Hanken Grotesk",sans-serif}
.wc-block-components-order-summary-item__quantity span,
.wc-block-components-order-summary-item__quantity *{color:var(--arco-ink);background:transparent;font:inherit}
.arco-qty-badge{position:absolute;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:#1B2740;color:#FFFFFF;font:800 11.5px/18px "Hanken Grotesk",sans-serif;text-align:center;border:2px solid var(--arco-panel);z-index:3;pointer-events:none;box-sizing:border-box}
.arco-cart-drawer li.woocommerce-mini-cart-item{position:relative}
/* 1.19.38 — superseded: the badge is anchored to .arco-thumb-wrap in
   arco-shell.css, because the thumbnail is not at the row's left edge. */
.wc-block-cart td.wc-block-cart-item__image{position:relative}
.wc-block-cart .arco-qty-badge{left:60px;top:-6px}


/* 1.17.5 — locked primary action while an order is processing */
.wc-block-components-checkout-place-order-button.arco-locked{pointer-events:none;opacity:.75}


/* ═══ 1.17.6 — badge digit, source-verbatim fix: core colors the number
   with var(--wp--preset--color--background, #fff) on an inner span at
   (0,1,1). Prong 1: exceed to (0,2,1) so blocks' load order can't win.
   Prong 2: truth the preset var — this theme's background IS var(--arco-page). ═══ */
body{--wp--preset--color--background:var(--arco-page)}
.wc-block-checkout .wc-block-components-order-summary-item__quantity,
.wc-block-cart .wc-block-components-order-summary-item__quantity{background:var(--arco-champ);color:var(--arco-ink);border:2px solid var(--arco-deep);opacity:1;font-weight:800}
.wc-block-checkout .wc-block-components-order-summary-item__quantity span,
.wc-block-cart .wc-block-components-order-summary-item__quantity span{color:var(--arco-ink);font:800 11.5px/1 "Hanken Grotesk",sans-serif}


/* ═══ 1.17.7 — WALLET PILL LEGIBILITY ARMOR (justified !important:
   defends label contrast against ANY wallet stylesheet — stale plugin
   CSS, injected style tags, future regressions. Legibility is the
   supreme law; retire at hardening once plugin serving is proven). ═══ */
.arco-wallet-block__quick-btn.is-active,
.arco-wallet-block__quick-btn.is-active:hover,
.arco-wallet-block__quick-btn.is-active:focus {
    background: var(--arco-champ) !important;
    border-color: var(--arco-champ) !important;
    color: var(--arco-ink) !important;
    -webkit-text-fill-color: var(--arco-ink) !important;
}
.arco-wallet-block__quick-btn:hover:not(.is-active):not(:disabled) {
    background: var(--arco-goldh) !important;
    border-color: var(--arco-goldh) !important;
    color: var(--arco-ink) !important;
    -webkit-text-fill-color: var(--arco-ink) !important;
}
.arco-wallet-block__optout-link:hover, .arco-wallet-block__optin-link:hover {
    background: var(--arco-champ) !important;
    color: var(--arco-ink) !important;
    -webkit-text-fill-color: var(--arco-ink) !important;
    border-bottom-color: transparent !important;
}
.arco-wallet-block__quick-btn:not(.is-active) {
    background: var(--arco-panel) !important;
    color: var(--arco-muted) !important;
    -webkit-text-fill-color: var(--arco-muted) !important;
}
