/*
 * Commerce owns its complete token set. Checkout deliberately does not load
 * the legacy theme bundle, so every variable used below must resolve here.
 */
:root {
    --biom-ink: var(--ink, #163842);
    --biom-ink-soft: var(--ink-soft, #47636a);
    --biom-muted: #668087;
    --biom-white: #fff;
    --biom-teal-050: var(--aqua-50, #eff8f6);
    --biom-teal-100: var(--aqua-100, #e2f3ef);
    --biom-green-700: var(--green-deep, #2d644b);
    --biom-accent: var(--turquoise, #2f9d98);
    --biom-accent-dark: var(--blue-deep, #0f5268);
    --biom-line: var(--line, #cfe0de);
    --biom-line-strong: var(--line-strong, #a9c8c4);
    --biom-container: var(--container, 1280px);
    --biom-gutter: clamp(20px, 4vw, 48px);
    --biom-radius: 18px;
}

.biom-container {
    width: min(var(--biom-container), calc(100% - (2 * var(--biom-gutter))));
    margin-inline: auto;
}

.biom-commerce-hero {
    padding: 52px 0 48px;
    border-bottom: 1px solid var(--biom-line);
    background: var(--biom-teal-100);
}

.biom-commerce-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.72fr) minmax(520px, 1.28fr);
    gap: 58px;
    align-items: end;
}

.biom-commerce-hero__copy {
    max-width: 520px;
}

.biom-commerce-hero .biom-kicker {
    margin: 0 0 12px;
    color: var(--biom-green-700);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.biom-commerce-hero h1 {
    margin: 0;
    color: var(--biom-ink);
    font-size: clamp(48px, 5vw, 72px);
    line-height: 0.98;
    letter-spacing: 0;
}

.biom-commerce-hero__copy > p:last-child {
    max-width: 500px;
    margin: 20px 0 0;
    color: var(--biom-ink-soft);
    font-size: 18px;
    line-height: 1.55;
}

.biom-order-steps {
    margin: 0;
}

.biom-order-steps ol {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--biom-line-strong);
    border-bottom: 1px solid var(--biom-line-strong);
    list-style: none;
}

.biom-order-step {
    display: grid;
    min-height: 92px;
    align-content: center;
    gap: 6px;
    padding: 16px 18px;
    border: 0;
    border-right: 1px solid var(--biom-line-strong);
    border-radius: 0;
    background: transparent;
    color: var(--biom-ink-soft);
}

.biom-order-step:last-child {
    border-right: 0;
}

.biom-order-step span {
    color: var(--biom-accent-dark);
    font-size: 12px;
    font-weight: 800;
}

.biom-order-step strong {
    font-size: 16px;
}

.biom-order-step.is-active {
    border-bottom: 3px solid var(--biom-accent);
    background: rgba(255, 255, 255, 0.7);
    color: var(--biom-ink);
}

.biom-cart-page .biom-main > .biom-container,
.biom-checkout-page .biom-main > .biom-container {
    width: 100%;
    max-width: none;
}

.biom-cart-page .biom-page-content > .biom-content,
.biom-checkout-page .biom-page-content > .biom-content {
    width: min(var(--biom-container), calc(100% - (2 * var(--biom-gutter))));
    max-width: none;
    margin: 0 auto;
    padding: 62px 0 70px;
}

.biom-cart-page .woocommerce {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(310px, 0.4fr);
    gap: 28px 36px;
    align-items: start;
}

.biom-cart-page .woocommerce-notices-wrapper,
.biom-cart-page .woocommerce > .woocommerce-message,
.biom-cart-page .woocommerce > .woocommerce-info,
.biom-cart-page .woocommerce > .woocommerce-error {
    grid-column: 1 / -1;
}

.biom-cart-page .woocommerce-cart-form {
    grid-column: 1;
    min-width: 0;
    overflow: hidden;
}

.biom-cart-page .cart-collaterals {
    display: block;
    grid-column: 2;
    min-width: 0;
}

/* Cart is a checkout control point, not a recommendation feed. Woo may inject
 * cross-sells into cart-collaterals; keep the accepted N1 purchase path clean. */
.biom-cart-page .cart-collaterals > .cross-sells {
    display: none;
}

.biom-cart-page .biom-commerce-trust {
    grid-column: 1 / -1;
}

.biom-cart-list-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 18px;
    padding: 22px 24px 0;
    border: 1px solid var(--biom-line);
    border-bottom: 0;
    border-radius: var(--biom-radius) var(--biom-radius) 0 0;
    background: var(--biom-white);
}

.biom-cart-list-heading h2 {
    margin: 0;
    color: var(--biom-ink);
    font-size: 28px;
}

.biom-cart-list-heading span {
    color: var(--biom-muted);
    font-size: 14px;
}

.biom-cart-page table.shop_table {
    margin: 0;
    border-radius: 0 0 var(--biom-radius) var(--biom-radius);
}

.biom-cart-page .woocommerce-info::before,
.biom-cart-page .woocommerce-message::before,
.biom-cart-page .woocommerce-error::before {
    display: none;
}

.biom-cart-page .woocommerce-info,
.biom-cart-page .woocommerce-message,
.biom-cart-page .woocommerce-error {
    padding: 18px 20px;
    border: 1px solid var(--biom-line);
    border-left: 4px solid var(--biom-accent);
    border-radius: var(--biom-radius);
    color: var(--biom-ink-soft);
    background: var(--biom-white);
}

.biom-cart-page .woocommerce-message .button {
    display: none;
}

.biom-cart-page td.product-price,
.biom-cart-page td.product-subtotal {
    min-width: 92px;
    white-space: nowrap;
}

.biom-cart-page td.product-thumbnail {
    width: 112px;
}

.biom-cart-page td.product-thumbnail img {
    width: 96px !important;
    max-width: 96px;
}

.biom-cart-page .actions button[name="update_cart"]:disabled {
    opacity: 1;
    color: var(--biom-ink-soft);
    background: var(--biom-teal-100);
}

.biom-quantity-stepper {
    display: grid;
    grid-template-columns: 44px 56px 44px;
    width: max-content;
    border: 1px solid var(--biom-line-strong);
    border-radius: 4px;
    overflow: hidden;
}

.biom-cart-page .quantity .biom-quantity-stepper input.qty {
    width: 56px;
    min-height: 44px;
    padding: 0 6px;
    border: 0;
    border-inline: 1px solid var(--biom-line);
    border-radius: 0;
}

.biom-quantity-stepper__button {
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    border: 0;
    background: var(--biom-white);
    color: var(--biom-ink);
    font-size: 20px;
}

.biom-quantity-stepper__button:hover,
.biom-quantity-stepper__button:focus-visible {
    background: var(--biom-teal-050);
}

.biom-cart-page .cart-collaterals .cart_totals {
    position: sticky;
    top: 108px;
    width: 100%;
    max-width: none;
    min-width: 0;
}

/* Shipping options need the full totals width, including on desktop. */
.biom-cart-page .cart_totals table.shop_table,
.biom-cart-page .cart_totals table.shop_table tbody {
    display: block;
    width: 100%;
}

.biom-cart-page .cart_totals table.shop_table tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    column-gap: 16px;
}

.biom-cart-page .cart_totals table.shop_table th,
.biom-cart-page .cart_totals table.shop_table td {
    display: block;
    width: auto;
    min-width: 0;
}

.biom-cart-page .cart_totals table.shop_table td::before {
    display: none;
}

.biom-cart-page .cart_totals table.shop_table tr.woocommerce-shipping-totals {
    grid-template-columns: minmax(0, 1fr);
}

.biom-cart-page .cart_totals table.shop_table tr.woocommerce-shipping-totals th,
.biom-cart-page .cart_totals table.shop_table tr.woocommerce-shipping-totals td {
    width: 100%;
    text-align: left !important;
}

.biom-cart-page .cart_totals .woocommerce-shipping-totals th {
    padding-bottom: 4px;
    border-bottom: 0;
}

.biom-cart-page .cart_totals .woocommerce-shipping-totals td { padding-top: 6px; }
.biom-cart-page .cart_totals .woocommerce-shipping-totals ul#shipping_method li {
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: start;
    text-align: left;
}

.biom-cart-page .cart_totals .woocommerce-shipping-totals ul#shipping_method li > input[type="hidden"] + label {
    grid-column: 1 / -1;
}

.biom-cart-page .cart_totals .woocommerce-shipping-totals ul#shipping_method input { margin: 4px 0 0; }
.biom-cart-page .cart_totals .woocommerce-shipping-totals ul#shipping_method label { min-width: 0; text-align: left; }

.biom-pickup-description {
    grid-column: 1 / -1;
    margin: .5rem 0 0;
    font-size: .875rem;
    line-height: 1.5;
    font-weight: 400;
    font-style: normal;
    text-align: left;
}

.biom-cart-page .wc-proceed-to-checkout {
    display: grid;
    gap: 10px;
}

.biom-cart-page .wc-proceed-to-checkout a.checkout-button,
.biom-cart-page .wc-proceed-to-checkout .biom-cart-continue-shopping {
    display: grid;
    min-height: 52px;
    place-items: center;
    margin: 0;
    padding: 12px 18px;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 800;
    text-align: center;
}

.biom-cart-page .wc-proceed-to-checkout .biom-cart-continue-shopping {
    border: 1px solid var(--biom-line-strong);
    color: var(--biom-ink);
    background: var(--biom-white);
}

.biom-cart-page .cart-empty {
    grid-column: 1 / -1;
    margin: 0;
    padding: 34px;
    text-align: center;
}

.biom-cart-page .return-to-shop {
    grid-column: 1 / -1;
    margin: 0;
    text-align: center;
}

.biom-cart-page .return-to-shop .button {
    min-height: 48px;
    padding: 12px 22px;
    border-radius: 4px;
    color: var(--biom-white);
    background: var(--biom-accent-dark);
}

/* Checkout B — native Woo fields inside the accepted order-passport composition. */
.biom-checkout-page:not(.biom-order-received-page) .biom-commerce-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 78% 18%, rgba(125, 211, 205, 0.28), transparent 28%),
        radial-gradient(circle at 8% 78%, rgba(186, 211, 169, 0.25), transparent 24%),
        linear-gradient(135deg, #f8f5eb 0%, #eef7f1 48%, #f7f4e9 100%);
}

.biom-checkout-page {
    background:
        radial-gradient(circle at 88% 28%, rgba(108, 196, 187, .13), transparent 25%),
        linear-gradient(180deg, #f8f6ee 0%, #f3f7f1 55%, #fbfaf5 100%);
}

.biom-checkout-page:not(.biom-order-received-page) .biom-commerce-hero {
    padding-block: 42px 38px;
}

.biom-checkout-page:not(.biom-order-received-page) .biom-commerce-hero h1 {
    max-width: 660px;
    font-size: clamp(48px, 5vw, 68px);
}

.biom-checkout-page:not(.biom-order-received-page) .biom-page-content > .biom-content {
    padding-top: 38px;
}

.biom-checkout-page:not(.biom-order-received-page) .biom-page-content > .biom-content > .woocommerce {
    position: relative;
}

.biom-checkout-page:not(.biom-order-received-page) .woocommerce-message {
    display: none;
}

.biom-checkout-page:not(.biom-order-received-page) .woocommerce-info,
.biom-checkout-page:not(.biom-order-received-page) .woocommerce-error,
.biom-checkout-page:not(.biom-order-received-page) .woocommerce-NoticeGroup-checkout {
    margin: 0 0 20px;
    padding: 15px 18px 15px 48px;
    border: 1px solid rgba(8, 76, 82, .16);
    border-radius: 14px;
    color: var(--biom-ink-soft);
    background: rgba(255, 255, 255, .84);
    box-shadow: 0 16px 42px rgba(4, 70, 75, .05);
}

.biom-checkout-page:not(.biom-order-received-page) .woocommerce-form-coupon-toggle .woocommerce-info {
    width: 100%;
    margin: 0 0 18px;
    border: 0;
    background: transparent;
    box-shadow: none;
    font-size: 14px;
}

.biom-checkout-page:not(.biom-order-received-page) .woocommerce-form-login-toggle,
.biom-checkout-page:not(.biom-order-received-page) .woocommerce-form-coupon-toggle,
.biom-checkout-page:not(.biom-order-received-page) form.checkout_coupon {
    width: min(var(--biom-container), calc(100% - (2 * var(--biom-gutter))));
    margin-inline: auto;
}

.biom-checkout-passport {
    display: grid;
    grid-template-columns: auto minmax(180px, .6fr) minmax(0, 1.4fr);
    gap: 14px 24px;
    align-items: center;
    margin: 0 0 28px;
    padding: 20px 24px;
    border: 1px solid rgba(8, 76, 82, .18);
    border-radius: 18px;
    background:
        linear-gradient(115deg, rgba(255,255,255,.94), rgba(225,244,239,.82)),
        repeating-linear-gradient(90deg, transparent 0 42px, rgba(9,102,107,.03) 42px 43px);
    box-shadow: 0 20px 56px rgba(5, 68, 73, .07);
}

.biom-checkout-passport > span {
    padding: 7px 11px;
    border-radius: 999px;
    color: #fff;
    background: #0b676d;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.biom-checkout-passport strong { color: var(--biom-ink); font-size: 18px; }
.biom-checkout-passport p { margin: 0; color: var(--biom-ink-soft); line-height: 1.55; }

.biom-checkout-assurance {
    position: relative;
    display: grid;
    grid-template-columns: minmax(220px, .52fr) minmax(0, 1.48fr);
    gap: 28px 44px;
    align-items: end;
    width: 100%;
    max-width: 1180px;
    margin: 28px auto 0;
    padding: 28px 32px 30px;
    border: 1px solid rgba(8, 76, 82, .16);
    border-radius: 24px;
    overflow: hidden;
    background:
        radial-gradient(circle at 92% 12%, rgba(86, 190, 184, .18), transparent 32%),
        linear-gradient(118deg, rgba(250, 248, 239, .96), rgba(226, 242, 235, .92));
    box-shadow: 0 24px 68px rgba(4, 70, 75, .08);
}

.biom-checkout-assurance::after {
    position: absolute;
    right: -72px;
    bottom: -120px;
    width: 260px;
    aspect-ratio: 1;
    border: 1px solid rgba(8, 112, 120, .12);
    border-radius: 50%;
    content: "";
}

.biom-checkout-assurance__heading,
.biom-checkout-assurance > p {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.biom-checkout-assurance h2 {
    margin: 0;
    color: var(--biom-ink);
    font-size: clamp(26px, 2.5vw, 34px);
    line-height: 1.12;
}

.biom-checkout-assurance > p {
    max-width: 720px;
    margin: 0;
    color: var(--biom-ink-soft);
    font-size: 16px;
    line-height: 1.65;
}

.biom-checkout-page .biom-page-content > .biom-content .biom-kicker {
    margin: 0 0 8px;
    color: #087078;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    line-height: 1.35;
    text-transform: uppercase;
}

.biom-checkout-page form.checkout {
    display: grid;
    grid-template-columns: minmax(0, 1.16fr) minmax(330px, .84fr);
    gap: 0 34px;
    align-items: start;
    max-width: 1180px;
    margin-inline: auto;
    padding: 1px;
    border: 1px solid rgba(8, 76, 82, .16);
    border-radius: 26px;
    overflow: clip;
    background: rgba(255,255,255,.72);
    box-shadow: 0 28px 84px rgba(4, 70, 75, .1);
}

.biom-checkout-page form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; }
.biom-checkout-page #customer_details {
    grid-column: 1;
    grid-row: 2 / span 2;
    display: block;
    position: relative;
    padding: 34px 34px 38px;
    border: 0;
    border-right: 1px solid rgba(8, 76, 82, .14);
    border-radius: 25px 0 0 25px;
    background:
        radial-gradient(circle at 8% 5%, rgba(196, 223, 187, .18), transparent 27%),
        rgba(255,255,255,.91);
    box-shadow: none;
}

.biom-checkout-page #customer_details::before {
    display: block;
    margin-bottom: 8px;
    color: #087078;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
    content: "01 / Контакты и получение";
}

.biom-checkout-page #customer_details .col-1,
.biom-checkout-page #customer_details .col-2 {
    float: none;
    width: 100%;
}

.biom-checkout-page .woocommerce-shipping-fields {
    display: none;
}

.biom-checkout-page .woocommerce-additional-fields {
    margin-top: 30px;
    padding-top: 28px;
    border-top: 1px solid rgba(8, 76, 82, .14);
}

.biom-checkout-page #order_review_heading,
.biom-checkout-page #order_review {
    grid-column: 2;
}

