/* =====================================================================
   Car Multimedia — WooCommerce Style v1.6.1
   Matches the Car Multimedia NL design system (navy + red + orange).
===================================================================== */

:root {
	--cmws-navy:       #0D1B2A;
	--cmws-navy-light: #1B2A41;
	--cmws-red:        #E63946;
	--cmws-red-hover:  #C92A38;
	--cmws-orange:     #F4A261;
	--cmws-teal:       #2A9D8F;
	--cmws-bg:         #F8F9FA;
	--cmws-surface:    #FFFFFF;
	--cmws-border:     #DEE2E8;
	--cmws-muted:      #4A5568;
	--cmws-radius:     12px;
	--cmws-shadow:     0 1px 2px rgba(13,27,42,.04), 0 4px 16px rgba(13,27,42,.06);
	--cmws-shadow-h:   0 8px 32px rgba(13,27,42,.12);
	--cmws-trans:      all .2s cubic-bezier(.4,0,.2,1);
}

.woocommerce, .woocommerce-page {
	font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	color: var(--cmws-navy);
}

/* ---------- Product loop list item — strip ALL theme defaults ---------- */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background: transparent !important;
	padding: 0 !important;
	margin: 0 0 24px 0 !important;
	border: none !important;
	box-shadow: none !important;
	list-style: none;
}

/* CRITICAL: Hide EVERY direct child of the product <li> except our custom
   .cmws-card. This catches any theme/Elementor-injected title, price,
   category link, or "ADD TO CART" button regardless of its markup. */
.woocommerce ul.products li.product > *:not(.cmws-card),
.woocommerce-page ul.products li.product > *:not(.cmws-card),
.elementor-widget-woocommerce-products ul.products li.product > *:not(.cmws-card),
.elementor-widget-wc-archive-products ul.products li.product > *:not(.cmws-card),
.elementor-widget-woocommerce-product-add-to-cart ul.products li.product > *:not(.cmws-card),
ul.products li.product > *:not(.cmws-card) {
	display: none !important;
}

/* Belt-and-braces: even if a theme nests the title/price/button deeper
   inside the <li> (outside our .cmws-card wrapper), keep them hidden. */
.woocommerce ul.products li.product > a:not(.cmws-card) .woocommerce-loop-product__title,
.woocommerce ul.products li.product > a:not(.cmws-card) .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-LoopProduct-link:not(.cmws-card):not(.cmws-card__media):not(.cmws-title),
.woocommerce ul.products li.product > .product_meta,
.woocommerce ul.products li.product > .posted_in {
	display: none !important;
}

/* ---------- Card ---------- */
.woocommerce ul.products li.product .cmws-card {
	background: var(--cmws-surface);
	border: 1px solid var(--cmws-border);
	border-radius: var(--cmws-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: var(--cmws-trans);
	height: 100%;
	position: relative;
	text-decoration: none;
}
.woocommerce ul.products li.product .cmws-card:hover {
	box-shadow: var(--cmws-shadow-h);
	transform: translateY(-2px);
}

/* ---------- Media area ---------- */
.cmws-card__media {
	position: relative;
	background: #fff;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	display: flex !important;
	align-items: center;
	justify-content: center;
	text-decoration: none !important;
}
.cmws-card__media img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	padding: 14px;
	transition: transform .5s ease;
	margin: 0 !important;
	display: block;
}
.cmws-card:hover .cmws-card__media img { transform: scale(1.05); }

/* ---------- Badges ---------- */
.cmws-badges {
	position: absolute;
	top: 10px; left: 10px;
	display: flex; flex-direction: column; gap: 4px;
	z-index: 3;
}
.cmws-badge {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 4px 8px;
	border-radius: 4px;
	color: #fff;
	line-height: 1;
	display: inline-block;
}
.cmws-badge--sale { background: var(--cmws-red); }
.cmws-badge--new  { background: var(--cmws-teal); }
.cmws-badge--best { background: var(--cmws-orange); color: var(--cmws-navy); }
.cmws-badge--oos  {
	position: absolute;
	top: 10px; right: 10px;
	background: rgba(13,27,42,.85);
	z-index: 3;
}

/* Hide WooCommerce's default sale flash if any sneaks through */
.woocommerce ul.products li.product .onsale { display: none !important; }

/* ---------- Card body ---------- */
.cmws-card__body {
	padding: 14px 16px 16px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}

/* ---------- Chips ---------- */
.cmws-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.cmws-chip {
	font-size: 10px;
	font-weight: 500;
	padding: 2px 7px;
	border-radius: 4px;
	background: var(--cmws-bg);
	color: var(--cmws-muted);
	border: 1px solid var(--cmws-border);
	line-height: 1.5;
}

