/**
 * ═══════════════════════════════════════════════
 *  REVOLUCIÓN URBANA — WOOCOMMERCE
 *  Tienda, productos, carrito, checkout
 * ═══════════════════════════════════════════════
 */

/* ════════════════════════════════════════════
   SHOP ARCHIVE / CATALOG
   ════════════════════════════════════════════ */

/* ─── SHOP PAGE BACKGROUND ─── */
.ru-theme.ru-shop #main-content,
.ru-theme.ru-shop .container,
.ru-theme.woocommerce.archive #main-content {
	background: var(--ru-gradient-dark);
}

.ru-theme.ru-shop .entry-title,
.ru-theme.woocommerce.archive .woocommerce-products-header__title {
	font-family: var(--ru-font-heading) !important;
	font-size: var(--ru-text-5xl) !important;
	color: var(--ru-white) !important;
	text-transform: uppercase;
	letter-spacing: var(--ru-tracking-wider);
	margin-bottom: var(--ru-space-3);
	position: relative;
	display: inline-block;
}

/* Glowing underline for shop title */
.ru-theme.ru-shop .entry-title::after,
.ru-theme.woocommerce.archive .woocommerce-products-header__title::after {
	content: '';
	display: block;
	width: 80px;
	height: 3px;
	background: var(--ru-gradient-yellow);
	margin-top: var(--ru-space-2);
	box-shadow: var(--ru-shadow-glow-sm);
}

/* ─── PRODUCT GRID ─── */
.ru-theme .woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--ru-space-3);
	padding: 0;
	margin: 0;
}

.ru-theme .woocommerce ul.products li.product {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	background: var(--ru-gradient-card);
	border: 1px solid var(--ru-gray-800);
	overflow: hidden;
	position: relative;
	transition: all var(--ru-duration-base) var(--ru-ease);
}

.ru-theme .woocommerce ul.products li.product:hover {
	border-color: var(--ru-yellow);
	box-shadow: var(--ru-shadow-glow-sm);
	transform: translateY(-6px);
}

/* ─── PRODUCT IMAGE ─── */
.ru-theme .woocommerce ul.products li.product a img {
	width: 100% !important;
	height: auto;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	object-position: top center;
	display: block;
	transition: transform var(--ru-duration-slower) var(--ru-ease-smooth);
	will-change: transform;
}

.ru-theme .woocommerce ul.products li.product:hover a img {
	transform: scale(1.05);
}

/* Product card subtle lift on hover */
.ru-theme .woocommerce ul.products li.product {
	transition: transform var(--ru-duration-base) var(--ru-ease),
	            box-shadow var(--ru-duration-base) var(--ru-ease);
}

.ru-theme .woocommerce ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
}

/* Product image container */
.ru-theme .woocommerce ul.products li.product .woocommerce-loop-product__link {
	overflow: hidden;
	display: block;
	position: relative;
	background-color: var(--ru-gray-100, #f5f5f5);
}

/* ─── SECOND IMAGE ON HOVER ─── */
.ru-theme .ru-product-second-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity var(--ru-duration-slow) var(--ru-ease-smooth);
	z-index: 2;
	will-change: opacity;
}

.ru-theme .ru-product-second-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
}

.ru-theme .woocommerce ul.products li.product:hover .ru-product-second-image {
	opacity: 1;
}

/* ─── QUICK VIEW BUTTON (hover) ─── */
.ru-quick-view {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(0.8);
	z-index: 6;
	opacity: 0;
	transition: all var(--ru-duration-base) var(--ru-ease-spring);
	background: var(--ru-glass-bg);
	-webkit-backdrop-filter: var(--ru-glass-blur);
	backdrop-filter: var(--ru-glass-blur);
	border: 1px solid var(--ru-glass-border);
	padding: 10px 20px;
	font-family: var(--ru-font-heading);
	font-size: var(--ru-text-sm);
	color: var(--ru-white);
	text-transform: uppercase;
	letter-spacing: var(--ru-tracking-wider);
	cursor: pointer;
	white-space: nowrap;
}

