/* ==========================================================================
   Cart page — WABAR
   Replaces WooCommerce's 6-column table with a card list + a sticky summary.
   The table was the problem: a thumbnail column forced ~140px rows, the price
   and subtotal columns said the same thing twice, and none of it survived a
   narrow viewport. See woocommerce/cart/cart.php.
   ========================================================================== */

/* The cart renders through page.php, whose `.wabar-page-content` caps at 920px
   — a reading measure, correct for prose and far too narrow for a two-column
   cart. Let the cart and checkout use the full container. */
.woocommerce-cart .wabar-page-content,
.woocommerce-checkout .wabar-page-content{max-width:none;}

.wabar-cart{
	display:grid;grid-template-columns:minmax(0,1fr) 360px;
	align-items:start;gap:28px;margin:22px 0 40px;
}

/* ---- list ---------------------------------------------------------------- */
.wabar-cart-list{
	min-width:0;
	border:1px solid var(--line,#eee);border-radius:20px;background:#fff;
	box-shadow:0 18px 44px rgba(54,54,54,.06);overflow:hidden;
}
.wabar-cart-head{
	display:flex;align-items:baseline;justify-content:space-between;gap:12px;
	padding:18px 22px;border-bottom:1px solid var(--line,#f0ece8);
}
.wabar-cart-head h2{margin:0;font-size:18px;font-weight:800;color:var(--ink,#2D2D2D);}
.wabar-cart-head span{font-size:13.5px;color:var(--muted,#6b625c);}

.wabar-cart-items{list-style:none;margin:0;padding:0;}
.wabar-cart-item{
	display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;
	padding:20px 22px;border-bottom:1px solid var(--line,#f4f0ec);
}
.wabar-cart-item:last-child{border-bottom:0;}

/* The anchor must be a block and the image's margin zeroed: WooCommerce ships
   `.woocommerce img{margin-bottom:1em}`, and through an inline <a> that 20px —
   plus the inline line-box — stretched every row ~28px taller than its
   content. That was most of the dead space in the old table too. */
.wabar-cart-thumb{border-radius:14px;overflow:hidden;background:#f8f5f3;align-self:start;}
.wabar-cart-thumb a{display:block;line-height:0;}
.wabar-cart-thumb img{width:100%;height:auto;display:block;margin:0 !important;aspect-ratio:4/5;object-fit:cover;}

.wabar-cart-info{min-width:0;display:flex;flex-direction:column;gap:7px;}
.wabar-cart-titleline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.wabar-cart-name{
	font-size:15.5px;font-weight:800;line-height:1.5;
	color:var(--ink,#2D2D2D) !important;text-decoration:none;
}
.wabar-cart-name:hover{color:var(--primary,#915F41) !important;}
.wabar-cart-remove{
	flex:0 0 auto;width:28px;height:28px;border-radius:50%;
	display:grid;place-items:center;
	font-size:19px;line-height:1;color:var(--muted,#a89e97) !important;
	text-decoration:none;transition:background .2s,color .2s;
}
.wabar-cart-remove:hover{background:rgba(45,45,45,.06);color:var(--ink,#2D2D2D) !important;}

.wabar-cart-meta{font-size:13px;color:var(--muted,#6b625c);}
.wabar-cart-meta p,.wabar-cart-meta dl{margin:0;}
.wabar-cart-meta dt{display:inline;font-weight:700;}
.wabar-cart-meta dd{display:inline;margin:0 4px 0 0;}
.wabar-cart-meta dd p{display:inline;}

/* عرض التيشيرتات nudge above the lines (same look as the drawer's). */
.oso-bundle-note{
	margin:0 0 14px;padding:10px 14px;border-radius:11px;
	background:rgba(199,154,74,.14);border:1px solid rgba(199,154,74,.35);
	font-size:14px;font-weight:700;line-height:1.55;color:var(--primary,#173F53);
}

/* ---- quantity + money --------------------------------------------------- */
.wabar-cart-controls{
	display:flex;align-items:flex-end;justify-content:space-between;
	gap:14px;flex-wrap:wrap;margin-top:4px;
}
.wabar-cart-qty{display:flex;flex-direction:column;gap:5px;}
.wabar-cart-qty-label{font-size:11.5px;font-weight:700;color:var(--muted,#6b625c);}
.wabar-cart-qty .quantity{display:flex;}
.wabar-cart-qty input.qty{
	width:74px;padding:9px 10px;text-align:center;
	border:1px solid var(--line,#e6e0da);border-radius:10px;
	font-family:inherit;font-size:14px;font-weight:700;background:#fff;
}
.wabar-cart-qty-fixed{font-size:14px;font-weight:700;}

.wabar-cart-money{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:start;}
.wabar-cart-unit{font-size:12.5px;color:var(--muted,#6b625c);display:flex;align-items:baseline;gap:5px;}
.wabar-cart-unit small{font-size:11px;}
.wabar-cart-sub{font-size:17px;font-weight:800;color:var(--ink,#2D2D2D);}

/* ---- actions ------------------------------------------------------------- */
.wabar-cart-actions{
	display:flex;align-items:flex-end;justify-content:space-between;
	gap:16px;flex-wrap:wrap;
	padding:18px 22px;border-top:1px solid var(--line,#f0ece8);background:#fcfaf8;
}
.wabar-cart-coupon{display:flex;flex-direction:column;gap:6px;min-width:0;}
.wabar-cart-coupon label{font-size:12px;font-weight:700;color:var(--muted,#6b625c);}
.wabar-cart-coupon-row{display:flex;gap:8px;flex-wrap:wrap;}
.wabar-cart-coupon input.input-text{
	min-width:170px;padding:11px 14px;
	border:1px solid var(--line,#e6e0da);border-radius:11px;
	font-family:inherit;font-size:14px;background:#fff;
}
.wabar-btn-ghost{
	padding:11px 20px;border-radius:999px;cursor:pointer;
	border:1px solid var(--primary,#915F41);background:transparent;
	color:var(--primary,#915F41) !important;
	font:inherit;font-size:13.5px;font-weight:700;
	transition:background .22s,color .22s;
}
.wabar-btn-ghost:hover{background:var(--primary,#915F41);color:#fff !important;}
.wabar-btn-ghost[disabled]{opacity:.45;cursor:not-allowed;}

/* ---- summary ------------------------------------------------------------- */
.wabar-cart-side{min-width:0;position:sticky;top:96px;}
.wabar-summary{
	border:1px solid rgba(145,95,65,.16);border-radius:20px;
	padding:22px;background:var(--cream-soft,#FDF4E8);
	box-shadow:0 18px 44px rgba(145,95,65,.08);
}
.wabar-summary h2{margin:0 0 16px;font-size:18px;font-weight:800;color:var(--ink,#2D2D2D);}
.wabar-summary-rows{display:flex;flex-direction:column;gap:11px;}
.wabar-summary-row{
	display:flex;align-items:baseline;justify-content:space-between;gap:12px;
	font-size:14px;color:var(--muted,#5f564f);
}
.wabar-summary-row > span:last-child{font-weight:700;color:var(--ink,#2D2D2D);text-align:end;}
.wabar-summary-total{
	margin-top:6px;padding-top:13px;border-top:1px solid rgba(145,95,65,.18);
	font-size:16px;
}
.wabar-summary-total strong{font-size:21px;font-weight:800;color:var(--ink,#2D2D2D);}
.wabar-summary-coupon a{font-size:12px;}

/* Woo prints the shipping choices as their own <tr>; make them behave in a
   flex column instead of a table row. */
.wabar-summary .woocommerce-shipping-totals,
.wabar-summary tr{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:14px;}
.wabar-summary th{font-weight:600;color:var(--muted,#5f564f);text-align:start;padding:0;background:none;}
.wabar-summary td{padding:0;text-align:end;border:0;}
.wabar-summary ul#shipping_method{list-style:none;margin:0;padding:0;text-align:end;}
.wabar-summary ul#shipping_method li{margin:0 0 4px;font-size:13.5px;}
.wabar-summary .woocommerce-shipping-destination{font-size:12px;color:var(--muted,#6b625c);}
.wabar-summary .shipping-calculator-button{font-size:12.5px;}

.wabar-summary-cta{margin-top:18px;}
.wabar-summary-cta .checkout-button,
.wabar-summary-cta a.button{
	display:block;width:100%;padding:15px 20px;border-radius:999px;
	background:var(--primary,#915F41);color:#fff !important;
	font-size:15.5px;font-weight:800;text-align:center;text-decoration:none;
	transition:background .25s;
}
.wabar-summary-cta .checkout-button:hover{background:var(--primary-dark,#744B34);}
.wabar-summary-note{margin:12px 0 0;font-size:11.5px;line-height:1.7;color:var(--muted,#6b625c);text-align:center;}

/* ---- empty --------------------------------------------------------------- */
.wabar-cart-empty{
	display:flex;flex-direction:column;align-items:center;justify-content:center;
	gap:12px;padding:64px 24px;text-align:center;
	border:1px solid var(--line,#eee);border-radius:20px;background:#fff;
	margin:22px 0 40px;
}
.wabar-cart-empty span{font-size:48px;line-height:1;}
.wabar-cart-empty h2{margin:0;font-size:22px;font-weight:800;color:var(--ink,#2D2D2D);}
.wabar-cart-empty p{margin:0 0 8px;font-size:14.5px;color:var(--muted,#6b625c);}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media(max-width:980px){
	/* Summary drops under the list; unsticking it stops it floating over the
	   items on short screens. */
	.wabar-cart{grid-template-columns:1fr;gap:20px;}
	.wabar-cart-side{position:static;}
}
@media(max-width:600px){
	.wabar-cart-item{grid-template-columns:74px minmax(0,1fr);gap:12px;padding:16px 14px;}
	.wabar-cart-head{padding:15px 14px;}
	.wabar-cart-name{font-size:14.5px;}
	.wabar-cart-controls{align-items:center;}
	.wabar-cart-qty input.qty{width:62px;padding:8px;}
	.wabar-cart-sub{font-size:16px;}
	.wabar-cart-actions{padding:16px 14px;flex-direction:column;align-items:stretch;}
	.wabar-cart-coupon-row{flex-wrap:nowrap;}
	.wabar-cart-coupon input.input-text{min-width:0;flex:1 1 auto;}
	.wabar-cart-update{width:100%;}
	.wabar-summary{padding:18px 16px;border-radius:18px;}
}

/* ==========================================================================
   Cart + checkout refresh (2026-09-17): steps bar, one-column address form,
   quiet brand colours. inc/oso-checkout.php owns the markup/field layout.
   ========================================================================== */

/* ---- steps bar (replaces the old red hero card) ------------------------- */
.oso-steps{
	list-style:none;margin:0 0 22px;padding:0;
	display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.oso-steps li{display:flex;align-items:center;gap:8px;margin:0;color:#8a9194;font-size:14px;font-weight:600;}
.oso-steps li + li::before{content:'';width:34px;height:1px;background:#d9d4c8;margin-inline-end:2px;}
.oso-steps-num{
	width:28px;height:28px;border-radius:50%;display:grid;place-items:center;
	border:1px solid #d9d4c8;background:#fff;font-size:13px;font-weight:800;color:#8a9194;
}
.oso-steps li.is-done{color:#173F53;}
.oso-steps li.is-done .oso-steps-num{background:#E7DECB;border-color:#E7DECB;color:#173F53;}
.oso-steps li.is-current{color:#102A38;font-weight:800;}
.oso-steps li.is-current .oso-steps-num{background:#173F53;border-color:#173F53;color:#fff;}

/* ---- notices: calm cream instead of the pink/red default ---------------- */
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message{
	background:#F8F5EF !important;border:1px solid #ece5d6 !important;border-top:3px solid #173F53 !important;
	border-radius:14px !important;color:#102A38 !important;font-size:14.5px;
}
.woocommerce-cart .woocommerce-message .button,
.woocommerce-checkout .woocommerce-info a{color:#173F53 !important;font-weight:700;}

/* ---- checkout form -------------------------------------------------------- */
.woocommerce-checkout .oso-field-hidden{display:none !important;}
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading{
	margin:0 0 16px;font-size:20px;font-weight:800;color:#102A38;
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{
	background:#fff;border:1px solid #ece5d6;border-radius:18px;padding:22px 22px 8px;margin-bottom:16px;
}
.woocommerce-checkout .form-row{margin:0 0 14px;}
.woocommerce-checkout .form-row label{display:block;margin-bottom:6px;font-size:14px;font-weight:700;color:#102A38;}
.woocommerce-checkout .form-row .required{color:#C79A4A;text-decoration:none;}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea{
	width:100%;min-height:50px;padding:12px 14px;border-radius:12px;
	border:1px solid #dcd6ca;background:#fff;color:#102A38;font-size:15px;box-shadow:none;
	transition:border-color .2s,box-shadow .2s;
}
.woocommerce-checkout .form-row textarea{min-height:96px;}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus{
	outline:0;border-color:#173F53;box-shadow:0 0 0 3px rgba(23,63,83,.12);
}
.woocommerce-checkout .form-row input::placeholder,
.woocommerce-checkout .form-row textarea::placeholder{color:#a3a9ab;}
.woocommerce-checkout .form-row.woocommerce-invalid input.input-text{border-color:#c0392b;}
.woocommerce-checkout #billing_phone,
.woocommerce-checkout #billing_email{text-align:right;}

/* ---- order review + payment -------------------------------------------- */
/* Astra draws heading + review as one box with 2px dark borders — redraw it
   as a single light card. */
.woocommerce-checkout #order_review_heading{
	background:#fff !important;border:1px solid #ece5d6 !important;border-bottom:0 !important;
	border-radius:18px 18px 0 0 !important;padding:20px 20px 6px !important;margin:0 !important;
}
.woocommerce-checkout #order_review{
	background:#fff !important;border:1px solid #ece5d6 !important;border-top:0 !important;
	border-radius:0 0 18px 18px !important;padding:0 20px 20px !important;
}
.woocommerce-checkout table.shop_table{border:0 !important;margin:0 0 16px;box-shadow:none !important;border-radius:0;}
.woocommerce-checkout table.shop_table,
.woocommerce-checkout table.shop_table tr{border:0 !important;}
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td{
	border:0 !important;border-bottom:1px solid #f0ebe1 !important;
	padding:12px 4px !important;background:transparent !important;color:#102A38;vertical-align:middle;
}
.woocommerce-checkout table.shop_table th:first-child,
.woocommerce-checkout table.shop_table td:first-child{text-align:right;}
.woocommerce-checkout table.shop_table td:last-child,
.woocommerce-checkout table.shop_table th:last-child{text-align:left;white-space:nowrap;}
.woocommerce-checkout table.shop_table tr:last-child th,
.woocommerce-checkout table.shop_table tr:last-child td{border-bottom:0 !important;}
.woocommerce-checkout table.shop_table thead th{font-size:13px;color:#7C8587;font-weight:700;}
.woocommerce-checkout table.shop_table .order-total th,
.woocommerce-checkout table.shop_table .order-total td{font-size:18px;font-weight:800;}
.woocommerce-checkout #payment{background:#F8F5EF !important;border-radius:14px;}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid #ece5d6 !important;padding:14px !important;}
.woocommerce-checkout #payment div.payment_box{background:#fff !important;color:#4b5356;border-radius:10px;}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#fff !important;}
.woocommerce-checkout #place_order{
	width:100%;min-height:54px;border-radius:999px;border:0;
	background:#173F53 !important;color:#fff !important;font-size:16px;font-weight:800;
}
.woocommerce-checkout #place_order:hover{background:#102A38 !important;}

@media (max-width:600px){
	.oso-steps{gap:6px;}
	.oso-steps li{font-size:12.5px;}
	.oso-steps li + li::before{width:14px;}
	.woocommerce-checkout #customer_details .col-1,
	.woocommerce-checkout #customer_details .col-2{padding:16px 14px 6px;border-radius:14px;}
	.woocommerce-checkout #order_review_heading{padding:16px 14px 4px !important;border-radius:14px 14px 0 0 !important;}
	.woocommerce-checkout #order_review{padding:0 14px 16px !important;border-radius:0 0 14px 14px !important;}
	.woocommerce-checkout .form-row-first,
	.woocommerce-checkout .form-row-last{width:100% !important;float:none !important;}
}
