/* =============================================================================
   WooCommerce overrides — slot Woo's default markup into the design's classes.
   Higher-specificity selectors + !important to defeat Storefront / TwentyTwentyX
   leaks and WP block presets that ship with default colors.
   ============================================================================= */

/* ---- Notices ---- */
body.fl-body .woocommerce-notices-wrapper{max-width:1240px;margin:0 auto;padding:16px 32px 0;}
body.fl-body .woocommerce-message,
body.fl-body .woocommerce-info,
body.fl-body .woocommerce-error{background:var(--card) !important;border-color:var(--terra) !important;color:var(--ink) !important;border-radius:3px !important;padding:14px 18px !important;font-size:14px !important;}
body.fl-body .woocommerce-message::before,
body.fl-body .woocommerce-info::before,
body.fl-body .woocommerce-error::before{color:var(--terra) !important;}
body.fl-body .woocommerce-message .button{background:var(--terra) !important;color:#fff !important;border-color:var(--terra) !important;}

/* ---- Shop / archive grid ---- */
body.fl-body .woocommerce ul.products,
body.fl-body ul.products{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:26px !important;margin:0 !important;padding:0 !important;list-style:none !important;}
body.fl-body .woocommerce ul.products li.product,
body.fl-body ul.products li.product{width:auto !important;margin:0 !important;padding:0 !important;float:none !important;list-style:none !important;}
body.fl-body .woocommerce ul.products li.product::before{display:none !important;}

/* Result count + sort */
body.fl-body .woocommerce .woocommerce-result-count{font-family:'Spline Sans Mono' !important;font-size:13px !important;color:var(--muted) !important;}
body.fl-body .woocommerce .woocommerce-ordering select,
body.fl-body .woocommerce-ordering select{border:1px solid var(--line) !important;border-radius:2px !important;padding:10px 14px !important;font-family:inherit !important;font-size:13.5px !important;background:var(--card) !important;color:var(--ink) !important;}

/* ============================================================================
   SINGLE PRODUCT PAGE
   ============================================================================ */

body.fl-body .single-product .product,
body.fl-body .single-product div.product,
body.fl-body .single-product .type-product{
	display:grid !important;
	grid-template-columns:1.06fr 1fr !important;
	gap:54px !important;
	align-items:start !important;
}

/* Image gallery + summary children of .product */
body.fl-body .single-product .product .woocommerce-product-gallery,
body.fl-body .single-product div.product .woocommerce-product-gallery,
body.fl-body .single-product .product .images{
	position:sticky;top:96px;
	width:auto !important;
	float:none !important;
	margin:0 !important;
	padding:0 !important;
	opacity:1 !important; /* defeat Woo's loading opacity */
}
body.fl-body .single-product .product .entry-summary,
body.fl-body .single-product div.product .entry-summary,
body.fl-body .single-product .product .summary{
	width:auto !important;
	float:none !important;
	margin:0 !important;
	padding:0 !important;
}

/* Gallery main image */
body.fl-body .single-product .woocommerce-product-gallery__image img{border-radius:5px !important;box-shadow:var(--shadow) !important;}

/* Eyebrow injected by our PHP hook */
body.fl-body .single-product .entry-summary .eyebrow{margin-bottom:0;}

/* Title */
body.fl-body .single-product .product .product_title,
body.fl-body .single-product div.product .product_title{
	font-family:'Cormorant Garamond' !important;
	font-weight:600 !important;
	font-size:clamp(36px,4vw,52px) !important;
	margin:10px 0 0 !important;
	line-height:1.02 !important;
	color:var(--ink) !important;
}

/* Stars rating */
body.fl-body .single-product .woocommerce-product-rating{margin:8px 0 0 !important;}
body.fl-body .single-product .star-rating{color:var(--terra) !important;font-family:star !important;}

/* Price — force ink color over any default Woo orange/gold */
body.fl-body .single-product .product .price,
body.fl-body .single-product div.product .price,
body.fl-body .single-product .product p.price,
body.fl-body .single-product .product span.price{
	font-family:'Spline Sans Mono' !important;
	font-size:24px !important;
	margin:16px 0 !important;
	color:var(--ink) !important;
}
body.fl-body .single-product .product .price del,
body.fl-body .single-product .product .price del *,
body.fl-body .single-product .product .price del span{color:var(--faint) !important;font-size:17px !important;margin-right:8px !important;opacity:1 !important;}
body.fl-body .single-product .product .price ins,
body.fl-body .single-product .product .price ins *,
body.fl-body .single-product .product .price ins span{background:none !important;text-decoration:none !important;color:var(--ink) !important;}

/* Short description / blurb */
body.fl-body .single-product .product .woocommerce-product-details__short-description{color:var(--muted) !important;font-size:16px !important;line-height:1.55 !important;margin:8px 0 0 !important;}
body.fl-body .single-product .product .woocommerce-product-details__short-description p{margin:0 !important;}

/* form.cart */
body.fl-body .single-product form.cart{margin:24px 0 !important;display:flex !important;flex-wrap:wrap !important;align-items:center !important;gap:12px !important;}
body.fl-body .single-product .quantity{display:flex !important;align-items:center !important;border:1.5px solid var(--ink) !important;border-radius:2px !important;width:max-content !important;overflow:hidden !important;margin:0 !important;}
body.fl-body .single-product .quantity input.qty{width:46px !important;text-align:center !important;font-family:'Spline Sans Mono' !important;font-size:15px !important;border:0 !important;background:transparent !important;color:var(--ink) !important;height:46px !important;-moz-appearance:textfield !important;padding:0 !important;}
body.fl-body .single-product .quantity input.qty::-webkit-outer-spin-button,
body.fl-body .single-product .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none !important;margin:0 !important;}

