:root {
    --ys-commerce-red: #991b1b;
    --ys-commerce-red-dark: #7f1d1d;
    --ys-commerce-ink: #171717;
    --ys-commerce-muted: #666;
    --ys-commerce-line: #e2e2de;
    --ys-commerce-soft: #f7f7f5;
}

body.ys-commerce-page {
    background: #fff;
    color: var(--ys-commerce-ink);
}

.ys-commerce-page .ys-commerce-main,
.ys-commerce-page .ys-commerce-main * { box-sizing: border-box; }

.ys-commerce-shell {
    width: min(100% - 40px, 1180px);
    margin-inline: auto;
}

.ys-commerce-main { padding: 42px 0 100px; }

.ys-checkout-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 54px;
    border-bottom: 1px solid var(--ys-commerce-line);
}

.ys-checkout-steps > * {
    position: relative;
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
    padding: 16px 8px;
    color: #8a8a8a !important;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
}

.ys-checkout-steps span {
    display: inline-flex;
    width: 25px;
    height: 25px;
    align-items: center;
    justify-content: center;
    border: 1px solid #aaa;
    border-radius: 50%;
    font-size: 12px;
}

.ys-checkout-steps .is-current,
.ys-checkout-steps .is-complete { color: var(--ys-commerce-ink) !important; }
.ys-checkout-steps .is-current::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 3px;
    background: var(--ys-commerce-red);
    content: "";
}
.ys-checkout-steps .is-current span,
.ys-checkout-steps .is-complete span { border-color: var(--ys-commerce-red); background: var(--ys-commerce-red); color: #fff; }

.ys-commerce-heading {
    max-width: 720px;
    margin-bottom: 44px;
}
.ys-commerce-kicker { margin: 0 0 8px; color: var(--ys-commerce-red); font-size: 13px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.ys-commerce-heading h1 { margin: 0 0 12px; font-family: SandvikSansHeadline, Arial, sans-serif; font-size: clamp(40px, 5vw, 58px); font-weight: 400; line-height: 1; }
.ys-commerce-heading > p:last-child { margin: 0; color: var(--ys-commerce-muted); font-size: 17px; }

.ys-commerce-content .woocommerce { width: 100%; }
.ys-commerce-content .woocommerce-notices-wrapper { margin-bottom: 22px; }
.ys-commerce-content .woocommerce-message,
.ys-commerce-content .woocommerce-info,
.ys-commerce-content .woocommerce-error {
    margin: 0 0 22px !important;
    padding: 16px 18px 16px 48px !important;
    border: 0 !important;
    border-left: 4px solid var(--ys-commerce-red) !important;
    background: var(--ys-commerce-soft) !important;
    color: var(--ys-commerce-ink) !important;
    box-shadow: none !important;
}

.ys-commerce-content table.shop_table {
    width: 100%;
    margin: 0 0 30px !important;
    border: 0 !important;
    border-top: 2px solid var(--ys-commerce-ink) !important;
    border-bottom: 1px solid var(--ys-commerce-line) !important;
    border-radius: 0 !important;
    border-collapse: collapse !important;
    background: transparent;
}
.ys-commerce-content table.shop_table th { padding: 15px 18px !important; border-bottom: 1px solid var(--ys-commerce-line); background: transparent; color: var(--ys-commerce-muted); font-size: 12px; letter-spacing: .06em; text-align: left; text-transform: uppercase; }
.ys-commerce-content table.shop_table td { padding: 20px 18px !important; border-top: 1px solid var(--ys-commerce-line) !important; vertical-align: middle !important; }
.ys-commerce-content .product-thumbnail img { width: 88px !important; height: 88px !important; padding: 7px; background: var(--ys-commerce-soft); object-fit: contain; }
.ys-commerce-content .product-name a { color: var(--ys-commerce-ink) !important; font-size: 17px; font-weight: 700; text-decoration: none; }
.ys-commerce-content .product-name dl.variation { margin: 8px 0 0; color: var(--ys-commerce-muted); font-size: 13px; }
.ys-commerce-content .product-name dl.variation dt,
.ys-commerce-content .product-name dl.variation dd { display: inline; float: none; margin: 0 4px 0 0; }

.ys-commerce-content input.input-text,
.ys-commerce-content input[type="text"],
.ys-commerce-content input[type="email"],
.ys-commerce-content input[type="tel"],
.ys-commerce-content select,
.ys-commerce-content textarea {
    min-height: 46px;
    padding: 10px 12px !important;
    border: 1px solid #cfcfca !important;
    border-radius: 3px !important;
    background: #fff !important;
    color: var(--ys-commerce-ink) !important;
}
.ys-commerce-content .quantity .qty { width: 72px; text-align: center; }
.ys-commerce-content input:focus,
.ys-commerce-content select:focus,
.ys-commerce-content textarea:focus {
    border-color: var(--ys-commerce-ink) !important;
    box-shadow: 0 0 0 2px rgba(23, 23, 23, .08) !important;
    outline: 0;
}

.ys-commerce-content button.button,
.ys-commerce-content a.button,
.ys-commerce-content input.button,
.ys-commerce-content #place_order,
.ys-commerce-content .checkout-button {
    min-height: 46px;
    padding: 12px 20px !important;
    border: 0 !important;
    border-radius: 3px !important;
    background: var(--ys-commerce-red) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}
.ys-commerce-content button.button:hover,
.ys-commerce-content a.button:hover,
.ys-commerce-content #place_order:hover,
.ys-commerce-content .checkout-button:hover { background: var(--ys-commerce-red-dark) !important; }
.ys-commerce-content button[name="update_cart"] { background: var(--ys-commerce-ink) !important; }

.ys-commerce-content .coupon { display: flex; gap: 8px; }
.ys-commerce-content .coupon #coupon_code { width: 180px !important; margin: 0 !important; }

.ys-commerce-content .cart-collaterals { display: flex; justify-content: flex-end; }
.ys-commerce-content .cart_totals { width: min(100%, 480px) !important; padding: 28px 0 0 !important; border: 0 !important; border-top: 2px solid var(--ys-commerce-ink) !important; background: transparent; }
.ys-commerce-content .cart_totals h2 { margin: 0 0 20px; padding: 0 !important; font-size: 28px; }
.ys-commerce-content .cart_totals table { margin-bottom: 18px !important; background: transparent; }
.ys-commerce-content .cart_totals table th,
.ys-commerce-content .cart_totals table td { padding: 13px 0 !important; border-top: 1px solid var(--ys-commerce-line) !important; background: transparent; }
.ys-commerce-content .wc-proceed-to-checkout { padding: 0; }
.ys-commerce-content .wc-proceed-to-checkout .checkout-button { display: flex; width: 100%; align-items: center; justify-content: center; margin: 0; }

.ys-commerce-content form.checkout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr); gap: 48px; align-items: start; }
.ys-commerce-content form.checkout #customer_details,
.ys-commerce-content form.checkout .col2-set { grid-column: 1; grid-row: 1; width: 100% !important; float: none !important; }
.ys-commerce-content form.checkout .col-1,
.ys-commerce-content form.checkout .col-2 { width: 100%; float: none; }
.ys-commerce-content form.checkout .col-2 { margin-top: 30px; }
.ys-commerce-content form.checkout h3 { margin: 0 0 20px !important; padding: 0 0 13px !important; border-bottom: 1px solid var(--ys-commerce-line) !important; font-size: 25px; }
.ys-commerce-content form.checkout #order_review_heading { grid-column: 2; grid-row: 1; width: 100% !important; float: none !important; margin: 0 !important; padding: 0 0 13px !important; border: 0 !important; border-bottom: 1px solid var(--ys-commerce-line) !important; background: transparent !important; }
.ys-commerce-content form.checkout #order_review { grid-column: 2; grid-row: 1; width: 100% !important; float: none !important; margin-top: 58px; padding: 24px 0 0 !important; border: 0 !important; border-top: 2px solid var(--ys-commerce-ink) !important; background: transparent; }
.ys-commerce-content .form-row { margin: 0 0 16px !important; }
.ys-commerce-content .form-row label { margin-bottom: 6px; color: var(--ys-commerce-ink); font-size: 13px; font-weight: 700; }
.ys-commerce-content .select2-container .select2-selection--single { height: 46px; border: 1px solid #cfcfca; border-radius: 3px; }
.ys-commerce-content .select2-container .select2-selection--single .select2-selection__rendered { line-height: 44px; }
.ys-commerce-content .select2-container .select2-selection--single .select2-selection__arrow { height: 44px; }
.ys-commerce-content #payment { border-radius: 0 !important; background: var(--ys-commerce-soft) !important; }
.ys-commerce-content #payment ul.payment_methods { padding: 20px 22px !important; border: 0 !important; }
.ys-commerce-content #payment div.payment_box { margin: 14px 0 0 !important; padding: 0 !important; background: transparent !important; color: var(--ys-commerce-muted); }
.ys-commerce-content #payment div.payment_box::before { display: none !important; }
.ys-commerce-content #payment div.form-row { margin: 0 !important; padding: 0 22px 22px !important; }

.ys-commerce-content .cart-empty { padding: 34px !important; background: var(--ys-commerce-soft); text-align: center; }
.ys-commerce-content .return-to-shop,
.ys-commerce-content .woocommerce-form-login-toggle,
.ys-commerce-content .woocommerce-checkout a[href*="/my-account"] { display: none !important; }

/* Order received: make the next action clear without boxing every block. */
.ys-order-next-step {
    margin: 0 0 42px;
    padding: 28px 0 28px 24px;
    border: 0;
    border-left: 4px solid var(--ys-commerce-red);
    background: linear-gradient(90deg, var(--ys-commerce-soft), rgba(247, 247, 245, 0));
}
.ys-order-next-step__eyebrow { margin: 0 0 7px; color: var(--ys-commerce-red); font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.ys-order-next-step h2 { margin: 0 0 10px; font-family: SandvikSansHeadline, Arial, sans-serif; font-size: clamp(26px, 3vw, 36px); font-weight: 400; }
.ys-order-next-step > p:not(.ys-order-next-step__eyebrow) { max-width: 820px; margin: 0; color: var(--ys-commerce-muted); }
.ys-order-next-step ol { display: grid; gap: 8px; max-width: 920px; margin: 20px 0 0; padding-left: 22px; }

.ys-commerce-content .woocommerce-thankyou-order-received {
    margin: 0 0 24px !important;
    padding: 0 0 14px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--ys-commerce-line) !important;
    background: transparent !important;
    color: #166534 !important;
    font-size: 17px;
    font-weight: 700;
}
.ys-commerce-content ul.woocommerce-order-overview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 0 0 42px !important;
    padding: 20px 0 !important;
    border-top: 1px solid var(--ys-commerce-line);
    border-bottom: 1px solid var(--ys-commerce-line);
}
.ys-commerce-content ul.woocommerce-order-overview li {
    min-width: 0;
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 18px !important;
    border: 0 !important;
    border-right: 1px solid var(--ys-commerce-line) !important;
    color: var(--ys-commerce-muted);
    font-size: 12px;
}
.ys-commerce-content ul.woocommerce-order-overview li:first-child { padding-left: 0 !important; }
.ys-commerce-content ul.woocommerce-order-overview li:last-child { border-right: 0 !important; }
.ys-commerce-content ul.woocommerce-order-overview strong { display: block; margin-top: 6px; color: var(--ys-commerce-ink); font-size: 16px; line-height: 1.35; overflow-wrap: anywhere; }
.ys-commerce-content .woocommerce-bacs-bank-details {
    margin: 36px 0 48px;
    padding: 26px 0 0;
    border-top: 2px solid var(--ys-commerce-ink);
}
.ys-commerce-content .woocommerce-bacs-bank-details h2,
.ys-commerce-content .woocommerce-order-details h2,
.ys-commerce-content .woocommerce-customer-details h2 { margin: 0 0 18px; padding: 0 0 14px !important; border: 0 !important; border-bottom: 1px solid var(--ys-commerce-line) !important; background: transparent !important; font-family: SandvikSansHeadline, Arial, sans-serif; font-size: 30px; font-weight: 400; }
.ys-commerce-content .woocommerce-bacs-bank-details h3 { margin: 0 0 16px; font-size: 16px; line-height: 1.45; }
.ys-commerce-content ul.wc-bacs-bank-details {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 0 !important;
    padding: 0 !important;
}
.ys-commerce-content ul.woocommerce-order-overview::before,
.ys-commerce-content ul.woocommerce-order-overview::after,
.ys-commerce-content ul.wc-bacs-bank-details::before,
.ys-commerce-content ul.wc-bacs-bank-details::after {
    display: none !important;
    content: none !important;
}
.ys-commerce-content ul.wc-bacs-bank-details li {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 14px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--ys-commerce-line) !important;
    color: var(--ys-commerce-muted);
    font-size: 12px;
}
.ys-commerce-content ul.wc-bacs-bank-details strong { display: block; margin-top: 6px; color: var(--ys-commerce-ink); font-size: 15px; overflow-wrap: anywhere; }
.ys-commerce-content .woocommerce-order-details { margin: 0 0 46px; }
.ys-commerce-content .woocommerce-customer-details address { padding: 22px 0 0 !important; border: 0 !important; border-top: 2px solid var(--ys-commerce-ink) !important; border-radius: 0 !important; font-style: normal; line-height: 1.75; }

