/* ═══ WOOCOMMERCE OVERRIDES ══════════════════════════
 * Complete restyling of all WooCommerce pages.
 * ══════════════════════════════════════════════════════ */

/* ── Global WooCommerce ── */
body.inkside-theme .woocommerce,
body.inkside-theme .woocommerce-page {
    font-family: var(--ink-font);
    color: var(--ink-text);
}

/* ── Shop loop / archive ──
 * Grid only applies to native WC archive markup.
 * Elementor Pro's "Products" widget (.elementor-wc-products) keeps
 * its own column control via the widget UI.
 */
body.inkside-theme .woocommerce:not(.elementor-wc-products) > ul.products,
body.inkside-theme .woocommerce-page ul.products,
body.inkside-theme.archive ul.products,
body.inkside-theme.post-type-archive-product ul.products,
body.inkside-theme.tax-product_cat ul.products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: var(--ink-space-md);
    list-style: none;
    padding: 0;
    margin: 0;
}

body.inkside-theme .woocommerce ul.products li.product {
    position: relative;
    background: var(--ink-bg-card);
    border: 1px solid var(--ink-border);
    border-radius: var(--ink-radius-lg);
    overflow: hidden;
    margin: 0;
    padding: 0;
    float: none;
    width: auto;
    transition:
        border-color var(--ink-transition),
        box-shadow var(--ink-transition),
        transform var(--ink-transition);
}

body.inkside-theme .woocommerce ul.products li.product:hover {
    border-color: var(--ink-border-hover);
    box-shadow: var(--ink-shadow-md);
    transform: translateY(-2px);
}

body.inkside-theme .woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

/* Image ratio: only enforce on native loop, never inside Elementor widgets
 * that have their own image control. */
body.inkside-theme .woocommerce:not(.elementor-widget-container) ul.products li.product a img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    display: block;
    border-radius: 0;
    margin: 0;
}

body.inkside-theme .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-base);
    font-weight: 600;
    color: var(--ink-text);
    padding: var(--ink-space-md) var(--ink-space-md) 0;
    margin: 0;
    line-height: 1.35;
}

body.inkside-theme .woocommerce ul.products li.product .price {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-md);
    font-weight: 700;
    color: var(--ink-price);
    padding: var(--ink-space-xs) var(--ink-space-md);
}

body.inkside-theme .woocommerce ul.products li.product .price del {
    color: var(--ink-text-faint);
    font-size: var(--ink-font-size-sm);
    font-weight: 400;
}

body.inkside-theme .woocommerce ul.products li.product .price ins {
    text-decoration: none;
    color: var(--ink-price);
}

/* ── Result count & ordering ── */
body.inkside-theme .woocommerce-result-count,
body.inkside-theme .woocommerce-ordering {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-sm);
    color: var(--ink-text-muted);
}

body.inkside-theme .woocommerce-ordering select {
    height: var(--ink-btn-height-sm);
    font-size: var(--ink-font-size-sm);
    border-radius: var(--ink-radius-md);
}

/* ── Single product ── */
body.inkside-theme .woocommerce div.product .product_title {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-2xl);
    font-weight: 800;
    color: var(--ink-text);
}

body.inkside-theme .woocommerce div.product p.price,
body.inkside-theme .woocommerce div.product span.price {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-xl);
    font-weight: 700;
    color: var(--ink-price);
}

body.inkside-theme .woocommerce div.product .woocommerce-product-details__short-description {
    font-size: var(--ink-font-size-base);
    color: var(--ink-text-muted);
    line-height: 1.6;
}

/* ── Gallery ── */
body.inkside-theme .woocommerce div.product div.images {
    border-radius: var(--ink-radius-lg);
    overflow: hidden;
}

/* ── Tabs ── */
body.inkside-theme .woocommerce div.product .woocommerce-tabs ul.tabs {
    list-style: none;
    padding: 0;
    margin: 0 0 var(--ink-space-lg);
    display: flex;
    gap: 0;
    border-bottom: 2px solid var(--ink-border);
}

body.inkside-theme .woocommerce div.product .woocommerce-tabs ul.tabs li {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    border-radius: 0;
}

body.inkside-theme .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-family: var(--ink-font);
    font-weight: 600;
    font-size: var(--ink-font-size-base);
    color: var(--ink-text-muted);
    padding: var(--ink-space-md) var(--ink-space-lg);
    display: block;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: color var(--ink-transition-fast), border-color var(--ink-transition-fast);
}

body.inkside-theme .woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    color: var(--ink-primary);
}

body.inkside-theme .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--ink-primary);
    border-bottom-color: var(--ink-primary);
}

body.inkside-theme .woocommerce div.product .woocommerce-tabs .panel {
    padding: var(--ink-space-lg) 0;
}

/* ── Quantity input ── */
body.inkside-theme .woocommerce .quantity .qty {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-base);
    height: var(--ink-btn-height);
    border: 1px solid var(--ink-border);
    border-radius: var(--ink-radius-md);
    text-align: center;
    width: 80px;
}

/* ── Add to cart ── */
body.inkside-theme .woocommerce .single_add_to_cart_button,
body.inkside-theme .woocommerce .alt,
body.inkside-theme .woocommerce a.button.alt {
    background-color: var(--ink-accent);
    color: #fff;
    border-color: var(--ink-accent);
    font-family: var(--ink-font);
    font-weight: var(--ink-btn-font-weight);
    height: var(--ink-btn-height);
    border-radius: var(--ink-btn-radius);
    padding: 0 var(--ink-space-xl);
    font-size: var(--ink-font-size-base);
    transition: background-color var(--ink-transition-fast);
}

body.inkside-theme .woocommerce .single_add_to_cart_button:hover,
body.inkside-theme .woocommerce .alt:hover,
body.inkside-theme .woocommerce a.button.alt:hover {
    background-color: var(--ink-accent-hover);
    border-color: var(--ink-accent-hover);
    color: #fff;
}

/* ── Cart page ── */
body.inkside-theme .woocommerce table.shop_table {
    border: 1px solid var(--ink-border);
    border-radius: var(--ink-radius-lg);
    overflow: hidden;
    border-collapse: separate;
    border-spacing: 0;
}