.ru-theme .woocommerce ul.products li.product:hover .ru-quick-view {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}

.ru-quick-view:hover {
	background: var(--ru-yellow);
	color: var(--ru-black);
	border-color: var(--ru-yellow);
}

/* ─── PRODUCT BADGES ─── */
.ru-product-badges {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 5;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.ru-badge {
	display: inline-block;
	font-family: var(--ru-font-heading);
	font-size: var(--ru-text-sm);
	letter-spacing: var(--ru-tracking-wider);
	padding: 5px 14px;
	text-transform: uppercase;
	position: relative;
}

.ru-badge--new {
	background: var(--ru-gradient-yellow);
	color: var(--ru-black);
}

.ru-badge--sale {
	background-color: var(--ru-error);
	color: var(--ru-white);
	text-shadow: 0 1px 2px rgba(0,0,0,0.2);
}

.ru-badge--soldout {
	background-color: var(--ru-gray-600);
	color: var(--ru-white);
}

/* Hide default WooCommerce sale badge */
.ru-theme .woocommerce span.onsale {
	display: none !important;
}

/* ─── PRODUCT INFO ─── */
/* High specificity selectors to override Divi's bg_layout_light/dark heading colors.
   Divi uses .et-db #et-boc .et-l .et_pb_bg_layout_light h2 { color: #333 !important }
   which overrides standard selectors. We need #et-boc ID specificity to win. */
.ru-theme .woocommerce ul.products li.product .woocommerce-loop-product__title,
.ru-theme.ru-shop .woocommerce-loop-product__title,
.ru-theme.woocommerce ul.products li.product h2,
.ru-theme.woocommerce ul.products li.product h3,
.ru-theme ul.products li.product .woocommerce-loop-product__title,
.et-db #et-boc .et-l .ru-theme .woocommerce ul.products li.product .woocommerce-loop-product__title,
.et-db #et-boc .et-l .ru-theme .woocommerce ul.products li.product h2,
.et-db #et-boc .et-l .ru-theme .woocommerce ul.products li.product h3,
.et-db #et-boc .et-l .et_pb_shop ul.products li.product .woocommerce-loop-product__title,
.et-db #et-boc .et-l .et_pb_shop ul.products li.product h2,
.et-db #et-boc .et-l .et_pb_bg_layout_light ul.products li.product .woocommerce-loop-product__title,
.et-db #et-boc .et-l .et_pb_bg_layout_light ul.products li.product h2,
.et-db #et-boc .et-l .et_pb_bg_layout_dark ul.products li.product .woocommerce-loop-product__title,
.et-db #et-boc .et-l .et_pb_bg_layout_dark ul.products li.product h2,
.ru-theme .et_pb_shop ul.products li.product .woocommerce-loop-product__title,
.ru-theme .et_pb_shop ul.products li.product h2 {
	font-family: var(--ru-font-heading) !important;
	font-size: var(--ru-text-xl) !important;
	color: var(--ru-white, #FAFAFA) !important;
	text-transform: uppercase;
	letter-spacing: var(--ru-tracking-wide);
	padding: var(--ru-space-2) var(--ru-space-2) 0 !important;
	margin: 0 !important;
	transition: color var(--ru-duration-fast) var(--ru-ease);
}

/* Product link text must also be white */
.ru-theme .woocommerce ul.products li.product a,
.ru-theme.ru-shop ul.products li.product a,
.ru-theme .et_pb_shop ul.products li.product a,
.et-db #et-boc .et-l .et_pb_shop ul.products li.product a,
.et-db #et-boc .et-l .ru-theme .woocommerce ul.products li.product a,
.et-db #et-boc .et-l .et_pb_bg_layout_light ul.products li.product a,
.et-db #et-boc .et-l .et_pb_bg_layout_dark ul.products li.product a {
	color: var(--ru-white, #FAFAFA) !important;
}

.ru-theme .woocommerce ul.products li.product:hover .woocommerce-loop-product__title,
.ru-theme.ru-shop ul.products li.product:hover .woocommerce-loop-product__title,
.ru-theme .et_pb_shop ul.products li.product:hover .woocommerce-loop-product__title,
.ru-theme .woocommerce ul.products li.product:hover h2,
.ru-theme .et_pb_shop ul.products li.product:hover h2,
.et-db #et-boc .et-l .et_pb_shop ul.products li.product:hover .woocommerce-loop-product__title,
.et-db #et-boc .et-l .et_pb_shop ul.products li.product:hover h2,
.et-db #et-boc .et-l .et_pb_bg_layout_light ul.products li.product:hover .woocommerce-loop-product__title,
.et-db #et-boc .et-l .et_pb_bg_layout_light ul.products li.product:hover h2,
.et-db #et-boc .et-l .ru-theme .woocommerce ul.products li.product:hover h2 {
	color: var(--ru-yellow) !important;
}

.ru-theme .woocommerce ul.products li.product:hover a,
.ru-theme.ru-shop ul.products li.product:hover a,
.ru-theme .et_pb_shop ul.products li.product:hover a,
.et-db #et-boc .et-l .et_pb_shop ul.products li.product:hover a,
.et-db #et-boc .et-l .ru-theme .woocommerce ul.products li.product:hover a,
.et-db #et-boc .et-l .et_pb_bg_layout_light ul.products li.product:hover a {
	color: var(--ru-yellow) !important;
}

