/* =============================================================================
   Radix V2 — woocommerce.css
   Dark WooCommerce skin matching the zinc/purple/green palette
============================================================================= */

/* ── Global reset ── */
.woocommerce *,
.woocommerce-page * {
    box-sizing: border-box;
}

/* ── Kill WooCommerce link color — protect nav/header ── */
.woocommerce-page .site-main a:not(.button):not(.btn),
.woocommerce a:not(.button):not(.btn) {
    color: var(--accent);
}
/* Protect nav from WooCommerce's link color bleed */
#site-header a,
#site-header .nav-item-link,
#site-header .primary-nav a,
#mobile-menu a {
    color: var(--muted) !important;
    background: transparent !important;
}
#site-header .current-menu-item > a,
#site-header a:hover,
#site-header .nav-item-link:hover {
    color: var(--text) !important;
    background: var(--overlay) !important;
}

/* ── Kill white/light plugin-injected backgrounds ── */
.single-product .summary div,
.single-product .summary section,
.single-product .summary fieldset,
.woocommerce div.product form.cart > div,
.woocommerce div.product form.cart > section,
.woocommerce div.product form.cart > fieldset {
    background-color: transparent !important;
    background: transparent !important;
}

/* Plugin addon wrappers */
.wc-pao-addon-container,
.wc-pao-addon-wrap,
.wc-pao-addon,
.wc-pao-addon-content,
.product-addon-container,
.product-addon,
.woocommerce-product-addons,
.woocommerce-product-addons > *,
.woocommerce-product-addons div,
.woocommerce-product-addons fieldset,
.woocommerce-variation-add-to-cart,
div.cart {
    background: transparent !important;
    background-color: transparent !important;
}

/* ── Reset WooCommerce default whites ── */
.woocommerce,
.woocommerce-page {
    color: var(--muted);
}

/* ── Notices ── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    background: var(--panel) !important;
    border-top-color: var(--accent) !important;
    color: var(--text) !important;
    box-shadow: none !important;
    padding: 14px 16px 14px 20px !important;
    border-radius: 0 var(--r) var(--r) 0;
}
.woocommerce-error { border-top-color: var(--red) !important; }
.woocommerce-message { border-top-color: var(--green) !important; }
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { color: var(--accent) !important; }
.woocommerce-message a.button,
.woocommerce-info a.button {
    background: var(--accent) !important;
    color: #fff !important;
    border-radius: var(--r) !important;
    font-size: 12px !important;
    padding: 6px 14px !important;
    border: none !important;
    box-shadow: none !important;
    float: none !important;
    margin-left: 10px;
}

/* ── Breadcrumbs ── */
.woocommerce .woocommerce-breadcrumb {
    color: var(--subtle);
    font-size: 12px;
    background: none;
    padding: 0;
    margin-bottom: 28px;
}
.woocommerce .woocommerce-breadcrumb a {
    color: var(--muted);
    transition: color .12s;
}
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--text); }
.woocommerce .woocommerce-breadcrumb .breadcrumb-separator,
.woocommerce .woocommerce-breadcrumb > span { color: var(--subtle); }

/* =====================================================================
   SHOP / ARCHIVE
===================================================================== */

/* ── Shop page header ── */
.woocommerce-products-header__title {
    color: var(--high) !important;
    font-size: clamp(22px, 3vw, 32px);
    letter-spacing: -0.03em;
}

/* ── Product grid ── */
.woocommerce ul.products {
    margin: 0 !important;
}
.woocommerce ul.products li.product {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    overflow: hidden;
    transition: border-color .2s, transform .2s, box-shadow .2s;
    padding: 0 !important;
}
.woocommerce ul.products li.product:hover {
    border-color: var(--border2);
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

/* product image */
.woocommerce ul.products li.product .woocommerce-loop-product__link img {
    border-radius: 0;
    border-bottom: 1px solid var(--border);
    transition: opacity .2s;
}
.woocommerce ul.products li.product:hover img { opacity: .85; }

/* product title / price inside grid */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: var(--text) !important;
    padding: 14px 16px 4px !important;
}
.woocommerce ul.products li.product .price {
    color: var(--green) !important;
    font-size: 13px !important;
    padding: 0 16px 4px !important;
    display: block;
}
.woocommerce ul.products li.product .price del {
    color: var(--subtle) !important;
    opacity: 1;
}
.woocommerce ul.products li.product .price ins {
    color: var(--green) !important;
    text-decoration: none;
}

