/* ==========================================================================
   O2 SKIN — Nhà thuốc: giỏ hàng, thanh toán, tài khoản
   Re-skins the WooCommerce blocks and the account shortcode so they read as
   the same shop. Loaded after shop.css (tokens, fonts).
   ========================================================================== */

.o2-woo{color:var(--ink)}
.o2-woo .wp-block-woocommerce-cart,.o2-woo .wp-block-woocommerce-checkout{margin:0;padding:0}
.o2-woo .wc-block-components-main,.o2-woo .wc-block-cart__main,.o2-woo .wc-block-checkout__main{padding:0}
.o2-woo .wc-block-cart,.o2-woo .wc-block-checkout{font-family:inherit;font-size:15px;line-height:1.55;color:var(--ink)}
.o2-woo :is(h1,h2,h3,h4){font-family:inherit;color:var(--navy-900);letter-spacing:-.01em}

/* Panels */
.o2-woo .wc-block-components-sidebar .wc-block-components-totals-wrapper,
.o2-woo .wc-block-cart__sidebar .wc-block-cart__totals-title,
.o2-woo .wc-block-checkout__sidebar .wc-block-components-order-summary{background:transparent}
.o2-woo .wc-block-components-sidebar{padding:6px 18px 18px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff}
.o2-woo .wc-block-cart__totals-title,.o2-woo .wc-block-components-checkout-order-summary__title-text{display:block;padding:14px 0 4px;font-size:12px!important;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.o2-woo .wc-block-checkout__form .wc-block-components-checkout-step{margin:0 0 14px;padding:20px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff}
.o2-woo .wc-block-components-checkout-step__heading{margin:0 0 4px}
.o2-woo .wc-block-components-checkout-step__title{font-size:17px;font-weight:600;color:var(--navy-900)}
.o2-woo .wc-block-components-checkout-step__description{color:var(--muted);font-size:14px}
.o2-woo .wc-block-components-checkout-step__container::after{display:none}
.o2-woo .wc-block-components-checkout-step__content{margin-top:14px;padding:0}

/* Line items */
.o2-woo .wc-block-cart-items{border:0}
.o2-woo .wc-block-cart-items__header{border-bottom:1px solid var(--line);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.o2-woo .wc-block-cart-items__row{border-bottom:1px solid var(--line)}
.o2-woo .wc-block-cart-item__image img{width:76px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff}
.o2-woo .wc-block-components-product-name{font-size:15px;font-weight:500;color:var(--navy-900);text-decoration:none}
.o2-woo .wc-block-components-product-name:hover{text-decoration:underline}
.o2-woo .wc-block-components-product-metadata{color:var(--muted);font-size:13px}
.o2-woo .wc-block-components-product-price__value{font-weight:600;color:var(--navy-900)}
.o2-woo .wc-block-components-product-price del,.o2-woo .wc-block-components-formatted-money-amount del{color:var(--muted);font-weight:400}
.o2-woo .wc-block-components-sale-badge{border:0;border-radius:var(--r-pill);background:var(--sale-050);color:var(--sale);font-size:12px;font-weight:600}
.o2-woo .wc-block-components-quantity-selector{border:1px solid var(--line-2);border-radius:var(--r-sm);background:#fff}
.o2-woo .wc-block-components-quantity-selector::after{display:none}
.o2-woo .wc-block-components-quantity-selector__button{color:var(--ink-2);font-weight:600}
.o2-woo .wc-block-components-quantity-selector__button:hover{color:var(--navy);background:var(--wash)}
.o2-woo .wc-block-components-quantity-selector__input{font-weight:600;color:var(--navy-900);font-size:16px}
.o2-woo .wc-block-cart-item__remove-link{color:var(--muted);font-size:13px}
.o2-woo .wc-block-cart-item__remove-link:hover{color:var(--sale)}

/* Totals */
.o2-woo .wc-block-components-totals-wrapper:empty{display:none}
.o2-woo .wc-block-components-totals-wrapper{padding:12px 0;border-top:1px solid var(--line)}
.o2-woo .wc-block-components-totals-wrapper::after{display:none}
.o2-woo .wc-block-components-totals-item{font-size:15px;color:var(--ink-2)}
.o2-woo .wc-block-components-totals-item__label{font-weight:400}
.o2-woo .wc-block-components-totals-item__value{font-weight:600;color:var(--navy-900)}
.o2-woo .wc-block-components-totals-footer-item{padding-top:12px;border-top:1px solid var(--line-2)}
.o2-woo .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-size:16px;font-weight:600;color:var(--navy-900)}
.o2-woo .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:22px;font-weight:600;color:var(--sale)}
.o2-woo .wc-block-components-totals-coupon__form .wc-block-components-text-input{margin:0}

/* Controls */
.o2-woo .wc-block-components-text-input input[type=text],.o2-woo .wc-block-components-text-input input[type=email],.o2-woo .wc-block-components-text-input input[type=tel],
.o2-woo .wc-block-components-text-input input[type=number],.o2-woo .wc-block-components-textarea,.o2-woo .wc-blocks-components-select__select{min-height:50px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:#fff;font-family:inherit;font-size:16px;color:var(--ink)}
.o2-woo .wc-block-components-text-input.is-active input,.o2-woo .wc-block-components-text-input input:focus,.o2-woo .wc-blocks-components-select__select:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(24,52,91,.12);outline:0}
.o2-woo .wc-block-components-text-input label,.o2-woo .wc-blocks-components-select__label{color:var(--muted);font-size:15px}
.o2-woo .wc-block-components-text-input.is-active label{font-size:12px;color:var(--muted)}
.o2-woo .wc-block-components-radio-control__option{padding:14px 16px 14px 46px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff}
.o2-woo .wc-block-components-radio-control__option+.wc-block-components-radio-control__option{margin-top:8px}
.o2-woo .wc-block-components-radio-control__option::before,.o2-woo .wc-block-components-radio-control__option::after{display:none}
.o2-woo .wc-block-components-radio-control__input{left:16px;margin:0;accent-color:var(--navy)}
.o2-woo .wc-block-components-radio-control__label{font-weight:500;color:var(--navy-900)}
.o2-woo .wc-block-components-radio-control__secondary-label,.o2-woo .wc-block-components-radio-control__description{color:var(--muted);font-size:13px}
.o2-woo .wc-block-components-radio-control-accordion-option--checked-option-highlighted,.o2-woo .wc-block-components-radio-control__option--checked-option-highlighted{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy)}
.o2-woo .wc-block-components-radio-control-accordion-content{padding:0 16px 14px 46px;color:var(--muted);font-size:14px}
.o2-woo .wc-block-components-checkbox__input{accent-color:var(--navy)}
.o2-woo .wc-block-components-checkbox__label{color:var(--ink-2);font-size:14px}

