/*
Theme Name: OceanWP Custom
Template: oceanwp
Version: 3.3
*/

/* ===============================
   LAYOUT
================================ */
.bo-product-grid {
	display: grid;
	grid-template-columns: minmax(0, 2.2fr) minmax(0, 1fr);
	gap: 48px;
	align-items: flex-start;
}

/* ===============================
   PRODUCT INTRO (IMAGE + TEXT)
================================ */
.bo-product-intro {
	display: flex;
	gap: 24px;
	align-items: flex-start;
	margin-bottom: 32px;
}

.bo-product-thumb {
	flex: 0 0 220px;
	max-width: 220px;
	max-height: 220px;
	overflow: hidden;
}

.bo-product-thumb img {
	width: 100%;
	height: auto;
	border-radius: 12px;
}

.bo-product-summary {
	flex: 1;
	min-width: 0;
	padding-top: 16px;
}

.bo-product-title {
	font-size: 28px;
	line-height: 1.2;
	margin-bottom: 10px;
	font-weight: 700;
}

.bo-short-description {
	font-size: 15px;
	line-height: 1.6;
	color: #555;
}

/* ===============================
   SECTIONS
================================ */
.bo-section {
	/*background: #ffffff;*/
	background-color: #f0f0f0 !important; /* Test color */
	border-radius: 12px;
	padding: 24px;
	margin-bottom: 24px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.04);
}

.bo-section h2 {
	font-size: 18px;
	margin-bottom: 14px;
	font-weight: 600;
}

/* ===============================
   META LISTS
================================ */
.bo-meta-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.bo-meta-list li {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 12px;
	padding: 10px 0;
	border-bottom: 1px dashed #e5e7eb;
	font-size: 14px;
}

.bo-meta-list li:last-child {
	border-bottom: none;
}

.bo-meta-list strong {
	color: #6b7280;
	font-weight: 500;
}

/* ===============================
   RIGHT COLUMN
================================ */
.bo-product-right {
	position: sticky;
	top: 96px;
}

/* ===============================
   METRICS CARD
================================ */
.bo-metrics-card {
	background: linear-gradient(180deg, #ffffff, #f9fafb);
	border-radius: 12px;
	padding: 18px;
	margin-bottom: 16px;
	box-shadow: 0 10px 24px rgba(0,0,0,0.06);
	border: 1px solid #e5e7eb;
}

.bo-metrics-card h3 {
	font-size: 16px;
	margin-bottom: 14px;
	font-weight: 600;
}

.bo-metrics-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
}

/* Odd item fix */
.bo-metrics-grid > .bo-metric:last-child:nth-child(odd) {
	grid-column: 1 / -1;
}

.bo-metric {
	background: #ffffff;
	border-radius: 8px;
	padding: 10px;
	text-align: center;
	border: 1px solid #eeeeee;
}

.bo-metric-label {
	display: block;
	font-size: 12px;
	color: #6b7280;
	margin-bottom: 2px;
}

.bo-metric-value {
	font-size: 16px;
	font-weight: 700;
	color: #111827;
}

/* ===============================
   CTA CARD (LIGHT VERSION)
================================ */
.bo-cta-card {
	background: #ffffff;
	color: #111827;
	border-radius: 14px;
	padding: 20px;
	box-shadow: 0 12px 30px rgba(0,0,0,0.08);
	border: 1px solid #e5e7eb;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.bo-cta-card .price {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 12px;
	color: #16a34a;
}

/* Add to cart button */
.bo-cta-card button,
.bo-cta-card .button {
	width: 100%;
	padding: 12px;
	font-size: 15px;
	font-weight: 600;
	border-radius: 8px;
	/*margin-bottom: 10px;*/
}

/* Wishlist / secondary actions */
.bo-cta-card .add_to_wishlist,
.bo-cta-card .wishlist {
	display: block;
	text-align: center;
	font-size: 13px;
	color: #6b7280;
	margin-top: 6px;
	text-decoration: none;
}

.bo-cta-card .add_to_wishlist:hover {
	color: #111827;
}

/* ===============================
   MOBILE STYLES
================================ */
@media (max-width: 992px) {
	.bo-product-grid {
		grid-template-columns: 1fr;
	}

	.bo-product-right {
		position: static;
		margin-top: 24px;
	}

	.bo-cta-card {
		padding: 16px;
	}

	.bo-cta-card .price {
		font-size: 22px;
	}
}

/* Hide product image on mobile */
@media (max-width: 768px) {
	.bo-product-thumb {
		display: none;
	}

	.bo-product-intro {
		flex-direction: column;
	}
}


