/* WooCommerce marketplace layer */
.woocommerce-main { background: #f8fafc; padding-bottom: 80px; }
.woocommerce-main .container { max-width: var(--rf-container); }
.woocommerce .woocommerce-breadcrumb { color: var(--rf-muted); font-size: .75rem; margin: 0; }
.woocommerce .woocommerce-breadcrumb a { color: var(--rf-muted); }

.woocommerce-products-header { margin: 34px 0 28px; }
.woocommerce-products-header__title.page-title { font-size: clamp(2.2rem, 6vw, 4rem); }
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering { color: var(--rf-muted); font-size: .82rem; margin-bottom: 28px; }
.woocommerce .woocommerce-ordering select { background: #fff; min-width: 205px; }

.woocommerce ul.products {
	display: grid;
	gap: 24px;
	grid-template-columns: 1fr;
	margin: 0 0 40px;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background: #fff;
	border: 1px solid var(--rf-line);
	border-radius: var(--rf-radius);
	box-shadow: var(--rf-shadow-sm);
	float: none;
	margin: 0;
	overflow: hidden;
	padding: 0 0 20px;
	transition: transform .25s ease, box-shadow .25s ease;
	width: auto;
}

.woocommerce ul.products li.product:hover { box-shadow: var(--rf-shadow); transform: translateY(-5px); }
.woocommerce ul.products li.product a img { aspect-ratio: 3 / 2; margin: 0 0 18px; object-fit: cover; width: 100%; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--rf-ink); font-size: 1.15rem; padding: 0 20px; }
.woocommerce ul.products li.product .price { color: var(--rf-primary); font-size: 1rem; font-weight: 850; padding: 0 20px; }
.woocommerce ul.products li.product .star-rating { margin: 0 20px 10px; }
.woocommerce ul.products li.product .button { margin: 8px 20px 0; }
.woocommerce span.onsale { background: var(--rf-gradient); border-radius: 999px; font-size: .7rem; left: 12px; line-height: 1; margin: 0; min-height: auto; min-width: auto; padding: .55rem .75rem; top: 12px; }

.woocommerce div.product {
	background: #fff;
	border: 1px solid var(--rf-line);
	border-radius: var(--rf-radius-lg);
	box-shadow: var(--rf-shadow-sm);
	margin: 32px 0 50px;
	padding: clamp(20px, 4vw, 42px);
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary { margin-bottom: 35px; }
.woocommerce div.product div.images img { border-radius: 14px; }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; gap: 10px; grid-template-columns: repeat(4, 1fr); margin-top: 12px; }
.woocommerce div.product div.images .flex-control-thumbs li { float: none; width: auto; }
.woocommerce div.product div.images .flex-control-thumbs img { border: 2px solid transparent; border-radius: 9px; }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active { border-color: var(--rf-primary); }
.woocommerce div.product .product_title { font-size: clamp(2rem, 5vw, 3.2rem); }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--rf-primary); font-size: 1.6rem; font-weight: 850; }
.woocommerce-product-details__short-description { color: var(--rf-copy); font-size: .95rem; }
.woocommerce div.product form.cart { align-items: stretch; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.woocommerce .quantity .qty { border-radius: 999px; height: 50px; padding: 0 .5rem; width: 76px; }
.woocommerce div.product form.cart .variations { margin-bottom: 12px; width: 100%; }
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td { display: block; padding: 4px 0; text-align: left; }
.woocommerce div.product form.cart .variations select { width: 100%; }
.woocommerce div.product .product_meta { border-top: 1px solid var(--rf-line); color: var(--rf-muted); display: flex; flex-direction: column; font-size: .76rem; gap: 4px; margin-top: 22px; padding-top: 18px; }
.woocommerce div.product .product_meta a { color: var(--rf-primary); }

.product-assurance { background: #f8fafc; border: 1px solid var(--rf-line); border-radius: 12px; display: grid; gap: 8px; margin-top: 20px; padding: 14px; }
.product-assurance span { align-items: center; color: #334155; display: flex; font-size: .72rem; font-weight: 750; gap: 8px; }
.product-assurance svg { color: #16a34a; flex: 0 0 auto; }

.woocommerce div.product .woocommerce-tabs { clear: both; padding-top: 20px; }
.woocommerce div.product .woocommerce-tabs ul.tabs {
	border-bottom: 1px solid var(--rf-line);
	display: flex;
	gap: 5px;
	margin: 0 0 28px;
	overflow-x: auto;
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent;
	border: 0;
	border-radius: 0;
	margin: 0;
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { border-bottom: 2px solid transparent; color: var(--rf-muted); font-size: .78rem; padding: 12px 14px; white-space: nowrap; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { border-color: var(--rf-primary); color: var(--rf-primary); }
.woocommerce div.product .woocommerce-tabs .panel { color: #334155; }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { font-size: 1.8rem; }
.rankflow-product-checklist { display: grid; gap: 10px; list-style: none; padding: 0; }
.rankflow-product-checklist li { align-items: flex-start; display: flex; gap: 9px; }
.check-icon { align-items: center; background: #dcfce7; border-radius: 50%; color: #16a34a; display: flex; flex: 0 0 24px; height: 24px; justify-content: center; width: 24px; }
.check-icon svg { height: 15px; width: 15px; }
.product-faq-list { max-width: 820px; }

.woocommerce section.related.products,
.woocommerce section.up-sells { margin-top: 55px; }
.woocommerce section.related.products > h2,
.woocommerce section.up-sells > h2 { font-size: 2rem; margin-bottom: 25px; }

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background: #fff;
	border: 1px solid var(--rf-line);
	border-radius: 12px;
	box-shadow: var(--rf-shadow-sm);
	color: #334155;
	margin: 24px 0;
	padding: 16px 18px 16px 48px;
}

.woocommerce-message { border-top: 3px solid #16a34a; }
.woocommerce-info { border-top: 3px solid var(--rf-primary); }
.woocommerce-error { border-top: 3px solid #dc2626; }
.woocommerce-message::before { color: #16a34a; }
.woocommerce-info::before { color: var(--rf-primary); }
.woocommerce-error::before { color: #dc2626; }

.woocommerce form.checkout,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.lost_reset_password,
.woocommerce .woocommerce-MyAccount-content,
.woocommerce .woocommerce-order {
	background: #fff;
	border: 1px solid var(--rf-line);
	border-radius: var(--rf-radius);
	box-shadow: var(--rf-shadow-sm);
	padding: clamp(20px, 4vw, 36px);
}

.woocommerce form .form-row label { color: #334155; font-size: .8rem; font-weight: 750; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select { border: 1px solid #cbd5e1; border-radius: 10px; min-height: 46px; padding: .7rem .8rem; }
.select2-container--default .select2-selection--single { border-color: #cbd5e1; border-radius: 10px; height: 46px; padding: 8px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 44px; }

.woocommerce-checkout h3,
.woocommerce-cart h2 { font-size: 1.45rem; }
#order_review_heading { margin-top: 35px; }
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment { background: #f8fafc; border: 1px solid var(--rf-line); border-radius: 14px; }
#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box { background: #eaf2ff; color: #334155; }
#add_payment_method #payment div.payment_box::before,
.woocommerce-cart #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #eaf2ff; }

.woocommerce table.shop_table {
	background: #fff;
	border: 1px solid var(--rf-line);
	border-collapse: separate;
	border-radius: 14px;
	box-shadow: var(--rf-shadow-sm);
	overflow: hidden;
}

.woocommerce table.shop_table th { background: #f8fafc; color: var(--rf-ink); font-size: .78rem; }
.woocommerce table.shop_table td { border-color: var(--rf-line); font-size: .85rem; }
.woocommerce table.shop_table img { border-radius: 8px; width: 62px; }
.woocommerce a.remove { color: #dc2626 !important; }
.woocommerce a.remove:hover { background: #dc2626; color: #fff !important; }
.woocommerce-cart table.cart td.actions .coupon .input-text { border: 1px solid #cbd5e1; border-radius: 999px; min-height: 44px; padding: 0 15px; width: 150px; }
.cart-collaterals .cart_totals { background: #fff; border: 1px solid var(--rf-line); border-radius: var(--rf-radius); box-shadow: var(--rf-shadow-sm); padding: 24px; }

.woocommerce .woocommerce-MyAccount-navigation { margin-bottom: 20px; }
.woocommerce .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 7px; list-style: none; margin: 0; padding: 0; }
.woocommerce .woocommerce-MyAccount-navigation li a { background: #fff; border: 1px solid var(--rf-line); border-radius: 999px; color: #334155; display: block; font-size: .78rem; font-weight: 750; padding: .6rem .9rem; }
.woocommerce .woocommerce-MyAccount-navigation li.is-active a { background: var(--rf-primary); border-color: var(--rf-primary); color: #fff; }
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; }
.woocommerce-account .woocommerce-MyAccount-content { min-height: 250px; }
.woocommerce-MyAccount-downloads-file { display: inline-flex !important; }
.woocommerce-order-overview { background: #fff; border: 1px solid var(--rf-line); border-radius: 14px; padding: 18px !important; }
.woocommerce ul.order_details li { border-color: var(--rf-line); font-size: .65rem; margin-bottom: 10px; }

.woocommerce .star-rating { color: #f59e0b; }
.woocommerce #review_form #respond textarea { border: 1px solid #cbd5e1; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; gap: 6px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span { align-items: center; background: #fff; border: 1px solid var(--rf-line); border-radius: 9px; color: var(--rf-ink); display: flex; height: 40px; justify-content: center; min-width: 40px; }
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--rf-primary); border-color: var(--rf-primary); color: #fff; }

@media (min-width: 600px) {
	.woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 780px) {
	.woocommerce div.product div.images { width: 48%; }
	.woocommerce div.product div.summary { width: 46%; }
	.rankflow-product-checklist { grid-template-columns: repeat(2, 1fr); }
	.woocommerce-account .woocommerce { align-items: start; display: grid; gap: 24px; grid-template-columns: 220px 1fr; }
	.woocommerce-account .woocommerce-notices-wrapper,
	.woocommerce-account .woocommerce > h2,
	.woocommerce-account .woocommerce > form.login,
	.woocommerce-account .woocommerce > form.register { grid-column: 1 / -1; }
	.woocommerce .woocommerce-MyAccount-navigation ul { display: grid; }
	.woocommerce .woocommerce-MyAccount-navigation li a { border-radius: 10px; }
}

@media (min-width: 980px) {
	.woocommerce ul.products { grid-template-columns: repeat(3, 1fr); }
	.woocommerce ul.products.columns-4 { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 600px) {
	.woocommerce .woocommerce-result-count,
	.woocommerce .woocommerce-ordering { float: none; }
	.woocommerce .woocommerce-ordering select { width: 100%; }
	.woocommerce table.shop_table_responsive tr,
	.woocommerce-page table.shop_table_responsive tr { border-bottom: 1px solid var(--rf-line); }
	.woocommerce-cart table.cart td.actions .coupon { display: grid; gap: 8px; grid-template-columns: 1fr; }
	.woocommerce-cart table.cart td.actions .coupon .input-text { width: 100%; }
	.woocommerce-cart table.cart td.actions .coupon .button { width: 100%; }
}