body.inkside-theme .woocommerce table.shop_table th {
    font-family: var(--ink-font);
    font-weight: 600;
    font-size: var(--ink-font-size-sm);
    color: var(--ink-text-muted);
    background: var(--ink-bg-muted);
    padding: var(--ink-space-md);
    border-bottom: 1px solid var(--ink-border);
    text-transform: none;
}

body.inkside-theme .woocommerce table.shop_table td {
    font-family: var(--ink-font);
    padding: var(--ink-space-md);
    border-bottom: 1px solid var(--ink-border);
    vertical-align: middle;
}

body.inkside-theme .woocommerce table.shop_table td.product-name a {
    color: var(--ink-text);
    font-weight: 600;
}

body.inkside-theme .woocommerce table.shop_table td.product-name a:hover {
    color: var(--ink-primary);
}

body.inkside-theme .woocommerce table.shop_table img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: var(--ink-radius-md);
}

/* ── Cart totals ── */
body.inkside-theme .woocommerce .cart-collaterals .cart_totals {
    border: 1px solid var(--ink-border);
    border-radius: var(--ink-radius-lg);
    overflow: hidden;
}

body.inkside-theme .woocommerce .cart_totals h2 {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-lg);
    padding: var(--ink-space-md);
    margin: 0;
    background: var(--ink-bg-muted);
    border-bottom: 1px solid var(--ink-border);
}

/* ── Checkout ── */
body.inkside-theme .woocommerce-checkout .woocommerce-form-row label,
body.inkside-theme .woocommerce-checkout .form-row label {
    font-family: var(--ink-font);
    font-weight: 600;
    font-size: var(--ink-font-size-sm);
    color: var(--ink-text);
}

body.inkside-theme .woocommerce-checkout .woocommerce-form-row input,
body.inkside-theme .woocommerce-checkout .woocommerce-form-row select,
body.inkside-theme .woocommerce-checkout .form-row input,
body.inkside-theme .woocommerce-checkout .form-row select {
    font-family: var(--ink-font);
    font-size: 16px;
    height: var(--ink-btn-height);
    border: 1px solid var(--ink-border);
    border-radius: var(--ink-radius-md);
}

body.inkside-theme .woocommerce-checkout .woocommerce-form-row input:focus,
body.inkside-theme .woocommerce-checkout .form-row input:focus {
    border-color: var(--ink-primary);
    box-shadow: 0 0 0 3px var(--ink-primary-ring);
    outline: none;
}

/* ── Notices ── */
body.inkside-theme .woocommerce-message,
body.inkside-theme .woocommerce-info,
body.inkside-theme .woocommerce-error {
    font-family: var(--ink-font);
    border-radius: var(--ink-radius-md);
    padding: var(--ink-space-md) var(--ink-space-lg);
    border-top: none;
    border-left: 4px solid;
}

body.inkside-theme .woocommerce-message {
    background-color: var(--ink-green-bg);
    border-left-color: var(--ink-green);
    color: var(--ink-text);
}

body.inkside-theme .woocommerce-info {
    background-color: var(--ink-blue-bg);
    border-left-color: var(--ink-blue);
    color: var(--ink-text);
}

body.inkside-theme .woocommerce-error {
    background-color: var(--ink-red-bg);
    border-left-color: var(--ink-red);
    color: var(--ink-text);
}

body.inkside-theme .woocommerce-message a,
body.inkside-theme .woocommerce-info a {
    color: var(--ink-primary);
}

/* ── Sale badge (hidden — replaced by ink-badges) ── */
body.inkside-theme .woocommerce span.onsale {
    display: none;
}

/* ── Star rating ── */
body.inkside-theme .woocommerce .star-rating {
    color: var(--ink-orange);
}

/* ── Related products ── */
body.inkside-theme .woocommerce .related.products h2,
body.inkside-theme .woocommerce .up-sells h2,
body.inkside-theme .woocommerce .cross-sells h2 {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-xl);
    font-weight: 700;
    color: var(--ink-text);
}

/* ── Coupon field ── */
body.inkside-theme .woocommerce .coupon .input-text {
    height: var(--ink-btn-height);
    border-radius: var(--ink-radius-md);
}

/* ═══ MY ACCOUNT — Classic + Blocks ══════════════════
 * Dashboard, orders, addresses, account details,
 * downloads, payment methods.
 * ══════════════════════════════════════════════════════ */

/* ── Layout ── */
body.inkside-theme .woocommerce-account .woocommerce-MyAccount-navigation,
body.inkside-theme .woocommerce-account .woocommerce-MyAccount-content {
    font-family: var(--ink-font);
}

/* ── Sidebar navigation ── */
body.inkside-theme .woocommerce-MyAccount-navigation {
    background: var(--ink-bg-muted);
    border-radius: var(--ink-radius-lg);
    padding: var(--ink-space-sm);
}

body.inkside-theme .woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

body.inkside-theme .woocommerce-MyAccount-navigation ul li a {
    display: flex;
    align-items: center;
    gap: var(--ink-space-sm);
    padding: var(--ink-space-sm) var(--ink-space-md);
    font-family: var(--ink-font);
    font-weight: 500;
    font-size: var(--ink-font-size-base);
    color: var(--ink-text);
    border-radius: var(--ink-radius-md);
    text-decoration: none;
    transition:
        background-color var(--ink-transition-fast),
        color var(--ink-transition-fast);
}

body.inkside-theme .woocommerce-MyAccount-navigation ul li a:hover {
    background-color: var(--ink-bg-subtle);
    color: var(--ink-primary);
}

body.inkside-theme .woocommerce-MyAccount-navigation ul li.is-active a,
body.inkside-theme .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--active a {
    background-color: var(--ink-primary-bg);
    color: var(--ink-primary);
    font-weight: 600;
}

/* ── Dashboard welcome ── */
body.inkside-theme .woocommerce-MyAccount-content > p:first-child {
    font-size: var(--ink-font-size-md);
    color: var(--ink-text);
    line-height: 1.6;
}

body.inkside-theme .woocommerce-MyAccount-content > p:first-child strong {
    color: var(--ink-primary);
}

/* ── Content headings ── */
body.inkside-theme .woocommerce-MyAccount-content h2,
body.inkside-theme .woocommerce-MyAccount-content h3 {
    font-family: var(--ink-font);
    font-weight: 700;
    color: var(--ink-text);
    margin-bottom: var(--ink-space-md);
}

