/* ══════════════════════════════════════
   Single Product — Sidebar + Content Layout
   ══════════════════════════════════════ */

/* ── Layout grid: sidebar | content ── */
.nco-single-product-layout{
	display:grid;
	grid-template-columns:280px 1fr;
	gap:28px;
	align-items:start;
	padding:24px 0;
}

/* ── Vertical Sidebar ── */
.nco-single-sidebar{
	position:sticky;
	top:20px;
}

/* Vertical sidebar appearance → see sidebar-vertical.css (shared) */

/* ══════════════════════════════════════
   Product Content Wrapper
   ══════════════════════════════════════ */
.nco-single-content{
	min-width:0;
	max-width:100%;
	overflow:hidden;
}

/* ── Replace WooCommerce float layout with flexbox ── */
.nco-single-content div.product{
	display:flex;
	flex-wrap:wrap;
	gap:32px;
	max-width:100%;
}

/* Kill WooCommerce clearfix pseudo-elements */
.nco-single-content div.product::before,
.nco-single-content div.product::after{
	content:none !important;
	display:none !important;
}

/* ══════════════════════════════════════
   Gallery — Left Column
   ══════════════════════════════════════ */
.nco-single-content div.product .woocommerce-product-gallery{
	float:none !important;
	width:38% !important;
	flex-shrink:0;
	max-width:100%;
	position:relative;
}

.nco-single-content .woocommerce-product-gallery .woocommerce-product-gallery__wrapper{
	border-radius:16px;
	overflow:hidden;
	background:#f7f8fa;
	border:1px solid rgba(0,0,0,.05);
}

.nco-single-content .woocommerce-product-gallery .flex-viewport{
	border-radius:16px;
	overflow:hidden;
	border:1px solid rgba(0,0,0,.05);
	background:#f7f8fa;
}

.nco-single-content div.product .woocommerce-product-gallery img{
	width:100%;
	height:auto;
	border-radius:0;
	object-fit:cover;
	display:block;
}

/* Thumbnails */
.nco-single-content .woocommerce-product-gallery .flex-control-thumbs{
	display:flex;
	gap:8px;
	margin-top:12px;
	padding:0;
	list-style:none;
}

.nco-single-content .woocommerce-product-gallery .flex-control-thumbs li{
	flex:0 0 auto;
	width:64px;
	height:64px;
	border-radius:10px;
	overflow:hidden;
	border:2px solid transparent;
	cursor:pointer;
	transition:all .2s ease;
	background:#f7f8fa;
}

.nco-single-content .woocommerce-product-gallery .flex-control-thumbs li:hover{
	border-color:rgba(0,112,186,.4);
	box-shadow:0 2px 10px rgba(0,112,186,.12);
	transform:translateY(-1px);
}

.nco-single-content .woocommerce-product-gallery .flex-control-thumbs li .flex-active,
.nco-single-content .woocommerce-product-gallery .flex-control-thumbs .flex-active{
	border-color:#0070ba;
	box-shadow:0 2px 10px rgba(0,112,186,.2);
}

.nco-single-content .woocommerce-product-gallery .flex-control-thumbs li img{
	width:100%;
	height:100%;
	object-fit:cover;
	border-radius:8px;
}