/* add to cart from loop */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
    display: block !important;
    margin: 10px 16px 16px !important;
    background: var(--accent) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--r) !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    padding: 8px 0 !important;
    text-align: center !important;
    transition: background .12s !important;
    box-shadow: none !important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover {
    background: var(--accent-hover) !important;
    color: #fff !important;
}

/* sale badge */
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
    background: var(--accent) !important;
    color: #fff !important;
    border-radius: var(--r) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    padding: 3px 8px !important;
    min-height: unset !important;
    min-width: unset !important;
    line-height: 1.4 !important;
    top: 10px !important;
    left: 10px !important;
    right: auto !important;
}

/* ── Sorting / result count bar ── */
.woocommerce-result-count {
    color: var(--subtle);
    font-size: 12.5px;
}
.woocommerce-ordering select {
    background: var(--panel) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--r) !important;
    color: var(--text) !important;
    font-size: 12.5px !important;
    padding: 6px 10px !important;
    outline: none !important;
    box-shadow: none !important;
}
.woocommerce-ordering select:focus { border-color: var(--accent) !important; }

/* =====================================================================
   SINGLE PRODUCT
===================================================================== */

/* ── Product layout — explicit two-column grid via template override ── */
/* .radix-product-cols is output by woocommerce/content-single-product.php */
.radix-product-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
    margin-bottom: 48px;
}

/* Gallery column — fills the full left 1fr cell */
.radix-product-gallery-col {
    min-width: 0;
}

/* Force the WooCommerce gallery element to fill its column wrapper */
.radix-product-gallery-col .woocommerce-product-gallery,
.radix-product-gallery-col div.images {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    overflow: hidden;
}

/* Force all gallery internals to fill their container */
.radix-product-gallery-col .woocommerce-product-gallery__wrapper,
.radix-product-gallery-col .flex-viewport,
.radix-product-gallery-col figure,
.radix-product-gallery-col .woocommerce-product-gallery__image {
    width: 100% !important;
    max-width: 100% !important;
}
.radix-product-gallery-col img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}
.radix-product-gallery-col .woocommerce-product-gallery__image img {
    border-radius: var(--r-xl) !important;
}

/* Thumbnails strip */
.radix-product-gallery-col .flex-control-thumbs {
    display: flex;
    gap: 8px;
    padding: 10px;
    background: var(--panel);
    margin: 0;
}
.radix-product-gallery-col .flex-control-thumbs li {
    flex: 1;
    list-style: none;
}
.radix-product-gallery-col .flex-control-thumbs li img {
    width: 100% !important;
    border-radius: var(--r);
    opacity: 0.6;
    border: 1px solid var(--border);
    transition: opacity .15s, border-color .15s;
}
.radix-product-gallery-col .flex-control-thumbs li img:hover,
.radix-product-gallery-col .flex-control-thumbs li img.flex-active {
    opacity: 1;
    border-color: var(--accent);
}

/* Placeholder */
.radix-product-gallery-col .woocommerce-product-gallery__image--placeholder {
    background: var(--panel);
    border-radius: var(--r-xl);
}
.radix-product-gallery-col .woocommerce-product-gallery__image--placeholder img {
    opacity: 0.2 !important;
    filter: grayscale(1) !important;
    padding: 40px !important;
}

/* Summary column */
.woocommerce div.product .summary {
    float: none !important;
    width: 100% !important;
    padding: 0;
    min-width: 0;
}

@media (max-width: 767px) {
    .radix-product-cols {
        grid-template-columns: 1fr;
    }
}

