/* =========================================================================
   Cart page (v9.33) — styles the WooCommerce Cart block + the extras from
   inc/cart.php. Loaded on the cart page only.
   ========================================================================= */
body.fl-cartpage{
	--cx-ink:#0e0e0d; --cx-flame:#ff4d1c; --cx-soft:#6b655b; --cx-line:#e2dbcb; --cx-bone2:#eee8da; --cx-card:#fff; --cx-ok:#1f8a4c;
	--cx-display:'Archivo','Arial Narrow',Arial,sans-serif; --cx-mono:'Space Mono',ui-monospace,monospace;
}
body.fl-cartpage .page-content{ max-width:1240px; padding-top:0; }
body.fl-cartpage .entry-content > *{ max-width:none; }

/* ---------- state switches ---------- */
body.fl-cart-filled .fl-cx-empty,
body.fl-cart-filled .fl-cx-empty-i,
body.fl-cart-empty .fl-cx-filled,
body.fl-cart-empty .fl-cx-filled-i{ display:none !important; }
body.fl-cartpage .wp-block-woocommerce-empty-cart-block{ display:none !important; }

/* ---------- hero ---------- */
.fl-cx-hero{ padding:34px 0 0; background:none; }
.fl-cx-top{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:20px; padding-bottom:24px; }
.fl-cx-h{ font-family:var(--cx-display) !important; font-weight:900 !important; font-variation-settings:"wdth" 110; font-stretch:110%;
	text-transform:uppercase; letter-spacing:-.01em; line-height:.95 !important; font-size:clamp(40px,6vw,72px) !important; margin:0 !important; color:var(--cx-ink); }