/* ======================================
   COMPACT INLINE CTA CARD
====================================== */
.bo-cta-card {
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	padding: 14px;
	box-shadow: 0 8px 20px rgba(0,0,0,0.06);
}

/* Price (compact) */
.bo-cta-card .price {
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 10px;
	color: #16a34a;
	line-height: 1.2;
}

.bo-cta-card .price del {
	color: #9ca3af;
	font-size: 14px;
	margin-right: 6px;
}

.bo-cta-card .price ins {
	text-decoration: none;
}

.amount {
    color: #f88c2b !important;
}

/* ======================================
   INLINE CART FORM
====================================== */
.bo-cta-card form.cart {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
}

/* ======================================
   ICON BUTTONS (Wishlist / Compare)
====================================== */
.bo-cta-card .shopengine-wishlist,
.bo-cta-card .shopengine-comparison {
	width: 36px;
	height: 36px;
	border-radius: 8px;
	border: 1px solid #e5e7eb;
	background: #f9fafb;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.bo-cta-card .shopengine-wishlist i,
.bo-cta-card .shopengine-comparison i {
	font-size: 16px;
	color: #374151;
}

.bo-cta-card .shopengine-wishlist:hover,
.bo-cta-card .shopengine-comparison:hover {
	background: #eef2ff;
	border-color: #c7d2fe;
}

/* ======================================
   QUANTITY (INLINE & COMPACT)
====================================== */
.bo-cta-card .quantity {
	display: flex;
	align-items: center;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	overflow: hidden;
	height: 36px;
}

.bo-cta-card .quantity a.minus,
.bo-cta-card .quantity a.plus {
	width: 32px;
	text-align: center;
	font-size: 16px;
	color: #374151;
	background: #f9fafb;
	text-decoration: none;
	line-height: 36px;
}

.bo-cta-card .quantity input.qty {
	width: 44px;
	border: none;
	text-align: center;
	font-size: 14px;
	padding: 0;
	height: 36px;
}

/* ======================================
   ADD TO CART BUTTON (PRIMARY)
====================================== */
.bo-cta-card .single_add_to_cart_button {
	height: 36px;
	padding: 0 16px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	background: #f88c2b;
	color: #ffffff;
	border: none;
	white-space: nowrap;
}

.bo-cta-card .single_add_to_cart_button:hover {
	background: #1d4ed8;
}

.add_to_cart_button {
    background: none;
}

/* Remove comparison button everywhere */
.shopengine-comparison,
.shopengine-comparison_add_to_list_action,
.shopengine-icon-product_compare_1 {
	display: none !important;
}

/* Icon-only add to cart */
.bo-td-action .button,
.bo-card-footer .button {
	width: 34px;
	height: 34px;
	padding: 0;
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0; /* hide text */
	/*background: #f1f5f9;*/
	/*border: 1px solid #e5e7eb;*/
	color: #111827;
}

/* Cart icon */
.bo-td-action .button::before,
.bo-card-footer .button::before {
	/*content: "🛒";*/
	/*font-size: 16px;*/
	font-family: "Font Awesome 6 Free";
	content: "\f07a"; /* shopping-cart */
	font-weight: 900;
	font-size: 14px;
}

 /*Hover */
.bo-td-action .button:hover,
.bo-card-footer .button:hover {
	background: none;
	/*color: #fff;*/
}

/* Added state */
.bo-td-action .added_to_cart,
.bo-card-footer .added_to_cart {
	display: none;
}

.shopengine_add_to_list_action, .shopengine-quickview-trigger, .add_to_cart_button {
    text-decoration: none !important;
}

/* ======================================
   MOBILE TWEAKS
====================================== */
@media (max-width: 768px) {
	.bo-cta-card form.cart {
		gap: 6px;
	}

	.bo-cta-card .single_add_to_cart_button {
		flex: 1;
	}
}


/* ======================================
   Product Marketplace
====================================== */
.bo-td-thumb {
    padding: 4px !important;
}
.bo-td-thumb img {
	width: 45px;
	height: 45px;
	object-fit: cover;
	border-radius: 6px;
}

.bo-card-thumb img {
	width: 100%;
	border-radius: 10px;
	margin-bottom: 12px;
}

.bo-pagination {
	margin: 30px 0;
	text-align: center;
}

.bo-pagination a,
.bo-pagination span {
	padding: 8px 12px;
	margin: 0 4px;
	border-radius: 6px;
	background: #f1f5f9;
}

.bo-pagination .current {
	background: #111827;
	color: #fff;
}

.bo-table-row {
	cursor: pointer;
}

.bo-table-row:hover {
	background: #f8fafc;
}

.bo-card-link {
	text-decoration: none;
	color: inherit;
	display: block;
}

.bo-products-table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
}