.ru-theme .woocommerce ul.products li.product .price,
.et-db #et-boc .et-l .et_pb_shop ul.products li.product .price,
.et-db #et-boc .et-l .ru-theme .woocommerce ul.products li.product .price,
.et-db #et-boc .et-l .et_pb_bg_layout_light ul.products li.product .price {
	color: var(--ru-yellow) !important;
	font-family: var(--ru-font-heading) !important;
	font-size: var(--ru-text-lg) !important;
	padding: var(--ru-space-1) var(--ru-space-2) var(--ru-space-2) !important;
	display: flex;
	align-items: baseline;
	gap: 6px;
}

.ru-theme .woocommerce ul.products li.product .price del,
.et-db #et-boc .et-l .et_pb_shop ul.products li.product .price del {
	color: var(--ru-gray-500) !important;
	opacity: 0.7;
}

.ru-theme .woocommerce ul.products li.product .price ins,
.et-db #et-boc .et-l .et_pb_shop ul.products li.product .price ins {
	color: var(--ru-yellow) !important;
	text-decoration: none;
	font-weight: 400;
}

/* ─── PRODUCT RATING STARS ─── */
.ru-theme .woocommerce .star-rating {
	color: var(--ru-yellow) !important;
}

.ru-theme .woocommerce .star-rating::before {
	color: var(--ru-gray-600) !important;
}

/* ─── SHOP ADD TO CART BUTTON ─── */
.ru-theme .woocommerce ul.products li.product .button,
.ru-theme .woocommerce ul.products li.product a.add_to_cart_button {
	display: block !important;
	width: 100%;
	text-align: center;
	margin: 0 !important;
	border-radius: 0 !important;
	background-color: var(--ru-yellow) !important;
	color: var(--ru-black) !important;
	font-family: var(--ru-font-heading) !important;
	font-size: var(--ru-text-base) !important;
	padding: 12px !important;
	text-transform: uppercase;
	letter-spacing: var(--ru-tracking-wider);
	border: none !important;
	opacity: 0;
	transform: translateY(10px);
	transition: all var(--ru-duration-base) var(--ru-ease) !important;
}

.ru-theme .woocommerce ul.products li.product:hover .button,
.ru-theme .woocommerce ul.products li.product:hover a.add_to_cart_button {
	opacity: 1;
	transform: translateY(0);
}