/* ── Orders table ── */
body.inkside-theme .woocommerce-orders-table {
    width: 100%;
    border: 1px solid var(--ink-border);
    border-radius: var(--ink-radius-lg);
    overflow: hidden;
    border-collapse: separate;
    border-spacing: 0;
}

body.inkside-theme .woocommerce-orders-table thead th {
    font-family: var(--ink-font);
    font-weight: 600;
    font-size: var(--ink-font-size-sm);
    color: var(--ink-text-muted);
    background: var(--ink-bg-muted);
    padding: var(--ink-space-md);
    border-bottom: 1px solid var(--ink-border);
    text-transform: none;
    text-align: left;
}

body.inkside-theme .woocommerce-orders-table tbody td {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-base);
    padding: var(--ink-space-md);
    border-bottom: 1px solid var(--ink-border);
    vertical-align: middle;
    color: var(--ink-text);
}

body.inkside-theme .woocommerce-orders-table tbody tr:last-child td {
    border-bottom: none;
}

body.inkside-theme .woocommerce-orders-table tbody tr:hover td {
    background-color: var(--ink-bg-muted);
}

body.inkside-theme .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a {
    font-weight: 600;
    color: var(--ink-primary);
}

body.inkside-theme .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a:hover {
    color: var(--ink-primary-hover);
}

body.inkside-theme .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a {
    display: inline-flex;
    align-items: center;
    height: var(--ink-btn-height-sm);
    padding: 0 var(--ink-space-md);
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-sm);
    font-weight: 600;
    color: var(--ink-primary);
    border: 1px solid var(--ink-primary);
    border-radius: var(--ink-btn-radius);
    text-decoration: none;
    transition:
        background-color var(--ink-transition-fast),
        color var(--ink-transition-fast);
}

body.inkside-theme .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a:hover {
    background-color: var(--ink-primary);
    color: #fff;
}

/* ── Order status badges ── */
body.inkside-theme .woocommerce-orders-table .woocommerce-orders-table__cell-order-status {
    font-weight: 600;
    font-size: var(--ink-font-size-sm);
}

/* ── Order detail page ── */
body.inkside-theme .woocommerce-order-details {
    border: 1px solid var(--ink-border);
    border-radius: var(--ink-radius-lg);
    overflow: hidden;
    margin-bottom: var(--ink-space-xl);
}

body.inkside-theme .woocommerce-order-details .woocommerce-order-details__title {
    font-family: var(--ink-font);
    font-weight: 700;
    font-size: var(--ink-font-size-lg);
    padding: var(--ink-space-md) var(--ink-space-lg);
    background: var(--ink-bg-muted);
    margin: 0;
    border-bottom: 1px solid var(--ink-border);
}

body.inkside-theme .woocommerce-order-details .order_details {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}

body.inkside-theme .woocommerce-order-details .order_details thead th {
    font-family: var(--ink-font);
    font-weight: 600;
    font-size: var(--ink-font-size-sm);
    color: var(--ink-text-muted);
    padding: var(--ink-space-md);
    text-align: left;
    border-bottom: 1px solid var(--ink-border);
}

body.inkside-theme .woocommerce-order-details .order_details tbody td {
    font-family: var(--ink-font);
    padding: var(--ink-space-md);
    border-bottom: 1px solid var(--ink-border);
}

body.inkside-theme .woocommerce-order-details .order_details tfoot th,
body.inkside-theme .woocommerce-order-details .order_details tfoot td {
    font-family: var(--ink-font);
    padding: var(--ink-space-md);
    border-top: 1px solid var(--ink-border);
}

body.inkside-theme .woocommerce-order-details .order_details tfoot tr:last-child th {
    font-weight: 700;
    font-size: var(--ink-font-size-md);
}

body.inkside-theme .woocommerce-order-details .order_details tfoot tr:last-child td {
    font-weight: 800;
    font-size: var(--ink-font-size-lg);
    color: var(--ink-price);
}

/* ── Addresses ── */
body.inkside-theme .woocommerce-Addresses {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--ink-space-lg);
}

body.inkside-theme .woocommerce-Address {
    border: 1px solid var(--ink-border);
    border-radius: var(--ink-radius-lg);
    overflow: hidden;
}

body.inkside-theme .woocommerce-Address-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--ink-space-md) var(--ink-space-lg);
    background: var(--ink-bg-muted);
    border-bottom: 1px solid var(--ink-border);
}

body.inkside-theme .woocommerce-Address-title h3 {
    font-family: var(--ink-font);
    font-weight: 700;
    font-size: var(--ink-font-size-md);
    margin: 0;
    color: var(--ink-text);
}

body.inkside-theme .woocommerce-Address-title a {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-sm);
    font-weight: 600;
    color: var(--ink-primary);
}

body.inkside-theme .woocommerce-Address-title a:hover {
    color: var(--ink-primary-hover);
}

body.inkside-theme .woocommerce-Address address {
    font-family: var(--ink-font);
    font-style: normal;
    font-size: var(--ink-font-size-base);
    line-height: 1.7;
    color: var(--ink-text);
    padding: var(--ink-space-lg);
}

/* ── Address edit form ── */
body.inkside-theme .woocommerce-address-fields .form-row {
    margin-bottom: var(--ink-space-md);
}

body.inkside-theme .woocommerce-address-fields .form-row label {
    font-family: var(--ink-font);
    font-weight: 600;
    font-size: var(--ink-font-size-sm);
    color: var(--ink-text);
    margin-bottom: var(--ink-space-xs);
    display: block;
}

body.inkside-theme .woocommerce-address-fields .form-row input,
body.inkside-theme .woocommerce-address-fields .form-row select {
    font-family: var(--ink-font);
    font-size: 16px;
    height: var(--ink-btn-height);
    border: 1px solid var(--ink-border);
    border-radius: var(--ink-radius-md);
    width: 100%;
    padding: 0 var(--ink-space-md);
    color: var(--ink-text);
    background: var(--ink-bg);
    transition:
        border-color var(--ink-transition-fast),
        box-shadow var(--ink-transition-fast);
}

body.inkside-theme .woocommerce-address-fields .form-row input:focus,
body.inkside-theme .woocommerce-address-fields .form-row select:focus {
    border-color: var(--ink-primary);
    box-shadow: 0 0 0 3px var(--ink-primary-ring);
    outline: none;
}