.bo-products-table th {
	background: #f1f5f9;
	font-size: 13px;
	text-transform: uppercase;
	color: #64748b;
	padding: 12px;
}

.bo-products-table td {
	padding: 14px 12px;
	border-bottom: 1px solid #eef2f7;
	font-size: 14px;
	vertical-align: middle;
}

.bo-products-table-header th > a {
    text-decoration: none!important;
}

.bo-td-action {
	white-space: nowrap;
}


.bo-sort-link {
	color: inherit;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.bo-sort-link:hover {
	color: #111827;
}

.bo-sort-icon {
	font-size: 12px;
	color: #94a3b8;
}

.bo-sort-link:hover .bo-sort-icon {
	color: #111827;
}


.bo-sort-link .bo-sort-icon {
	font-weight: 600;
}

/* ===== Filters Bar ===== */
.bo-filters {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	background: #ffffff;
	padding: 12px 16px;
	border-radius: 12px;
	box-shadow: 0 6px 20px rgba(0,0,0,0.05);
	margin-bottom: 20px;
}

.bo-filter-group {
	display: flex;
	align-items: center;
}

.bo-filters input[type="search"],
.bo-filters select {
	height: 38px;
	padding: 6px 10px;
	border-radius: 8px;
	border: 1px solid #e5e7eb;
	font-size: 14px;
	background: #f9fafb;
	min-width: 140px;
}

.bo-filters input[type="search"] {
	min-width: 220px;
}

.bo-filters select {
	cursor: pointer;
}

.bo-filters input:focus,
.bo-filters select:focus {
	outline: none;
	border-color: #111827;
	background: #ffffff;
}

/* Apply button */
.bo-filter-apply {
	height: 38px;
	padding: 0 16px;
	border-radius: 8px;
	background-color: #f88c2b !important;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	border: none;
	cursor: pointer;
	white-space: nowrap;
}

.bo-filter-apply:hover {
	background: #000;
}

/* ===== Responsive ===== */
@media (max-width: 768px) {
	.bo-filters {
		gap: 8px;
	}

	.bo-filters input[type="search"] {
		min-width: 100%;
	}
}


/* ===== Marketplace Toolbar ===== */
.bo-marketplace-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

/* Filters should not stretch unnecessarily */
.bo-marketplace-toolbar .bo-filters {
	flex: 1;
}

/* View toggle aligned right */
.bo-marketplace-toolbar .bo-view-toggle {
	display: flex;
	gap: 8px;
}


@media (max-width: 768px) {

	.bo-marketplace-toolbar {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	.bo-marketplace-toolbar .bo-view-toggle {
		justify-content: flex-start;
	}
}

/* ===== Card Grid ===== */
.bo-card-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}

@media (max-width: 1200px) {
	.bo-card-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
	.bo-card-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.bo-card-grid { grid-template-columns: 1fr; }
}

/* ===== Card ===== */
.bo-product-card {
	background: #ffffff;
	border-radius: 14px;
	padding: 14px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.05);
	display: flex;
	flex-direction: column;
	gap: 12px;
	cursor: pointer;
	transition: transform .15s ease, box-shadow .15s ease;
}

.bo-product-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 30px rgba(0,0,0,0.08);
}

/* ===== Top ===== */
.bo-card-top {
	display: flex;
	gap: 10px;
	align-items: center;
}

.bo-card-thumb img {
	width: 40px;
	height: 40px;
	object-fit: cover;
	border-radius: 8px;
}

.bo-card-heading {
	min-width: 0;
}

.bo-card-title {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 2px;
}

.bo-card-niche {
	font-size: 12px;
	color: #64748b;
}

/* ===== Metrics ===== */
.bo-card-metrics {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 6px 12px;
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: 12px;
	color: #374151;
}

.bo-card-metrics li {
	display: flex;
	justify-content: space-between;
	border-bottom: 1px dashed #e5e7eb;
	padding-bottom: 3px;
}

.bo-card-metrics span {
	color: #6b7280;
}

/* ===== Footer ===== */
.bo-card-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: auto;
	gap: 10px;
}

.bo-card-price {
	font-size: 15px;
	font-weight: 700;
	color: #16a34a;
}

.bo-card-actions .button {
	width: 32px;
	height: 32px;
	padding: 0;
	border-radius: 8px;
	font-size: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.bo-filter-clear {
	height: 38px;
	padding: 0 14px;
	border-radius: 8px;
	border: 1px solid #e5e7eb;
	background: #f9fafb;
	font-size: 14px;
	font-weight: 600;
	color: #374151;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
}

.bo-filter-clear:hover {
	background: #fff;
	border-color: #cbd5f5;
	color: #111827;
}

