/* ──────────────────────────────────────────────────────────────────────
   WooCommerce skin — Cart / Checkout (Blocks) + My Account (classic)
   Recolors default WC markup to the Scandi poster system (ink/paper/red).
   Scoped to .lf-wc-wrap so it never leaks outside these wrapped pages.
   ────────────────────────────────────────────────────────────────────── */

.lf-wc-wrap {
    max-width: 1000px;
    margin: 0 auto;
    font-family: var(--lf-font-body);
    color: var(--lf-ink);
}
.lf-wc-wrap * { border-radius: 0 !important; box-shadow: none !important; font-family: var(--lf-font-body); }

/* ── Headings & text ─────────────────────────────────────────────────── */
.lf-wc-wrap h1, .lf-wc-wrap h2, .lf-wc-wrap h3,
.lf-wc-wrap .wc-block-components-checkout-step__title,
.lf-wc-wrap .wc-block-components-totals-item__label,
.lf-wc-wrap .wc-block-components-order-summary__title,
.lf-wc-wrap .wc-block-components-panel__button {
    font-family: var(--lf-font-display);
    text-transform: uppercase;
    letter-spacing: -.01em;
    color: var(--lf-ink);
}
.lf-wc-wrap p, .lf-wc-wrap label, .lf-wc-wrap li {
    color: var(--lf-muted-on-paper);
    font-size: 15px;
}
.lf-wc-wrap a { color: var(--lf-ink); text-decoration: underline; }

/* ── Buttons (primary CTAs: place order / proceed to checkout / pay) ──── */
.lf-wc-wrap .wc-block-components-button,
.lf-wc-wrap .wp-element-button,
.lf-wc-wrap button.button,
.lf-wc-wrap a.button,
.lf-wc-wrap input[type="submit"] {
    font-family: var(--lf-font-display) !important;
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: .01em;
    background: var(--lf-ink) !important;
    color: var(--lf-paper) !important;
    border: var(--lf-border) solid var(--lf-ink) !important;
    padding: 14px 22px !important;
    transition: opacity .12s;
}
.lf-wc-wrap .wc-block-components-button:hover,
.lf-wc-wrap .wp-element-button:hover,
.lf-wc-wrap button.button:hover,
.lf-wc-wrap a.button:hover { opacity: .8; }
.lf-wc-wrap .wc-block-components-button.wc-block-components-button--outlined,
.lf-wc-wrap .wc-block-cart__submit-button.wc-block-components-button--outlined,
.lf-wc-wrap a.button.wc-forward,
.lf-wc-wrap .woocommerce-button.wc-backward {
    background: transparent !important;
    color: var(--lf-ink) !important;
}

/* ── Inputs, selects, textareas ────────────────────────────────────────── */
.lf-wc-wrap input[type="text"],
.lf-wc-wrap input[type="email"],
.lf-wc-wrap input[type="tel"],
.lf-wc-wrap input[type="password"],
.lf-wc-wrap input[type="number"],
.lf-wc-wrap textarea,
.lf-wc-wrap select,
.lf-wc-wrap .wc-block-components-text-input input,
.lf-wc-wrap .wc-block-components-textarea textarea,
.lf-wc-wrap .wc-block-components-combobox input {
    background: var(--lf-paper) !important;
    border: var(--lf-border-thin) solid var(--lf-ink) !important;
    color: var(--lf-ink) !important;
    font-family: var(--lf-font-body) !important;
    padding: 12px !important;
}
.lf-wc-wrap .wc-block-components-text-input,
.lf-wc-wrap .woocommerce-form-row { margin-bottom: 4px; }
.lf-wc-wrap .wc-block-components-text-input label,
.lf-wc-wrap label.woocommerce-form-row-label,
.lf-wc-wrap label { font-size: 12.5px; text-transform: uppercase; font-weight: 600; letter-spacing: .03em; }

/* Checkbox / radio accents */
.lf-wc-wrap input[type="checkbox"],
.lf-wc-wrap input[type="radio"],
.lf-wc-wrap .wc-block-components-radio-control__input {
    accent-color: var(--lf-signal);
    width: 18px; height: 18px;
}
.lf-wc-wrap .wc-block-components-radio-control-accordion-option,
.lf-wc-wrap .wc-block-checkout__payment-method {
    border: var(--lf-border-thin) solid var(--lf-ink) !important;
    padding: 14px !important;
    margin-bottom: 10px;
    background: var(--lf-paper);
}

/* ── Panels / boxes (order summary, coupon, totals) ───────────────────── */
.lf-wc-wrap .wc-block-components-order-summary,
.lf-wc-wrap .wc-block-components-totals-wrapper,
.lf-wc-wrap .wc-block-components-panel,
.lf-wc-wrap .wc-block-cart__totals-title,
.lf-wc-wrap .wc-block-checkout__totals,
.lf-wc-wrap table.shop_table,
.lf-wc-wrap .cart-collaterals .cart_totals,
.lf-wc-wrap .woocommerce-checkout-review-order,
.lf-wc-wrap .woocommerce-order-details,
.lf-wc-wrap .woocommerce-customer-details {
    border: var(--lf-border) solid var(--lf-ink) !important;
    background: var(--lf-paper);
    padding: 20px;
}
.lf-wc-wrap .wc-block-components-totals-item {
    border-top: 1px solid var(--lf-muted-secondary);
    padding: 10px 0;
}
.lf-wc-wrap .wc-block-components-totals-item:first-child { border-top: none; }
.lf-wc-wrap .wc-block-components-totals-footer-item,
.lf-wc-wrap tr.order-total {
    border-top: var(--lf-border-thin) solid var(--lf-ink);
    font-family: var(--lf-font-display);
}

