/* ==========================================================================
   Scan2Return — WooCommerce styling
   Loaded only when WooCommerce is active, after style.css
   ========================================================================== */

.woocommerce-page-wrap{ padding-bottom:40px; }
.woocommerce-page-wrap .woocommerce-breadcrumb{
	font-family:var(--font-mono); font-size:0.78rem; color:var(--muted);
	padding:24px 0 0; display:block;
}
.woocommerce-page-wrap .woocommerce-breadcrumb a{ color:var(--coral-dark); }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews{
	list-style:none; margin:24px 0; padding:16px 22px; border-radius:var(--radius-sm);
	background:var(--sunshine-soft); color:var(--ink); font-weight:600;
	border-left:5px solid var(--coral);
	display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between;
}
.woocommerce-error{ background:rgba(255,107,91,0.12); border-left-color:var(--coral-dark); }
.woocommerce-message .button, .woocommerce-info .button{
	font-family:var(--font-display); background:var(--indigo); color:#fff; padding:8px 16px;
	border-radius:100px; font-size:0.85rem; font-weight:600;
}

/* Shop hero spacing (banner injected via hook uses .page-hero already styled) */
.shop-hero{ margin-bottom:0; }

/* Category filter pills */
.shop-category-filter{
	display:flex; flex-wrap:wrap; gap:12px; margin:28px auto 0;
}
.cat-pill{
	position:relative;
	display:inline-flex; align-items:center; gap:8px;
	font-family:var(--font-display); font-weight:600; font-size:0.9rem;
	padding:10px 20px 10px 16px; border-radius:100px; border:2px solid var(--line);
	background:var(--paper); color:var(--ink); box-shadow:0 8px 18px -14px rgba(43,34,80,0.4);
	transition:all .18s ease;
}
.cat-pill::before{
	content:''; width:8px; height:8px; border-radius:50%; background:var(--coral); flex:none;
}
.cat-pill:hover{ border-color:var(--coral); color:var(--coral-dark); transform:translateY(-2px); }
.cat-pill.is-active{ background:var(--indigo); border-color:var(--indigo); color:#fff; }
.cat-pill.is-active::before{ background:var(--sunshine); }

/* Shop toolbar row (result count + ordering), wrapped via functions.php */
.shop-toolbar{
	display:flex; align-items:center; justify-content:space-between; margin-top:28px; padding-bottom:20px;
	border-bottom:2px solid var(--line); flex-wrap:wrap; gap:12px;
}
.shop-toolbar .woocommerce-result-count{ margin:0; font-family:var(--font-mono); font-size:0.82rem; color:var(--muted); }
.shop-toolbar .woocommerce-ordering{ margin:0; }
.shop-toolbar .woocommerce-ordering select{
	font-family:var(--font-body); font-size:0.9rem; padding:9px 14px; border-radius:100px; border:2px solid var(--line); background:var(--paper);
}

/* Product grid (Shop archive + related/upsells) */
ul.products{
	display:grid !important;
	grid-template-columns:repeat(3, 1fr);
	gap:26px;
	list-style:none; margin:40px 0 !important; padding:0 !important;
}
ul.products::before, ul.products::after{ content:none !important; display:none !important; }
ul.products li.product{
	width:100% !important; float:none !important; clear:none !important; margin:0 !important;
}

.product-card-link{ display:flex; flex-direction:column; flex:1; }
.product-card-media{ position:relative; margin-bottom:16px; border-radius:var(--radius-sm); overflow:hidden; background:var(--cloud); }
.product-card-media img{ border-radius:var(--radius-sm); aspect-ratio:1/1; object-fit:cover; width:100%; transition:transform .35s ease; }
.product-sale-badge{
	position:absolute; top:10px; left:10px; z-index:2;
	background:var(--coral); color:#fff; font-family:var(--font-mono); font-size:0.68rem; font-weight:700;
	letter-spacing:0.04em; padding:5px 12px; border-radius:100px;
}
.product-card-title{ margin-bottom:6px !important; font-size:1.1rem; }
.product-card-rating{ margin-bottom:8px; }
.product-card-price{ font-family:var(--font-display); font-weight:700; color:var(--coral-dark); font-size:1.15rem; margin-top:auto; padding-top:8px; }
.product-card-price del{ color:var(--muted); font-weight:400; opacity:0.7; margin-right:6px; }
.product-card-price ins{ text-decoration:none; }
.product-card-cta{ margin-top:16px; }
.product-card-cta a.button, .product-card-cta a.added_to_cart{
	display:inline-flex; align-items:center; justify-content:center; width:100%;
	font-family:var(--font-display); font-weight:600; padding:12px 20px;
	border-radius:100px; background:var(--indigo); color:#fff; transition:background .18s ease, transform .18s ease;
}
.product-card-cta a.button:hover{ background:var(--coral); transform:translateY(-2px); }
.product-card-cta a.added_to_cart{ margin-top:8px; background:transparent; color:var(--coral-dark); text-decoration:underline; }

.tag-card.product-card{
	display:flex; flex-direction:column; height:100%;
	transition:transform .25s ease, box-shadow .25s ease;
}
.tag-card.product-card:hover{ box-shadow:0 22px 40px -18px rgba(43,34,80,0.4); }
.tag-card.product-card:hover .product-card-media img{ transform:scale(1.04); }

/* Star ratings */
.star-rating{ color:var(--sunshine); font-size:0.95rem; }
.star-rating::before{ color:var(--line); }
.star-rating span::before{ color:var(--sunshine); }

/* Pagination on shop */
.woocommerce-pagination ul.page-numbers{ display:flex; gap:8px; list-style:none; padding:0; margin:20px 0 0; }
.woocommerce-pagination .page-numbers li{ display:inline; }
.woocommerce-pagination a, .woocommerce-pagination span{
	display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px;
	border-radius:50%; background:var(--paper); border:2px solid var(--line); font-family:var(--font-mono); font-size:0.85rem;
}
.woocommerce-pagination .current{ background:var(--coral); color:#fff; border-color:var(--coral); }

/* Result count / ordering row */
.woocommerce-result-count, .woocommerce-ordering{ font-family:var(--font-mono); font-size:0.82rem; color:var(--muted); }
.woocommerce-ordering select{
	font-family:var(--font-body); padding:8px 12px; border-radius:var(--radius-sm); border:2px solid var(--line); background:var(--paper);
}

/* ==========================================================================
   Single product
   ========================================================================== */
.single-product-hero{ padding:56px 0 20px; }
.single-product-grid{
	display:grid; grid-template-columns:1.15fr 0.85fr; gap:56px; align-items:start;
}
.single-product-gallery{ position:sticky; top:110px; }
.single-product-gallery .woocommerce-product-gallery{
	border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-card); background:var(--paper);
	padding:14px;
}
.single-product-gallery .woocommerce-product-gallery__wrapper{ margin:0; }
.single-product-gallery img{
	border-radius:calc(var(--radius-lg) - 8px);
	width:100%; height:auto; min-height:420px; object-fit:cover;
}
.single-product-gallery .zoomImg{ background:#fff; }
.flex-control-thumbs{ display:flex; gap:12px; margin-top:14px !important; padding:0 14px 14px; list-style:none; }
.flex-control-thumbs li{ width:76px; }
.flex-control-thumbs img{ border-radius:10px; border:2px solid var(--line); cursor:pointer; height:76px; object-fit:cover; }
.flex-control-thumbs img.flex-active{ border-color:var(--coral); }

.single-product-summary-card{ padding-top:44px; }
.single-product-summary-card .product_title{ margin-bottom:8px; }
.single-product-summary-card .price{
	font-family:var(--font-display); font-size:2rem; color:var(--indigo); font-weight:700; display:block; margin-bottom:16px;
}
.single-product-summary-card .price del{ font-size:1.1rem; color:var(--muted); font-weight:500; margin-right:10px; opacity:0.7; }
.single-product-summary-card .price ins{ text-decoration:none; }
.single-product-summary-card .woocommerce-product-details__short-description{ color:var(--muted); }
.single-product-summary-card .woocommerce-product-details__short-description p:last-child{ margin-bottom:0; }

/* Quantity + Add to cart */
.quantity{ display:inline-flex; align-items:center; border:2px solid var(--line); border-radius:100px; overflow:hidden; margin-right:14px; }
.quantity .qty{
	width:56px; border:none; text-align:center; font-family:var(--font-mono); font-size:0.95rem; padding:12px 6px; background:transparent;
}
.single_add_to_cart_button{
	font-family:var(--font-display) !important; font-weight:600 !important; font-size:1rem !important;
	padding:14px 30px !important; border-radius:100px !important; background:var(--coral) !important; color:#fff !important;
	border:none !important; box-shadow:var(--shadow-pop); cursor:pointer; transition:background .18s ease, transform .18s ease;
}
.single_add_to_cart_button:hover{ background:var(--coral-dark) !important; transform:translateY(-2px); }
.buy-now-button{
	font-family:var(--font-display) !important; font-weight:600 !important; font-size:1rem !important;
	padding:14px 30px !important; border-radius:100px !important; background:var(--indigo) !important; color:#fff !important;
	border:none !important; cursor:pointer; transition:background .18s ease, transform .18s ease;
}
.buy-now-button:hover{ background:var(--ink) !important; transform:translateY(-2px); }
form.cart{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:20px 0; }

.product_meta{ margin-top:22px; font-size:0.85rem; color:var(--muted); font-family:var(--font-mono); }
.product_meta a{ color:var(--coral-dark); }

.product-trust-strip{
	display:flex; flex-wrap:wrap; gap:14px; margin-top:22px; font-size:0.85rem; font-weight:600; color:var(--indigo);
}
.product-trust-strip span{ background:var(--sunshine-soft); padding:8px 14px; border-radius:100px; }

/* Tabs (description / reviews) */
.woocommerce-tabs{ margin-top:20px; }
.woocommerce-tabs ul.tabs{
	display:flex; gap:8px; list-style:none; padding:0; margin:0 0 -2px; border-bottom:2px solid var(--line); flex-wrap:wrap;
}
.woocommerce-tabs ul.tabs li{ margin:0; }
.woocommerce-tabs ul.tabs li a{
	display:inline-block; padding:12px 20px; font-family:var(--font-display); font-weight:600; color:var(--muted); border-radius:12px 12px 0 0;
}
.woocommerce-tabs ul.tabs li.active a{ color:var(--coral-dark); background:var(--sunshine-soft); }
.woocommerce-Tabs-panel{
	background:var(--paper); border:2px solid var(--line); border-radius:0 var(--radius-md) var(--radius-md) var(--radius-md);
	padding:30px; box-shadow:var(--shadow-card);
}

/* Related / upsell headings */
.related.products > h2, .up-sells > h2{
	font-family:var(--font-display); font-size:1.7rem; color:var(--indigo); margin:56px 0 24px;
}

/* ==========================================================================
   Generic WooCommerce forms (My Account, login/register, checkout)
   ========================================================================== */
.woocommerce form .form-row label{ font-weight:600; font-size:0.92rem; display:block; margin-bottom:6px; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce table.shop_table input.input-text{
	width:100%; padding:12px 14px; border:2px solid var(--line); border-radius:var(--radius-sm);
	font-family:var(--font-body); font-size:1rem; background:var(--cloud);
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{ outline:none; border-color:var(--coral); }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button{
	font-family:var(--font-display); font-weight:600; border-radius:100px; padding:13px 26px;
	background:var(--coral); color:#fff; border:none; transition:background .18s ease, transform .18s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover{
	background:var(--coral-dark); color:#fff; transform:translateY(-2px);
}

.woocommerce-MyAccount-navigation ul{ display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:0; margin:0 0 32px; }
.woocommerce-MyAccount-navigation li a{
	display:inline-block; padding:10px 18px; border-radius:100px; border:2px solid var(--line);
	font-family:var(--font-display); font-weight:600; font-size:0.9rem; background:var(--paper);
}
.woocommerce-MyAccount-navigation li.is-active a{ background:var(--indigo); border-color:var(--indigo); color:#fff; }
.woocommerce-MyAccount-content table.shop_table{ margin:20px 0; }

/* ==========================================================================
   Cart page
   ========================================================================== */
.cart-empty.woocommerce-info{
	display:flex; flex-direction:column; align-items:center; text-align:center; gap:16px;
	background:var(--sunshine-soft); border:none; padding:60px 30px; border-radius:var(--radius-lg);
}
.cart-empty.woocommerce-info::before{ content:'\1F9F3'; font-size:2.6rem; }
.return-to-shop{ margin-top:6px; }
.return-to-shop .button{
	font-family:var(--font-display); font-weight:600; background:var(--coral) !important; color:#fff !important;
	padding:14px 30px !important; border-radius:100px !important; box-shadow:var(--shadow-pop);
}

.woocommerce-cart-form table.shop_table{
	width:100%; border-collapse:collapse; background:var(--paper); border-radius:var(--radius-md);
	overflow:hidden; box-shadow:var(--shadow-card); margin:32px 0;
}
.shop_table th{
	background:var(--indigo); color:#fff; font-family:var(--font-display); font-weight:600; text-align:left; padding:14px 18px;
}
.shop_table td{ padding:18px; border-bottom:1px solid var(--line); vertical-align:middle; }
.shop_table tr:last-child td{ border-bottom:none; }
.product-thumbnail img{ border-radius:10px; width:70px; height:70px; object-fit:cover; }
.product-remove a.remove{
	display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%;
	background:var(--sunshine-soft); color:var(--coral-dark) !important; font-weight:700;
}
td.actions .coupon{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
td.actions .coupon input#coupon_code{
	padding:12px 14px; border:2px solid var(--line); border-radius:var(--radius-sm); font-family:var(--font-body);
}
td.actions .button, .checkout-button{
	font-family:var(--font-display) !important; font-weight:600 !important; padding:14px 28px !important;
	border-radius:100px !important; background:var(--indigo) !important; color:#fff !important; border:none !important;
	transition:background .18s ease, transform .18s ease;
}
td.actions .button:hover, .checkout-button:hover{ background:var(--coral) !important; transform:translateY(-2px); }

.cart-collaterals{ display:flex; justify-content:flex-end; margin:24px 0 60px; }
.cart_totals{
	background:var(--paper); border:2px dashed var(--line); border-radius:var(--radius-md);
	padding:26px 28px; min-width:320px; box-shadow:var(--shadow-card);
}
.cart_totals h2{ font-size:1.3rem; }
.cart_totals table{ width:100%; }
.cart_totals table td, .cart_totals table th{ padding:10px 0; border-bottom:1px solid var(--line); }
.cart_totals .order-total .amount{ font-family:var(--font-display); font-weight:700; color:var(--coral-dark); font-size:1.2rem; }

.checkout-trust-strip{
	display:flex; flex-wrap:wrap; gap:14px; margin:0 0 32px; padding:16px 0;
}
.checkout-trust-strip span{
	background:var(--sunshine-soft); padding:10px 16px; border-radius:100px; font-size:0.85rem; font-weight:600; color:var(--indigo);
}

/* Header cart icon */
.cart-icon-link{ position:relative; display:inline-flex; align-items:center; justify-content:center; }
.cart-icon{
	position:relative; display:inline-block; width:26px; height:22px; border:2.5px solid var(--indigo); border-radius:6px 6px 8px 8px;
}
.cart-icon-hole{
	position:absolute; top:-9px; left:50%; transform:translateX(-50%); width:12px; height:12px;
	border:2.5px solid var(--indigo); border-bottom:none; border-radius:12px 12px 0 0;
}
.cart-count{
	position:absolute; top:-8px; right:-10px; background:var(--coral); color:#fff; font-size:0.68rem; font-weight:700;
	width:18px; height:18px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--font-mono);
}

/* ==========================================================================
   Checkout page
   ========================================================================== */
.woocommerce-checkout-review-order, #order_review{
	background:var(--paper); border:2px solid var(--line); border-radius:var(--radius-md); padding:28px; box-shadow:var(--shadow-card);
}
.woocommerce-checkout #customer_details{ margin-bottom:32px; }
.woocommerce-checkout .col2-set, .woocommerce-checkout-review-order-table{ width:100%; }
.checkout h3#order_review_heading{ font-family:var(--font-display); font-size:1.5rem; margin-bottom:18px; }

.woocommerce-billing-fields h3, .woocommerce-additional-fields h3{ font-family:var(--font-display); font-size:1.3rem; margin-bottom:18px; }
.woocommerce-checkout .form-row{ margin-bottom:16px; }
.woocommerce-checkout label{ font-weight:600; font-size:0.92rem; display:block; margin-bottom:6px; }
.woocommerce-checkout input.input-text, .woocommerce-checkout select, .woocommerce-checkout textarea{
	width:100%; padding:12px 14px; border:2px solid var(--line); border-radius:var(--radius-sm);
	font-family:var(--font-body); font-size:1rem; background:var(--cloud);
}
.woocommerce-checkout input.input-text:focus, .woocommerce-checkout select:focus, .woocommerce-checkout textarea:focus{
	outline:none; border-color:var(--coral);
}
.woocommerce-checkout-review-order-table thead{ display:none; }
.woocommerce-checkout-review-order-table td, .woocommerce-checkout-review-order-table th{ padding:12px 0; border-bottom:1px solid var(--line); }
.woocommerce-checkout-review-order-table .order-total .amount{ font-family:var(--font-display); font-weight:700; color:var(--coral-dark); font-size:1.25rem; }

#payment{ background:var(--sunshine-soft); border-radius:var(--radius-md); padding:22px; margin-top:20px; }
#payment ul.payment_methods{ list-style:none; padding:0; margin:0 0 14px; }
#payment ul.payment_methods li{ padding:10px 0; border-bottom:1px solid rgba(0,0,0,0.06); font-weight:600; }
#payment div.payment_box{
	background:var(--paper); border-radius:var(--radius-sm); padding:16px; margin-top:10px; font-size:0.9rem; color:var(--muted);
}
#place_order{
	width:100%; margin-top:18px; font-family:var(--font-display) !important; font-weight:700 !important; font-size:1.1rem !important;
	padding:18px !important; border-radius:100px !important; background:var(--coral) !important; color:#fff !important; border:none !important;
	box-shadow:var(--shadow-pop); cursor:pointer; transition:background .18s ease, transform .18s ease;
}
#place_order:hover{ background:var(--coral-dark) !important; transform:translateY(-2px); }

/* Order received / thank you page */
.woocommerce-order-received .woocommerce-thankyou-order-received{
	background:var(--sunshine-soft); border-radius:var(--radius-md); padding:24px; font-weight:700; font-size:1.15rem; color:var(--indigo);
	margin:32px 0;
}
.woocommerce-order-received ul.woocommerce-order-overview{
	display:flex; flex-wrap:wrap; gap:20px; list-style:none; padding:24px; margin:0 0 32px;
	background:var(--paper); border:2px dashed var(--line); border-radius:var(--radius-md);
}
.woocommerce-order-received ul.woocommerce-order-overview li{ font-family:var(--font-mono); font-size:0.85rem; }
.woocommerce-order-received ul.woocommerce-order-overview li strong{ display:block; font-family:var(--font-display); font-size:1rem; color:var(--indigo); margin-top:4px; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 960px){
	.single-product-grid{ grid-template-columns:1fr; }
	.single-product-gallery{ position:static; top:auto; }
	.single-product-gallery img{ min-height:0; }
	ul.products{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 640px){
	ul.products{ grid-template-columns:1fr; }
	.cart-collaterals{ justify-content:stretch; }
	.cart_totals{ width:100%; }
	.shop_table{ font-size:0.85rem; }
	.shop-category-filter{ gap:8px; }
	.cat-pill{ padding:8px 14px; font-size:0.82rem; }
	form.cart{ flex-direction:column; align-items:stretch; }
	.single_add_to_cart_button, .buy-now-button{ width:100%; }
}