/* ---------- Brand ---------- */
.cmws-brand {
	font-size: 10px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--cmws-muted);
	font-weight: 600;
}

/* ---------- Title ---------- */
.cmws-title {
	font-size: 14px;
	line-height: 1.35;
	font-weight: 600;
	color: var(--cmws-navy) !important;
	text-decoration: none !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 38px;
}
.cmws-title:hover { color: var(--cmws-red) !important; }

/* ---------- Rating ---------- */
.cmws-rating {
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 12px;
	color: var(--cmws-orange);
}
.cmws-rating strong { color: var(--cmws-navy); font-weight: 700; }
.cmws-rating span   { color: var(--cmws-muted); }

/* ---------- Foot (price + cart) ---------- */
.cmws-foot {
	margin-top: auto;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 8px;
	padding-top: 4px;
}
.cmws-price__label {
	font-size: 10px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--cmws-muted);
	display: block;
}
.cmws-price__row,
.cmws-price__row .price,
.cmws-price__row .amount {
	color: var(--cmws-red) !important;
	font-size: 20px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
}
.cmws-price__row del .amount {
	color: var(--cmws-muted) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	text-decoration: line-through;
}
.cmws-price__row ins { background: transparent; text-decoration: none; }

/* Add-to-cart button inside foot */
.cmws-foot .button,
.cmws-foot .add_to_cart_button,
.cmws-foot a.button {
	background: var(--cmws-navy) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 8px !important;
	padding: 9px 14px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	box-shadow: none !important;
	margin: 0 !important;
	min-height: 0 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	transition: var(--cmws-trans);
}
.cmws-foot .button:hover,
.cmws-foot .add_to_cart_button:hover {
	background: var(--cmws-red) !important;
}
.cmws-foot .added_to_cart { display: none !important; }



/* Equal-height grid alignment */
.elementor-widget-woocommerce-products ul.products,
.elementor-widget-wc-archive-products ul.products,
.woocommerce ul.products {
	align-items: stretch;
}


/* ---------- SINGLE PRODUCT PAGE ---------- */
.cmws-single .summary.entry-summary {
	background: var(--cmws-surface);
	border: 1px solid var(--cmws-border);
	border-radius: var(--cmws-radius);
	padding: 24px;
	box-shadow: var(--cmws-shadow);
	overflow-wrap: anywhere;
	word-break: break-word;
}
.cmws-single .product_title {
	font-size: 28px;
	line-height: 1.2;
	font-weight: 800;
	color: var(--cmws-navy);
	margin: 8px 0 12px;
	overflow-wrap: anywhere;
	word-break: break-word;
}
@media (max-width: 720px) {
	.cmws-single .product_title { font-size: 22px; }
	.cmws-single .summary.entry-summary { padding: 16px; }
}
.cmws-single .price,
.cmws-single .price .amount {
	color: var(--cmws-red) !important;
	font-size: 26px !important;
	font-weight: 800 !important;
}
.cmws-single .single_add_to_cart_button {
	background: var(--cmws-red) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 8px !important;
	padding: 14px 24px !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	text-transform: uppercase !important;
	letter-spacing: .06em !important;
	box-shadow: 0 6px 20px rgba(230,57,70,.35) !important;
	transition: var(--cmws-trans);
}
.cmws-single .single_add_to_cart_button:hover {
	background: var(--cmws-red-hover) !important;
}

.cmws-brand--lg { font-size: 12px; margin-bottom: 4px; }
.cmws-chips--lg { margin: 8px 0 12px; }
.cmws-chips--lg .cmws-chip { font-size: 12px; padding: 4px 10px; }

.cmws-trust {
	list-style: none !important;
	margin: 18px 0 0 !important;
	padding: 16px 0 0 !important;
	border-top: 1px solid var(--cmws-border);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 16px;
}
.cmws-trust li {
	display: flex; align-items: center; gap: 8px;
	font-size: 12px; color: var(--cmws-muted);
	margin: 0 !important;
}
.cmws-trust__dot {
	width: 6px; height: 6px; border-radius: 50%;
	background: var(--cmws-teal);
	flex-shrink: 0;
}
@media (max-width: 720px) {
	.cmws-trust { grid-template-columns: 1fr; }
}

/* Hide categories on single product (posted_in line) */
.cmws-single .product_meta .posted_in { display: none; }

/* Elementor custom-card loops keep full-height cards. */
.elementor-widget-woocommerce-products .cmws-card,
.elementor-wc-products .cmws-card {
	height: 100%;
}