.biom-checkout-page #order_review_heading {
    grid-row: 2;
    margin: 0;
    padding: 30px 30px 16px;
    border: 0;
    border-bottom: 0;
    border-radius: 0 25px 0 0;
    background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(234,247,241,.92));
    font-size: clamp(25px, 3vw, 34px);
}

.biom-checkout-page #order_review {
    grid-row: 3;
    position: sticky;
    top: 90px;
    padding: 0 30px 30px;
    border: 0;
    border-radius: 0 0 25px 0;
    background:
        linear-gradient(180deg, rgba(255,255,255,.97), rgba(242,248,242,.96));
    box-shadow: none;
}

.biom-checkout-page #order_review_heading::before {
    display: block;
    margin-bottom: 8px;
    color: #087078;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
    content: "02 / Ваш заказ";
}

.biom-checkout-page #customer_details h3,
.biom-checkout-page .woocommerce-additional-fields h3 {
    margin: 0 0 22px;
    color: var(--biom-ink);
    font-size: clamp(26px, 3vw, 36px);
}

.biom-checkout-page .woocommerce-billing-fields__field-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 18px;
}

.biom-checkout-page .woocommerce-billing-fields__field-wrapper .form-row {
    float: none;
    width: 100%;
    margin: 0;
}

.biom-checkout-page .woocommerce-billing-fields__field-wrapper .form-row-wide,
.biom-checkout-page #billing_address_1_field {
    grid-column: 1 / -1;
}