/* Buttons */
.o2-woo .wc-block-components-button:not(.is-link){min-height:50px;padding:12px 20px;border-radius:var(--r-sm);background:var(--navy);color:#fff;font-family:inherit;font-size:16px;font-weight:600;letter-spacing:0;text-transform:none;transition:background .15s var(--ease)}
.o2-woo .wc-block-components-button:not(.is-link):hover{background:var(--navy-700)}
.o2-woo .wc-block-components-button:not(.is-link) .wc-block-components-button__text{text-transform:none}
.o2-woo .wc-block-cart__submit-button{width:100%}
.o2-woo .wc-block-components-button.is-link{color:var(--navy);font-weight:500}
.o2-woo .wc-block-components-totals-coupon__button{min-height:50px;background:var(--navy);color:#fff}
.o2-woo .wc-block-components-notice-banner{border-radius:var(--r-sm);font-size:14px}
.o2-woo .wc-block-components-panel__button{color:var(--navy);font-weight:500}

/* Empty cart */
.o2-woo .wp-block-woocommerce-empty-cart-block{padding:8px 0}
.o2-woo .wc-block-cart__empty-cart__title{margin:0 0 6px;padding:28px 16px;border:1px dashed var(--line-2);border-radius:var(--r-md);font-size:18px;text-align:center;color:var(--navy-900)}
.o2-woo .wc-block-cart__empty-cart__title.with-empty-cart-icon::before{display:none}
.o2-woo .wp-block-woocommerce-empty-cart-block .wp-block-separator{display:none}
.o2-woo .wp-block-woocommerce-empty-cart-block .wp-block-heading:not(.wc-block-cart__empty-cart__title){margin:28px 0 14px;font-size:19px;text-align:left}
.o2-woo .wp-block-woocommerce-empty-cart-block .wp-block-button{margin:16px 0 0;text-align:center}
.o2-woo .wp-block-woocommerce-empty-cart-block .wp-block-button__link{display:inline-flex;align-items:center;min-height:46px;padding:0 22px;border-radius:var(--r-sm);background:var(--navy);color:#fff;font-size:15px;font-weight:600;text-decoration:none}
/* WooCommerce sizes each product to 25% of its own cell; inside our grid that collapses to ~100px. */
.o2-woo .wc-block-grid{margin:0}
/* WooCommerce switches the list to display:block under 480px with a more specific selector. */
.o2-woo .wc-block-grid .wc-block-grid__products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.o2-woo .wc-block-grid__product{width:auto!important;max-width:none!important;flex:none!important;margin:0!important;padding:10px!important;border:1px solid var(--line)!important;border-radius:var(--r-md);text-align:left;display:flex;flex-direction:column;gap:6px}
.o2-woo .wc-block-grid__product-link{display:block;color:inherit;text-decoration:none}
.o2-woo .wc-block-grid__product-image{margin:0}
.o2-woo .wc-block-grid__product-image img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.o2-woo .wc-block-grid__product-title{margin:6px 0 0;font-size:14px;font-weight:500;line-height:1.35;color:var(--navy-900)}
.o2-woo .wc-block-grid__product-onsale{position:absolute;top:16px;left:16px;right:auto;bottom:auto;width:auto;min-width:0;margin:0;padding:3px 7px;border:0;border-radius:6px;background:var(--sale);color:#fff;font-size:12px;font-weight:600;line-height:1.3;text-transform:none;z-index:1}
.o2-woo .wc-block-grid__product{position:relative}
.o2-woo .wc-block-grid__product-price{margin:0;font-size:15px;font-weight:600;color:var(--sale)}
.o2-woo .wc-block-grid__product-price del{margin-right:6px;font-size:13px;font-weight:400;color:var(--muted);text-decoration:line-through}
.o2-woo .wc-block-grid__product-price ins{text-decoration:none}
.o2-woo .wc-block-grid__product-add-to-cart{margin-top:auto}
.o2-woo .wc-block-grid__product-add-to-cart .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:40px;padding:0 10px;border-radius:var(--r-sm);background:var(--navy);color:#fff;font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap}
.o2-woo .wc-block-grid__product-add-to-cart .added_to_cart{display:block;margin-top:6px;font-size:13px;color:var(--navy);text-decoration:underline}
@media(min-width:640px){.o2-woo .wc-block-grid .wc-block-grid__products{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}
@media(min-width:900px){.o2-woo .wc-block-grid .wc-block-grid__products{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}

/* Order received (classic markup) */
.o2-woo .woocommerce-thankyou-order-received{margin:0 0 20px;padding:14px 16px;border:1px solid #cbe6d6;border-left:4px solid var(--ok);border-radius:var(--r-sm);background:var(--ok-050);color:var(--navy-900);font-size:15px;font-weight:500}
.o2-woo .woocommerce-order-overview{display:flex;flex-wrap:wrap;margin:0 0 24px;padding:0;list-style:none;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-md);background:#fff}
.o2-woo .woocommerce-order-overview li{flex:1 1 160px;margin:0;padding:12px 16px;border:0;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.o2-woo .woocommerce-order-overview li strong{display:block;margin-top:4px;font-size:15px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--navy-900)}
.o2-woo .woocommerce-order h2,.o2-woo .woocommerce-column__title{margin:26px 0 12px;font-size:18px;font-weight:600;color:var(--navy-900)}
.o2-woo .woocommerce-order table{width:100%;margin:0 0 8px;border-collapse:collapse;font-size:15px;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}
.o2-woo .woocommerce-order th,.o2-woo .woocommerce-order td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}
.o2-woo .woocommerce-order thead th{background:var(--wash);font-size:13px;font-weight:600;color:var(--navy-900)}
.o2-woo .woocommerce-order thead th:last-child,.o2-woo .woocommerce-order td.product-total,.o2-woo .woocommerce-order tfoot td{text-align:right}
.o2-woo .woocommerce-order tfoot th{font-weight:500;color:var(--ink-2)}
.o2-woo .woocommerce-order tfoot td{font-weight:600;color:var(--navy-900)}
.o2-woo .woocommerce-order address{margin:0;padding:14px 16px;font-style:normal;line-height:1.7;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;color:var(--ink-2)}
.o2-woo .wc-bacs-bank-details{margin:0;padding:0 0 8px;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.o2-woo .wc-bacs-bank-details li{padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;font-size:14px;color:var(--navy-900)}

.o2-bank-transfer-card{display:grid;gap:20px;align-items:center;margin:22px 0;padding:20px;border:1px solid var(--gold);border-radius:var(--r-md);background:var(--gold-100)}
.o2-bank-transfer-card__eyebrow{margin:0 0 6px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-700)}
.o2-bank-transfer-card h2{margin:0 0 14px;font-size:20px;font-weight:600;color:var(--navy-900)}
.o2-bank-transfer-card dl{display:grid;gap:1px;margin:0 0 12px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}
.o2-bank-transfer-card dl>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:10px 14px;background:#fff}
.o2-bank-transfer-card dt{margin:0;color:var(--muted);font-size:13px}
.o2-bank-transfer-card dd{margin:0;color:var(--navy-900);font-size:14px;font-weight:500;word-break:break-word}
.o2-bank-transfer-card__copy>p:last-child{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
.o2-bank-transfer-card img{width:220px;height:220px;padding:10px;margin:0 auto;border:1px solid var(--line);border-radius:var(--r-md);background:#fff}
@media(min-width:900px){.o2-bank-transfer-card{grid-template-columns:minmax(0,1fr) auto;gap:32px;padding:28px}}

/* Account (shortcode) */
.o2-woo .woocommerce-MyAccount-navigation{margin-bottom:20px}
.o2-woo .woocommerce-MyAccount-navigation ul{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.o2-woo .woocommerce-MyAccount-navigation li{flex:none}
.o2-woo .woocommerce-MyAccount-navigation a{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border:1px solid var(--line-2);border-radius:var(--r-pill);font-size:14px;font-weight:500;color:var(--ink-2)}
.o2-woo .woocommerce-MyAccount-navigation .is-active a{background:var(--navy);border-color:var(--navy);color:#fff}
.o2-woo .woocommerce-MyAccount-content{font-size:15px}
.o2-woo .woocommerce-MyAccount-content p{margin:0 0 12px}
.o2-woo .woocommerce-MyAccount-content a{color:var(--navy);text-decoration:underline}
.o2-woo .woocommerce-orders-table,.o2-woo table.shop_table{width:100%;border-collapse:collapse;font-size:14px;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}
.o2-woo table.shop_table th,.o2-woo table.shop_table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}
.o2-woo table.shop_table thead th{background:var(--wash);font-weight:600;color:var(--navy-900)}
.o2-woo .woocommerce-form-login,.o2-woo .woocommerce-form-register,.o2-woo .woocommerce-ResetPassword,.o2-woo .woocommerce-EditAccountForm,.o2-woo .woocommerce-address-fields{max-width:520px;padding:20px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff}
.o2-woo .woocommerce-form-row,.o2-woo .form-row{margin:0 0 14px}
.o2-woo .woocommerce-form-row label,.o2-woo .form-row label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--ink-2)}
.o2-woo .woocommerce-Input,.o2-woo .input-text,.o2-woo .form-row select{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:#fff;font-size:16px}
.o2-woo .woocommerce-Input:focus,.o2-woo .input-text:focus{border-color:var(--navy);outline:0;box-shadow:0 0 0 3px rgba(24,52,91,.12)}
.o2-woo .woocommerce-form-login__rememberme{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:12px}
.o2-woo .woocommerce-form-login__rememberme input{width:18px;height:18px;accent-color:var(--navy)}
.o2-woo .woocommerce-button,.o2-woo button.button,.o2-woo .woocommerce-Button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border:0;border-radius:var(--r-sm);background:var(--navy);color:#fff;font-size:15px;font-weight:600;cursor:pointer;text-decoration:none!important}
.o2-woo .woocommerce-button:hover{background:var(--navy-700)}
.o2-woo .u-columns{display:grid;gap:20px}
@media(min-width:900px){.o2-woo .u-columns{grid-template-columns:1fr 1fr}}
.o2-woo .woocommerce-notices-wrapper .woocommerce-message,.o2-woo .woocommerce-notices-wrapper .woocommerce-error,.o2-woo .woocommerce-notices-wrapper .woocommerce-info,.o2-woo .woocommerce-message,.o2-woo .woocommerce-info,.o2-woo .woocommerce-error{margin:0 0 14px;padding:12px 14px;border-radius:var(--r-sm);background:var(--navy-050);color:var(--navy-900);font-size:14px;list-style:none}
.o2-woo .woocommerce-error{background:var(--sale-050);color:var(--sale)}
.o2-woo .woocommerce-message{background:var(--ok-050);color:var(--ok)}
.o2-woo .woocommerce-password-strength{padding:6px 0;font-size:13px}
.o2-woo .woocommerce-privacy-policy-text{font-size:13px;color:var(--muted)}
.o2-woo .woocommerce-privacy-policy-text a{text-decoration:underline}

@media(min-width:900px){.o2-woo .wc-block-components-sidebar{padding:6px 20px 20px}.o2-woo .wc-block-checkout__form .wc-block-components-checkout-step{padding:24px}}
/* WooCommerce pins the checkout button to the viewport on phones; it then sits
   over the totals panel border and under the floating contact buttons. */
.o2-woo .wc-block-cart__submit-container{padding:16px 0 0}
.o2-woo .wc-block-cart__submit-container--sticky,.o2-woo .wc-block-cart__submit-container.wc-block-cart__submit-container--sticky{position:static;padding:16px 0 0;background:transparent;box-shadow:none;border:0}
.o2-woo .wc-block-cart__submit-container::before{display:none}
.o2-woo .wc-block-components-sidebar{padding:4px 16px 16px}
.o2-woo .wc-block-components-sidebar .wc-block-components-totals-wrapper:first-of-type{border-top:0}
.o2shop--woo .o2-float{display:flex}
.o2-woo .wc-block-cart-item__product{min-width:0}
@media(max-width:720px){
  /* Image left, name + price stacked right; the row total goes under the name. */
  .o2-woo .wc-block-cart.is-mobile .wc-block-cart-items__row{display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto auto;gap:4px 12px;padding:14px 0}
  .o2-woo .wc-block-cart.is-mobile .wc-block-cart-item__image{grid-column:1;grid-row:1/span 2;padding:0}
  .o2-woo .wc-block-cart.is-mobile .wc-block-cart-items__row .wc-block-cart-item__product{grid-column:2!important;grid-row:1!important;min-width:0;padding:0!important;margin:0!important}
  .o2-woo .wc-block-cart.is-mobile .wc-block-cart-items__row .wc-block-cart-item__total{grid-column:2!important;grid-row:2!important;position:static!important;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px 10px;padding:0!important;margin:0!important;text-align:left}
  .o2-woo .wc-block-cart.is-mobile .wc-block-cart-item__total .wc-block-components-product-price{font-size:15px}
  .o2-woo .wc-block-cart.is-mobile .wc-block-cart-item__total .wc-block-components-sale-badge{margin:0}
  .o2-woo .wc-block-cart.is-mobile .wc-block-cart-item__prices{display:none}
  .o2-woo .wc-block-cart-item__image img{width:60px}
  .o2-woo .wc-block-components-sale-badge{white-space:normal;font-size:11px}
  .o2-woo .wc-block-components-radio-control__option{padding:14px 14px 14px 44px}
  .o2-woo .wc-block-components-radio-control__input{left:15px}
  .o2-woo .wc-block-components-radio-control-accordion-content{padding-left:44px}
  .o2-bank-transfer-card dl>div{grid-template-columns:1fr;gap:2px}
}

/* Cart totals panel: one rule per row, one divider before the total. Overrides the
   per-block borders WooCommerce stacks (summary block, totals block, each wrapper, footer). */
.o2-woo .wc-block-components-sidebar{padding:0 16px 16px}
.o2-woo .wc-block-cart__totals-title{display:none}
.o2-woo .wp-block-woocommerce-cart-order-summary-block{border:0!important;margin:0!important;padding:0!important}
.o2-woo .wp-block-woocommerce-cart-order-summary-totals-block{border:0!important;padding:0!important;margin:0!important}
.o2-woo .wc-block-components-sidebar .wc-block-components-totals-wrapper{border:0!important;padding:0!important;margin:0!important}
.o2-woo .wc-block-components-sidebar .wc-block-components-totals-wrapper:empty,
.o2-woo .wc-block-components-sidebar .wc-block-components-totals-wrapper:not(:has(*)){display:none}
.o2-woo .wc-block-components-totals-coupon{padding:14px 0 6px}
.o2-woo .wc-block-components-totals-coupon .wc-block-components-panel__button{padding:0;min-height:0}
.o2-woo .wc-block-components-totals-coupon .wc-block-components-panel__content{padding:10px 0 4px}
.o2-woo .wc-block-components-sidebar .wc-block-components-totals-item{padding:9px 0;margin:0}
.o2-woo .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-subtotal-block{border-top:1px solid var(--line)!important;padding-top:6px!important}
.o2-woo .wc-block-components-sidebar .wc-block-components-totals-wrapper:has(.wc-block-components-totals-footer-item){border-top:1px solid var(--line-2)!important;margin-top:6px!important;padding-top:6px!important}
.o2-woo .wc-block-components-sidebar .wc-block-components-totals-footer-item{border:0!important;padding:8px 0 0!important}
.o2-woo .wc-block-cart__payment-options:empty{display:none}
.o2-woo .wc-block-cart__submit{margin:0!important}
.o2-woo .wc-block-cart__submit-container{padding:18px 0 0!important}
/* Line item: no border under the last item; the panel below provides the separation. */
.o2-woo .wc-block-cart-items__row:last-child{border-bottom:0}
.o2-woo .wc-block-cart-items{margin-bottom:8px}
.o2-woo .wc-block-cart.is-mobile .wc-block-cart-item__total .wc-block-components-product-price{display:block;width:auto;margin:0;text-align:left}
.o2-woo .wc-block-cart.is-mobile .wc-block-cart-item__total .wc-block-components-product-price__value{display:inline}

/* Cart: reserve a real gutter so the product totals cannot touch the summary. */
.o2-woo .wc-block-cart.wc-block-components-sidebar-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,35%);gap:24px 32px;align-items:start}
.o2-woo .wc-block-cart.wc-block-components-sidebar-layout > .wc-block-components-main{width:100%;min-width:0;max-width:100%;padding:0;box-sizing:border-box;grid-column:1}
.o2-woo .wc-block-cart.wc-block-components-sidebar-layout > .wc-block-components-sidebar{width:100%;min-width:0;max-width:100%;margin:0;box-sizing:border-box;grid-column:2}
.o2-woo .wc-block-cart .wc-block-cart-items{width:100%;max-width:100%}
.o2-woo .wc-block-cart .wc-block-cart-item__product{overflow-wrap:anywhere}
.o2-woo .wc-block-cart .wc-block-cart-item__total .wc-block-components-sale-badge{max-width:100%;white-space:normal;overflow-wrap:anywhere;box-sizing:border-box}
@media(max-width:900px){
 .o2-woo .wc-block-cart.wc-block-components-sidebar-layout{grid-template-columns:minmax(0,1fr);gap:24px}
 .o2-woo .wc-block-cart.wc-block-components-sidebar-layout > .wc-block-components-main,.o2-woo .wc-block-cart.wc-block-components-sidebar-layout > .wc-block-components-sidebar{grid-column:1}
}
@container(max-width:699px){
 .o2-woo .wc-block-cart.wc-block-components-sidebar-layout{grid-template-columns:minmax(0,1fr);gap:24px}
 .o2-woo .wc-block-cart.wc-block-components-sidebar-layout > .wc-block-components-main,.o2-woo .wc-block-cart.wc-block-components-sidebar-layout > .wc-block-components-sidebar{grid-column:1}
}

/* Keep contact actions above mobile checkout/payment controls. */
@media(max-width:899px){.o2shop--woo .o2-float{bottom:calc(96px + env(safe-area-inset-bottom));right:12px}}