.ru-theme .woocommerce ul.products li.product .button:hover,
.ru-theme .woocommerce ul.products li.product a.add_to_cart_button:hover {
	background-color: var(--ru-yellow-dark) !important;
}

/* ─── SORT & RESULTS COUNT ─── */
.ru-theme .woocommerce-result-count,
.ru-theme .woocommerce-ordering select {
	font-family: var(--ru-font-body) !important;
	font-size: var(--ru-text-sm);
	color: var(--ru-gray-400);
	text-transform: uppercase;
	letter-spacing: var(--ru-tracking-wide);
}

.ru-theme .woocommerce-ordering select {
	background-color: var(--ru-gray-900);
	border: 1px solid var(--ru-gray-700);
	color: var(--ru-gray-300);
	padding: 8px 12px;
	border-radius: 0;
}

/* ════════════════════════════════════════════
   SINGLE PRODUCT
   ════════════════════════════════════════════ */

.ru-theme.ru-product .entry-title,
.ru-theme .woocommerce div.product .product_title {
	font-family: var(--ru-font-heading) !important;
	font-size: var(--ru-text-5xl) !important;
	color: var(--ru-black) !important;
	text-transform: uppercase;
	letter-spacing: var(--ru-tracking-wide);
	margin-bottom: var(--ru-space-2) !important;
}

/* ─── PRODUCT PRICE ─── */
.ru-theme .woocommerce div.product p.price,
.ru-theme .woocommerce div.product span.price {
	font-family: var(--ru-font-heading) !important;
	font-size: var(--ru-text-4xl) !important;
	color: var(--ru-yellow) !important;
}

/* Apply dark bg for price if section is dark */
.ru-theme .woocommerce div.product p.price {
	margin-bottom: var(--ru-space-3);
}

/* ─── PRODUCT DESCRIPTION ─── */
.ru-theme .woocommerce div.product .woocommerce-product-details__short-description {
	font-family: var(--ru-font-body) !important;
	font-size: var(--ru-text-base);
	color: var(--ru-gray-600);
	line-height: var(--ru-leading-relaxed);
	margin-bottom: var(--ru-space-3);
}

/* ─── QUANTITY + ADD TO CART ─── */
.ru-theme .woocommerce div.product form.cart .quantity input {
	border: 2px solid var(--ru-gray-300) !important;
	border-radius: 0 !important;
	font-family: var(--ru-font-body) !important;
	font-size: var(--ru-text-base);
	width: 70px;
	height: 56px;
	text-align: center;
}

.ru-theme .woocommerce div.product form.cart .single_add_to_cart_button {
	background: var(--ru-gradient-yellow) !important;
	color: var(--ru-black) !important;
	border: 2px solid var(--ru-yellow) !important;
	border-radius: 0 !important;
	font-family: var(--ru-font-heading) !important;
	font-size: var(--ru-text-xl) !important;
	padding: 14px 40px !important;
	text-transform: uppercase;
	letter-spacing: var(--ru-tracking-wider);
	height: 56px;
	min-width: 220px;
	transition: all var(--ru-duration-base) var(--ru-ease) !important;
	position: relative;
	overflow: hidden;
}

.ru-theme .woocommerce div.product form.cart .single_add_to_cart_button::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
	transition: left 0.5s ease;
}

.ru-theme .woocommerce div.product form.cart .single_add_to_cart_button:hover::before {
	left: 100%;
}

.ru-theme .woocommerce div.product form.cart .single_add_to_cart_button:hover {
	background: var(--ru-yellow-dark) !important;
	background-color: var(--ru-yellow-dark) !important;
	color: var(--ru-black) !important;
	border-color: var(--ru-yellow-dark) !important;
}