/* product title */
.woocommerce div.product .product_title {
    font-size: clamp(20px, 2.5vw, 28px) !important;
    font-weight: 600 !important;
    color: var(--high) !important;
    letter-spacing: -0.03em !important;
    line-height: 1.2 !important;
    margin-bottom: 10px !important;
}

/* price */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--yellow) !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    font-family: var(--mono);
    letter-spacing: -0.02em;
    margin-bottom: 18px !important;
    display: block;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
    color: var(--subtle) !important;
    font-size: 14px;
    font-weight: 400;
    opacity: 1;
}
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
    color: var(--green) !important;
    text-decoration: none;
}

/* excerpt */
.woocommerce div.product .woocommerce-product-details__short-description {
    font-size: 13.5px;
    color: var(--muted);
    line-height: 1.75;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--border);
    padding-bottom: 20px;
}
.woocommerce div.product .woocommerce-product-details__short-description p {
    margin-bottom: 0.75em;
}

/* ── Variations / Custom product fields form ── */
.woocommerce div.product form.cart {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    padding: 20px;
    margin-bottom: 20px;
}

/* Nuclear: kill any white/light plugin-injected wrappers inside the form */
.woocommerce div.product form.cart div,
.woocommerce div.product form.cart fieldset,
.woocommerce div.product form.cart .wc-pao-addon-wrap,
.woocommerce div.product form.cart .wc-pao-addon,
.woocommerce div.product form.cart .product-addon,
.woocommerce div.product form.cart .options-wrapper,
.woocommerce div.product form.cart .cart-addon-options {
    background: transparent !important;
    background-color: transparent !important;
    border-color: var(--border) !important;
    color: var(--muted) !important;
}

/* All labels inside the form — make them visible */
.woocommerce div.product form.cart label,
.woocommerce div.product form.cart legend,
.woocommerce div.product form.cart .label,
.woocommerce div.product form.cart th {
    color: var(--subtle) !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .07em !important;
}

/* Required asterisk red */
.woocommerce div.product form.cart label .required,
.woocommerce div.product form.cart .required {
    color: var(--red) !important;
    text-decoration: none !important;
}

/* Paragraphs / form rows inside cart form */
.woocommerce div.product form.cart p,
.woocommerce div.product form.cart .form-row {
    color: var(--muted) !important;
}

.woocommerce div.product form.cart table.variations,
.woocommerce-product-attributes {
    width: 100%;
    border-collapse: collapse;
}
.woocommerce div.product form.cart table.variations td,
.woocommerce div.product form.cart table.variations th {
    padding: 10px 0;
    border-bottom: 1px solid var(--border);
    vertical-align: top;
}
.woocommerce div.product form.cart table.variations .label label {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--subtle);
}

/* dropdowns, text inputs inside form.cart */
.woocommerce div.product form.cart select,
.woocommerce div.product form.cart input[type="text"],
.woocommerce div.product form.cart input[type="number"],
.woocommerce div.product form.cart textarea {
    background: var(--panel) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--r) !important;
    color: var(--text) !important;
    font-size: 13px !important;
    padding: 8px 12px !important;
    width: 100%;
    outline: none !important;
    box-shadow: none !important;
    transition: border-color .12s !important;
    -webkit-appearance: none;
    appearance: none;
    font-family: var(--font);
}
.woocommerce div.product form.cart select:focus,
.woocommerce div.product form.cart input[type="text"]:focus,
.woocommerce div.product form.cart input[type="number"]:focus,
.woocommerce div.product form.cart textarea:focus {
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 3px var(--accent-ring) !important;
}
/* Custom select arrow */
.woocommerce div.product form.cart select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%238b8b8f' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M19 9l-7 7-7-7'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    padding-right: 32px !important;
}

/* Field labels */
.woocommerce div.product form.cart p label,
.woocommerce-page form.cart p label,
.woocommerce div.product form.cart .form-row label {
    font-size: 11.5px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--subtle);
    display: block;
    margin-bottom: 6px;
}