.ys-account-page .ys-commerce-heading { margin-bottom: 36px; }
.ys-account-page.logged-in .woocommerce { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 48px; align-items: start; }
.ys-account-page.logged-in .woocommerce::before,
.ys-account-page.logged-in .woocommerce::after { display: none; }
.ys-account-page .woocommerce-MyAccount-navigation { width: 100% !important; float: none !important; }
.ys-account-page .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; border-top: 1px solid var(--ys-commerce-line); list-style: none; }
.ys-account-page .woocommerce-MyAccount-navigation li { margin: 0; border-bottom: 1px solid var(--ys-commerce-line); }
.ys-account-page .woocommerce-MyAccount-navigation a { display: block; padding: 14px 10px; color: var(--ys-commerce-ink) !important; font-weight: 700; text-decoration: none; }
.ys-account-page .woocommerce-MyAccount-navigation .is-active a { border-left: 4px solid var(--ys-commerce-red); background: var(--ys-commerce-soft); color: var(--ys-commerce-red) !important; }
.ys-account-page .woocommerce-MyAccount-content { width: 100% !important; min-width: 0; float: none !important; }
.ys-account-page .woocommerce-MyAccount-content > :first-child { margin-top: 0; }
.ys-account-page .woocommerce-MyAccount-content h2 { margin-top: 0; font-family: SandvikSansHeadline, Arial, sans-serif; font-size: 32px; font-weight: 400; }
.ys-account-page .woocommerce form.login,
.ys-account-page .woocommerce form.register,
.ys-account-page .woocommerce-ResetPassword { max-width: 560px; margin: 0 !important; padding: 30px !important; border: 1px solid var(--ys-commerce-line) !important; border-radius: 0 !important; background: var(--ys-commerce-soft); }
.ys-account-page .woocommerce form.login .form-row:last-child { margin-bottom: 0 !important; }
.ys-account-page .woocommerce-LostPassword { margin-bottom: 0; }
.ys-account-page .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.ys-account-page .woocommerce-Addresses::before,
.ys-account-page .woocommerce-Addresses::after { display: none; }
.ys-account-page .woocommerce-Address { width: 100% !important; padding: 24px; border: 1px solid var(--ys-commerce-line); float: none !important; }
.ys-account-review-intro { margin: -12px 0 26px; color: var(--ys-commerce-muted); }
.ys-account-review-list { display: grid; gap: 16px; }
.ys-account-review-card { display: grid; grid-template-columns: 108px minmax(0, 1fr); gap: 22px; align-items: center; padding: 18px; border: 1px solid var(--ys-commerce-line); background: #fff; }
.ys-account-review-image { display: block; aspect-ratio: 1; overflow: hidden; background: var(--ys-commerce-soft); }
.ys-account-review-image img { width: 100%; height: 100%; object-fit: cover; }
.ys-account-review-copy h3 { margin: 0 0 8px; font-size: 20px; }
.ys-account-review-copy h3 a { color: var(--ys-commerce-ink) !important; text-decoration: none; }
.ys-review-status { margin: 0 0 12px; color: var(--ys-commerce-muted); font-size: 14px; }
.ys-review-status.is-published { color: #166534; }
.ys-review-status.is-pending { color: #92400e; }
.ys-order-review-links { margin-top: 30px; padding: 26px; background: var(--ys-commerce-soft); }
.ys-order-review-links h2 { margin: 0 0 8px; }
.ys-order-review-links p { margin: 0 0 18px; color: var(--ys-commerce-muted); }
.ys-order-review-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.ys-order-review-actions .button { margin: 0 !important; }

@media (max-width: 900px) {
    .ys-commerce-content form.checkout { grid-template-columns: 1fr; gap: 30px; }
    .ys-commerce-content form.checkout #order_review_heading,
    .ys-commerce-content form.checkout #order_review { grid-column: 1; grid-row: auto; }
    .ys-commerce-content form.checkout #order_review { margin-top: 0; }
    .ys-account-page .woocommerce { grid-template-columns: 1fr; gap: 30px; }
    .ys-account-page .woocommerce-MyAccount-navigation ul { display: flex; overflow-x: auto; border-top: 0; border-bottom: 1px solid var(--ys-commerce-line); scrollbar-width: none; }
    .ys-account-page .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
    .ys-account-page .woocommerce-MyAccount-navigation li { flex: 0 0 auto; border-bottom: 0; }
    .ys-account-page .woocommerce-MyAccount-navigation .is-active a { border-left: 0; border-bottom: 3px solid var(--ys-commerce-red); }
}

@media (max-width: 640px) {
    .ys-commerce-shell { width: min(100% - 28px, 1180px); }
    .ys-commerce-main { padding: 24px 0 68px; }
    .ys-checkout-steps { margin-bottom: 38px; }
    .ys-checkout-steps > * { gap: 5px; padding-inline: 2px; font-size: 11px; }
    .ys-checkout-steps span { width: 21px; height: 21px; font-size: 10px; }
    .ys-commerce-heading { margin-bottom: 32px; }
    .ys-commerce-heading h1 { font-size: 40px; }
    .ys-commerce-content table.shop_table_responsive thead { display: none; }
    .ys-commerce-content table.shop_table_responsive tr { display: block; padding: 15px; border-bottom: 1px solid var(--ys-commerce-line); }
    .ys-commerce-content table.shop_table_responsive td { display: block; padding: 8px 0 !important; border: 0 !important; text-align: right !important; }
    .ys-commerce-content table.shop_table_responsive td::before { float: left; margin-right: 10px; color: var(--ys-commerce-muted); font-weight: 700; }
    .ys-commerce-content table.shop_table_responsive td.product-thumbnail { display: none; }
    .ys-commerce-content table.shop_table_responsive td.product-name { text-align: left !important; }
    .ys-commerce-content table.shop_table_responsive td.actions { text-align: left !important; }
    .ys-commerce-content .coupon { flex-direction: column; }
    .ys-commerce-content .coupon #coupon_code { width: 100% !important; }
    .ys-commerce-content .coupon button { width: 100%; }
    .ys-commerce-content button[name="update_cart"] { width: 100%; margin-top: 8px; }
    .ys-commerce-content .cart_totals { padding: 22px 0 0; }
    .ys-commerce-content form.checkout #order_review { padding: 18px 0 0 !important; }
    .ys-order-next-step { margin-bottom: 32px; padding: 22px 14px 22px 18px; }
    .ys-order-next-step ol { padding-left: 19px; }
    .ys-commerce-content ul.woocommerce-order-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 20px; }
    .ys-commerce-content ul.woocommerce-order-overview li,
    .ys-commerce-content ul.woocommerce-order-overview li:first-child { padding: 0 12px 0 0 !important; border-right: 0 !important; }
    .ys-commerce-content ul.wc-bacs-bank-details { grid-template-columns: 1fr; gap: 12px; }
    .ys-account-page .woocommerce-Addresses { grid-template-columns: 1fr; }
    .ys-account-review-card { grid-template-columns: 82px minmax(0, 1fr); gap: 14px; padding: 14px; }
    .ys-account-review-copy h3 { font-size: 17px; }
}