/* ─── VARIATIONS / SIZE SELECTOR ─── */
.ru-theme .woocommerce div.product form.cart .variations td select,
.ru-theme .woocommerce div.product form.cart .variations select {
	border: 2px solid var(--ru-gray-300);
	border-radius: 0;
	padding: 10px 16px;
	font-family: var(--ru-font-body) !important;
	font-size: var(--ru-text-base);
	background-color: var(--ru-white);
}

.ru-theme .woocommerce div.product form.cart .variations select:focus {
	border-color: var(--ru-yellow);
}

.ru-theme .woocommerce div.product form.cart .variations label {
	font-family: var(--ru-font-heading) !important;
	font-size: var(--ru-text-lg);
	text-transform: uppercase;
	letter-spacing: var(--ru-tracking-wide);
}

/* ─── PRODUCT SUSTAINABILITY BENEFITS ─── */
.ru-product-benefits {
	display: flex;
	flex-direction: column;
	gap: var(--ru-space-2);
	padding: var(--ru-space-3) 0;
	margin-top: var(--ru-space-3);
	border-top: 1px solid var(--ru-gray-200);
}

.ru-product-benefit {
	display: flex;
	align-items: center;
	gap: var(--ru-space-1);
	font-family: var(--ru-font-body);
	font-size: var(--ru-text-sm);
	color: var(--ru-gray-600);
	text-transform: uppercase;
	letter-spacing: var(--ru-tracking-wide);
	transition: color var(--ru-duration-fast) var(--ru-ease);
}

.ru-product-benefit:hover {
	color: var(--ru-gray-900);
}

.ru-product-benefit:hover svg {
	transform: scale(1.15);
}

.ru-product-benefit svg {
	flex-shrink: 0;
	transition: transform var(--ru-duration-fast) var(--ru-ease-spring);
}

/* ─── STICKY ADD TO CART BAR (mobile) ─── */
.ru-sticky-atc {
	position: fixed;
	bottom: -100%;
	left: 0;
	right: 0;
	z-index: var(--ru-z-sticky);
	background: rgba(10, 10, 10, 0.95);
	-webkit-backdrop-filter: var(--ru-glass-blur);
	backdrop-filter: var(--ru-glass-blur);
	border-top: 1px solid var(--ru-gray-800);
	padding: 12px var(--ru-space-2);
	display: flex;
	align-items: center;
	gap: var(--ru-space-2);
	transition: bottom var(--ru-duration-base) var(--ru-ease);
}

.ru-sticky-atc--visible {
	bottom: 0;
}

.ru-sticky-atc__info {
	flex: 1;
	min-width: 0;
}

.ru-sticky-atc__name {
	font-family: var(--ru-font-heading);
	font-size: var(--ru-text-base);
	color: var(--ru-white);
	text-transform: uppercase;
	letter-spacing: var(--ru-tracking-wide);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ru-sticky-atc__price {
	font-family: var(--ru-font-heading);
	font-size: var(--ru-text-lg);
	color: var(--ru-yellow);
}

.ru-sticky-atc .ru-btn {
	white-space: nowrap;
	flex-shrink: 0;
}

/* ─── PRODUCT TABS ─── */
.ru-theme .woocommerce div.product .woocommerce-tabs ul.tabs {
	border-bottom: 2px solid var(--ru-gray-200) !important;
	padding: 0 !important;
	margin-bottom: var(--ru-space-4);
}

.ru-theme .woocommerce div.product .woocommerce-tabs ul.tabs::before {
	display: none;
}

.ru-theme .woocommerce div.product .woocommerce-tabs ul.tabs li {
	border: none !important;
	background: none !important;
	padding: 0 !important;
	margin: 0 var(--ru-space-3) 0 0 !important;
	border-radius: 0 !important;
}

.ru-theme .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.ru-theme .woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none !important;
}

.ru-theme .woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-family: var(--ru-font-heading) !important;
	font-size: var(--ru-text-xl) !important;
	color: var(--ru-gray-400) !important;
	text-transform: uppercase;
	letter-spacing: var(--ru-tracking-wider);
	padding: var(--ru-space-2) 0 !important;
	border-bottom: 2px solid transparent;
	transition: all var(--ru-duration-fast) var(--ru-ease);
}