/* Sale flash badge */
.nco-single-content .onsale{
	position:absolute;
	top:14px;
	left:14px;
	z-index:5;
	background:linear-gradient(135deg,#ef4444,#dc2626);
	color:#fff;
	font-size:11px;
	font-weight:800;
	padding:5px 14px;
	border-radius:8px;
	text-transform:uppercase;
	letter-spacing:.05em;
	box-shadow:0 4px 12px rgba(239,68,68,.3);
}

/* Zoom icon */
.nco-single-content .woocommerce-product-gallery .woocommerce-product-gallery__trigger{
	position:absolute;
	top:14px;
	right:14px;
	z-index:5;
	width:38px;
	height:38px;
	border-radius:10px;
	background:rgba(255,255,255,.9);
	backdrop-filter:blur(6px);
	display:flex;
	align-items:center;
	justify-content:center;
	border:1px solid rgba(0,0,0,.08);
	box-shadow:0 2px 8px rgba(0,0,0,.06);
	transition:all .2s ease;
}

.nco-single-content .woocommerce-product-gallery .woocommerce-product-gallery__trigger:hover{
	background:#fff;
	box-shadow:0 4px 14px rgba(0,0,0,.1);
	transform:scale(1.05);
}

/* ══════════════════════════════════════
   Summary — Right Column
   ══════════════════════════════════════ */
.nco-single-content div.product .summary.entry-summary{
	float:none !important;
	width:calc(62% - 32px) !important;
	flex:1 1 0%;
	min-width:0;
	padding:4px 0;
}

/* ── Product Title ── */
.nco-single-content .product_title{
	font-size:28px;
	font-weight:800;
	color:#111;
	margin:0 0 6px;
	line-height:1.2;
	letter-spacing:-.03em;
}

/* ── Price ── */
.nco-single-content p.price,
.nco-single-content .summary .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price{
	font-size:26px;
	font-weight:800;
	color:#0070ba !important;
	margin:0 0 18px;
	display:flex;
	align-items:baseline;
	gap:12px;
	flex-wrap:wrap;
}

.nco-single-content .price del,
.woocommerce div.product .price del{
	font-size:17px;
	font-weight:500;
	color:#b0b0b0 !important;
	text-decoration:line-through;
}

.nco-single-content .price ins,
.woocommerce div.product .price ins{
	text-decoration:none;
	font-weight:800;
	color:#0070ba !important;
}

/* Force price amounts inside single product to primary color */
.nco-single-content .price .woocommerce-Price-amount,
.woocommerce div.product .price .woocommerce-Price-amount,
.woocommerce div.product .price .amount{
	color:#0070ba !important;
}

/* Override WooCommerce highlight color on stock text too */
.woocommerce div.product .stock{
	color:#0070ba !important;
}

/* ── Short Description (excerpt) ── */
.nco-single-content .woocommerce-product-details__short-description{
	font-size:14px;
	line-height:1.75;
	color:#555;
	margin:0 0 22px;
	padding:16px 20px;
	background:linear-gradient(135deg,#f8f9fb,#f0f4ff);
	border-left:4px solid #0070ba;
	border-radius:0 12px 12px 0;
}

.nco-single-content .woocommerce-product-details__short-description p{
	margin:0 0 6px;
}

.nco-single-content .woocommerce-product-details__short-description p:last-child{
	margin-bottom:0;
}

/* ══════════════════════════════════════
   Add to Cart — Action Bar
   ══════════════════════════════════════ */
.nco-single-content form.cart{
	display:flex;
	align-items:center;
	gap:14px;
	flex-wrap:wrap;
	margin:22px 0;
	padding:22px 24px;
	background:#f8f9fb;
	border:1px solid rgba(0,0,0,.06);
	border-radius:14px;
}

.nco-single-content .cart .quantity{
	display:flex;
	align-items:center;
	border:1.5px solid rgba(0,0,0,.12);
	border-radius:10px;
	overflow:hidden;
	background:#fff;
	box-shadow:0 1px 4px rgba(0,0,0,.04);
}

.nco-single-content .cart .quantity .qty{
	width:56px;
	height:46px;
	text-align:center;
	font-size:16px;
	font-weight:700;
	border:none;
	border-radius:0;
	padding:0;
	color:#111;
	-moz-appearance:textfield;
	appearance:textfield;
}

.nco-single-content .cart .quantity .qty::-webkit-inner-spin-button,
.nco-single-content .cart .quantity .qty::-webkit-outer-spin-button{
	-webkit-appearance:none;
	margin:0;
}

.nco-single-content .cart .single_add_to_cart_button{
	padding:13px 36px;
	font-size:15px;
	font-weight:700;
	border-radius:10px;
	background:linear-gradient(135deg,#0070ba,#005a96);
	color:#fff;
	border:none;
	cursor:pointer;
	transition:all .25s ease;
	display:inline-flex;
	align-items:center;
	gap:10px;
	box-shadow:0 4px 16px rgba(0,112,186,.2);
	letter-spacing:.01em;
}

.nco-single-content .cart .single_add_to_cart_button:hover{
	background:linear-gradient(135deg,#005a96,#004577);
	box-shadow:0 8px 28px rgba(0,112,186,.35);
	transform:translateY(-1px);
}

.nco-single-content .cart .single_add_to_cart_button:active{
	transform:translateY(0) scale(.98);
	box-shadow:0 2px 8px rgba(0,112,186,.2);
}

/* ══════════════════════════════════════
   Product Meta (SKU, Categories, Tags)
   ══════════════════════════════════════ */
.nco-single-content .product_meta{
	font-size:13px;
	color:#777;
	line-height:1.6;
	padding:18px 0 0;
	margin-top:4px;
	border-top:1px solid rgba(0,0,0,.05);
	display:flex;
	flex-direction:column;
	gap:6px;
}

.nco-single-content .product_meta > span{
	display:flex;
	align-items:baseline;
	gap:6px;
	flex-wrap:wrap;
}

.nco-single-content .product_meta a{
	color:#0070ba;
	font-weight:600;
	text-decoration:none;
	transition:color .15s ease;
	padding:2px 8px;
	background:rgba(0,112,186,.06);
	border-radius:6px;
}

.nco-single-content .product_meta a:hover{
	color:#fff;
	background:#0070ba;
}

/* ══════════════════════════════════════
   Tabs — Modern Card Style
   ══════════════════════════════════════ */
.nco-single-content div.product .woocommerce-tabs{
	float:none !important;
	width:100% !important;
	clear:both;
	max-width:100%;
	overflow:hidden;
	margin-top:36px;
	padding:0;
	background:#fff;
	border:1px solid rgba(0,0,0,.06);
	border-radius:16px;
	box-shadow:0 2px 12px rgba(0,0,0,.03);
}

/* Tab navigation bar */
.nco-single-content .woocommerce-tabs ul.tabs{
	display:flex;
	gap:0;
	list-style:none;
	padding:0;
	margin:0;
	border-bottom:1px solid rgba(0,0,0,.06);
	background:#f8f9fb;
	border-radius:16px 16px 0 0;
	overflow:hidden;
}

.nco-single-content .woocommerce-tabs ul.tabs::before,
.nco-single-content .woocommerce-tabs ul.tabs::after{
	content:none !important;
	display:none !important;
}

.nco-single-content .woocommerce-tabs ul.tabs li{
	margin:0;
	padding:0;
	background:transparent !important;
	border:none !important;
	border-radius:0;
	position:relative;
	flex:1;
}

.nco-single-content .woocommerce-tabs ul.tabs li::before,
.nco-single-content .woocommerce-tabs ul.tabs li::after{
	content:none !important;
	display:none !important;
}

.nco-single-content .woocommerce-tabs ul.tabs li a{
	display:flex;
	align-items:center;
	justify-content:center;
	padding:14px 20px;
	font-size:13px;
	font-weight:700;
	color:#888;
	text-decoration:none;
	text-transform:uppercase;
	letter-spacing:.04em;
	border-bottom:3px solid transparent;
	transition:all .2s ease;
	white-space:nowrap;
	background:transparent;
}

.nco-single-content .woocommerce-tabs ul.tabs li a:hover{
	color:#333;
	background:rgba(0,0,0,.02);
}

.nco-single-content .woocommerce-tabs ul.tabs li.active{
	background:#fff !important;
}

.nco-single-content .woocommerce-tabs ul.tabs li.active a{
	color:#0070ba;
	border-bottom-color:#0070ba;
	background:#fff;
}

/* Tab panel content */
.nco-single-content .woocommerce-Tabs-panel{
	padding:28px 32px;
	font-size:14px;
	line-height:1.85;
	color:#444;
}

/* Tab content typography */
.nco-single-content .woocommerce-Tabs-panel h2{
	font-size:21px;
	font-weight:800;
	color:#111;
	margin:0 0 16px;
	padding-bottom:12px;
	border-bottom:2px solid rgba(0,112,186,.1);
	display:flex;
	align-items:center;
	gap:10px;
}

.nco-single-content .woocommerce-Tabs-panel h2::before{
	content:'';
	width:4px;
	height:22px;
	background:#0070ba;
	border-radius:4px;
	flex-shrink:0;
}

.nco-single-content .woocommerce-Tabs-panel h3{
	font-size:17px;
	font-weight:700;
	color:#222;
	margin:28px 0 12px;
	display:flex;
	align-items:center;
	gap:8px;
}

.nco-single-content .woocommerce-Tabs-panel h3::before{
	content:'';
	width:3px;
	height:18px;
	background:rgba(0,112,186,.4);
	border-radius:3px;
	flex-shrink:0;
}

.nco-single-content .woocommerce-Tabs-panel p{
	margin:0 0 16px;
	color:#444;
}

/* Feature list with custom bullets */
.nco-single-content .woocommerce-Tabs-panel ul{
	padding:0;
	margin:0 0 20px;
	list-style:none;
}

.nco-single-content .woocommerce-Tabs-panel ul li{
	margin-bottom:10px;
	padding:10px 16px;
	padding-left:36px;
	line-height:1.6;
	color:#444;
	background:#f8f9fb;
	border-radius:10px;
	position:relative;
	font-size:13.5px;
	border:1px solid rgba(0,0,0,.04);
}

.nco-single-content .woocommerce-Tabs-panel ul li::before{
	content:'\f00c'; /* fa-check */
	font-family:'Font Awesome 6 Free';
	font-weight:900;
	font-size:10px;
	color:#0070ba;
	position:absolute;
	left:14px;
	top:13px;
}

/* Specifications table */
.nco-single-content .woocommerce-Tabs-panel table{
	width:100%;
	border-collapse:separate;
	border-spacing:0;
	margin:16px 0;
	font-size:13px;
	border-radius:12px;
	overflow:hidden;
	border:1px solid rgba(0,0,0,.06);
}

.nco-single-content .woocommerce-Tabs-panel table th,
.nco-single-content .woocommerce-Tabs-panel table td{
	padding:12px 18px;
	text-align:left;
	border-bottom:1px solid rgba(0,0,0,.05);
}

.nco-single-content .woocommerce-Tabs-panel table tr:last-child th,
.nco-single-content .woocommerce-Tabs-panel table tr:last-child td{
	border-bottom:none;
}

.nco-single-content .woocommerce-Tabs-panel table th{
	background:#f4f5f7;
	font-weight:700;
	color:#222;
	width:180px;
}

.nco-single-content .woocommerce-Tabs-panel table td{
	background:#fff;
	color:#444;
}

.nco-single-content .woocommerce-Tabs-panel table tr:nth-child(even) td{
	background:#fafbfc;
}

.nco-single-content .woocommerce-Tabs-panel table tr:nth-child(even) th{
	background:#eef0f3;
}

/* Blockquote — CTA style */
.nco-single-content .woocommerce-Tabs-panel blockquote{
	border:none;
	margin:24px 0;
	padding:20px 24px;
	background:linear-gradient(135deg,#f0f7ff,#e8f0fe);
	border-radius:14px;
	color:#1e3a5f;
	font-size:14px;
	font-weight:500;
	line-height:1.6;
	position:relative;
	overflow:hidden;
	box-shadow:0 2px 12px rgba(0,112,186,.06);
}

.nco-single-content .woocommerce-Tabs-panel blockquote::before{
	content:'\f059'; /* fa-circle-question */
	font-family:'Font Awesome 6 Free';
	font-weight:900;
	font-size:40px;
	color:rgba(0,112,186,.08);
	position:absolute;
	right:20px;
	top:50%;
	transform:translateY(-50%);
}

/* Additional info / Attributes table */
.nco-single-content .woocommerce-Tabs-panel .shop_attributes{
	margin:0;
}

.nco-single-content .woocommerce-Tabs-panel .shop_attributes th{
	width:180px;
	font-weight:700;
}

/* ══════════════════════════════════════
   Related Products + Upsells
   ══════════════════════════════════════ */
.nco-single-content div.product section.related.products,
.nco-single-content div.product section.up-sells.products{
	float:none !important;
	width:100% !important;
	clear:both;
	max-width:100%;
	overflow:hidden;
}

.nco-single-content section.related.products,
.nco-single-content section.up-sells.products{
	margin-top:40px;
	padding:28px 0 0;
	border-top:1px solid rgba(0,0,0,.06);
}

.nco-single-content section.related.products > h2,
.nco-single-content section.up-sells.products > h2{
	font-size:20px;
	font-weight:800;
	color:#111;
	margin:0 0 18px;
	padding:0;
	display:flex;
	align-items:center;
	gap:10px;
}

.nco-single-content section.related.products > h2::before{
	content:'\f576';
	font-family:'Font Awesome 6 Free';
	font-weight:900;
	font-size:17px;
	color:#0070ba;
}

.nco-single-content section.up-sells.products > h2::before{
	content:'\f005';
	font-family:'Font Awesome 6 Free';
	font-weight:900;
	font-size:17px;
	color:#0070ba;
}

.nco-single-content section.related.products ul.products,
.nco-single-content section.up-sells.products ul.products{
	display:flex !important;
	flex-wrap:wrap !important;
	gap:14px !important;
	margin:0 !important;
	padding:0 !important;
	max-width:100%;
	list-style:none;
}

.nco-single-content section.related.products ul.products li.product,
.nco-single-content section.up-sells.products ul.products li.product{
	width:calc(25% - 11px) !important;
	margin:0 !important;
	float:none !important;
	flex:none;
}

/* ══════════════════════════════════════
   Breadcrumbs
   ══════════════════════════════════════ */
.nco-breadcrumbs{
	margin-bottom:20px;
}

.nco-breadcrumbs-list{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:0;
	list-style:none;
	padding:10px 18px;
	margin:0;
	background:#f8f9fb;
	border:1px solid rgba(0,0,0,.05);
	border-radius:12px;
	font-size:13px;
}

.nco-breadcrumbs-list li{
	display:inline-flex;
	align-items:center;
	color:#888;
	font-weight:600;
	white-space:nowrap;
}

.nco-breadcrumbs-list li + li::before{
	content:'\f105';
	font-family:'Font Awesome 6 Free';
	font-weight:900;
	font-size:9px;
	margin:0 10px;
	color:#ccc;
}

.nco-breadcrumbs-list li a{
	color:#555;
	text-decoration:none;
	transition:color .15s ease;
	display:inline-flex;
	align-items:center;
	gap:5px;
}

.nco-breadcrumbs-list li a:hover{
	color:#0070ba;
}

.nco-breadcrumbs-list li a i{
	font-size:11px;
	opacity:.6;
}

.nco-breadcrumbs-current{
	color:#111;
	font-weight:700;
	max-width:300px;
	overflow:hidden;
	text-overflow:ellipsis;
}

/* ══════════════════════════════════════
   Remove Reviews
   ══════════════════════════════════════ */
.single-product .woocommerce-Reviews,
.single-product #reviews,
.single-product .woocommerce-Tabs-panel--reviews,
.single-product li.reviews_tab{
	display:none !important;
}

/* ══════════════════════════════════════
   Mobile Responsive
   ══════════════════════════════════════ */
@media (max-width: 1092px){
	.nco-single-product-layout{
		grid-template-columns:1fr;
		gap:0;
		padding:12px 0;
	}

	.nco-single-sidebar{
		display:none;
	}

	/* Title + price */
	.nco-single-content .product_title{
		font-size:22px;
	}

	.nco-single-content p.price,
	.nco-single-content .summary .price{
		font-size:22px;
	}

	/* Short description */
	.nco-single-content .woocommerce-product-details__short-description{
		padding:12px 16px;
		font-size:13px;
	}

	/* Cart action bar */
	.nco-single-content form.cart{
		padding:16px;
		border-radius:12px;
		gap:10px;
	}

	.nco-single-content .cart .single_add_to_cart_button{
		width:100%;
		justify-content:center;
		padding:14px 20px;
	}

	/* Tabs */
	.nco-single-content div.product .woocommerce-tabs{
		border-radius:12px;
	}

	.nco-single-content .woocommerce-tabs ul.tabs{
		border-radius:12px 12px 0 0;
		overflow-x:auto;
	}

	.nco-single-content .woocommerce-tabs ul.tabs li a{
		padding:12px 16px;
		font-size:12px;
	}

	.nco-single-content .woocommerce-Tabs-panel{
		padding:20px 18px;
	}

	.nco-single-content .woocommerce-Tabs-panel table th{
		width:auto;
		min-width:100px;
	}

	.nco-single-content .woocommerce-Tabs-panel ul li{
		padding:8px 12px 8px 32px;
		font-size:13px;
	}

	.nco-single-content .woocommerce-Tabs-panel ul li::before{
		left:10px;
		top:11px;
	}

	/* Breadcrumbs */
	.nco-breadcrumbs-list{
		font-size:12px;
		padding:8px 12px;
		overflow-x:auto;
		flex-wrap:nowrap;
	}

	.nco-breadcrumbs-current{
		max-width:180px;
	}

	/* Stack gallery + summary */
	.nco-single-content div.product{
		gap:16px;
	}

	.nco-single-content div.product .woocommerce-product-gallery,
	.nco-single-content div.product .summary.entry-summary{
		width:100% !important;
	}

	/* Limit gallery image height on tablets so it doesn't dominate the page */
	.nco-single-content div.product .woocommerce-product-gallery img{
		max-height:360px;
		object-fit:contain;
	}

	.nco-single-content .woocommerce-product-gallery .flex-viewport,
	.nco-single-content .woocommerce-product-gallery .woocommerce-product-gallery__wrapper{
		border-radius:12px;
		max-height:360px;
	}

	/* Meta */
	.nco-single-content .product_meta{
		font-size:12px;
	}

	/* Related / upsell */
	.nco-single-content section.related.products,
	.nco-single-content section.up-sells.products{
		margin-top:28px;
		padding-top:20px;
	}

	.nco-single-content section.related.products > h2,
	.nco-single-content section.up-sells.products > h2{
		font-size:17px;
		margin:0 0 12px;
	}

	/* Related / upsell — 3 per row on tablets */
	.nco-single-content section.related.products ul.products li.product,
	.nco-single-content section.up-sells.products ul.products li.product{
		width:calc(33.333% - 10px) !important;
	}
}

/* ── Phone: related products 2 per row ── */
@media (max-width: 600px){
	.nco-single-content div.product .woocommerce-product-gallery img{
		max-height:280px;
	}
	.nco-single-content .woocommerce-product-gallery .flex-viewport,
	.nco-single-content .woocommerce-product-gallery .woocommerce-product-gallery__wrapper{
		max-height:280px;
	}

	.nco-single-content section.related.products ul.products li.product,
	.nco-single-content section.up-sells.products ul.products li.product{
		width:calc(50% - 7px) !important;
	}
}