body.inkside-theme .woocommerce-address-fields button[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: var(--ink-btn-height);
    padding: 0 var(--ink-space-xl);
    font-family: var(--ink-font);
    font-weight: var(--ink-btn-font-weight);
    font-size: var(--ink-font-size-base);
    color: #fff;
    background-color: var(--ink-accent);
    border: none;
    border-radius: var(--ink-btn-radius);
    cursor: pointer;
    transition: background-color var(--ink-transition-fast);
    margin-top: var(--ink-space-md);
}

body.inkside-theme .woocommerce-address-fields button[type="submit"]:hover {
    background-color: var(--ink-accent-hover);
}

/* ── Account details form ── */
body.inkside-theme .woocommerce-EditAccountForm .form-row {
    margin-bottom: var(--ink-space-md);
}

body.inkside-theme .woocommerce-EditAccountForm .form-row label {
    font-family: var(--ink-font);
    font-weight: 600;
    font-size: var(--ink-font-size-sm);
    color: var(--ink-text);
    margin-bottom: var(--ink-space-xs);
    display: block;
}

body.inkside-theme .woocommerce-EditAccountForm .form-row input {
    font-family: var(--ink-font);
    font-size: 16px;
    height: var(--ink-btn-height);
    border: 1px solid var(--ink-border);
    border-radius: var(--ink-radius-md);
    width: 100%;
    padding: 0 var(--ink-space-md);
    color: var(--ink-text);
    background: var(--ink-bg);
    transition:
        border-color var(--ink-transition-fast),
        box-shadow var(--ink-transition-fast);
}

body.inkside-theme .woocommerce-EditAccountForm .form-row input:focus {
    border-color: var(--ink-primary);
    box-shadow: 0 0 0 3px var(--ink-primary-ring);
    outline: none;
}

body.inkside-theme .woocommerce-EditAccountForm fieldset {
    border: 1px solid var(--ink-border);
    border-radius: var(--ink-radius-lg);
    padding: var(--ink-space-lg);
    margin: var(--ink-space-lg) 0;
}

body.inkside-theme .woocommerce-EditAccountForm fieldset legend {
    font-family: var(--ink-font);
    font-weight: 700;
    font-size: var(--ink-font-size-md);
    color: var(--ink-text);
    padding: 0 var(--ink-space-sm);
}

body.inkside-theme .woocommerce-EditAccountForm button[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: var(--ink-btn-height);
    padding: 0 var(--ink-space-xl);
    font-family: var(--ink-font);
    font-weight: var(--ink-btn-font-weight);
    font-size: var(--ink-font-size-base);
    color: #fff;
    background-color: var(--ink-accent);
    border: none;
    border-radius: var(--ink-btn-radius);
    cursor: pointer;
    transition: background-color var(--ink-transition-fast);
    margin-top: var(--ink-space-md);
}

body.inkside-theme .woocommerce-EditAccountForm button[type="submit"]:hover {
    background-color: var(--ink-accent-hover);
}

/* ── Downloads table ── */
body.inkside-theme .woocommerce-table--order-downloads {
    width: 100%;
    border: 1px solid var(--ink-border);
    border-radius: var(--ink-radius-lg);
    overflow: hidden;
    border-collapse: separate;
    border-spacing: 0;
}

body.inkside-theme .woocommerce-table--order-downloads thead th {
    font-family: var(--ink-font);
    font-weight: 600;
    font-size: var(--ink-font-size-sm);
    color: var(--ink-text-muted);
    background: var(--ink-bg-muted);
    padding: var(--ink-space-md);
    border-bottom: 1px solid var(--ink-border);
    text-align: left;
}

body.inkside-theme .woocommerce-table--order-downloads tbody td {
    font-family: var(--ink-font);
    padding: var(--ink-space-md);
    border-bottom: 1px solid var(--ink-border);
}

body.inkside-theme .woocommerce-table--order-downloads tbody td a.woocommerce-MyAccount-downloads-file {
    display: inline-flex;
    align-items: center;
    height: var(--ink-btn-height-sm);
    padding: 0 var(--ink-space-md);
    font-weight: 600;
    font-size: var(--ink-font-size-sm);
    color: #fff;
    background-color: var(--ink-primary);
    border-radius: var(--ink-btn-radius);
    text-decoration: none;
    transition: background-color var(--ink-transition-fast);
}

body.inkside-theme .woocommerce-table--order-downloads tbody td a.woocommerce-MyAccount-downloads-file:hover {
    background-color: var(--ink-primary-hover);
}

/* ── Payment methods ── */
body.inkside-theme .woocommerce-PaymentMethods {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--ink-space-sm);
}

body.inkside-theme .woocommerce-PaymentMethod {
    border: 1px solid var(--ink-border);
    border-radius: var(--ink-radius-md);
    padding: var(--ink-space-md);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

body.inkside-theme .woocommerce-PaymentMethod .payment-method-title {
    font-family: var(--ink-font);
    font-weight: 600;
    color: var(--ink-text);
}

body.inkside-theme .woocommerce-PaymentMethod .payment-method-actions a {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-sm);
    font-weight: 500;
    color: var(--ink-primary);
}

body.inkside-theme .woocommerce-PaymentMethod .payment-method-actions a.delete {
    color: var(--ink-red);
}

/* ── Login / Register forms ── */
body.inkside-theme .woocommerce-form-login,
body.inkside-theme .woocommerce-form-register {
    border: 1px solid var(--ink-border);
    border-radius: var(--ink-radius-lg);
    padding: var(--ink-space-xl);
    background: var(--ink-bg);
    max-width: 480px;
}

body.inkside-theme .woocommerce-form-login .form-row,
body.inkside-theme .woocommerce-form-register .form-row {
    margin-bottom: var(--ink-space-md);
}

body.inkside-theme .woocommerce-form-login label,
body.inkside-theme .woocommerce-form-register label {
    font-family: var(--ink-font);
    font-weight: 600;
    font-size: var(--ink-font-size-sm);
    color: var(--ink-text);
    display: block;
    margin-bottom: var(--ink-space-xs);
}