/* Add to cart button — defeat purple WP block preset, Storefront, etc. */
body.fl-body .single-product form.cart button.single_add_to_cart_button,
body.fl-body .single-product form.cart button.button,
body.fl-body .single-product form.cart .button.alt,
body.fl-body .single-product form.cart input.button{
	background:var(--terra) !important;
	background-color:var(--terra) !important;
	background-image:none !important;
	border:1.5px solid var(--terra) !important;
	color:#fff !important;
	font-family:'Hanken Grotesk', system-ui, sans-serif !important;
	font-size:15px !important;
	font-weight:600 !important;
	padding:16px 32px !important;
	border-radius:2px !important;
	transition:.18s !important;
	text-transform:none !important;
	letter-spacing:.01em !important;
	box-shadow:none !important;
	flex:1 !important;
	min-width:200px !important;
	cursor:pointer !important;
}
body.fl-body .single-product form.cart button.single_add_to_cart_button:hover,
body.fl-body .single-product form.cart .button.alt:hover{
	background:var(--terra-deep) !important;
	background-color:var(--terra-deep) !important;
	border-color:var(--terra-deep) !important;
	color:#fff !important;
}

/* Buy Now button */
body.fl-body .single-product .entry-summary .fl-buy-now{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	font-family:'Hanken Grotesk' !important;
	font-size:15px !important;
	font-weight:600 !important;
	padding:16px 32px !important;
	border:1.5px solid var(--ink) !important;
	background:transparent !important;
	color:var(--ink) !important;
	border-radius:2px !important;
	text-decoration:none !important;
	transition:.18s !important;
}
body.fl-body .single-product .entry-summary .fl-buy-now:hover{
	background:var(--ink) !important;
	color:var(--paper) !important;
}

/* Variations table */
body.fl-body .single-product table.variations{margin:18px 0 !important;border:0 !important;background:none !important;}
body.fl-body .single-product table.variations tbody,
body.fl-body .single-product table.variations tr{display:block !important;margin-bottom:12px !important;background:none !important;}
body.fl-body .single-product table.variations td,
body.fl-body .single-product table.variations th{display:block !important;border:0 !important;padding:0 !important;background:none !important;}
body.fl-body .single-product table.variations label{font-family:'Spline Sans Mono' !important;font-size:11.5px !important;letter-spacing:.1em !important;text-transform:uppercase !important;color:var(--muted) !important;font-weight:500 !important;}
body.fl-body .single-product table.variations td.value{margin-top:8px !important;}
body.fl-body .single-product .reset_variations{font-size:12px !important;color:var(--faint) !important;}