/* ── Cart line items ───────────────────────────────────────────────────── */
.lf-wc-wrap .wc-block-cart-items,
.lf-wc-wrap table.cart_item, .lf-wc-wrap table.shop_table.cart {
    border: var(--lf-border) solid var(--lf-ink) !important;
}
.lf-wc-wrap .wc-block-cart-items__header,
.lf-wc-wrap .wc-block-cart-item,
.lf-wc-wrap table.shop_table tr {
    border-bottom: 1px solid var(--lf-muted-secondary);
}
.lf-wc-wrap .wc-block-components-quantity-selector {
    border: var(--lf-border-thin) solid var(--lf-ink) !important;
}
.lf-wc-wrap .wc-block-components-quantity-selector__button {
    background: var(--lf-ink) !important;
    color: var(--lf-paper) !important;
}
.lf-wc-wrap .wc-block-cart-item__remove-link,
.lf-wc-wrap a.remove {
    color: var(--lf-signal) !important;
    font-weight: 700;
}

/* ── Notices (errors, info, success) ──────────────────────────────────── */
.lf-wc-wrap .wc-block-components-notice-banner,
.lf-wc-wrap .woocommerce-error,
.lf-wc-wrap .woocommerce-message,
.lf-wc-wrap .woocommerce-info {
    border: none !important;
    border-left: var(--lf-border) solid var(--lf-signal) !important;
    background: var(--lf-paper) !important;
    color: var(--lf-ink) !important;
    padding: 16px 18px;
}
.lf-wc-wrap .wc-block-components-notice-banner.is-success,
.lf-wc-wrap .woocommerce-message { border-left-color: var(--lf-ink) !important; }

/* ── My Account (classic templates) ───────────────────────────────────── */
.lf-wc-wrap .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 30px; }
.lf-wc-wrap .woocommerce-MyAccount-navigation li {
    border: var(--lf-border-thin) solid var(--lf-ink);
}
.lf-wc-wrap .woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 10px 16px;
    font-family: var(--lf-font-display);
    text-transform: uppercase;
    font-size: 13px;
    text-decoration: none;
}
.lf-wc-wrap .woocommerce-MyAccount-navigation li.is-active a {
    background: var(--lf-ink);
    color: var(--lf-paper);
}
.lf-wc-wrap .woocommerce-MyAccount-content { max-width: 720px; }
.lf-wc-wrap table.woocommerce-orders-table,
.lf-wc-wrap table.woocommerce-table {
    width: 100%;
    border-collapse: collapse;
    border: var(--lf-border) solid var(--lf-ink);
}
.lf-wc-wrap table.woocommerce-orders-table th,
.lf-wc-wrap table.woocommerce-orders-table td,
.lf-wc-wrap table.woocommerce-table th,
.lf-wc-wrap table.woocommerce-table td {
    border-bottom: 1px solid var(--lf-muted-secondary);
    padding: 12px;
    text-align: left;
}
.lf-wc-wrap table.woocommerce-orders-table th {
    font-family: var(--lf-font-display);
    text-transform: uppercase;
    font-size: 12px;
}
.lf-wc-wrap .woocommerce-Addresses { display: flex; gap: 24px; flex-wrap: wrap; }
.lf-wc-wrap .woocommerce-Address {
    border: var(--lf-border) solid var(--lf-ink);
    padding: 20px;
    flex: 1 1 280px;
}
.lf-wc-wrap .woocommerce-Address-title {
    display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px;
}

/* Login / register / lost-password forms */
.lf-wc-wrap form.woocommerce-form-login,
.lf-wc-wrap form.woocommerce-form-register,
.lf-wc-wrap form.woocommerce-ResetPassword,
.lf-wc-wrap form.edit-account {
    border: var(--lf-border) solid var(--lf-ink);
    padding: 28px;
    max-width: 460px;
}
.lf-wc-wrap .u-columns.woocommerce-Addresses,
.lf-wc-wrap .col-1, .lf-wc-wrap .col-2 { max-width: 460px; }
.lf-wc-wrap p.lost_password a { color: var(--lf-signal); }

/* ── Empty cart / thank-you spacing ───────────────────────────────────── */
.lf-wc-wrap .wc-block-cart__empty-cart__title,
.lf-wc-wrap .woocommerce-order-received h2,
.lf-wc-wrap .woocommerce-thankyou-order-received {
    font-family: var(--lf-font-display) !important;
    text-transform: uppercase;
}
.lf-wc-wrap .woocommerce-thankyou-order-received {
    border: var(--lf-border) solid var(--lf-ink);
    background: var(--lf-paper);
    padding: 20px;
    display: block;
    margin-bottom: 24px;
}

@media (max-width: 640px) {
    .lf-wc-wrap .woocommerce-Addresses { flex-direction: column; }
}