body.inkside-theme .woocommerce-form-login input[type="text"],
body.inkside-theme .woocommerce-form-login input[type="email"],
body.inkside-theme .woocommerce-form-login input[type="password"],
body.inkside-theme .woocommerce-form-register input[type="text"],
body.inkside-theme .woocommerce-form-register input[type="email"],
body.inkside-theme .woocommerce-form-register input[type="password"] {
    font-family: var(--ink-font);
    font-size: 16px;
    height: var(--ink-btn-height);
    width: 100%;
    border: 1px solid var(--ink-border);
    border-radius: var(--ink-radius-md);
    padding: 0 var(--ink-space-md);
    color: var(--ink-text);
    background: var(--ink-bg);
    transition:
        border-color var(--ink-transition-fast),
        box-shadow var(--ink-transition-fast);
}

body.inkside-theme .woocommerce-form-login input:focus,
body.inkside-theme .woocommerce-form-register input:focus {
    border-color: var(--ink-primary);
    box-shadow: 0 0 0 3px var(--ink-primary-ring);
    outline: none;
}

body.inkside-theme .woocommerce-form-login button[type="submit"],
body.inkside-theme .woocommerce-form-register button[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: var(--ink-btn-height);
    font-family: var(--ink-font);
    font-weight: var(--ink-btn-font-weight);
    font-size: var(--ink-font-size-base);
    color: #fff;
    background-color: var(--ink-accent);
    border: none;
    border-radius: var(--ink-btn-radius);
    cursor: pointer;
    transition: background-color var(--ink-transition-fast);
}

body.inkside-theme .woocommerce-form-login button[type="submit"]:hover,
body.inkside-theme .woocommerce-form-register button[type="submit"]:hover {
    background-color: var(--ink-accent-hover);
}

body.inkside-theme .woocommerce-form-login .woocommerce-form-login__rememberme {
    display: flex;
    align-items: center;
    gap: var(--ink-space-sm);
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-sm);
    color: var(--ink-text-muted);
}

body.inkside-theme .woocommerce-form-login .lost_password a {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-sm);
    color: var(--ink-primary);
}

body.inkside-theme .woocommerce-form-login .lost_password a:hover {
    color: var(--ink-primary-hover);
}

/* ── No orders / empty states ── */
body.inkside-theme .woocommerce-MyAccount-content .woocommerce-info {
    background-color: var(--ink-blue-bg);
    border-left: 4px solid var(--ink-blue);
    border-radius: var(--ink-radius-md);
    padding: var(--ink-space-md) var(--ink-space-lg);
    font-family: var(--ink-font);
    color: var(--ink-text);
}

body.inkside-theme .woocommerce-MyAccount-content .woocommerce-info a {
    color: var(--ink-primary);
    font-weight: 600;
}

/* ── Responsive: stack nav + content on mobile ── */
@media (max-width: 768px) {
    body.inkside-theme .woocommerce-account .woocommerce-MyAccount-navigation {
        margin-bottom: var(--ink-space-lg);
    }

    body.inkside-theme .woocommerce-MyAccount-navigation ul {
        flex-direction: row;
        flex-wrap: wrap;
        gap: var(--ink-space-xs);
    }

    body.inkside-theme .woocommerce-MyAccount-navigation ul li a {
        font-size: var(--ink-font-size-sm);
        padding: var(--ink-space-xs) var(--ink-space-md);
        white-space: nowrap;
    }

    body.inkside-theme .woocommerce-Addresses {
        grid-template-columns: 1fr;
    }

    body.inkside-theme .woocommerce-orders-table {
        font-size: var(--ink-font-size-sm);
    }

    body.inkside-theme .woocommerce-orders-table thead {
        display: none;
    }

    body.inkside-theme .woocommerce-orders-table tbody tr {
        display: block;
        border: 1px solid var(--ink-border);
        border-radius: var(--ink-radius-md);
        margin-bottom: var(--ink-space-md);
        padding: var(--ink-space-md);
    }

    body.inkside-theme .woocommerce-orders-table tbody td {
        display: flex;
        justify-content: space-between;
        padding: var(--ink-space-xs) 0;
        border-bottom: 1px solid var(--ink-border);
    }

    body.inkside-theme .woocommerce-orders-table tbody td:last-child {
        border-bottom: none;
    }

    body.inkside-theme .woocommerce-orders-table tbody td::before {
        content: attr(data-title);
        font-weight: 600;
        color: var(--ink-text-muted);
        font-size: var(--ink-font-size-sm);
    }

    body.inkside-theme .woocommerce-form-login,
    body.inkside-theme .woocommerce-form-register {
        max-width: 100%;
    }
}

/* ── Mini cart (header) ── */
body.inkside-theme .woocommerce-mini-cart {
    padding: var(--ink-space-md);
}

body.inkside-theme .woocommerce-mini-cart .mini_cart_item {
    padding: var(--ink-space-sm) 0;
    border-bottom: 1px solid var(--ink-border);
}

body.inkside-theme .woocommerce-mini-cart .mini_cart_item a {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-sm);
    color: var(--ink-text);
}

body.inkside-theme .woocommerce-mini-cart__total {
    font-family: var(--ink-font);
    font-weight: 700;
    padding: var(--ink-space-md) 0;
    border-top: 1px solid var(--ink-border);
}

/* ═══ WC BLOCKS — Cart & Checkout ═══════════════════
 * Overrides for the new WooCommerce Blocks-based
 * cart page and checkout page (gutenberg blocks).
 * ══════════════════════════════════════════════════════ */

/* ── Global blocks typography ── */
body.inkside-theme .wc-block-cart,
body.inkside-theme .wc-block-checkout,
body.inkside-theme .wc-block-mini-cart__drawer {
    font-family: var(--ink-font);
    color: var(--ink-text);
    -webkit-font-smoothing: antialiased;
}

/* ── Headings ── */
body.inkside-theme .wc-block-cart .wc-block-cart__main .wc-block-components-title,
body.inkside-theme .wc-block-checkout .wc-block-components-title,
body.inkside-theme .wc-block-cart .wp-block-woocommerce-cart-cross-sells-block h2 {
    font-family: var(--ink-font);
    font-weight: 700;
    color: var(--ink-text);
    font-size: var(--ink-font-size-xl);
    margin-bottom: var(--ink-space-md);
}