.biom-checkout-page #billing_phone_field,
.biom-checkout-page #billing_email_field,
.biom-checkout-page #billing_city_field,
.biom-checkout-page #billing_state_field {
    grid-column: auto;
}

.biom-checkout-page #billing_postcode_field {
    grid-column: 1 / -1;
}

.biom-checkout-page #billing_country_field {
    display: none;
}

.biom-checkout-page .form-row label {
    display: block;
    margin-bottom: 7px;
    color: var(--biom-ink);
    font-size: 13px;
    font-weight: 720;
}
.biom-checkout-page .form-row input.input-text,
.biom-checkout-page .form-row textarea,
.biom-checkout-page .select2-container .select2-selection--single {
    width: 100%;
    min-height: 54px;
    padding: 13px 15px;
    border: 1px solid rgba(8, 76, 82, .24);
    border-radius: 10px;
    background: rgba(251, 250, 245, .96);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}

.biom-checkout-page .form-row input.input-text:focus,
.biom-checkout-page .form-row textarea:focus,
.biom-checkout-page .select2-container--focus .select2-selection--single {
    border-color: #087078;
    outline: 3px solid rgba(8, 112, 120, .11);
}

.biom-checkout-page .form-row textarea { min-height: 112px; padding: 14px; }
.biom-checkout-page table.shop_table { border: 0; }
.biom-checkout-page table.shop_table th,
.biom-checkout-page table.shop_table td {
    padding: 15px 0;
    border-bottom: 1px solid rgba(8, 76, 82, .12);
    background: transparent;
}
.biom-checkout-page table.shop_table th:last-child,
.biom-checkout-page table.shop_table td:last-child { text-align: right; }
.biom-checkout-page table.shop_table thead th {
    color: var(--biom-muted);
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.biom-checkout-page table.shop_table tfoot tr:last-child th,
.biom-checkout-page table.shop_table tfoot tr:last-child td {
    padding-top: 20px;
    border-bottom: 0;
    color: var(--biom-ink);
    font-size: 20px;
}
/* Delivery details use the full order-summary width on every screen. */
.biom-checkout-page table.shop_table { display: block; width: 100%; }
.biom-checkout-page table.shop_table thead,
.biom-checkout-page table.shop_table tbody,
.biom-checkout-page table.shop_table tfoot { display: block; width: 100%; }
.biom-checkout-page table.shop_table tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    column-gap: 16px;
}
.biom-checkout-page table.shop_table th,
.biom-checkout-page table.shop_table td { min-width: 0; }
.biom-checkout-page table.shop_table tr.woocommerce-shipping-totals {
    grid-template-columns: minmax(0, 1fr);
}
.biom-checkout-page table.shop_table tr.woocommerce-shipping-totals th,
.biom-checkout-page table.shop_table tr.woocommerce-shipping-totals td {
    display: block;
    width: 100%;
    text-align: left;
}
.biom-checkout-page table.shop_table tr.woocommerce-shipping-totals th {
    padding-bottom: 4px;
    border-bottom: 0;
}
.biom-checkout-page table.shop_table tr.woocommerce-shipping-totals td { padding-top: 6px; }
.biom-checkout-page .woocommerce-shipping-totals ul#shipping_method li {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    margin: 0 0 12px;
}
.biom-checkout-page .woocommerce-shipping-totals ul#shipping_method li > input[type="hidden"] + label {
    grid-column: 1 / -1;
}
.biom-checkout-page .woocommerce-shipping-totals ul#shipping_method input { margin: 6px 0 0; }
.biom-checkout-page .woocommerce-shipping-totals ul#shipping_method label { text-align: left; }
.biom-checkout-product {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    color: var(--biom-ink);
    line-height: 1.35;
}
.biom-checkout-product img {
    width: 64px;
    height: 76px;
    margin: 0;
    border-radius: 12px;
    object-fit: contain;
    background: linear-gradient(145deg, #edf5ee, #faf8ef);
}
.biom-checkout-page #payment {
    margin-top: 22px;
    border-radius: 18px;
    background: linear-gradient(145deg, #edf7f3, #f7f4e9);
}

.biom-checkout-page #payment .woocommerce-info {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    font-size: 14px;
    line-height: 1.55;
}

