/* Shared header: cart and quotation remain separate. */
.sd-cart-link { display: flex; align-items: center; gap: 10px; }
.sd-top-actions { gap: clamp(12px, 1.8vw, 28px); }
.sd-top-actions > a { flex-shrink: 0; white-space: nowrap; }
.sd-top-actions svg { flex: 0 0 24px; }
.sd-commerce-page { background: #f7f9fd; padding-bottom: clamp(36px, 6vw, 72px); }
.sd-commerce-page > .sd-container { max-width: 1320px; }
.sd-commerce-heading { margin: 22px 0 28px; }
.sd-commerce-heading h1 { margin: 5px 0 10px; }
.sd-commerce-heading > p { max-width: 720px; margin: 0; color: var(--muted); line-height: 1.7; }
.sd-commerce-heading .sd-commerce-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--sd-accent-hover); }
.sd-commerce-progress { margin-bottom: 28px; }
.sd-commerce-progress ol { display: flex; flex-wrap: wrap; gap: 14px 32px; padding: 0; margin: 0; list-style: none; }
.sd-commerce-progress li { display: flex; align-items: center; font-size: 14px; color: var(--muted); }
.sd-commerce-progress :is(a, .sd-commerce-step) { display: inline-flex; align-items: center; gap: 10px; }
.sd-commerce-progress :is(a, .sd-commerce-step) > span { display: grid; place-items: center; flex: 0 0 32px; height: 32px; border: 1px solid var(--line); border-radius: 50%; background: #fff; font-size: 13px; font-weight: 650; }
.sd-commerce-progress [aria-current="step"] { font-weight: 650; color: var(--sd-accent-hover); }
.sd-commerce-progress [aria-current="step"] :is(a, .sd-commerce-step) > span { color: #fff; border-color: var(--sd-accent); background: var(--sd-accent); }
.sd-commerce-content { min-width: 0; }
.sd-commerce-is-empty { border: 1px solid var(--line); border-radius: 20px; padding: clamp(24px, 4vw, 48px) 20px; background: #fff; }
.sd-commerce-empty { max-width: 570px; margin: auto; text-align: center; }
.sd-commerce-empty-icon { display: inline-grid; place-items: center; width: 76px; height: 76px; margin-bottom: 10px; color: var(--sd-accent); background: var(--sd-soft); border-radius: 24px; }
.sd-commerce-empty-icon svg { width: 40px; height: 40px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sd-commerce-empty h2 { font-size: clamp(23px, 2.2vw, 29px); margin: 8px 0 12px; }
.sd-commerce-empty p { margin: 0; color: var(--muted); line-height: 1.75; }
.sd-commerce-page .return-to-shop { text-align: center; margin: 24px 0 0; }
.sd-commerce-page .return-to-shop .button { display: inline-block; }
.sd-commerce-help { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 28px; padding: 22px 26px; border: 1px solid var(--line); border-radius: 18px; background: #eef4ff; }
.sd-commerce-help h2 { font-size: 18px; margin: 0 0 7px; }
.sd-commerce-help p { max-width: 760px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.sd-commerce-help > a { flex-shrink: 0; font-size: 14px; font-weight: 650; color: var(--sd-accent-hover); text-decoration: underline; text-underline-offset: 4px; }
.sd-commerce-page .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) { background: #fff; color: var(--ink); border-radius: 10px; border-top-color: var(--sd-accent); }
.sd-commerce-page .woocommerce :is(.woocommerce-message, .woocommerce-info)::before { color: var(--sd-accent); }
.sd-commerce-page .woocommerce table.shop_table { border-collapse: separate; border-spacing: 0; border: 1px solid var(--line); border-radius: 18px; background: #fff; overflow: hidden; }
.sd-commerce-page .woocommerce table.shop_table th { padding: 16px; color: var(--navy); font-size: 14px; background: #f0f5fc; }
.sd-commerce-page .woocommerce table.shop_table td { padding: 18px 16px; border-top: 1px solid var(--line); font-size: 14px; }
.sd-commerce-page .woocommerce table.shop_table :is(th, td) { overflow-wrap: anywhere; }
.sd-commerce-page .woocommerce a.remove { display: inline-grid; place-items: center; min-width: 32px; min-height: 32px; color: #9b3042 !important; background: #fff2f4; font-weight: 400; }
.sd-commerce-page .woocommerce a.remove:hover { color: #fff !important; background: #9b3042; }
.sd-commerce-page .woocommerce .product-thumbnail { width: 96px; }
.sd-commerce-page .woocommerce .product-thumbnail img { display: block; width: 72px; height: 72px; object-fit: contain; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 7px; }
.sd-commerce-page .woocommerce td.product-name a { color: var(--navy); font-weight: 600; line-height: 1.55; }
.sd-commerce-page .woocommerce td.product-name a:hover { color: var(--sd-accent); }
.sd-commerce-page .woocommerce td.product-name dl.variation { margin-top: 8px; }
.sd-commerce-page .woocommerce .quantity input.qty { width: 76px; min-height: 44px; padding: 8px; border: 1px solid #bdcce3; border-radius: 9px; font: inherit; color: var(--ink); background: #fff; }
.sd-commerce-page .woocommerce .cart-collaterals .cart_totals { width: min(100%, 420px); float: right; padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.sd-commerce-page .woocommerce .cart_totals > h2 { margin: 0 0 16px; font-size: 22px; }
.sd-commerce-page .woocommerce .cart_totals table.shop_table { border: 0; border-radius: 0; }
.sd-commerce-page .woocommerce .cart_totals table.shop_table :is(th, td) { background: #fff; padding: 13px 0; }
.sd-commerce-page .woocommerce .cart_totals table.shop_table th { padding-right: 18px; }
.sd-commerce-page .woocommerce .cart_totals .order-total :is(th, td) { color: var(--navy); font-size: 18px; }
.sd-commerce-page .woocommerce .wc-proceed-to-checkout { padding-bottom: 0; }
.sd-commerce-page .woocommerce .wc-proceed-to-checkout a.checkout-button { margin: 0; font-size: 15px; line-height: 1.5; }
.sd-commerce-page .woocommerce .cart-collaterals::after { content: ""; display: table; clear: both; }
.sd-commerce-page .woocommerce table.cart td.actions { padding: 16px; }
.sd-commerce-page .woocommerce table.cart td.actions .coupon #coupon_code { min-height: 44px; width: 165px; border: 1px solid #bdcce3; border-radius: 9px; padding-inline: 12px; }
.sd-commerce-page .woocommerce form .form-row :is(input.input-text, textarea, select) { width: 100%; max-width: 100%; min-height: 46px; border: 1px solid #bdcce3; border-radius: 9px; background: #fff; padding: 11px 12px; color: var(--ink); font: inherit; font-size: 15px; }
.sd-commerce-page .woocommerce form .form-row textarea { min-height: 110px; resize: vertical; }
.sd-commerce-page .woocommerce form .form-row label { margin-bottom: 6px; font-size: 14px; font-weight: 550; color: var(--navy); }
.sd-commerce-page .woocommerce form .form-row { padding: 0; margin-bottom: 18px; }
.sd-commerce-page .woocommerce form .form-row .required { color: #9b3042; text-decoration: none; }
.sd-commerce-page .woocommerce .select2-container .select2-selection--single { min-height: 46px; border: 1px solid #bdcce3; border-radius: 9px; }
.sd-commerce-page .woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 44px; padding-left: 12px; font-size: 15px; }
.sd-commerce-page .woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow { height: 44px; }
.sd-commerce-page .woocommerce form.checkout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(310px, 1fr); gap: 0 32px; align-items: start; }
.sd-commerce-page .woocommerce form.checkout::before, .sd-commerce-page .woocommerce form.checkout::after { display: none; }
.sd-commerce-page .woocommerce #customer_details { grid-column: 1; grid-row: 1 / span 3; width: 100%; min-width: 0; }
.sd-commerce-page .woocommerce #customer_details :is(.col-1, .col-2) { width: 100%; float: none; }
.sd-commerce-page .woocommerce #customer_details > div { background: #fff; padding: 26px; border: 1px solid var(--line); border-radius: 18px; }
.sd-commerce-page .woocommerce #customer_details > .col-2 { margin-top: 22px; }
.sd-commerce-page .woocommerce :is(.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields) h3 { margin: 0 0 22px; font-size: 21px; }
.sd-commerce-page .woocommerce .woocommerce-shipping-fields h3 { font-size: 16px; }
.sd-commerce-page .woocommerce .woocommerce-additional-fields:not(:first-child) { margin-top: 24px; }
.sd-commerce-page .woocommerce #order_review_heading { grid-column: 2; margin: 0; padding: 24px 24px 18px; background: #fff; border: 1px solid var(--line); border-bottom: 0; border-radius: 18px 18px 0 0; font-size: 22px; }
.sd-commerce-page .woocommerce #order_review { grid-column: 2; min-width: 0; padding: 0 24px 24px; background: #fff; border: 1px solid var(--line); border-top: 0; border-radius: 0 0 18px 18px; }
.sd-commerce-page .woocommerce #order_review table.shop_table { border: 0; border-radius: 0; }
.sd-commerce-page .woocommerce #order_review table.shop_table :is(th, td) { background: #fff; padding: 14px 0; }
.sd-commerce-page .woocommerce #order_review table.shop_table :is(th, td):first-child { padding-right: 18px; }
.sd-commerce-page .woocommerce #order_review .product-total, .sd-commerce-page .woocommerce #order_review tfoot td { white-space: nowrap; text-align: right; }
.sd-commerce-page .woocommerce #payment { background: #f4f7fc; border-radius: 12px; }
.sd-commerce-page .woocommerce #payment .payment_box { background: #fff; }
.sd-commerce-page .woocommerce #payment .payment_box::before { border-bottom-color: #fff; }
.sd-commerce-page .woocommerce #payment .place-order { margin-bottom: 0; }
.sd-commerce-page .woocommerce #place_order { width: 100%; white-space: normal; float: none; margin: 14px 0 0; line-height: 1.5; }
.sd-commerce-page .woocommerce .woocommerce-privacy-policy-text { color: var(--muted); font-size: 13px; line-height: 1.7; }
.sd-commerce-page .woocommerce .woocommerce-privacy-policy-text a, .sd-commerce-page .woocommerce .woocommerce-terms-and-conditions-wrapper a { text-decoration: underline; color: var(--sd-accent-hover); }
.sd-commerce-page .sd-checkout-preparation { margin: 16px 0; padding: 14px; background: #eef4ff; border-radius: 10px; color: var(--navy); font-size: 14px; }
.sd-commerce-page .woocommerce :is(.woocommerce-checkout-review-order, .woocommerce-order) { overflow-wrap: anywhere; }
@media (min-width: 783px) and (max-width: 1100px) {
    .sd-js body.admin-bar .sd-site-header .sd-nav nav { top: 32px; height: calc(100dvh - 32px); max-height: calc(100dvh - 32px); }
}
@media (max-width: 782px) {
    .sd-js body.admin-bar .sd-site-header .sd-nav nav { top: 46px; height: calc(100dvh - 46px); max-height: calc(100dvh - 46px); }
}
@media (max-width: 1450px) and (min-width: 761px) {
    .sd-top-actions .sd-account > span { display: none; }
    .sd-top-actions .sd-account { display: flex; }
    .sd-top-row { grid-template-columns: minmax(0, 1.15fr) minmax(210px, 1fr) auto; gap: 16px; }
}
@media (max-width: 980px) {
    .sd-commerce-help { align-items: flex-start; flex-direction: column; gap: 15px; }
    .sd-commerce-page .woocommerce form.checkout { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .sd-commerce-page .woocommerce #customer_details { grid-column: 1; grid-row: auto; margin-bottom: 24px; }
    .sd-commerce-page .woocommerce #order_review_heading, .sd-commerce-page .woocommerce #order_review { grid-column: 1; }
}
@media (max-width: 760px) {
    .sd-top .sd-search { grid-column: 1 / -1; grid-row: 2; }
    .sd-top .sd-top-actions { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); grid-column: 1 / -1; grid-row: 3; gap: 6px; }
    .sd-top-actions > a { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 44px; padding: 4px 0; gap: 7px; }
    .sd-top-actions .sd-account > span { display: block; }
    .sd-top-actions svg { display: block; width: 20px; height: 20px; flex-basis: 20px; }
    .sd-top-actions strong { font-size: 11px; }
    .sd-top-actions small { margin-top: 3px; color: var(--muted); font-size: 10px; }
    .sd-top-row { grid-template-columns: minmax(0,1fr) auto; }
    .sd-commerce-page > .sd-container { padding-inline: 16px; }
    .sd-commerce-heading { margin: 16px 0 22px; }
    .sd-commerce-heading h1 { font-size: 30px; }
    .sd-commerce-heading > p { font-size: 14px; }
    .sd-commerce-progress ol { flex-wrap: nowrap; gap: 10px; justify-content: space-between; }
    .sd-commerce-progress li { font-size: 11px; min-width: 0; }
    .sd-commerce-progress :is(a, .sd-commerce-step) { flex-direction: column; gap: 7px; text-align: center; }
    .sd-commerce-progress :is(a, .sd-commerce-step) > span { width: 30px; flex-basis: 30px; height: 30px; }
    .sd-commerce-is-empty { padding: 28px 18px; }
    .sd-commerce-empty p { font-size: 14px; }
    .sd-commerce-help { padding: 20px; }
    .sd-commerce-page .woocommerce .cart-collaterals .cart_totals { float: none; width: 100%; padding: 20px; }
    .sd-commerce-page .woocommerce table.shop_table_responsive tr { padding: 14px; border-top: 1px solid var(--line); }
    .sd-commerce-page .woocommerce table.shop_table_responsive tr:first-child { border-top: 0; }
    .sd-commerce-page .woocommerce table.shop_table_responsive tr :is(td, th) { background: #fff; }
    .sd-commerce-page .woocommerce table.cart tr.cart_item td { padding: 10px 0; border-top: 0; }
    .sd-commerce-page .woocommerce table.cart td.product-thumbnail { display: block; width: 100%; padding: 0 0 10px; }
    .sd-commerce-page .woocommerce table.cart td.product-thumbnail::before, .sd-commerce-page .woocommerce table.cart td.product-remove::before { display: none; }
    .sd-commerce-page .woocommerce table.cart td.product-thumbnail img { margin-left: auto; width: 80px; height: 80px; }
    .sd-commerce-page .woocommerce table.cart td.product-name { text-align: left !important; }
    .sd-commerce-page .woocommerce table.cart td.product-name::before { content: none; }
    .sd-commerce-page .woocommerce table.cart td.actions .coupon { display: flex; gap: 8px; width: 100%; }
    .sd-commerce-page .woocommerce table.cart td.actions .coupon #coupon_code { min-width: 0; width: 50%; }
    .sd-commerce-page .woocommerce table.cart td.actions .coupon button { width: 50%; white-space: normal; }
    .sd-commerce-page .woocommerce .cart_totals table.shop_table_responsive tr { padding: 0; }
    .sd-commerce-page .woocommerce #customer_details > div { padding: 20px; }
    .sd-commerce-page .woocommerce #order_review_heading { padding: 20px 20px 16px; }
    .sd-commerce-page .woocommerce #order_review { padding: 0 20px 20px; }
    .sd-commerce-page .woocommerce form.checkout .form-row-first, .sd-commerce-page .woocommerce form.checkout .form-row-last { width: 100%; float: none; }
    .sd-commerce-page .woocommerce #payment div.form-row { padding: 14px; }
}