.ru-theme .woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--ru-black) !important;
}

.ru-theme .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--ru-black) !important;
	border-bottom-color: var(--ru-yellow);
}

/* Tab content */
.ru-theme .woocommerce div.product .woocommerce-tabs .panel {
	font-family: var(--ru-font-body) !important;
	color: var(--ru-gray-700);
	line-height: var(--ru-leading-relaxed);
}

.ru-theme .woocommerce div.product .woocommerce-tabs .panel h2 {
	font-family: var(--ru-font-heading) !important;
	font-size: var(--ru-text-3xl) !important;
	margin-bottom: var(--ru-space-3);
}

/* ─── RELATED PRODUCTS ─── */
.ru-theme .woocommerce .related.products > h2,
.ru-theme .woocommerce .upsells.products > h2 {
	font-family: var(--ru-font-heading) !important;
	font-size: var(--ru-text-4xl) !important;
	text-transform: uppercase;
	letter-spacing: var(--ru-tracking-wider);
	margin-bottom: var(--ru-space-4);
	color: var(--ru-black);
}

/* ─── PRODUCT GALLERY (SINGLE) ─── */
.ru-theme .woocommerce div.product div.images {
	overflow: hidden;
	position: relative;
}

/* Main gallery image */
.ru-theme .woocommerce div.product div.images img {
	border-radius: 0 !important;
	transition: transform var(--ru-duration-slow) var(--ru-ease-smooth);
	object-position: top center;
}