/* HIDE Woo's default tabs — we use the .acc accordion instead (set in the summary). */
body.fl-body .single-product .woocommerce-tabs{display:none !important;}

/* HIDE the default-rendered product meta (SKU/Category) since we removed the hook,
   but Woo 9 may still inject — belt + braces. */
body.fl-body .single-product .product_meta{display:none !important;}

/* Stretch the gallery image area to fill its sticky column */
body.fl-body .single-product .woocommerce-product-gallery{max-width:none !important;}
body.fl-body .single-product .woocommerce-product-gallery .flex-control-thumbs{display:flex !important;flex-wrap:wrap !important;gap:10px !important;padding:0 !important;margin:14px 0 0 !important;list-style:none !important;}
body.fl-body .single-product .woocommerce-product-gallery .flex-control-thumbs li{width:72px !important;height:72px !important;margin:0 !important;}
body.fl-body .single-product .woocommerce-product-gallery .flex-control-thumbs img{border:1px solid var(--line) !important;border-radius:3px !important;opacity:.8 !important;cursor:pointer !important;}
body.fl-body .single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active{border-color:var(--terra) !important;opacity:1 !important;box-shadow:0 0 0 1px var(--terra) !important;}

/* Trust row spacing — design has it inline after Buy now */
body.fl-body .single-product .entry-summary > div[style*="font-size:13px"]{margin-top:18px !important;}

/* Related products heading */
body.fl-body .related.products > h2,
body.fl-body .up-sells > h2{font-family:'Cormorant Garamond' !important;font-weight:500 !important;font-size:clamp(28px,3vw,40px) !important;color:var(--ink) !important;margin:60px 0 28px !important;}

/* ============================================================================
   CART PAGE
   ============================================================================ */