/* Required asterisk */
.woocommerce div.product form.cart p label .required,
abbr.required {
    color: var(--red) !important;
    text-decoration: none !important;
}

/* unit label next to number input */
.woocommerce div.product form.cart p .woocommerce-input-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
}
.woocommerce div.product form.cart p .woocommerce-input-wrapper input {
    max-width: 90px;
}

/* ── Quantity input ── */
.woocommerce div.product form.cart .quantity {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-right: 10px;
}
.woocommerce div.product form.cart .quantity input.qty {
    background: var(--panel) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--r) !important;
    color: var(--text) !important;
    font-size: 14px !important;
    width: 60px !important;
    height: 40px !important;
    text-align: center !important;
    padding: 0 8px !important;
    outline: none !important;
    -moz-appearance: textfield;
}
.woocommerce div.product form.cart .quantity input.qty::-webkit-inner-spin-button,
.woocommerce div.product form.cart .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; }
.woocommerce div.product form.cart .quantity input.qty:focus {
    border-color: var(--accent) !important;
}

/* ── Add to Cart button ── */
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    background: var(--accent) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--r) !important;
    font-family: var(--font) !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    padding: 0 20px !important;
    height: 40px !important;
    line-height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    cursor: pointer !important;
    transition: background .12s !important;
    box-shadow: none !important;
    text-shadow: none !important;
    letter-spacing: 0 !important;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    background: var(--accent-hover) !important;
    color: #fff !important;
}

/* alt buttons (e.g. view cart) */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
    background: var(--green) !important;
    color: #09090b !important;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
    background: #16a34a !important;
}

/* ── Product meta (category, tags, SKU) ── */
.woocommerce div.product .product_meta {
    font-size: 12px;
    color: var(--subtle);
    border-top: 1px solid var(--border);
    padding-top: 14px;
    margin-top: 14px;
}
.woocommerce div.product .product_meta a {
    color: var(--accent);
    transition: color .12s;
}
.woocommerce div.product .product_meta a:hover { color: var(--accent-hover); }
.woocommerce div.product .product_meta span { display: block; margin-bottom: 4px; }

/* ── Tabs (Description, Reviews, etc.) ── */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom: 1px solid var(--border) !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    background: none !important;
    display: flex;
    gap: 4px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--muted) !important;
    padding: 10px 14px !important;
    display: block !important;
    border-bottom: 2px solid transparent;
    transition: color .12s, border-color .12s !important;
    background: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    color: var(--text) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--text) !important;
    border-bottom-color: var(--accent) !important;
    background: none !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
    background: var(--surface) !important;
    border: 1px solid var(--border) !important;
    border-top: none !important;
    border-radius: 0 0 var(--r-xl) var(--r-xl) !important;
    padding: 28px 28px !important;
    margin-top: 0 !important;
    color: var(--muted) !important;
}
.woocommerce div.product .woocommerce-tabs .panel h2 {
    font-size: 16px;
    color: var(--text);
    margin-bottom: 12px;
    letter-spacing: -0.02em;
}
.woocommerce div.product .woocommerce-tabs .panel p { line-height: 1.75; margin-bottom: 1em; }
.woocommerce div.product .woocommerce-tabs .panel a { color: var(--accent); }

/* ── Product attributes table ── */
.woocommerce-product-attributes th,
.woocommerce-product-attributes td {
    background: transparent !important;
    border: 1px solid var(--border) !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
    color: var(--muted) !important;
    vertical-align: top;
}
.woocommerce-product-attributes th {
    color: var(--text) !important;
    font-weight: 600 !important;
    background: var(--panel) !important;
    width: 30%;
}

/* ── Reviews ── */
#reviews #comments ol.commentlist li {
    background: var(--panel) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--r-lg) !important;
    padding: 18px !important;
    margin-bottom: 12px !important;
}
#reviews #comments ol.commentlist li .comment-text p.meta strong { color: var(--text); font-size: 13px; }
#reviews #comments ol.commentlist li .comment-text p.meta time { color: var(--subtle); font-size: 11px; }
#reviews #comments ol.commentlist li .comment-text .description p { color: var(--muted); font-size: 13.5px; line-height: 1.75; }

