/* =========================================================================
   Premium Cart Page — .sc-* namespace (singair cart)
   ========================================================================= */

/* ── CSS Variables ─────────────────────────────────────────────────────── */
:root {
	--sc-radius:      10px;
	--sc-radius-sm:   6px;
	--sc-shadow:      0 2px 12px rgba(0,0,0,.07);
	--sc-shadow-lg:   0 8px 32px rgba(0,0,0,.12);
	--sc-transition:  .18s ease;
	--sc-card-border: 1px solid var(--singair-border, #e5e7eb);
	--sc-saving:      #16a34a;
}

/* ── Page wrapper ──────────────────────────────────────────────────────── */
.sc-page {
	padding-top:    1.5rem;
	padding-bottom: 3rem;
}

/* ── Breadcrumb ────────────────────────────────────────────────────────── */
.sc-breadcrumb {
	margin-bottom: 1.25rem;
}
.sc-breadcrumb__list {
	display:     flex;
	flex-wrap:   wrap;
	align-items: center;
	gap:         .25rem;
	list-style:  none;
	margin:      0;
	padding:     0;
	font-size:   .8125rem;
	color:       #6b7280;
}
.sc-breadcrumb__item a {
	color:           inherit;
	text-decoration: none;
}
.sc-breadcrumb__item a:hover { color: var(--singair-primary); }
.sc-breadcrumb__sep { opacity: .5; }

/* ── Page title ────────────────────────────────────────────────────────── */
.sc-page-title {
	font-size:    1.625rem;
	font-weight:  800;
	color:        #111827;
	margin:       0 0 1.25rem;
	line-height:  1.2;
}
.sc-page-title__count {
	color:       var(--singair-primary);
	font-weight: 700;
}

/* ══════════════════════════════════════════════════════════════════════════
   LAYOUT — 70 / 30
   ══════════════════════════════════════════════════════════════════════════ */
.sc-layout {
	display:               grid;
	grid-template-columns: 1fr 320px;
	align-items:           start;
	gap:                   1.5rem;
}
.sc-aside-col {
	position: sticky;
	top:      90px;       /* clear fixed header */
}

/* ══════════════════════════════════════════════════════════════════════════
   CART TABLE
   ══════════════════════════════════════════════════════════════════════════ */
.sc-cart-table-wrap {
	background:    #fff;
	border:        var(--sc-card-border);
	border-radius: var(--sc-radius);
	box-shadow:    var(--sc-shadow);
	overflow:      hidden;
}

/* ── Column headers ─────────────────────────────────────────────────────── */
.sc-table-head {
	display:          grid;
	grid-template-columns: 36px 1fr 120px 140px 120px 80px;
	align-items:      center;
	padding:          .875rem 1.25rem;
	background:       #f9fafb;
	border-bottom:    var(--sc-card-border);
	font-size:        .8125rem;
	font-weight:      600;
	color:            #374151;
}
.sc-select-all-label {
	display:     flex;
	align-items: center;
	gap:         .5rem;
	grid-column: 1 / 3;
	cursor:      pointer;
}
.sc-col-price, .sc-col-qty, .sc-col-subtotal { text-align: center; }
.sc-col-action { text-align: right; }

/* ── Cart rows ──────────────────────────────────────────────────────────── */
.sc-row {
	display:               grid;
	grid-template-columns: 36px 1fr 120px 140px 120px 80px;
	align-items:           center;
	padding:               1rem 1.25rem;
	border-bottom:         var(--sc-card-border);
	transition:            background var(--sc-transition);
}
.sc-row:last-child { border-bottom: none; }
.sc-row:hover      { background: #fafafa; }
.sc-row.is-selected { background: #fff8f5; }
.sc-row.is-removing {
	opacity:    .4;
	pointer-events: none;
}

/* Checkbox */
.sc-checkbox {
	width:         18px;
	height:        18px;
	accent-color:  var(--singair-primary);
	cursor:        pointer;
	flex-shrink:   0;
}
.sc-row__check { display: flex; align-items: center; }

/* Product cell */
.sc-row__product {
	display:     flex;
	align-items: center;
	gap:         .875rem;
}
.sc-row__img-wrap {
	flex-shrink: 0;
	width:       80px;
	height:      80px;
	border:      var(--sc-card-border);
	border-radius: var(--sc-radius-sm);
	overflow:    hidden;
	display:     flex;
	align-items: center;
	justify-content: center;
	background:  #f9fafb;
}
.sc-row__img-wrap img {
	width:      100%;
	height:     100%;
	object-fit: cover;
}
.sc-row__img-placeholder {
	width:      40px;
	height:     40px;
	background: #e5e7eb;
	border-radius: 6px;
	display:    block;
}
.sc-row__info {
	display:        flex;
	flex-direction: column;
	gap:            .3rem;
}
.sc-row__name {
	font-size:       .9375rem;
	font-weight:     600;
	color:           #111827;
	text-decoration: none;
	line-height:     1.3;
}
.sc-row__name:hover { color: var(--singair-primary); }
.sc-row__variants { display: flex; flex-wrap: wrap; gap: .3rem; }
.sc-row__variant-pill {
	font-size:     .75rem;
	background:    #f3f4f6;
	border:        1px solid #e5e7eb;
	border-radius: 4px;
	padding:       .1rem .45rem;
	color:         #374151;
}
.sc-row__stock {
	font-size:  .75rem;
	font-weight: 600;
}
.sc-row__stock--in  { color: #15803d; }
.sc-row__stock--out { color: #dc2626; }
.sc-row__vendor {
	font-size: .75rem;
	color:     #6b7280;
	display:   flex;
	align-items: center;
	gap:       .25rem;
}
.sc-row__vendor i { font-size: .6875rem; }

/* Price cell */
.sc-row__price {
	text-align:     center;
	display:        flex;
	flex-direction: column;
	align-items:    center;
	gap:            .2rem;
}
.sc-row__price-sale {
	font-size:   1rem;
	font-weight: 700;
	color:       var(--singair-primary);
}
.sc-row__price-sale .woocommerce-Price-amount { color: inherit; font-size: inherit; }
.sc-row__price-reg {
	font-size:   .8125rem;
	color:       #9ca3af;
	text-decoration: line-through;
}
.sc-row__save-badge {
	font-size:   .6875rem;
	font-weight: 700;
	color:       #fff;
	background:  var(--singair-primary);
	border-radius: 4px;
	padding:     .1rem .35rem;
	line-height: 1.4;
}

/* Qty control */
.sc-row__qty {
	display:         flex;
	justify-content: center;
}
.sc-qty-control {
	display:       flex;
	align-items:   stretch;
	border:        1px solid var(--singair-border, #e5e7eb);
	border-radius: var(--sc-radius-sm);
	overflow:      hidden;
	width:         110px;
}
.sc-qty-btn {
	flex:            0 0 34px;
	width:           34px;
	background:      #f3f4f6;
	border:          none;
	font-size:       1.125rem;
	color:           #374151;
	cursor:          pointer;
	display:         flex;
	align-items:     center;
	justify-content: center;
	transition:      background var(--sc-transition);
	padding:         0;
	line-height:     1;
}
.sc-qty-btn:hover    { background: #e5e7eb; }
.sc-qty-btn:disabled { opacity: .4; cursor: not-allowed; }
.sc-qty-input {
	flex:         1;
	width:        42px;
	text-align:   center;
	border:       none;
	border-left:  1px solid var(--singair-border, #e5e7eb);
	border-right: 1px solid var(--singair-border, #e5e7eb);
	font-size:    .9375rem;
	font-weight:  600;
	color:        #111827;
	padding:      .35rem 0;
	-moz-appearance: textfield;
	background:   #fff;
}
.sc-qty-input::-webkit-inner-spin-button,
.sc-qty-input::-webkit-outer-spin-button { -webkit-appearance: none; }
.sc-qty-input:focus { outline: none; }

/* Subtotal cell */
.sc-row__subtotal {
	text-align:     center;
	display:        flex;
	flex-direction: column;
	align-items:    center;
	gap:            .2rem;
}
.sc-row__subtotal-price {
	font-size:   1.0625rem;
	font-weight: 700;
	color:       var(--singair-primary);
}
.sc-row__subtotal-price .woocommerce-Price-amount { color: inherit; font-size: inherit; }
.sc-row__subtotal-save {
	font-size:     .6875rem;
	font-weight:   600;
	color:         var(--sc-saving);
	background:    #f0fdf4;
	border-radius: 4px;
	padding:       .15rem .4rem;
}

/* Actions cell */
.sc-row__actions {
	display:         flex;
	align-items:     center;
	justify-content: flex-end;
	gap:             .3rem;
}
.sc-row__action-btn {
	width:           34px;
	height:          34px;
	background:      #f3f4f6;
	border:          1px solid #e5e7eb;
	border-radius:   8px;
	display:         flex;
	align-items:     center;
	justify-content: center;
	cursor:          pointer;
	color:           #6b7280;
	font-size:       .875rem;
	transition:      background var(--sc-transition), color var(--sc-transition), border-color var(--sc-transition);
	padding:         0;
}
.sc-row__action-btn:hover { background: #fff0eb; color: var(--singair-primary); border-color: var(--singair-primary); }
.sc-remove-item:hover  { background: #fef2f2 !important; color: #dc2626 !important; border-color: #dc2626 !important; }

/* ── Table footer ───────────────────────────────────────────────────────── */
.sc-table-foot {
	display:     flex;
	align-items: center;
	flex-wrap:   wrap;
	gap:         .75rem 1rem;
	padding:     1rem 1.25rem;
	background:  #f9fafb;
	border-top:  var(--sc-card-border);
}
.sc-bulk-actions {
	display:     flex;
	align-items: center;
	gap:         1rem;
	flex:        1 1 auto;
}
.sc-link-btn {
	display:     inline-flex;
	align-items: center;
	gap:         .35rem;
	background:  none;
	border:      none;
	cursor:      pointer;
	font-size:   .8125rem;
	font-weight: 500;
	color:       #6b7280;
	padding:     0;
	transition:  color var(--sc-transition);
}
.sc-link-btn:hover { color: var(--singair-primary); }
.sc-link-btn i { font-size: .8rem; }

/* Coupon area */
.sc-coupon-area { flex: 1 1 340px; }
.sc-coupon-form {
	display:       flex;
	gap:           .5rem;
	align-items:   center;
}
.sc-coupon-input {
	flex:          1;
	height:        40px;
	border:        1px solid var(--singair-border, #e5e7eb);
	border-radius: var(--sc-radius-sm);
	padding:       0 .875rem;
	font-size:     .875rem;
	color:         #111827;
	background:    #fff;
	transition:    border-color var(--sc-transition);
}
.sc-coupon-input:focus { outline: none; border-color: var(--singair-primary); }
.sc-coupon-input::placeholder { color: #9ca3af; }
.sc-applied-coupons {
	display:   flex;
	flex-wrap: wrap;
	gap:       .4rem;
	margin-top: .5rem;
}
.sc-coupon-chip {
	display:       inline-flex;
	align-items:   center;
	gap:           .35rem;
	background:    #fff8f5;
	border:        1px solid var(--singair-primary);
	border-radius: 20px;
	padding:       .2rem .65rem;
	font-size:     .8125rem;
	font-weight:   600;
	color:         var(--singair-primary);
}
.sc-coupon-chip__save { font-size: .75rem; color: var(--sc-saving); }
.sc-coupon-chip__remove {
	background:    none;
	border:        none;
	cursor:        pointer;
	font-size:     1rem;
	color:         #6b7280;
	padding:       0;
	line-height:   1;
	margin-left:   .1rem;
}
.sc-coupon-chip__remove:hover { color: #dc2626; }

/* ══════════════════════════════════════════════════════════════════════════
   BUTTONS — scoped to .singair-storefront--cart to override global rule
   ══════════════════════════════════════════════════════════════════════════ */
.singair-storefront--cart .sc-btn {
	display:         flex;
	align-items:     center;
	justify-content: center;
	gap:             .5rem;
	width:           100%;
	padding:         .875rem 1.25rem;
	border-radius:   var(--sc-radius-sm);
	font-size:       .9375rem;
	font-weight:     700;
	cursor:          pointer;
	border:          2px solid transparent;
	text-decoration: none;
	font-family:     inherit;
	line-height:     1;
	transition:      background var(--sc-transition), opacity var(--sc-transition), transform .1s;
	text-align:      center;
	min-height:      0;
}
.singair-storefront--cart .sc-btn--checkout {
	background: var(--singair-primary);
	color:      #fff;
	margin-bottom: .5rem;
}
.singair-storefront--cart .sc-btn--checkout:hover {
	background: #e55a15;
	transform:  translateY(-1px);
	color:      #fff;
}
.singair-storefront--cart .sc-btn--continue {
	background:   transparent;
	color:        #374151;
	border-color: #d1d5db;
}
.singair-storefront--cart .sc-btn--continue:hover {
	border-color: var(--singair-primary);
	color:        var(--singair-primary);
}
.singair-storefront--cart .sc-btn--coupon {
	height:        40px;
	padding:       0 1.125rem;
	background:    var(--singair-primary);
	color:         #fff;
	border-radius: var(--sc-radius-sm);
	font-size:     .875rem;
	font-weight:   700;
	border:        none;
	cursor:        pointer;
	white-space:   nowrap;
	flex-shrink:   0;
	display:       inline-flex;
	align-items:   center;
	transition:    background var(--sc-transition);
	width:         auto;
	min-height:    0;
}
.singair-storefront--cart .sc-btn--coupon:hover { background: #e55a15; }

/* Also reset qty buttons within storefront--cart */
.singair-storefront--cart .sc-qty-btn {
	background:  #f3f4f6;
	color:       #374151;
	min-height:  0;
	padding:     0;
	border:      none;
	border-radius: 0;
	font-weight: 400;
}
.singair-storefront--cart .sc-qty-btn:hover { background: #e5e7eb; }

/* ══════════════════════════════════════════════════════════════════════════
   ORDER SUMMARY CARD
   ══════════════════════════════════════════════════════════════════════════ */
.sc-order-summary {
	background:    #fff;
	border:        var(--sc-card-border);
	border-radius: var(--sc-radius);
	box-shadow:    var(--sc-shadow);
	padding:       1.5rem;
}
.sc-order-summary__title {
	font-size:   1.125rem;
	font-weight: 800;
	color:       #111827;
	margin:      0 0 1.25rem;
}
.sc-order-summary__lines { display: flex; flex-direction: column; gap: .75rem; }
.sc-summary-line {
	display:     flex;
	align-items: center;
	justify-content: space-between;
	font-size:   .9rem;
}
.sc-summary-line__label {
	color:       #374151;
	display:     flex;
	align-items: center;
	gap:         .35rem;
}
.sc-summary-line__info {
	color:  #9ca3af;
	cursor: help;
	font-size: .8125rem;
}
.sc-summary-line__val { font-weight: 600; color: #111827; }
.sc-summary-line--saving .sc-summary-line__val { color: var(--sc-saving); }
.sc-free { color: var(--sc-saving); font-weight: 700; }

.sc-order-summary__divider {
	border:      none;
	border-top:  1px dashed #e5e7eb;
	margin:      1rem 0;
}
.sc-summary-total {
	display:     flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: .625rem;
}
.sc-summary-total__label { font-size: 1rem; font-weight: 700; color: #111827; }
.sc-summary-total__val {
	font-size:   1.5rem;
	font-weight: 800;
	color:       var(--singair-primary);
}
.sc-summary-total__val .woocommerce-Price-amount { color: inherit; font-size: inherit; }
.sc-summary-saving {
	font-size:     .8125rem;
	color:         var(--sc-saving);
	background:    #f0fdf4;
	border:        1px solid #bbf7d0;
	border-radius: 6px;
	padding:       .45rem .75rem;
	margin-bottom: .875rem;
}

/* Free shipping progress */
.sc-free-ship-banner {
	display:       flex;
	align-items:   flex-start;
	gap:           .75rem;
	background:    #f0fdf4;
	border:        1px solid #bbf7d0;
	border-radius: 8px;
	padding:       .75rem 1rem;
	font-size:     .8125rem;
	color:         #166534;
	margin-bottom: 1rem;
}
.sc-free-ship-banner i { font-size: 1rem; color: var(--sc-saving); flex-shrink: 0; margin-top: .1rem; }
.sc-free-ship-banner div { display: flex; flex-direction: column; gap: .15rem; }
.sc-free-ship-banner strong { font-weight: 700; }
.sc-free-ship-banner span  { opacity: .85; }
.sc-free-ship-progress { margin-bottom: 1rem; }
.sc-free-ship-progress__msg { font-size: .8125rem; color: #374151; margin: 0 0 .5rem; }
.sc-free-ship-progress__bar {
	height:        8px;
	background:    #f3f4f6;
	border-radius: 99px;
	overflow:      hidden;
}
.sc-free-ship-progress__fill {
	height:     100%;
	background: var(--singair-primary);
	border-radius: 99px;
	transition: width .4s ease;
}

/* Payment icons */
.sc-payment-row {
	margin-top:  1rem;
	padding-top: 1rem;
	border-top:  var(--sc-card-border);
}
.sc-payment-row__label {
	font-size:   .75rem;
	color:       #6b7280;
	font-weight: 600;
	margin-bottom: .5rem;
	display:     block;
}
.sc-payment-icons {
	display:     flex;
	flex-wrap:   wrap;
	gap:         .4rem;
}
.sc-payment-chip {
	font-size:     .6875rem;
	font-weight:   800;
	border:        1px solid #e5e7eb;
	border-radius: 4px;
	padding:       .2rem .5rem;
	background:    #fff;
	letter-spacing:.03em;
}

/* ══════════════════════════════════════════════════════════════════════════
   EMPTY CART
   ══════════════════════════════════════════════════════════════════════════ */
.sc-empty {
	text-align: center;
	padding:    3rem 1rem 2rem;
}
.sc-empty__art {
	width:  160px;
	margin: 0 auto 1.5rem;
}
.sc-empty__art svg { width: 100%; height: auto; }
.sc-empty__title {
	font-size:   1.5rem;
	font-weight: 800;
	color:       #111827;
	margin:      0 0 .5rem;
}
.sc-empty__sub {
	font-size:    .9375rem;
	color:        #6b7280;
	margin:       0 0 1.75rem;
}
.sc-empty__cta {
	display:       inline-flex;
	width:         auto;
	padding:       .875rem 2rem;
	border-radius: var(--sc-radius-sm);
}

/* ══════════════════════════════════════════════════════════════════════════
   TRUST BADGES
   ══════════════════════════════════════════════════════════════════════════ */
.sc-trust-badges {
	display:               grid;
	grid-template-columns: repeat(5, 1fr);
	gap:                   1px;
	background:            var(--singair-border, #e5e7eb);
	border:                1px solid var(--singair-border, #e5e7eb);
	border-radius:         var(--sc-radius);
	overflow:              hidden;
	margin:                2rem 0;
}
.sc-trust-badge {
	display:         flex;
	align-items:     center;
	gap:             .75rem;
	padding:         1.125rem 1rem;
	background:      #fff;
}
.sc-trust-badge__icon {
	width:           36px;
	height:          36px;
	display:         flex;
	align-items:     center;
	justify-content: center;
	flex-shrink:     0;
	background:      #f9fafb;
	border-radius:   8px;
	border:          1px solid #e5e7eb;
}
.sc-trust-badge__icon i { font-size: 1rem; }
.sc-trust-badge__label {
	font-size:   .8125rem;
	font-weight: 700;
	color:       #111827;
	margin:      0 0 .1rem;
	line-height: 1.2;
}
.sc-trust-badge__sub {
	font-size: .6875rem;
	color:     #6b7280;
	margin:    0;
}

/* ══════════════════════════════════════════════════════════════════════════
   RECOMMENDED PRODUCTS
   ══════════════════════════════════════════════════════════════════════════ */
.sc-recommended { margin-top: .5rem; }
.sc-recommended__head {
	display:         flex;
	align-items:     center;
	justify-content: space-between;
	margin-bottom:   1.125rem;
}
.sc-recommended__title {
	font-size:   1.25rem;
	font-weight: 800;
	color:       #111827;
	margin:      0;
}
.sc-recommended__view-all {
	display:         inline-flex;
	align-items:     center;
	gap:             .35rem;
	font-size:       .875rem;
	font-weight:     600;
	color:           var(--singair-primary);
	text-decoration: none;
}
.sc-recommended__view-all:hover { text-decoration: underline; }
.sc-recommended__grid {
	display:               grid;
	grid-template-columns: repeat(5, 1fr);
	gap:                   1rem;
}

/* ══════════════════════════════════════════════════════════════════════════
   TOAST NOTIFICATIONS
   ══════════════════════════════════════════════════════════════════════════ */
.sc-toast-wrap {
	position:   fixed;
	bottom:     1.5rem;
	right:      1.5rem;
	z-index:    9999;
	display:    flex;
	flex-direction: column-reverse;
	gap:        .5rem;
}
.sc-toast {
	display:       flex;
	align-items:   center;
	gap:           .65rem;
	background:    #111827;
	color:         #fff;
	border-radius: 8px;
	padding:       .75rem 1.125rem;
	font-size:     .875rem;
	font-weight:   500;
	box-shadow:    0 4px 20px rgba(0,0,0,.2);
	animation:     sc-toast-in .22s ease;
	min-width:     240px;
	max-width:     360px;
}
.sc-toast--success i { color: #4ade80; }
.sc-toast--error   i { color: #f87171; }
.sc-toast--info    i { color: #60a5fa; }
@keyframes sc-toast-in {
	from { opacity: 0; transform: translateY(12px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* ══════════════════════════════════════════════════════════════════════════
   SKELETON LOADER
   ══════════════════════════════════════════════════════════════════════════ */
.sc-skeleton {
	background: linear-gradient(90deg, #f3f4f6 25%, #e5e7eb 50%, #f3f4f6 75%);
	background-size: 200% 100%;
	animation: sc-shimmer 1.4s infinite;
	border-radius: 4px;
}
@keyframes sc-shimmer {
	0%   { background-position: -200% 0; }
	100% { background-position:  200% 0; }
}

/* ══════════════════════════════════════════════════════════════════════════
   MOBILE STICKY CHECKOUT BAR
   ══════════════════════════════════════════════════════════════════════════ */
.sc-mobile-bar {
	display:    none;
	position:   fixed;
	bottom:     0;
	left:       0;
	right:      0;
	z-index:    200;
	background: #fff;
	border-top: 1px solid #e5e7eb;
	padding:    .75rem 1rem;
	box-shadow: 0 -4px 20px rgba(0,0,0,.08);
}
.sc-mobile-bar__inner {
	display:     flex;
	align-items: center;
	gap:         1rem;
}
.sc-mobile-bar__total {
	flex: 1;
}
.sc-mobile-bar__label { font-size: .75rem; color: #6b7280; display: block; }
.sc-mobile-bar__val   { font-size: 1.125rem; font-weight: 800; color: var(--singair-primary); }
.sc-mobile-bar__btn {
	display:       flex;
	align-items:   center;
	gap:           .4rem;
	background:    var(--singair-primary);
	color:         #fff;
	border:        none;
	border-radius: 8px;
	padding:       .75rem 1.25rem;
	font-size:     .9375rem;
	font-weight:   700;
	cursor:        pointer;
	text-decoration: none;
	white-space:   nowrap;
}

/* ══════════════════════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 1100px) {
	.sc-layout {
		grid-template-columns: 1fr 290px;
	}
	.sc-recommended__grid { grid-template-columns: repeat(4, 1fr); }
	.sc-trust-badges { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 900px) {
	.sc-layout {
		grid-template-columns: 1fr;
	}
	.sc-aside-col { position: static; }
	.sc-mobile-bar { display: block; }

	/* Stack column headers into row cards */
	.sc-table-head { display: none; }
	.sc-row {
		grid-template-columns: 36px 1fr auto;
		grid-template-rows:    auto auto auto;
		gap:                   .5rem;
		padding:               1rem;
	}
	.sc-row__check { grid-column: 1; grid-row: 1 / 4; align-self: start; }
	.sc-row__product {
		grid-column: 2;
		grid-row:    1;
	}
	.sc-row__price {
		display:     none; /* shown inside product info on mobile */
	}
	.sc-row__qty {
		grid-column: 2;
		grid-row:    2;
		justify-content: flex-start;
	}
	.sc-row__subtotal {
		grid-column:  2;
		grid-row:     2;
		align-items:  flex-end;
		text-align:   right;
		justify-self: end;
	}
	.sc-row__actions {
		grid-column: 3;
		grid-row:    1;
		align-self:  start;
	}
	.sc-trust-badges { grid-template-columns: repeat(2, 1fr); }
	.sc-recommended__grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 640px) {
	.sc-page-title { font-size: 1.25rem; }
	.sc-table-foot { flex-direction: column; align-items: stretch; }
	.sc-coupon-form { flex-direction: column; }
	.singair-storefront--cart .sc-btn--coupon { width: 100%; }
	.sc-coupon-input { width: 100%; }
	.sc-trust-badges { grid-template-columns: 1fr 1fr; }
	.sc-recommended__grid { grid-template-columns: repeat(2, 1fr); }
	.sc-order-summary { border-radius: 0; margin: 0 -1rem; }
}

@media (max-width: 480px) {
	.sc-row__img-wrap { width: 64px; height: 64px; }
	.sc-trust-badges { grid-template-columns: 1fr; }
	.sc-recommended__grid { grid-template-columns: repeat(2, 1fr); }
}

/* ══════════════════════════════════════════════════════════════════════════
   WC NOTICES
   ══════════════════════════════════════════════════════════════════════════ */
#sc-notices:empty { display: none; }
#sc-notices .woocommerce-message,
#sc-notices .woocommerce-error,
#sc-notices .woocommerce-info {
	margin:        0 0 1rem;
	padding:       .75rem 1rem;
	border-radius: var(--sc-radius-sm);
	font-size:     .875rem;
	border:        none;
	border-left:   4px solid;
	display:       flex;
	align-items:   center;
	gap:           .5rem;
}
#sc-notices .woocommerce-message { background: #f0fdf4; border-color: #22c55e; color: #166534; }
#sc-notices .woocommerce-error   { background: #fef2f2; border-color: #ef4444; color: #991b1b; }
#sc-notices .woocommerce-info    { background: #eff6ff; border-color: #3b82f6; color: #1d4ed8; }

/* ── Mobile bar hidden state (JS-toggled when checkout btn is visible) ──── */
.sc-mobile-bar.sc-mobile-bar--hidden { display: none !important; }