body.fl-body .woocommerce-cart .shop_table{background:var(--card) !important;border:1px solid var(--line-soft) !important;border-radius:4px !important;}
body.fl-body .woocommerce-cart .shop_table th{font-family:'Spline Sans Mono' !important;font-size:11.5px !important;letter-spacing:.1em !important;text-transform:uppercase !important;color:var(--muted) !important;font-weight:500 !important;padding:14px 12px !important;}
body.fl-body .woocommerce-cart .cart_totals h2{font-family:'Cormorant Garamond' !important;font-weight:600 !important;font-size:28px !important;color:var(--ink) !important;}
body.fl-body .woocommerce-cart .button{background:var(--terra) !important;background-image:none !important;border:1.5px solid var(--terra) !important;color:#fff !important;font-weight:600 !important;border-radius:2px !important;padding:12px 22px !important;}

/* ============================================================================
   CHECKOUT PAGE
   ============================================================================ */
body.fl-body .woocommerce-checkout form.checkout{display:grid !important;grid-template-columns:1.35fr .85fr !important;gap:48px !important;align-items:start !important;}
body.fl-body .woocommerce-checkout .col2-set{display:contents !important;}
body.fl-body .woocommerce-checkout #customer_details{display:flex !important;flex-direction:column !important;gap:22px !important;}
body.fl-body .woocommerce-checkout #customer_details .col-1,
body.fl-body .woocommerce-checkout #customer_details .col-2{width:100% !important;float:none !important;background:var(--card) !important;border:1px solid var(--line-soft) !important;border-radius:4px !important;padding:28px !important;box-shadow:var(--shadow) !important;}
body.fl-body .woocommerce-checkout h3{font-family:'Cormorant Garamond' !important;font-weight:600 !important;font-size:24px !important;margin:0 0 16px !important;color:var(--ink) !important;}
body.fl-body .woocommerce-checkout .form-row{margin:0 0 14px !important;}
body.fl-body .woocommerce-checkout .form-row label{font-size:12.5px !important;color:var(--muted) !important;font-weight:500 !important;}
body.fl-body .woocommerce-checkout .form-row input.input-text,
body.fl-body .woocommerce-checkout .form-row textarea,
body.fl-body .woocommerce-checkout .form-row select,
body.fl-body .woocommerce-checkout .select2-container--default .select2-selection--single{border:1px solid var(--line) !important;border-radius:2px !important;padding:12px 13px !important;font-family:inherit !important;font-size:14px !important;background:var(--paper) !important;color:var(--ink) !important;height:auto !important;}
body.fl-body .woocommerce-checkout .form-row input.input-text:focus,
body.fl-body .woocommerce-checkout .form-row textarea:focus{outline:none !important;border-color:var(--terra) !important;box-shadow:0 0 0 3px var(--terra-soft) !important;}

body.fl-body .woocommerce-checkout #order_review_heading,
body.fl-body .woocommerce-checkout #order_review{background:var(--card) !important;border:1px solid var(--line-soft) !important;border-radius:4px !important;padding:28px !important;box-shadow:var(--shadow) !important;}
body.fl-body .woocommerce-checkout .shop_table{border:0 !important;background:none !important;}
body.fl-body .woocommerce-checkout .shop_table th,
body.fl-body .woocommerce-checkout .shop_table td{padding:10px 0 !important;border-bottom:1px solid var(--line-soft) !important;background:transparent !important;}
body.fl-body .woocommerce-checkout .shop_table .order-total td,
body.fl-body .woocommerce-checkout .shop_table .order-total th{font-family:'Spline Sans Mono' !important;font-size:20px !important;font-weight:500 !important;border-top:1.5px solid var(--ink) !important;padding-top:15px !important;}

/* Payment methods */
body.fl-body .woocommerce-checkout .wc_payment_methods{padding:0 !important;list-style:none !important;display:flex !important;flex-direction:column !important;gap:11px !important;margin:16px 0 0 !important;}
body.fl-body .woocommerce-checkout .wc_payment_method{border:1.5px solid var(--line) !important;border-radius:3px !important;padding:16px !important;background:var(--paper) !important;transition:.15s !important;}
body.fl-body .woocommerce-checkout .wc_payment_method:has(input:checked){border-color:var(--terra) !important;background:var(--terra-soft) !important;}
body.fl-body .woocommerce-checkout .wc_payment_method label{font-weight:600 !important;color:var(--ink) !important;}
body.fl-body .woocommerce-checkout .payment_box{background:transparent !important;color:var(--muted) !important;font-size:13.5px !important;margin-top:8px !important;}
body.fl-body .woocommerce-checkout .payment_box::before{display:none !important;}

body.fl-body .woocommerce-checkout #place_order,
body.fl-body .woocommerce #place_order{
	background:var(--terra) !important;
	background-color:var(--terra) !important;
	background-image:none !important;
	border:1.5px solid var(--terra) !important;
	color:#fff !important;
	font-family:'Hanken Grotesk' !important;
	font-weight:600 !important;
	font-size:15px !important;
	padding:16px 32px !important;
	border-radius:2px !important;
	width:100% !important;
	text-transform:none !important;
	letter-spacing:.01em !important;
	box-shadow:none !important;
}
body.fl-body .woocommerce-checkout #place_order:hover{background:var(--terra-deep) !important;background-color:var(--terra-deep) !important;border-color:var(--terra-deep) !important;}

/* ---- My account ---- */
body.fl-body .woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none !important;padding:0 !important;margin:0 !important;}
body.fl-body .woocommerce-account .woocommerce-MyAccount-navigation li a{display:block !important;padding:10px 14px !important;border-radius:3px !important;color:var(--ink-2) !important;text-decoration:none !important;}
body.fl-body .woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.fl-body .woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--card) !important;color:var(--terra) !important;}

@media (max-width:980px){
	body.fl-body .woocommerce ul.products,
	body.fl-body ul.products{grid-template-columns:repeat(2,1fr) !important;}
	body.fl-body .single-product .product,
	body.fl-body .single-product div.product,
	body.fl-body .woocommerce-checkout form.checkout{grid-template-columns:1fr !important;}
	body.fl-body .single-product .product .woocommerce-product-gallery{position:static !important;}
}
@media (max-width:600px){
	body.fl-body .woocommerce ul.products,
	body.fl-body ul.products{grid-template-columns:1fr !important;}
}