/* star ratings */
.star-rating { color: var(--yellow) !important; }
.woocommerce .star-rating span::before { color: var(--yellow) !important; }
.woocommerce-product-rating .woocommerce-review-link { color: var(--subtle); font-size: 12px; }

/* review form */
#review_form #respond { background: none !important; }
#review_form .comment-form-rating label { color: var(--subtle); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
#review_form .comment-form p label { color: var(--subtle); font-size: 11.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
#review_form .comment-form p input,
#review_form .comment-form p textarea {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: var(--r);
    color: var(--text);
    font-size: 13px;
    padding: 8px 12px;
    outline: none;
    transition: border-color .12s;
    width: 100%;
    font-family: var(--font);
}
#review_form .comment-form p input:focus,
#review_form .comment-form p textarea:focus { border-color: var(--accent); }

/* ── Related products ── */
.related.products > h2,
.upsells.products > h2 {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: var(--text) !important;
    letter-spacing: -0.025em !important;
    margin-bottom: 20px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid var(--border);
}

/* =====================================================================
   CART PAGE
===================================================================== */
.woocommerce table.shop_table {
    border: 1px solid var(--border) !important;
    border-radius: var(--r-xl) !important;
    overflow: hidden;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    width: 100%;
    background: var(--surface);
}
.woocommerce table.shop_table thead tr th {
    background: var(--panel) !important;
    border-bottom: 1px solid var(--border) !important;
    color: var(--subtle) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    padding: 12px 16px !important;
}
.woocommerce table.shop_table tbody td {
    border-bottom: 1px solid var(--border) !important;
    padding: 16px !important;
    color: var(--muted) !important;
    vertical-align: middle !important;
    background: transparent !important;
}
.woocommerce table.shop_table tbody tr:last-child td { border-bottom: none !important; }
.woocommerce table.shop_table .product-name a {
    color: var(--text) !important;
    font-weight: 500;
    font-size: 13.5px;
    transition: color .12s;
}
.woocommerce table.shop_table .product-name a:hover { color: var(--accent) !important; }
.woocommerce table.shop_table .product-remove a {
    color: var(--subtle) !important;
    font-size: 18px !important;
    line-height: 1 !important;
    transition: color .12s !important;
}
.woocommerce table.shop_table .product-remove a:hover { color: var(--red) !important; }
.woocommerce table.shop_table td.product-price,
.woocommerce table.shop_table td.product-subtotal {
    color: var(--text) !important;
    font-family: var(--mono);
    font-size: 13px;
}
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th {
    border-top: 1px solid var(--border2) !important;
    padding: 12px 16px !important;
    color: var(--muted) !important;
    background: var(--panel) !important;
}
.woocommerce table.shop_table tfoot tr.order-total th,
.woocommerce table.shop_table tfoot tr.order-total td {
    color: var(--high) !important;
    font-weight: 600;
    font-size: 15px;
}

/* coupon field */
.woocommerce table.cart td.actions .coupon input[type="text"] {
    background: var(--panel) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--r) !important;
    color: var(--text) !important;
    font-size: 13px !important;
    padding: 8px 12px !important;
    height: 38px;
    outline: none !important;
}
.woocommerce table.cart td.actions .coupon input[type="text"]:focus { border-color: var(--accent) !important; }

/* cart totals box */
.woocommerce-cart .cart-collaterals .cart_totals {
    background: var(--surface) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--r-xl) !important;
    padding: 20px !important;
}
.woocommerce-cart .cart-collaterals .cart_totals h2 {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--text) !important;
    letter-spacing: -0.01em !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border);
}
.woocommerce .checkout-button {
    display: block !important;
    text-align: center !important;
    width: 100% !important;
    margin-top: 12px !important;
    font-size: 14px !important;
    height: 44px !important;
    line-height: 44px !important;
    border-radius: var(--r-md) !important;
}

