/* Basket layout, shared by initial rendering and AJAX fragments. */
.masset-basket { --cart-ink:#142d40; --cart-muted:#647583; --cart-line:#e1e8ed; padding:48px 0 64px; background:linear-gradient(180deg,#f5f8fa 0,#fff 520px); color:var(--cart-ink); }
.masset-basket .basket-heading {display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:32px;}
.masset-basket .basket-eyebrow {font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#0875ae; margin:0 0 10px;}
.masset-basket .page-title {font-size:clamp(30px,3vw,44px); letter-spacing:-.045em; text-transform:none; margin:0 0 10px; line-height:1.15;}
.basket-intro {color:var(--cart-muted); margin:0; font-size:15px;}
.basket-continue {font-size:13px; font-weight:600; color:var(--cart-ink); border-bottom:1px solid #bac9d4; padding:6px 0;}
.masset-basket .checkout-steps {display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin:0 0 36px; padding:20px 24px; background:#fff; border:1px solid var(--cart-line); border-radius:14px;}
.masset-basket .checkout-steps__item {display:flex; align-items:center; gap:12px; padding:0; border:0; margin:0; color:#798894;}
.masset-basket .checkout-steps__item:after {display:none;}
.masset-basket .checkout-steps__item-number {display:grid; place-items:center; flex:0 0 34px; height:34px; border-radius:50%; background:#f0f3f6; font-size:12px; margin:0;}
.masset-basket .checkout-steps__item.active .checkout-steps__item-number {background:#0876b0; color:white;}
.masset-basket .checkout-steps__item-title {font-size:13px; text-transform:none; line-height:1.5;}
.masset-basket .checkout-steps__item-title em {font-size:12px; font-style:normal; color:var(--cart-muted);}
.masset-basket .shopping-cart {display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:28px; align-items:start;}
.masset-basket .cart-table__wrapper,.masset-basket .shopping-cart__totals-wrapper {width:auto; padding:0; min-width:0; margin:0;}
.basket-section-heading {display:flex; align-items:center; justify-content:space-between; margin-bottom:16px;}
.basket-section-heading h2 {font-size:19px; letter-spacing:-.02em; margin:0;}
.basket-section-heading>span {font-size:12px; color:var(--cart-muted);}
.masset-basket .shop-checkout .shopping-cart .basket-table {display:block; width:100%; margin:0;}
.masset-basket .shop-checkout .shopping-cart .basket-table thead {position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%);}
.masset-basket .shop-checkout .shopping-cart .basket-table tbody {display:block;}
.masset-basket .shop-checkout .shopping-cart .basket-table tr {display:grid; grid-template-columns:100px minmax(0,1fr) 128px 32px; gap:20px 18px; padding:24px; margin-bottom:14px; background:#fff; border:1px solid var(--cart-line); border-radius:14px;}
.masset-basket .shop-checkout .shopping-cart .basket-table td {padding:0; border:0; width:auto; min-width:0; text-align:left; vertical-align:middle;}
.basket-cell-image {grid-column:1; grid-row:1 / span 2;}
.basket-cell-detail {grid-column:2 / span 2; grid-row:1;}
.basket-cell-remove {grid-column:4; grid-row:1;}
.basket-cell-price {grid-column:2; grid-row:2;}
.basket-cell-quantity {grid-column:3; grid-row:2;}
.masset-basket .shop-checkout .shopping-cart .basket-table .basket-cell-subtotal {grid-column:2 / span 3; display:flex; align-items:center; justify-content:space-between; border-top:1px solid #edf1f4; padding-top:14px;}
.masset-basket .shopping-cart__product-item {width:100%; background:#f7f9fa; border-radius:10px; padding:8px;}
.masset-basket .shopping-cart__product-item img {width:84px; height:110px; object-fit:contain; mix-blend-mode:multiply;}
.basket-item-title {font-size:17px; font-weight:700; line-height:1.4; margin:0 0 6px;}
.basket-meta {list-style:none; padding:0; margin:0; color:var(--cart-muted); font-size:12px; line-height:1.8; overflow-wrap:anywhere;}
.basket-option-tag {display:inline-block; background:#eef5fa; color:#256687; padding:2px 7px; border-radius:5px; margin:2px;}
.basket-cell-label {display:block; font-size:11px; color:var(--cart-muted); font-weight:500; margin-bottom:8px;}
.masset-basket .basket-price,.masset-basket .basket-subtotal {font-size:17px!important; color:var(--cart-ink); font-weight:700; font-variant-numeric:tabular-nums;}
.masset-basket .basket-cell-subtotal .basket-cell-label {margin:0;}
.masset-basket .basket-cell-remove button {display:grid; place-items:center; min-width:32px; min-height:32px; padding:0; border-radius:50%; background:#f5f7f9;}
.masset-basket .basket-cell-remove button:hover {background:#fbe8ec;}
.masset-basket .basket-free-empty {display:none;}
.masset-basket .shop-checkout .shopping-cart .basket-table td.text-center:not(.basket-free-empty) {grid-column:2 / span 3; text-align:left!important;}
.basket-gift {font-size:12px; background:#eaf6ef; color:#276449; padding:5px 9px; border-radius:6px;}
.masset-basket .cart-table-footer {display:block; padding:18px 0; margin:0;}
.masset-basket .basket-coupon {width:100%; max-width:400px; border:0; padding:0;}
.basket-coupon label {font-size:13px; font-weight:600; margin-bottom:10px;}
.basket-coupon-fields {display:flex; gap:8px;}
.masset-basket .basket-coupon .form-control {min-width:0; height:44px; padding:10px 14px; border:1px solid var(--cart-line); border-radius:8px; font-size:13px;}
.basket-coupon-submit {border:1px solid #cbd9e3; border-radius:8px; padding:0 18px; background:#fff; color:var(--cart-ink); font-size:13px; font-weight:600;}
.masset-basket .sticky-content {position:sticky; top:110px; padding:26px; border:1px solid #dce5ec; border-radius:16px; background:#f7fafc; box-shadow:0 10px 30px #17344d08;}
.masset-basket .shopping-cart__totals-wrapper {position:sticky; top:110px;}
.masset-basket .shopping-cart__totals {padding:0; border:0; margin:0; background:none;}
.masset-basket .shopping-cart__totals h3 {font-size:21px; text-transform:none; letter-spacing:-.03em; margin-bottom:22px;}
.masset-basket .cart-totals {width:100%;}
.masset-basket .cart-totals th,.masset-basket .cart-totals td {padding:12px 0; border-bottom:1px solid var(--cart-line); font-size:13px; text-transform:none;}
.masset-basket .cart-totals th {font-weight:400; color:var(--cart-muted);}
.masset-basket .cart-totals td {text-align:right; white-space:nowrap; font-weight:600; font-variant-numeric:tabular-nums;}
.masset-basket .cart-totals tr:last-child th,.masset-basket .cart-totals tr:last-child td {padding:20px 0 8px; border:0; font-weight:700; color:var(--cart-ink);}
.masset-basket .cart-totals tr:last-child td {font-size:23px; letter-spacing:-.04em;}
.basket-delivery-note {font-size:12px; color:var(--cart-muted); line-height:1.6; margin:12px 0 20px;}
.basket-checkout {display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; padding:16px 18px; background:#0876b0; color:white; border-radius:9px; font-size:14px; font-weight:600;}
.basket-checkout:hover {background:#075b88; color:white;}.basket-checkout span {font-size:20px; line-height:1;}
.basket-secondary-actions {display:flex; justify-content:space-between; gap:10px; margin-top:18px; font-size:11px;}
.basket-secondary-actions a {color:#566d7b; text-decoration:underline; text-underline-offset:3px;}.basket-secondary-actions .basket-clear {color:#995260;}
.basket-help {margin-top:24px; padding-top:20px; border-top:1px solid var(--cart-line); font-size:12px;}.basket-help span,.basket-help a {display:block;}.basket-help span {color:var(--cart-muted); margin-bottom:5px;}.basket-help a {font-weight:600; color:#12638e;}
.masset-basket :is(a,button,input):focus-visible {outline:3px solid #3499ce; outline-offset:3px;}
@media(max-width:1100px) {.masset-basket .shopping-cart {grid-template-columns:minmax(0,1fr) 310px; gap:20px;}.masset-basket .shop-checkout .shopping-cart .basket-table tr {grid-template-columns:74px minmax(0,1fr) 120px 28px; gap:16px 12px; padding:18px;}.masset-basket .shopping-cart__product-item img {width:58px; height:88px;}.masset-basket .sticky-content {padding:22px;}}
@media(max-width:800px) {.masset-basket {padding:26px 0 40px;}.masset-basket .shopping-cart {grid-template-columns:1fr;}.masset-basket .shopping-cart__totals-wrapper {position:static;}.masset-basket .basket-heading {align-items:flex-start; flex-direction:column; gap:14px; margin-bottom:24px;}.masset-basket .checkout-steps {gap:12px; padding:16px; margin-bottom:24px;}.masset-basket .checkout-steps__item {align-items:flex-start; gap:8px;}.masset-basket .checkout-steps__item-title {font-size:11px;}.masset-basket .checkout-steps__item-title em {display:none;}.masset-basket .checkout-steps__item-number {flex-basis:26px; height:26px; font-size:10px;}.basket-secondary-actions {font-size:12px;}.basket-secondary-actions a {padding:8px 0;}}
@media(max-width:480px) {.masset-basket .shop-checkout .shopping-cart .basket-table tr {grid-template-columns:64px minmax(0,1fr) 32px; padding:16px; gap:16px 12px;}.basket-cell-detail {grid-column:2;}.basket-cell-remove {grid-column:3;}.basket-cell-image {grid-row:1;}.basket-cell-price {grid-column:1 / span 2; grid-row:2;}.basket-cell-quantity {grid-column:2 / span 2; grid-row:2; justify-self:end;}.masset-basket .shop-checkout .shopping-cart .basket-table .basket-cell-subtotal {grid-column:1 / -1;}.masset-basket .shop-checkout .shopping-cart .basket-table td.text-center:not(.basket-free-empty) {grid-column:1 / -1;}.basket-item-title {font-size:15px;}.masset-basket .shopping-cart__product-item img {width:48px; height:72px;}.masset-basket .checkout-steps__item {flex-direction:column;}.basket-intro {font-size:13px;}}
.masset-basket .shop-checkout .shopping-cart__totals-wrapper {align-self:start; width:auto;}
.masset-basket .shop-checkout .shopping-cart__totals-wrapper .sticky-content {padding-top:26px;}

.masset-basket #basket-lines tr {display:grid;}
.masset-basket #basket-lines td {position:static; float:none;}
.masset-basket #basket-lines .basket-free-empty {display:none;}
.masset-basket #basket-lines td::before {content:none;}
.masset-basket .checkout-steps__item-title>span {font-size:13px; text-transform:none;}
.masset-basket .basket-coupon-submit {height:44px;}
.masset-basket #basket-lines td {margin:0;}
.masset-basket .checkout-steps__item-number {width:34px; flex-shrink:0;}
@media(max-width:800px) {.masset-basket .checkout-steps__item-number {width:26px;}}

/* Explicit columns keep the controls aligned despite the theme's positioning. */
.masset-basket #basket-lines .qty-control {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 38px;
  align-items: stretch;
  width: 120px;
  height: 44px;
  padding: 0;
  border: 1px solid #cad9e3;
  border-radius: 9px;
  overflow: hidden;
  background: #fff;
}
.masset-basket #basket-lines .qty-control__number {
  grid-column: 2;
  grid-row: 1;
  position: static;
  width: 100%;
  min-width: 0;
  height: 42px;
  min-height: 0;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: #142d40;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  appearance: textfield;
  -moz-appearance: textfield;
}
.masset-basket #basket-lines .qty-control__number::-webkit-inner-spin-button,
.masset-basket #basket-lines .qty-control__number::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.masset-basket #basket-lines .qty-control button {
  display: grid;
  place-items: center;
  position: static;
  transform: none;
  grid-row: 1;
  width: 38px;
  height: 42px;
  min-height: 0;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: #f0f6fa;
  color: #24516f;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
}
.masset-basket #basket-lines .qty-control__reduce { grid-column: 1; }
.masset-basket #basket-lines .qty-control__increase { grid-column: 3; }
.masset-basket #basket-lines .qty-control button:hover { background: #dfedf6; }
.masset-basket #basket-lines .qty-control:focus-within { outline: 2px solid #3499ce; outline-offset: 2px; }