body.inkside-theme .wc-block-checkout .wc-block-components-checkout-step__title {
    font-family: var(--ink-font);
    font-weight: 700;
    font-size: var(--ink-font-size-md);
    color: var(--ink-text);
}

body.inkside-theme .wc-block-checkout .wc-block-components-checkout-step__description {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-sm);
    color: var(--ink-text-muted);
}

/* ── Step numbers ── */
body.inkside-theme .wc-block-components-checkout-step__heading-counter::before {
    background-color: var(--ink-primary);
    color: #fff;
    border-radius: var(--ink-radius-full);
    font-family: var(--ink-font);
    font-weight: 700;
}

/* ── Text inputs ── */
body.inkside-theme .wc-block-components-text-input input,
body.inkside-theme .wc-block-components-text-input textarea {
    font-family: var(--ink-font);
    font-size: 16px;
    color: var(--ink-text);
    border: 1px solid var(--ink-border);
    border-radius: var(--ink-radius-md);
    background-color: var(--ink-bg);
    transition: border-color var(--ink-transition-fast), box-shadow var(--ink-transition-fast);
}

body.inkside-theme .wc-block-components-text-input input:focus,
body.inkside-theme .wc-block-components-text-input textarea:focus {
    border-color: var(--ink-primary);
    box-shadow: 0 0 0 3px var(--ink-primary-ring);
    outline: none;
}

body.inkside-theme .wc-block-components-text-input label {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-sm);
    color: var(--ink-text-muted);
}

body.inkside-theme .wc-block-components-text-input.is-active label {
    color: var(--ink-primary);
}

/* ── Select / combobox ── */
body.inkside-theme .wc-block-components-combobox .wc-block-components-combobox-control input,
body.inkside-theme .wc-block-components-country-input input,
body.inkside-theme .wc-block-components-state-input input {
    font-family: var(--ink-font);
    font-size: 16px;
    border: 1px solid var(--ink-border);
    border-radius: var(--ink-radius-md);
    background-color: var(--ink-bg);
}

body.inkside-theme .wc-block-components-combobox .wc-block-components-combobox-control input:focus,
body.inkside-theme .wc-block-components-country-input input:focus,
body.inkside-theme .wc-block-components-state-input input:focus {
    border-color: var(--ink-primary);
    box-shadow: 0 0 0 3px var(--ink-primary-ring);
    outline: none;
}

body.inkside-theme .wc-block-components-combobox .components-form-token-field__suggestions-list li {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-base);
    padding: var(--ink-space-sm) var(--ink-space-md);
}

body.inkside-theme .wc-block-components-combobox .components-form-token-field__suggestions-list li:hover,
body.inkside-theme .wc-block-components-combobox .components-form-token-field__suggestions-list li[aria-selected="true"] {
    background-color: var(--ink-primary-bg);
    color: var(--ink-primary);
}

/* ── Checkbox / Radio ── */
body.inkside-theme .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
    accent-color: var(--ink-primary);
    border-radius: var(--ink-radius-xs);
}

body.inkside-theme .wc-block-components-checkbox .wc-block-components-checkbox__label {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-base);
    color: var(--ink-text);
}

body.inkside-theme .wc-block-components-radio-control .wc-block-components-radio-control__input {
    accent-color: var(--ink-primary);
}

body.inkside-theme .wc-block-components-radio-control .wc-block-components-radio-control__label {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-base);
    font-weight: 500;
    color: var(--ink-text);
}

body.inkside-theme .wc-block-components-radio-control .wc-block-components-radio-control__description {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-sm);
    color: var(--ink-text-muted);
}

body.inkside-theme .wc-block-components-radio-control .wc-block-components-radio-control__secondary-label {
    font-family: var(--ink-font);
    font-weight: 600;
    color: var(--ink-text);
}

/* ── Shipping options ── */
body.inkside-theme .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option {
    padding: var(--ink-space-md);
    border: 1px solid var(--ink-border);
    border-radius: var(--ink-radius-md);
    margin-bottom: var(--ink-space-sm);
    transition: border-color var(--ink-transition-fast), background-color var(--ink-transition-fast);
}

body.inkside-theme .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:hover {
    border-color: var(--ink-border-hover);
}

body.inkside-theme .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option--checked {
    border-color: var(--ink-primary);
    background-color: var(--ink-primary-bg);
}

/* ── Payment methods ── */
body.inkside-theme .wc-block-components-payment-method-label {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-base);
    font-weight: 500;
    color: var(--ink-text);
}

body.inkside-theme .wc-block-components-payment-method-icons img {
    border-radius: var(--ink-radius-xs);
}

body.inkside-theme .wc-block-checkout__payment-method .wc-block-components-radio-control__option {
    padding: var(--ink-space-md);
    border: 1px solid var(--ink-border);
    border-radius: var(--ink-radius-md);
    margin-bottom: var(--ink-space-sm);
    transition: border-color var(--ink-transition-fast);
}

body.inkside-theme .wc-block-checkout__payment-method .wc-block-components-radio-control__option--checked {
    border-color: var(--ink-primary);
    background-color: var(--ink-primary-bg);
}

/* ── Buttons ── */
body.inkside-theme .wc-block-components-button:not(.is-link) {
    font-family: var(--ink-font);
    font-weight: var(--ink-btn-font-weight);
    font-size: var(--ink-font-size-base);
    height: var(--ink-btn-height);
    border-radius: var(--ink-btn-radius);
    background-color: var(--ink-accent);
    color: #fff;
    border: none;
    padding: 0 var(--ink-space-xl);
    transition: background-color var(--ink-transition-fast), transform var(--ink-transition-fast);
}

body.inkside-theme .wc-block-components-button:not(.is-link):hover {
    background-color: var(--ink-accent-hover);
    transform: translateY(-1px);
}

body.inkside-theme .wc-block-components-button:not(.is-link):active {
    transform: translateY(0);
}

body.inkside-theme .wc-block-components-button:not(.is-link):focus-visible {
    outline: 2px solid var(--ink-primary);
    outline-offset: 2px;
}

body.inkside-theme .wc-block-components-button.is-link {
    font-family: var(--ink-font);
    color: var(--ink-primary);
    font-size: var(--ink-font-size-sm);
    font-weight: 500;
}

body.inkside-theme .wc-block-components-button.is-link:hover {
    color: var(--ink-primary-hover);
}