/* =====================================================================
   CHECKOUT PAGE
===================================================================== */
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    padding: 24px !important;
    float: none !important;
    width: 100% !important;
    margin-bottom: 20px !important;
}
.woocommerce-checkout h3 {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--text) !important;
    letter-spacing: -0.01em !important;
    margin-bottom: 18px !important;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border);
}
.woocommerce form .form-row label {
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    color: var(--subtle) !important;
    margin-bottom: 6px !important;
    display: block;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
    background: var(--panel) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--r) !important;
    color: var(--text) !important;
    font-size: 13px !important;
    padding: 9px 12px !important;
    width: 100% !important;
    outline: none !important;
    box-shadow: none !important;
    transition: border-color .12s !important;
    font-family: var(--font) !important;
    -webkit-appearance: none;
    appearance: none;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 3px var(--accent-ring) !important;
}

/* order review table */
#order_review {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    padding: 24px !important;
}

/* payment box */
#payment {
    background: var(--panel) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--r-xl) !important;
}
#payment ul.payment_methods {
    border-bottom: 1px solid var(--border) !important;
    padding: 16px !important;
}
#payment ul.payment_methods li {
    padding: 10px 0 !important;
    border-bottom: 1px solid var(--border) !important;
    font-size: 13px !important;
    color: var(--muted) !important;
}
#payment ul.payment_methods li:last-child { border-bottom: none !important; }
#payment ul.payment_methods li label { color: var(--text) !important; font-weight: 500; }
#payment .payment_box {
    background: var(--overlay) !important;
    border-radius: var(--r) !important;
    font-size: 12.5px !important;
    color: var(--subtle) !important;
    padding: 12px 14px !important;
    margin-top: 8px;
}
#payment .place-order { padding: 16px !important; }
#payment #place_order {
    width: 100% !important;
    font-size: 14px !important;
    height: 44px !important;
    border-radius: var(--r-md) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    letter-spacing: 0 !important;
}

/* =====================================================================
   MY ACCOUNT
===================================================================== */
.woocommerce-account .woocommerce-MyAccount-navigation {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    overflow: hidden;
    padding: 8px !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 9px 12px;
    font-size: 13px;
    color: var(--muted);
    border-radius: var(--r);
    transition: color .12s, background .12s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover { color: var(--text); background: var(--overlay); }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { color: var(--text); background: var(--overlay); font-weight: 500; }

.woocommerce-account .woocommerce-MyAccount-content {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    padding: 24px !important;
    color: var(--muted);
    font-size: 13.5px;
    line-height: 1.75;
}
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 { color: var(--text); letter-spacing: -0.02em; }
.woocommerce-account .woocommerce-MyAccount-content a { color: var(--accent); }

/* ── "Logged in as" bar ── */
.woocommerce-account p.woocommerce-customer-details--phone,
.woocommerce-account p.woocommerce-customer-details--email {
    font-size: 13px;
    color: var(--muted);
}

/* =====================================================================
   MISC / GLOBAL OVERRIDES
===================================================================== */

/* Remove WooCommerce's blue/purple link default */
.woocommerce a:not(.button):not(.btn) { color: var(--accent); }
.woocommerce a:not(.button):not(.btn):hover { color: var(--accent-hover); }

/* Hijack the "Logged in as" text below product forms */
.woocommerce-page p.logged-in-as,
.woocommerce p.logged-in-as {
    font-size: 12px;
    color: var(--subtle);
    margin-top: 8px;
}
.woocommerce p.logged-in-as a { color: var(--accent); }

/* Required field note */
.woocommerce-page form p.form-row em,
.woocommerce-page > p em {
    font-size: 11.5px;
    color: var(--subtle);
}

/* Responsive — stack checkout on mobile */
@media (max-width: 767px) {
    .woocommerce-checkout #customer_details { display: block; }
    .woocommerce-page #payment { margin-top: 0; }
}