.ru-theme .woocommerce div.product div.images .woocommerce-product-gallery__image {
	background-color: var(--ru-gray-100, #f5f5f5);
}

.ru-theme .woocommerce div.product div.images .woocommerce-product-gallery__image:hover img {
	transform: scale(1.03);
}

/* ─── THUMBNAIL GALLERY ─── */
.ru-theme .woocommerce div.product div.images .flex-control-thumbs {
	display: flex;
	gap: 10px;
	margin-top: 16px;
	padding: 4px 0;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	scrollbar-color: var(--ru-yellow) transparent;
}

/* Hide scrollbar on WebKit but keep functionality */
.ru-theme .woocommerce div.product div.images .flex-control-thumbs::-webkit-scrollbar {
	height: 3px;
}

.ru-theme .woocommerce div.product div.images .flex-control-thumbs::-webkit-scrollbar-track {
	background: var(--ru-gray-100, #f5f5f5);
}

.ru-theme .woocommerce div.product div.images .flex-control-thumbs::-webkit-scrollbar-thumb {
	background: var(--ru-yellow);
}

.ru-theme .woocommerce div.product div.images .flex-control-thumbs li {
	flex: 0 0 72px;
	width: 72px;
	height: 72px;
	scroll-snap-align: start;
	position: relative;
}

.ru-theme .woocommerce div.product div.images .flex-control-thumbs li img {
	width: 100%;
	height: 100%;
	border: 2px solid var(--ru-gray-200, #e0e0e0);
	border-radius: 0;
	opacity: 0.6;
	transition: all var(--ru-duration-fast) var(--ru-ease);
	aspect-ratio: 1;
	object-fit: cover;
	object-position: top center;
	cursor: pointer;
}

.ru-theme .woocommerce div.product div.images .flex-control-thumbs li img:hover {
	opacity: 0.85;
	border-color: var(--ru-gray-400, #999);
}

.ru-theme .woocommerce div.product div.images .flex-control-thumbs li img.flex-active {
	opacity: 1;
	border-color: var(--ru-yellow);
	box-shadow: 0 0 0 2px var(--ru-yellow), var(--ru-shadow-glow-sm);
}

/* Zoom icon for gallery */
.ru-theme .woocommerce div.product div.images .woocommerce-product-gallery__trigger {
	background: var(--ru-glass-bg) !important;
	-webkit-backdrop-filter: var(--ru-glass-blur);
	backdrop-filter: var(--ru-glass-blur);
	border: 1px solid var(--ru-glass-border);
	border-radius: 0 !important;
	width: 40px;
	height: 40px;
	line-height: 40px;
	opacity: 0;
	transition: opacity var(--ru-duration-fast) var(--ru-ease);
}

.ru-theme .woocommerce div.product div.images:hover .woocommerce-product-gallery__trigger {
	opacity: 1;
}

/* ════════════════════════════════════════════
   CART PAGE
   ════════════════════════════════════════════ */

.ru-theme .woocommerce table.shop_table {
	border: 1px solid var(--ru-gray-200) !important;
	border-radius: 0 !important;
}

.ru-theme .woocommerce table.shop_table th {
	font-family: var(--ru-font-heading) !important;
	font-size: var(--ru-text-base);
	text-transform: uppercase;
	letter-spacing: var(--ru-tracking-wider);
	color: var(--ru-black);
	border-bottom: 2px solid var(--ru-yellow);
	padding: var(--ru-space-2) !important;
}

.ru-theme .woocommerce table.shop_table td {
	font-family: var(--ru-font-body) !important;
	padding: var(--ru-space-2) !important;
	vertical-align: middle;
}

.ru-theme .woocommerce table.shop_table td.product-name a {
	font-family: var(--ru-font-heading) !important;
	font-size: var(--ru-text-lg);
	color: var(--ru-black) !important;
	text-transform: uppercase;
	letter-spacing: var(--ru-tracking-wide);
}

.ru-theme .woocommerce table.shop_table td.product-name a:hover {
	color: var(--ru-yellow) !important;
}

/* ─── CART TOTALS ─── */
.ru-theme .woocommerce .cart_totals h2 {
	font-family: var(--ru-font-heading) !important;
	text-transform: uppercase;
}

.ru-theme .woocommerce .cart_totals .order-total .amount {
	font-family: var(--ru-font-heading) !important;
	font-size: var(--ru-text-2xl);
	color: var(--ru-yellow);
}

/* ─── PROCEED TO CHECKOUT ─── */
.ru-theme .woocommerce .cart_totals .wc-proceed-to-checkout a {
	background-color: var(--ru-yellow) !important;
	color: var(--ru-black) !important;
	border-radius: 0 !important;
	font-family: var(--ru-font-heading) !important;
	font-size: var(--ru-text-xl) !important;
	text-transform: uppercase;
	letter-spacing: var(--ru-tracking-wider);
	padding: 16px 32px !important;
}

.ru-theme .woocommerce .cart_totals .wc-proceed-to-checkout a:hover {
	background-color: var(--ru-yellow-dark) !important;
}

/* ════════════════════════════════════════════
   CHECKOUT
   ════════════════════════════════════════════ */

.ru-theme .woocommerce-checkout h3 {
	font-family: var(--ru-font-heading) !important;
	font-size: var(--ru-text-3xl) !important;
	text-transform: uppercase;
	letter-spacing: var(--ru-tracking-wider);
}

.ru-theme .woocommerce-checkout .woocommerce-input-wrapper input,
.ru-theme .woocommerce-checkout .woocommerce-input-wrapper textarea,
.ru-theme .woocommerce-checkout select {
	border: 1px solid var(--ru-gray-300) !important;
	border-radius: 0 !important;
	font-family: var(--ru-font-body) !important;
	padding: 12px 16px !important;
}

.ru-theme .woocommerce-checkout .woocommerce-input-wrapper input:focus,
.ru-theme .woocommerce-checkout select:focus {
	border-color: var(--ru-yellow) !important;
	box-shadow: 0 0 0 2px rgba(255, 214, 0, 0.2) !important;
}

.ru-theme .woocommerce-checkout #place_order {
	background-color: var(--ru-yellow) !important;
	color: var(--ru-black) !important;
	border-radius: 0 !important;
	font-family: var(--ru-font-heading) !important;
	font-size: var(--ru-text-2xl) !important;
	text-transform: uppercase;
	letter-spacing: var(--ru-tracking-wider);
	padding: 18px 40px !important;
	width: 100%;
	border: 2px solid var(--ru-yellow) !important;
	transition: all var(--ru-duration-base) var(--ru-ease) !important;
}

.ru-theme .woocommerce-checkout #place_order:hover {
	background-color: transparent !important;
	color: var(--ru-yellow) !important;
}

/* ─── NOTICES / MESSAGES ─── */
.ru-theme .woocommerce-message {
	border-top-color: var(--ru-yellow) !important;
	background-color: var(--ru-gray-100);
}

.ru-theme .woocommerce-message::before {
	color: var(--ru-yellow) !important;
}

.ru-theme .woocommerce-error {
	border-top-color: var(--ru-error) !important;
}

.ru-theme .woocommerce-info {
	border-top-color: var(--ru-yellow) !important;
}

.ru-theme .woocommerce-info::before {
	color: var(--ru-yellow) !important;
}

/* ─── COUPON FIELD ─── */
.ru-theme .woocommerce .coupon input[type="text"] {
	border: 1px solid var(--ru-gray-300) !important;
	border-radius: 0 !important;
	font-family: var(--ru-font-body) !important;
}

.ru-theme .woocommerce .coupon .button {
	background-color: var(--ru-black) !important;
	color: var(--ru-white) !important;
	border: 1px solid var(--ru-black) !important;
	border-radius: 0 !important;
}

.ru-theme .woocommerce .coupon .button:hover {
	background-color: var(--ru-gray-900) !important;
}

/* ════════════════════════════════════════════
   DARK BACKGROUND OVERRIDES
   Ensures all product text is visible on dark shop
   backgrounds, overriding Divi bg_layout_light defaults.
   Uses .et-db #et-boc .et-l prefix for builder specificity.
   ════════════════════════════════════════════ */

/* Shop archive dark text overrides */
.ru-theme.ru-shop #main-content h1,
.ru-theme.ru-shop #main-content h2,
.ru-theme.ru-shop #main-content h3,
.ru-theme.ru-shop #main-content h4,
.ru-theme.woocommerce.archive #main-content h1,
.ru-theme.woocommerce.archive #main-content h2,
.ru-theme.woocommerce.archive #main-content h3 {
	color: var(--ru-white, #FAFAFA) !important;
}

/* Inside Divi builder context — shop products */
.et-db #et-boc .et-l .et_pb_shop ul.products li.product,
.et-db #et-boc .et-l .et_pb_bg_layout_light .et_pb_shop ul.products li.product {
	color: var(--ru-gray-300, #D4D4D4);
}

.et-db #et-boc .et-l .et_pb_shop ul.products li.product h2,
.et-db #et-boc .et-l .et_pb_shop ul.products li.product h3,
.et-db #et-boc .et-l .et_pb_shop ul.products li.product .woocommerce-loop-product__title,
.et-db #et-boc .et-l .et_pb_bg_layout_light .et_pb_shop ul.products li.product h2,
.et-db #et-boc .et-l .et_pb_bg_layout_light .et_pb_shop ul.products li.product .woocommerce-loop-product__title {
	color: var(--ru-white, #FAFAFA) !important;
}

.et-db #et-boc .et-l .et_pb_shop ul.products li.product:hover h2,
.et-db #et-boc .et-l .et_pb_shop ul.products li.product:hover .woocommerce-loop-product__title,
.et-db #et-boc .et-l .et_pb_bg_layout_light .et_pb_shop ul.products li.product:hover h2,
.et-db #et-boc .et-l .et_pb_bg_layout_light .et_pb_shop ul.products li.product:hover .woocommerce-loop-product__title {
	color: var(--ru-yellow) !important;
}
