/*
 * Nordbereg permanent WooCommerce checkout/cart UI.
 *
 * This stylesheet intentionally lives outside the theme so theme deployments
 * cannot remove the accepted checkout accent.
 *
 * UI rule:
 * active / selected / primary = brown
 * neutral / unselected        = grey
 */

.wc-block-checkout,
.wc-block-cart {
    --nbg-brown: var(--brown, #714b32);
    --nbg-brown-hover: var(--brown-hover, #51331f);
    --nbg-brown-active: var(--brown-active, #432818);
    --nbg-line: var(--line, #dcd5cc);
}

/* Primary cart / checkout actions. */
.wc-block-checkout .wc-block-components-button:not(.is-link),
.wc-block-cart .wc-block-components-button:not(.is-link) {
    background: var(--nbg-brown) !important;
    border: 1px solid var(--nbg-brown) !important;
    border-radius: 0;
    color: #fff !important;
}

.wc-block-checkout .wc-block-components-button:not(.is-link):hover:not(:disabled),
.wc-block-checkout .wc-block-components-button:not(.is-link):focus-visible:not(:disabled),
.wc-block-cart .wc-block-components-button:not(.is-link):hover:not(:disabled),
.wc-block-cart .wc-block-components-button:not(.is-link):focus-visible:not(:disabled) {
    background: var(--nbg-brown-hover) !important;
    border-color: var(--nbg-brown-hover) !important;
    color: #fff !important;
}

.wc-block-checkout .wc-block-components-button:not(.is-link):active:not(:disabled),
.wc-block-cart .wc-block-components-button:not(.is-link):active:not(:disabled) {
    background: var(--nbg-brown-active) !important;
    border-color: var(--nbg-brown-active) !important;
    color: #fff !important;
}

.wc-block-checkout .wc-block-components-button:not(.is-link) .wc-block-components-button__text,
.wc-block-cart .wc-block-components-button:not(.is-link) .wc-block-components-button__text {
    color: inherit !important;
}

/*
 * WooCommerce Blocks shipping/payment choices.
 * These two class families are both used by the current checkout runtime.
 */
.wc-block-checkout .wc-block-components-radio-control__option,
.wc-block-checkout .wc-block-components-radio-control-accordion-option {
    border-color: var(--nbg-line) !important;
}

.wc-block-checkout .wc-block-components-radio-control__option:has(input[type="radio"]:checked),
.wc-block-checkout .wc-block-components-radio-control-accordion-option:has(input[type="radio"]:checked) {
    border-color: var(--nbg-brown) !important;
    box-shadow: 0 0 0 1px var(--nbg-brown) inset;
}

/* Native/custom radio and checkbox accent. */
.wc-block-checkout input[type="radio"],
.wc-block-checkout input[type="checkbox"],
.wc-block-cart input[type="radio"],
.wc-block-cart input[type="checkbox"] {
    accent-color: var(--nbg-brown);
}

.wc-block-checkout input[type="radio"]:checked,
.wc-block-checkout input[type="checkbox"]:checked,
.wc-block-cart input[type="radio"]:checked,
.wc-block-cart input[type="checkbox"]:checked {
    border-color: var(--nbg-brown) !important;
}

/* Field focus stays in the Nordbereg accent instead of browser/Woo blue. */
.wc-block-checkout input:not([type="radio"]):not([type="checkbox"]):focus,
.wc-block-checkout textarea:focus,
.wc-block-checkout select:focus,
.wc-block-cart input:not([type="radio"]):not([type="checkbox"]):focus,
.wc-block-cart textarea:focus,
.wc-block-cart select:focus {
    border-color: var(--nbg-brown) !important;
    box-shadow: 0 0 0 1px var(--nbg-brown) !important;
    outline: none;
}

/* Classic checkout fallback. */
.woocommerce-checkout input[type="radio"],
.woocommerce-checkout input[type="checkbox"] {
    accent-color: var(--brown, #714b32);
}

.woocommerce-checkout #payment .wc_payment_method:has(input[type="radio"]:checked) {
    border-color: var(--brown, #714b32);
}