/* ── Outlined / secondary buttons ── */
body.inkside-theme .wc-block-components-button.outlined,
body.inkside-theme .wc-block-cart .wc-block-cart__submit-container a.wc-block-components-button {
    background-color: transparent;
    color: var(--ink-primary);
    border: 1px solid var(--ink-primary);
}

body.inkside-theme .wc-block-components-button.outlined:hover,
body.inkside-theme .wc-block-cart .wc-block-cart__submit-container a.wc-block-components-button:hover {
    background-color: var(--ink-primary-bg);
}

/* ── Cart items table ── */
body.inkside-theme .wc-block-cart-items .wc-block-cart-items__row {
    border-bottom: 1px solid var(--ink-border);
    padding: var(--ink-space-md) 0;
}

body.inkside-theme .wc-block-cart-items .wc-block-cart-items__row:last-child {
    border-bottom: none;
}

body.inkside-theme .wc-block-cart-items .wc-block-components-product-name {
    font-family: var(--ink-font);
    font-weight: 600;
    font-size: var(--ink-font-size-base);
    color: var(--ink-text);
    text-decoration: none;
}

body.inkside-theme .wc-block-cart-items .wc-block-components-product-name:hover {
    color: var(--ink-primary);
}

body.inkside-theme .wc-block-cart-items .wc-block-components-product-metadata {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-sm);
    color: var(--ink-text-muted);
}

body.inkside-theme .wc-block-cart-items .wc-block-cart-item__image img {
    border-radius: var(--ink-radius-md);
    object-fit: cover;
}

/* ── Cart item prices ── */
body.inkside-theme .wc-block-cart-items .wc-block-components-product-price {
    font-family: var(--ink-font);
    font-weight: 700;
    font-size: var(--ink-font-size-base);
    color: var(--ink-text);
}

body.inkside-theme .wc-block-cart-items .wc-block-components-product-price__regular {
    color: var(--ink-text-faint);
    text-decoration: line-through;
}

/* ── Quantity selector ── */
body.inkside-theme .wc-block-components-quantity-selector {
    border: 1px solid var(--ink-border);
    border-radius: var(--ink-radius-md);
    overflow: hidden;
}

body.inkside-theme .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-base);
    color: var(--ink-text);
    border: none;
    background: var(--ink-bg);
}

body.inkside-theme .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
    background: var(--ink-bg-muted);
    color: var(--ink-text);
    border: none;
    transition: background-color var(--ink-transition-fast);
}

body.inkside-theme .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover {
    background: var(--ink-bg-subtle);
}

/* ── Order summary sidebar ── */
body.inkside-theme .wc-block-components-order-summary {
    border: 1px solid var(--ink-border);
    border-radius: var(--ink-radius-lg);
    overflow: hidden;
}

body.inkside-theme .wc-block-components-order-summary .wc-block-components-order-summary-item {
    padding: var(--ink-space-md);
    border-bottom: 1px solid var(--ink-border);
}

body.inkside-theme .wc-block-components-order-summary .wc-block-components-order-summary-item:last-child {
    border-bottom: none;
}

body.inkside-theme .wc-block-components-order-summary .wc-block-components-order-summary-item__description {
    font-family: var(--ink-font);
}

body.inkside-theme .wc-block-components-order-summary .wc-block-components-order-summary-item__description .wc-block-components-product-name {
    font-weight: 600;
    color: var(--ink-text);
}

body.inkside-theme .wc-block-components-order-summary .wc-block-components-order-summary-item__total-price {
    font-family: var(--ink-font);
    font-weight: 700;
    color: var(--ink-text);
}

body.inkside-theme .wc-block-components-order-summary .wc-block-components-order-summary-item__individual-price {
    font-size: var(--ink-font-size-sm);
    color: var(--ink-text-muted);
}

/* ── Totals (cart + checkout sidebar) ── */
body.inkside-theme .wc-block-components-totals-wrapper {
    font-family: var(--ink-font);
    border-top: 1px solid var(--ink-border);
    padding: var(--ink-space-md) 0;
}

body.inkside-theme .wc-block-components-totals-item__label {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-base);
    color: var(--ink-text);
}

body.inkside-theme .wc-block-components-totals-item__value {
    font-family: var(--ink-font);
    font-weight: 600;
    color: var(--ink-text);
}

body.inkside-theme .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-weight: 700;
    font-size: var(--ink-font-size-md);
}

body.inkside-theme .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-weight: 800;
    font-size: var(--ink-font-size-lg);
    color: var(--ink-price);
}

body.inkside-theme .wc-block-components-totals-taxes {
    font-size: var(--ink-font-size-sm);
    color: var(--ink-text-muted);
}

/* ── Coupon form ── */
body.inkside-theme .wc-block-components-totals-coupon .wc-block-components-totals-coupon__form {
    display: flex;
    gap: var(--ink-space-sm);
}

body.inkside-theme .wc-block-components-totals-coupon .wc-block-components-totals-coupon__input input {
    font-family: var(--ink-font);
    font-size: 16px;
    height: var(--ink-btn-height-sm);
    border: 1px solid var(--ink-border);
    border-radius: var(--ink-radius-md);
}

body.inkside-theme .wc-block-components-totals-coupon .wc-block-components-totals-coupon__input input:focus {
    border-color: var(--ink-primary);
    box-shadow: 0 0 0 3px var(--ink-primary-ring);
}

body.inkside-theme .wc-block-components-totals-coupon .wc-block-components-totals-coupon__button {
    height: var(--ink-btn-height-sm);
    border-radius: var(--ink-radius-md);
    font-size: var(--ink-font-size-sm);
}

body.inkside-theme .wc-block-components-chip {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-sm);
    background-color: var(--ink-accent-bg);
    color: var(--ink-text);
    border-radius: var(--ink-radius-full);
    padding: var(--ink-space-xs) var(--ink-space-md);
}

body.inkside-theme .wc-block-components-chip .wc-block-components-chip__remove {
    color: var(--ink-text-muted);
}

body.inkside-theme .wc-block-components-chip .wc-block-components-chip__remove:hover {
    color: var(--ink-red);
}

/* ── Notices (blocks) ── */
body.inkside-theme .wc-block-components-notice-banner {
    font-family: var(--ink-font);
    border-radius: var(--ink-radius-md);
    padding: var(--ink-space-md) var(--ink-space-lg);
}