.fl-cx-h span{ color:var(--cx-flame); }
.fl-cx-n{ font:400 16px/1 var(--cx-mono); color:var(--cx-soft); letter-spacing:0; vertical-align:middle; text-transform:uppercase; }
.fl-cx-n b{ font-weight:700; } .fl-cx-n i{ font-style:normal; }
.fl-cx-sub{ margin:10px 0 0; color:var(--cx-soft); font-size:15px; }
.fl-cx-steps{ display:flex; align-items:center; list-style:none; margin:0; padding:0; font:700 11px var(--cx-mono); text-transform:uppercase; letter-spacing:.1em; }
.fl-cx-steps li{ display:flex; align-items:center; gap:8px; color:#9b9387; margin:0; }
.fl-cx-steps li + li::before{ content:""; width:34px; height:2px; background:var(--cx-line); margin:0 10px; }
.fl-cx-steps b{ width:24px; height:24px; border-radius:50%; display:grid; place-items:center; border:2px solid currentColor; font-size:11px; }
.fl-cx-steps .on{ color:var(--cx-ink); }
.fl-cx-steps .on b{ background:var(--cx-ink); color:#fff; border-color:var(--cx-ink); }

.fl-cx-empty{ flex-direction:column; align-items:center; text-align:center; padding:10px 0 30px; }
.fl-cx-empty .fl-cx-sub{ max-width:460px; }
.fl-cx-bag{ width:110px; animation:flcxBob 3s ease-in-out infinite; }
@keyframes flcxBob{ 50%{ transform:translateY(-8px) rotate(-3deg); } }
.fl-cx-ctas{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:8px; }
.fl-cx-ctas a{ padding:15px 22px; font:700 12px var(--cx-mono); text-transform:uppercase; letter-spacing:.1em; text-decoration:none; border:2px solid var(--cx-ink); color:var(--cx-ink); }
.fl-cx-ctas a:first-child{ background:var(--cx-flame); border-color:var(--cx-flame); color:#fff; }
.fl-cx-ctas a:hover{ background:var(--cx-ink); border-color:var(--cx-ink); color:#fff; }

.fl-cx-perks{ display:grid; grid-template-columns:repeat(3,1fr); border:2px solid var(--cx-ink); background:var(--cx-card); margin-bottom:28px; }
.fl-cx-perk{ display:flex; align-items:center; gap:12px; padding:14px 18px; font-size:14px; }
.fl-cx-perk + .fl-cx-perk{ border-left:2px solid var(--cx-ink); }
.fl-cx-perk .ic{ flex:none; width:34px; height:34px; display:grid; place-items:center; background:var(--cx-bone2); }
.fl-cx-perk .ic svg{ width:18px; height:18px; }
.fl-cx-perk strong{ display:block; font:700 12px var(--cx-mono); text-transform:uppercase; letter-spacing:.06em; color:var(--cx-ink); }
.fl-cx-perk small{ color:var(--cx-soft); font-size:13px; }
.fl-cx-perk.hot .ic{ background:var(--cx-flame); color:#fff; }

/* ---------- block cart: layout ---------- */
body.fl-cartpage .wp-block-woocommerce-cart{ margin:0; }
body.fl-cartpage .wc-block-cart.wc-block-components-sidebar-layout{ display:grid; grid-template-columns:minmax(0,1fr) 400px; gap:36px; align-items:start; margin:0; }
body.fl-cartpage .wc-block-cart .wc-block-components-main,
body.fl-cartpage .wc-block-cart .wc-block-components-sidebar{ width:auto !important; padding:0 !important; margin:0 !important; }

/* ---------- items ---------- */
body.fl-cartpage .wc-block-cart-items{ border:0 !important; margin:0; width:100%; border-collapse:collapse; }
body.fl-cartpage .wc-block-cart-items__header{ border-bottom:2px solid var(--cx-ink) !important; }
body.fl-cartpage .wc-block-cart-items__header th{ padding:0 0 10px !important; font:700 11px var(--cx-mono) !important; text-transform:uppercase; letter-spacing:.1em; color:var(--cx-ink); }
body.fl-cartpage .wc-block-cart-items__header-image span{ font-size:0; }
body.fl-cartpage .wc-block-cart-items__header-image span::before{ content:"Items"; font-family:var(--cx-display); font-weight:900; font-variation-settings:"wdth" 110; font-size:22px; letter-spacing:-.01em; color:var(--cx-ink); }
body.fl-cartpage .wc-block-cart-items__header-product span{ visibility:hidden; }
body.fl-cartpage .wc-block-cart-items__row{ border-bottom:1px solid var(--cx-line) !important; }
body.fl-cartpage .wc-block-cart-items__row td{ padding:20px 0 !important; vertical-align:top; border:0 !important; }
body.fl-cartpage .wc-block-cart-item__image{ width:128px; padding-right:20px !important; }
body.fl-cartpage .wc-block-cart-item__image a{ display:block; aspect-ratio:4/5; background:var(--cx-bone2); overflow:hidden; }
body.fl-cartpage .wc-block-cart-item__image img{ width:100% !important; height:100% !important; max-width:none !important; object-fit:cover; display:block; }
body.fl-cartpage .wc-block-components-product-name{ display:block; font-family:var(--cx-display) !important; font-weight:800 !important; font-variation-settings:"wdth" 105;
	text-transform:uppercase; font-size:20px !important; line-height:1.1 !important; color:var(--cx-ink) !important; text-decoration:none !important; margin:0 0 8px !important; max-width:none !important; }
body.fl-cartpage .wc-block-components-product-name:hover{ color:var(--cx-flame) !important; }
body.fl-cartpage .wc-block-cart-item__prices{ font:400 13px var(--cx-mono) !important; margin:0 0 8px !important; }
body.fl-cartpage .wc-block-cart-item__prices del{ color:#9b9387; }
body.fl-cartpage .wc-block-cart-item__prices ins{ color:var(--cx-ink) !important; text-decoration:none; font-weight:700; }
body.fl-cartpage .wc-block-components-sale-badge{ display:inline-block; background:#e7f5ec !important; color:var(--cx-ok) !important; border:0 !important; border-radius:0 !important;
	font:700 10px var(--cx-mono) !important; letter-spacing:.04em; padding:3px 7px !important; text-transform:uppercase; margin:0 0 10px !important; }
body.fl-cartpage .wc-block-components-product-metadata{ margin:0 0 14px !important; }
body.fl-cartpage .wc-block-components-product-details{ display:flex; flex-wrap:wrap; gap:6px; margin:0 !important; padding:0; list-style:none; }
body.fl-cartpage .wc-block-components-product-details > *{ border:1.5px solid var(--cx-ink); font:700 11px var(--cx-mono) !important; padding:4px 9px; text-transform:uppercase; display:inline-flex; gap:4px; margin:0 !important; }
body.fl-cartpage .wc-block-components-product-details__name{ font-weight:400; }
body.fl-cartpage .wc-block-components-product-metadata__description{ display:none; }
body.fl-cartpage .wc-block-cart-item__quantity{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
body.fl-cartpage .wc-block-components-quantity-selector{ border:2px solid var(--cx-ink) !important; border-radius:0 !important; background:#fff; width:auto !important; min-width:0; height:42px; margin:0 !important; }
body.fl-cartpage .wc-block-components-quantity-selector::after{ display:none !important; }
body.fl-cartpage .wc-block-components-quantity-selector__input{ width:40px !important; min-width:0 !important; font:700 14px var(--cx-mono) !important; color:var(--cx-ink) !important; border:0 !important; box-shadow:none !important; }
body.fl-cartpage .wc-block-components-quantity-selector__button{ width:38px !important; min-width:38px !important; font-size:18px !important; color:var(--cx-ink) !important; opacity:1 !important; border-radius:0 !important; }
body.fl-cartpage .wc-block-components-quantity-selector__button:hover{ background:var(--cx-bone2) !important; }
body.fl-cartpage .wc-block-cart-item__remove-link{ font:400 12px var(--cx-mono) !important; color:var(--cx-soft) !important; text-decoration:underline !important; text-underline-offset:3px; background:none !important; border:0 !important; padding:0 !important; }
body.fl-cartpage .wc-block-cart-item__remove-link:hover{ color:var(--cx-flame) !important; }
body.fl-cartpage .wc-block-cart-item__total{ text-align:right; min-width:110px; }
body.fl-cartpage .wc-block-cart-item__total .wc-block-components-product-price,
body.fl-cartpage .wc-block-cart-item__total .wc-block-components-product-price__value{ font:700 18px var(--cx-mono) !important; color:var(--cx-ink) !important; }
body.fl-cartpage .wc-block-cart-item__total .wc-block-components-sale-badge{ margin-top:8px !important; }

/* savings band */
.fl-cx-band{ margin-top:18px; display:flex; align-items:center; gap:14px; background:var(--cx-ink); color:#ddd; padding:14px 18px; }
.fl-cx-band[hidden]{ display:none; }
.fl-cx-band .big{ font-family:var(--cx-display); font-weight:900; font-variation-settings:"wdth" 110; font-size:26px; color:var(--cx-flame); white-space:nowrap; }
.fl-cx-band p{ margin:0; font-size:14px; color:#ddd; }
.fl-cx-band b{ color:#fff; }
.fl-cx-band + *{ margin-top:0; }

/* ---------- summary card ---------- */
body.fl-cartpage .wc-block-cart__sidebar{ background:var(--cx-card); border:2px solid var(--cx-ink); box-shadow:8px 8px 0 var(--cx-ink); position:sticky; top:20px; }
body.fl-cartpage .wc-block-cart__sidebar > *:not(.fl-cx-after){ margin-left:22px !important; margin-right:22px !important; }
body.fl-cartpage .wc-block-cart__totals-title{ font-family:var(--cx-display) !important; font-weight:900 !important; font-variation-settings:"wdth" 110; font-size:0 !important;
	text-transform:uppercase; text-align:left !important; padding:22px 0 14px !important; margin:0 !important; border:0 !important; letter-spacing:-.01em; line-height:1 !important; display:block !important; }
body.fl-cartpage .wc-block-cart__totals-title::before{ content:"Summary"; font-size:24px; color:var(--cx-ink); }
body.fl-cartpage .wc-block-cart__sidebar .wc-block-components-totals-wrapper{ padding:14px 0 !important; border-top:1px solid var(--cx-line) !important; }
body.fl-cartpage .wc-block-cart__sidebar .wc-block-components-totals-wrapper:empty{ display:none; }
body.fl-cartpage .wc-block-components-totals-coupon .wc-block-components-panel__button{ font:700 11px var(--cx-mono) !important; text-transform:uppercase; letter-spacing:.08em; color:var(--cx-ink) !important; padding:0 !important; margin:0 !important; }
body.fl-cartpage .wc-block-components-totals-coupon__form{ display:flex; gap:0; }
body.fl-cartpage .wc-block-components-totals-coupon__form input{ border:2px solid var(--cx-ink) !important; border-radius:0 !important; background:#f7f2e8 !important; font-family:var(--cx-mono) !important; }
body.fl-cartpage .wc-block-components-totals-coupon__button{ border-radius:0 !important; background:var(--cx-ink) !important; color:#fff !important; font:700 11px var(--cx-mono) !important; text-transform:uppercase; letter-spacing:.08em; }
body.fl-cartpage .wc-block-components-totals-item{ font-size:14px; color:var(--cx-ink); }
body.fl-cartpage .wc-block-components-totals-item__label{ font-family:inherit !important; font-size:14px !important; text-transform:none !important; letter-spacing:0 !important; }
body.fl-cartpage .wc-block-components-totals-item__value{ font-family:var(--cx-mono) !important; font-weight:700; }
body.fl-cartpage .wc-block-components-totals-footer-item{ border-top:2px solid var(--cx-ink); padding-top:14px !important; align-items:baseline; }
body.fl-cartpage .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{ font:700 12px var(--cx-mono) !important; text-transform:uppercase !important; letter-spacing:.08em !important; }
body.fl-cartpage .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.fl-cartpage .wc-block-components-totals-footer-item-tax-value{ font-family:var(--cx-display) !important; font-weight:900 !important; font-variation-settings:"wdth" 110; font-size:32px !important; color:var(--cx-ink) !important; }
body.fl-cartpage .wc-block-components-totals-footer-item .wc-block-components-totals-item__description{ font-size:11px; color:var(--cx-soft); text-align:right; width:100%; }

/* prepaid box (from functions.php) */
body.fl-cartpage .wc-block-cart__sidebar .fl-prepaid-nudge{ margin-top:14px !important; margin-bottom:16px !important; border:2px dashed var(--cx-flame) !important; background:#fff4ef !important; }
body.fl-cartpage .wc-block-cart__payment-options:empty{ display:none; }

/* checkout button */
body.fl-cartpage .wc-block-cart__submit{ margin-top:0 !important; margin-bottom:0 !important; }
body.fl-cartpage .wc-block-cart__submit-container{ padding:0 !important; }
body.fl-cartpage .wc-block-cart__submit-button{ width:100%; background:var(--cx-flame) !important; color:#fff !important; border:0 !important; border-radius:0 !important; min-height:58px;
	font:700 14px var(--cx-mono) !important; text-transform:uppercase; letter-spacing:.12em; transition:background .2s; box-shadow:none !important; }
body.fl-cartpage .wc-block-cart__submit-button:hover{ background:var(--cx-ink) !important; }
body.fl-cartpage .wc-block-cart__submit-button .wc-block-components-button__text::after{ content:" →"; }

/* trust / delivery block under the button */
.fl-cx-after{ margin:0 !important; }
.fl-cx-pays{ display:flex; justify-content:center; gap:6px; flex-wrap:wrap; padding:12px 22px 20px; }
.fl-cx-pays span{ border:1px solid var(--cx-line); font:700 9px var(--cx-mono); padding:4px 7px; color:var(--cx-soft); letter-spacing:.06em; text-transform:uppercase; }
.fl-cx-eta{ display:flex; gap:12px; align-items:center; background:var(--cx-bone2); padding:14px 22px; border-top:2px solid var(--cx-ink); font-size:13px; color:var(--cx-ink); }
.fl-cx-eta svg{ width:26px; height:26px; flex:none; }
.fl-cx-eta strong{ display:block; font:700 12px var(--cx-mono); text-transform:uppercase; letter-spacing:.05em; }
.fl-cx-trust{ display:grid; grid-template-columns:repeat(3,1fr); border-top:2px solid var(--cx-ink); }
.fl-cx-trust div{ padding:12px 6px; text-align:center; font:700 9.5px var(--cx-mono); text-transform:uppercase; letter-spacing:.06em; line-height:1.35; color:var(--cx-ink); }
.fl-cx-trust div + div{ border-left:1px solid var(--cx-line); }
.fl-cx-trust svg{ display:block; margin:0 auto 6px; }

/* ---------- rail ---------- */
.fl-cx-more{ margin:56px 0 24px; background:none; }
.fl-cx-more .fh-sec{ padding:0; }
.fl-cx-more .fh-d em{ font-style:normal; color:var(--cx-flame); }


@media (max-width:960px){
	body.fl-cartpage .wc-block-cart.wc-block-components-sidebar-layout{ grid-template-columns:1fr; }
	body.fl-cartpage .wc-block-cart__sidebar{ position:static; box-shadow:6px 6px 0 var(--cx-ink); }
}
@media (max-width:640px){
	.fl-cx-steps{ display:none; }
	.fl-cx-hero{ padding-top:22px; }
	.fl-cx-top{ padding-bottom:18px; }
	.fl-cx-perks{ margin-bottom:20px; }
	.fl-cx-perk{ flex-direction:column; text-align:center; gap:6px; padding:10px 4px; }
	.fl-cx-perk small{ display:none; }
	.fl-cx-perk strong{ font-size:9.5px; }
	.fl-cx-perk .ic{ width:28px; height:28px; }
	body.fl-cartpage .wc-block-cart-items__header-total span{ display:none; }
	body.fl-cartpage .wc-block-cart.is-mobile .wc-block-cart-items__row{ grid-template-columns:92px 1fr auto !important; column-gap:14px; }
	body.fl-cartpage .wc-block-cart.is-mobile .wc-block-cart-item__image{ width:auto; padding-right:0 !important; }
	body.fl-cartpage .wc-block-cart.is-mobile .wc-block-cart-item__total{ min-width:0; }
	body.fl-cartpage .wc-block-cart.is-mobile .wc-block-cart-item__total .wc-block-components-product-price__value{ font-size:14px !important; }
	body.fl-cartpage .wc-block-components-product-name{ font-size:16px !important; }
	body.fl-cartpage .wc-block-cart-item__quantity{ gap:12px; }
	.fl-cx-band .big{ font-size:22px; }
	/* WooCommerce's own sticky checkout button on phones (the real button, so Razorpay works) */
	body.fl-cartpage .wc-block-cart__submit-container--sticky{ background:#fff !important; border-top:2px solid var(--cx-ink); padding:10px 14px calc(10px + env(safe-area-inset-bottom)) !important; box-shadow:0 -8px 24px rgba(0,0,0,.08) !important; }
	body.fl-cartpage .wc-block-cart__submit-container--sticky::before{ display:none !important; }
	body.fl-cartpage .site-footer{ padding-bottom:90px; }
	body.fl-cartpage .whatsapp-float, body.fl-cartpage .wa-float, body.fl-cartpage [class*="whatsapp-fab"]{ bottom:86px !important; }
}
@media (prefers-reduced-motion:reduce){ .fl-cx-bag{ animation:none; } }

/* rail: undo the generic page-content link / heading styles so the cards match the homepage */
body.fl-cartpage .entry-content .fh a{ color:var(--cx-ink); text-decoration:none; }
body.fl-cartpage .entry-content .fh a:hover{ color:var(--cx-flame); }
body.fl-cartpage .entry-content .fh .fh-atc, body.fl-cartpage .entry-content .fh .fh-atc:hover{ color:#fff; }
body.fl-cartpage .entry-content .fl-cx-more .fh-d{ font-family:var(--cx-display) !important; font-weight:900 !important; font-variation-settings:'wdth' 110; font-size:38px !important;
	letter-spacing:-.02em !important; line-height:.98 !important; margin:0 !important; color:var(--cx-ink) !important; }
@media (max-width:640px){ body.fl-cartpage .entry-content .fl-cx-more .fh-d{ font-size:28px !important; } }
body.fl-cartpage .fl-prepaid-nudge[hidden]{ display:none !important; }