.biom-checkout-page #payment .woocommerce-info::before {
    display: none;
}

.biom-checkout-consents {
    margin: 24px 0 0;
    padding: 20px 0 0;
    border: 0;
    border-top: 1px solid rgba(8, 76, 82, .14);
    border-radius: 0;
    background: transparent;
}

.biom-checkout-page .woocommerce-checkout-payment ul.payment_methods {
    margin: 0;
    padding: 18px 20px 8px;
    border: 0;
    list-style: none;
}

.biom-checkout-page .woocommerce-checkout-payment .place-order {
    margin: 0;
    padding: 0 20px 20px;
}

.biom-checkout-consents h3 { margin: 4px 0 14px; color: var(--biom-ink); font-size: 21px; }
.biom-checkout-consents .biom-consent-field { margin: 0; padding: 11px 0; border-top: 1px solid rgba(8, 76, 82, .1); }
/* Woo labels contain text and inline links rather than a single text wrapper. */
.biom-checkout-page form.checkout .biom-consent-field label.checkbox {
    position: relative;
    display: block;
    min-height: 22px;
    padding-left: 32px;
    line-height: 1.55;
}
.biom-checkout-page form.checkout .biom-consent-field input[type="checkbox"] {
    position: absolute;
    top: 1px;
    left: 0;
    width: 20px;
    height: 20px;
    margin: 0;
    accent-color: #087078;
}
.biom-checkout-consents a { color: #075f67; text-decoration: underline; text-underline-offset: 3px; }
.biom-checkout-consents > small { display: block; margin-top: 12px; color: var(--biom-muted); }
.biom-checkout-page #place_order { width: 100%; min-height: 58px; border: 0; border-radius: 10px; color: #fff; background: linear-gradient(135deg, #064b54, #00868c); box-shadow: 0 16px 34px rgba(3, 83, 91, .2); font-weight: 750; }
.biom-checkout-page #place_order:hover,
.biom-checkout-page #place_order:focus-visible { transform: translateY(-1px); background: linear-gradient(135deg, #063e47, #00767d); }

/* Confirmation B — real order data and status inside a private endpoint. */
.biom-order-received-page .biom-commerce-hero {
    padding-block: 58px;
    border: 0;
    color: #fff;
    background:
        radial-gradient(circle at 76% 12%, rgba(99, 210, 210, .32), transparent 34%),
        radial-gradient(circle at 14% 86%, rgba(194, 218, 160, .18), transparent 24%),
        linear-gradient(135deg, #063d46, #075964 56%, #08737b);
}

.biom-order-received-page .biom-commerce-hero h1,
.biom-order-received-page .biom-commerce-hero .biom-kicker,
.biom-order-received-page .biom-commerce-hero__copy > p:last-child { color: #fff; }
.biom-order-received-page .biom-order-steps ol { border-color: rgba(255,255,255,.28); }
.biom-order-received-page .biom-order-step { color: rgba(255,255,255,.72); border-color: rgba(255,255,255,.24); }
.biom-order-received-page .biom-order-step span { color: #a6e5dd; }
.biom-order-received-page .biom-order-step.is-active { color: #fff; border-bottom-color: #d6ebc3; background: rgba(255,255,255,.1); }
.biom-order-received-page .woocommerce-order-overview { display: none; }
.biom-order-received-page table.shop_table .woocommerce-Price-amount { white-space: nowrap; }

.biom-order-received-page .biom-page-content > .biom-content {
    position: relative;
    padding-top: 42px;
}

.biom-order-received-page .woocommerce-order > p:first-child,
.biom-order-received-page .woocommerce-notice--success {
    display: none;
}

.biom-order-received-page .woocommerce-order-details,
.biom-order-received-page .woocommerce-customer-details {
    margin-top: 28px;
    padding: 30px;
    border: 1px solid rgba(5, 71, 77, .14);
    border-radius: 24px;
    background: rgba(255,255,255,.9);
    box-shadow: 0 22px 64px rgba(4, 57, 64, .08);
}

.biom-order-received-page .woocommerce-order {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
    gap: 28px;
    align-items: start;
    min-width: 0;
}

.biom-order-received-page .biom-confirmation-passport,
.biom-order-received-page .woocommerce-order-details,
.biom-order-received-page .woocommerce-customer-details {
    grid-column: 1;
}

.biom-order-received-page .biom-confirmation-route {
    grid-column: 2;
    grid-row: 1 / span 3;
    position: sticky;
    top: 96px;
}

.biom-order-received-page .biom-confirmation-pay {
    grid-column: 1 / -1;
}

.biom-confirmation-passport {
    position: relative;
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
    margin: -22px 0 28px;
    padding: 34px;
    border: 1px solid rgba(5, 71, 77, .16);
    border-radius: 28px;
    background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(236,247,241,.94));
    box-shadow: 0 28px 90px rgba(4, 57, 64, .14);
}

.biom-confirmation-passport__seal {
    display: grid;
    width: 104px;
    aspect-ratio: 1;
    place-items: center;
    border: 1px solid rgba(5, 87, 93, .48);
    border-radius: 50%;
    color: #075b63;
    background: radial-gradient(circle, rgba(126,210,199,.26), rgba(255,255,255,.7) 68%);
    box-shadow: inset 0 0 0 8px rgba(255,255,255,.65);
}
.biom-confirmation-passport__seal span { font-size: 15px; font-weight: 800; letter-spacing: .18em; }
.biom-confirmation-passport > div:nth-child(2),
.biom-confirmation-passport dl,
.biom-confirmation-passport dd {
    min-width: 0;
}
.biom-confirmation-passport dd {
    overflow-wrap: anywhere;
}
.biom-confirmation-passport h2 { margin: 4px 0 12px; color: var(--biom-ink); font-size: clamp(31px, 3.6vw, 44px); }
.biom-confirmation-passport p { margin: 0; color: var(--biom-ink-soft); font-size: 18px; }
.biom-confirmation-passport dl {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    min-width: 0;
    margin: 0;
}
.biom-confirmation-passport dl > div { padding: 12px 0; border-bottom: 1px solid rgba(5, 71, 77, .14); }
.biom-confirmation-passport dt { color: var(--biom-muted); font-size: 13px; }
.biom-confirmation-passport dd { margin: 4px 0 0; color: var(--biom-ink); font-size: 20px; font-weight: 750; }

.biom-confirmation-route {
    padding: 34px;
    border: 1px solid rgba(5, 71, 77, .15);
    border-radius: 28px;
    background: #fff;
}
.biom-confirmation-route h2 { margin: 6px 0 28px; color: var(--biom-ink); font-size: clamp(30px, 4vw, 44px); }
.biom-confirmation-route ol { display: grid; margin: 0; padding: 0; list-style: none; }
.biom-confirmation-route li { position: relative; display: grid; grid-template-columns: 50px 1fr; gap: 18px; min-height: 104px; padding-bottom: 22px; }
.biom-confirmation-route li:not(:last-child)::after { position: absolute; top: 46px; bottom: 0; left: 22px; width: 1px; background: rgba(5, 89, 96, .26); content: ""; }
.biom-confirmation-route li > span { display: grid; width: 46px; height: 46px; place-items: center; border: 1px solid rgba(5, 89, 96, .3); border-radius: 50%; color: #075b63; background: #f7f8f2; font-weight: 750; }
.biom-confirmation-route li.is-current > span { color: #fff; background: #075b63; }
.biom-confirmation-route strong { color: var(--biom-ink); font-size: 19px; }
.biom-confirmation-route p { margin: 6px 0 0; color: var(--biom-ink-soft); }
.biom-confirmation-invalid { padding: 32px; border: 1px solid rgba(5,71,77,.16); border-radius: 22px; background: #fff; }
.biom-confirmation-pay .button { min-height: 52px; padding: 14px 24px; border-radius: 9px; color: #fff; background: #075b63; }

@media (max-width: 1120px) {
    .biom-commerce-hero__inner {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .biom-cart-page .woocommerce {
        grid-template-columns: 1fr;
    }

    .biom-cart-page .woocommerce-cart-form,
    .biom-cart-page .cart-collaterals,
    .biom-cart-page .biom-commerce-trust {
        grid-column: 1;
    }

    .biom-cart-page .cart-collaterals .cart_totals {
        position: static;
    }

    .biom-checkout-page form.checkout { grid-template-columns: 1fr; overflow: visible; }
    .biom-checkout-page #customer_details,
    .biom-checkout-page #order_review_heading,
    .biom-checkout-page #order_review { grid-column: 1; grid-row: auto; position: static; }
    .biom-checkout-page #customer_details { border-right: 0; border-bottom: 1px solid rgba(8, 76, 82, .14); border-radius: 25px 25px 0 0; }
    .biom-checkout-page #order_review_heading { border-radius: 0; }
    .biom-checkout-page #order_review { border-radius: 0 0 25px 25px; }
    .biom-checkout-page #order_review_heading { margin-top: 28px; }
    .biom-confirmation-passport { grid-template-columns: 104px minmax(0, 1fr); }
    .biom-order-received-page .woocommerce-order { grid-template-columns: 1fr; }
    .biom-order-received-page .biom-confirmation-passport,
    .biom-order-received-page .biom-confirmation-route,
    .biom-order-received-page .woocommerce-order-details,
    .biom-order-received-page .woocommerce-customer-details { grid-column: 1; grid-row: auto; position: static; }

    .biom-cart-page table.shop_table_responsive tr td.product-thumbnail {
        display: block !important;
        padding: 14px 16px;
        text-align: left !important;
    }

    .biom-cart-page table.shop_table_responsive tr td.product-thumbnail::before {
        display: none;
    }
}

@media (max-width: 600px) {
    .biom-commerce-hero {
        padding: 26px 0 24px;
    }

    .biom-commerce-hero__inner {
        gap: 20px;
    }

    .biom-commerce-hero h1 {
        font-size: 40px;
    }

    .biom-commerce-hero__copy > p:last-child {
        font-size: 16px;
    }

    .biom-order-step {
        min-height: 66px;
        padding: 10px 7px;
    }

    .biom-order-step strong {
        font-size: 13px;
    }

    .biom-cart-page .biom-page-content > .biom-content,
    .biom-checkout-page .biom-page-content > .biom-content {
        width: calc(100% - 40px);
        padding: 34px 0 50px;
    }

    .biom-cart-list-heading {
        padding: 18px 16px 0;
    }

    .biom-cart-page table.shop_table_responsive tr td.product-thumbnail img {
        width: 76px !important;
        max-width: 76px;
    }

    .biom-cart-page .biom-commerce-trust {
        grid-template-columns: 1fr;
    }

    .biom-checkout-passport { grid-template-columns: auto 1fr; gap: 10px 12px; padding: 16px; }
    .biom-checkout-passport > span { width: max-content; }
    .biom-checkout-passport strong { font-size: 16px; }
    .biom-checkout-passport p { grid-column: 1 / -1; font-size: 14px; }
    .biom-checkout-assurance {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-top: 20px;
        padding: 24px 20px 26px;
        border-radius: 20px;
    }
    .biom-checkout-assurance > p { font-size: 16px; }
    .biom-checkout-page #customer_details { padding: 20px; border-radius: 18px; }
    .biom-checkout-page .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr; gap: 14px; }
    .biom-checkout-page .woocommerce-billing-fields__field-wrapper .form-row { grid-column: 1; }
    .biom-checkout-page #order_review_heading { padding: 22px 20px 14px; border-radius: 18px 18px 0 0; }
    .biom-checkout-page #order_review { padding: 0 20px 20px; border-radius: 0 0 18px 18px; }
    .biom-checkout-product { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .biom-checkout-product img { width: 48px; height: 56px; border-radius: 9px; }
    .biom-checkout-consents { padding: 18px 0 0; }
    .biom-confirmation-passport { grid-template-columns: 1fr; margin-top: -10px; padding: 24px 20px; border-radius: 20px; }
    .biom-confirmation-passport__seal { width: 96px; }
    .biom-confirmation-passport dl { grid-column: 1; grid-template-columns: 1fr; gap: 0; }
    .biom-confirmation-route { padding: 24px 20px; border-radius: 20px; }
    .biom-order-received-page .woocommerce-order-details,
    .biom-order-received-page .woocommerce-customer-details {
        font-size: 16px;
    }
}