body.inkside-theme .wc-block-components-notice-banner.is-success {
    background-color: var(--ink-green-bg);
    border-left: 4px solid var(--ink-green);
    color: var(--ink-text);
}

body.inkside-theme .wc-block-components-notice-banner.is-error {
    background-color: var(--ink-red-bg);
    border-left: 4px solid var(--ink-red);
    color: var(--ink-text);
}

body.inkside-theme .wc-block-components-notice-banner.is-info,
body.inkside-theme .wc-block-components-notice-banner.is-warning {
    background-color: var(--ink-blue-bg);
    border-left: 4px solid var(--ink-blue);
    color: var(--ink-text);
}

body.inkside-theme .wc-block-components-notice-banner a {
    color: var(--ink-primary);
    font-weight: 500;
}

/* ── Express payment ── */
body.inkside-theme .wc-block-components-express-payment {
    border: 1px solid var(--ink-border);
    border-radius: var(--ink-radius-lg);
    padding: var(--ink-space-md);
    margin-bottom: var(--ink-space-lg);
}

body.inkside-theme .wc-block-components-express-payment__title-container {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-sm);
    color: var(--ink-text-muted);
    text-transform: none;
}

body.inkside-theme .wc-block-components-express-payment .wc-block-components-express-payment__title-container::after,
body.inkside-theme .wc-block-components-express-payment .wc-block-components-express-payment__title-container::before {
    border-color: var(--ink-border);
}

/* ── Separator ── */
body.inkside-theme .wc-block-components-express-payment-continue-rule {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-sm);
    color: var(--ink-text-faint);
}

body.inkside-theme .wc-block-components-express-payment-continue-rule::before,
body.inkside-theme .wc-block-components-express-payment-continue-rule::after {
    border-color: var(--ink-border);
}

/* ── Address card (saved addresses) ── */
body.inkside-theme .wc-block-components-address-card {
    border: 1px solid var(--ink-border);
    border-radius: var(--ink-radius-md);
    padding: var(--ink-space-md);
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-base);
    color: var(--ink-text);
}

body.inkside-theme .wc-block-components-address-card__edit {
    color: var(--ink-primary);
    font-weight: 500;
}

body.inkside-theme .wc-block-components-address-card__edit:hover {
    color: var(--ink-primary-hover);
}

/* ── Validation errors ── */
body.inkside-theme .wc-block-components-validation-error {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-sm);
    color: var(--ink-red);
    margin-top: var(--ink-space-xs);
}

/* ── Loading skeleton ── */
body.inkside-theme .wc-block-components-loading-mask {
    opacity: 0.5;
}

body.inkside-theme .wc-block-components-loading-mask::after {
    border-radius: var(--ink-radius-md);
}

/* ── Sidebar layout ── */
body.inkside-theme .wc-block-checkout .wc-block-checkout__sidebar {
    background: var(--ink-bg-muted);
    border-radius: var(--ink-radius-lg);
    padding: var(--ink-space-lg);
}

body.inkside-theme .wc-block-cart .wc-block-cart__sidebar {
    background: var(--ink-bg-muted);
    border-radius: var(--ink-radius-lg);
    padding: var(--ink-space-lg);
}

/* ── Mini Cart Drawer ── */
body.inkside-theme .wc-block-mini-cart__drawer .wc-block-mini-cart__title {
    font-family: var(--ink-font);
    font-weight: 700;
    font-size: var(--ink-font-size-lg);
    color: var(--ink-text);
}

body.inkside-theme .wc-block-mini-cart__drawer .wc-block-mini-cart__items .wc-block-components-product-name {
    font-family: var(--ink-font);
    font-weight: 600;
    color: var(--ink-text);
}

body.inkside-theme .wc-block-mini-cart__drawer .wc-block-mini-cart__footer {
    border-top: 1px solid var(--ink-border);
    padding-top: var(--ink-space-md);
}

body.inkside-theme .wc-block-mini-cart__drawer .wc-block-mini-cart__footer .wc-block-components-totals-item__label {
    font-weight: 700;
}

body.inkside-theme .wc-block-mini-cart__drawer .wc-block-mini-cart__footer .wc-block-components-totals-item__value {
    font-weight: 800;
    color: var(--ink-price);
}

/* ── Empty cart ── */
body.inkside-theme .wc-block-cart .wc-block-cart__empty-cart__title {
    font-family: var(--ink-font);
    font-weight: 700;
    font-size: var(--ink-font-size-xl);
    color: var(--ink-text);
}

body.inkside-theme .wc-block-cart .wc-block-cart__empty-cart__title + p {
    font-family: var(--ink-font);
    color: var(--ink-text-muted);
}

/* ── Remove item link ── */
body.inkside-theme .wc-block-cart-item__remove-link {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-sm);
    color: var(--ink-text-muted);
    transition: color var(--ink-transition-fast);
}

body.inkside-theme .wc-block-cart-item__remove-link:hover {
    color: var(--ink-red);
}

/* ── Shipping calculator ── */
body.inkside-theme .wc-block-components-shipping-calculator .wc-block-components-shipping-calculator-address {
    border: 1px solid var(--ink-border);
    border-radius: var(--ink-radius-md);
    padding: var(--ink-space-md);
}

/* ── Terms & conditions ── */
body.inkside-theme .wc-block-checkout__terms {
    font-family: var(--ink-font);
    font-size: var(--ink-font-size-sm);
    color: var(--ink-text-muted);
}

body.inkside-theme .wc-block-checkout__terms a {
    color: var(--ink-primary);
}

/* ── Thank you / Order confirmation ── */
body.inkside-theme .wc-block-order-confirmation-status {
    font-family: var(--ink-font);
}

body.inkside-theme .wc-block-order-confirmation-summary {
    font-family: var(--ink-font);
    border: 1px solid var(--ink-border);
    border-radius: var(--ink-radius-lg);
    padding: var(--ink-space-lg);
}

body.inkside-theme .wc-block-order-confirmation-totals {
    font-family: var(--ink-font);
}

body.inkside-theme .wc-block-order-confirmation-totals .wc-block-order-confirmation-totals__total {
    font-weight: 800;
    font-size: var(--ink-font-size-lg);
    color: var(--ink-price);
}
