/* =================================================================
   Nostalgia Bandit — Custom Lot Page Template Styles
   =================================================================
   Brand palette:
   - Teal:    #10D0D6  (primary accent, links, buttons)
   - Pink:    #F53A96  (secondary accent, hover states)
   - Yellow:  #FFD94A  (rare accent for highlights)
   - Black:   #0A0A0A  (text, dark surfaces)
   - White:   #FFFFFF  (light surfaces, button text)
   - Off-white: #F7F5F0 (subtle background warmth)
   - Quiet gray: #6B6B6B (secondary text, meta labels)
   ================================================================= */

/* Reset WooCommerce/Kadence default product styling so we control the page */
.single-product .product .summary,
.single-product .product .images,
.single-product .related.products,
.single-product .upsells.products,
.single-product .product_meta,
.single-product .woocommerce-tabs,
.single-product .woocommerce-product-rating,
.single-product .price,
.single-product .cart,
.single-product .stock,
.single-product .breadcrumb,
.single-product .woocommerce-breadcrumb {
	display: none !important;
}

/* Hide the page title that some themes auto-render above the content */
.single-product .entry-title,
.single-product .product_title,
.single-product .page-title {
	display: none;
}

/* Reset content container styles */
.single-product .nb-lot-page {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	color: #0A0A0A;
	background: #FFFFFF;
	font-family: 'Minion Pro', 'Source Serif Pro', Georgia, 'Times New Roman', serif;
	font-size: 18px;
	line-height: 1.65;
}

/* =================================================================
   HERO SECTION
   ================================================================= */

.nb-lot-hero {
	width: 100%;
	padding: 60px 0 40px;
	background: #FFFFFF;
	border-bottom: 1px solid #EBEBEB;
}

.nb-lot-hero-inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 32px;
	text-align: center;
}

.nb-lot-eyebrow {
	margin-bottom: 18px;
}

.nb-lot-number-badge {
	display: inline-block;
	font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: #FFFFFF;
	background: #10D0D6;
	padding: 10px 24px;
	border-radius: 2px;
}

.nb-lot-title {
	font-family: 'Minion Pro', 'Source Serif Pro', Georgia, 'Times New Roman', serif;
	font-size: clamp(28px, 4vw, 44px);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: #0A0A0A;
	margin: 0 auto 32px;
	max-width: 900px;
}

.nb-lot-hero-image {
	margin: 0;
	padding: 0;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

.nb-lot-hero-img {
	width: 100%;
	height: auto;
	display: block;
}

/* =================================================================
   TWO-COLUMN BODY
   ================================================================= */

.nb-lot-body {
	padding: 60px 0;
	background: #FFFFFF;
}

.nb-lot-body-inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 32px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 60px;
	align-items: start;
}

/* Left column: description */
.nb-lot-description {
	font-family: 'Minion Pro', 'Source Serif Pro', Georgia, 'Times New Roman', serif;
	font-size: 18px;
	line-height: 1.75;
	color: #1F1F1F;
}

.nb-lot-description p {
	margin: 0 0 1.4em;
	font-size: 18px;
	line-height: 1.75;
	color: #1F1F1F;
	font-family: inherit;
}

.nb-lot-description h3 {
	font-family: 'Minion Pro', 'Source Serif Pro', Georgia, 'Times New Roman', serif;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
	color: #0A0A0A;
	margin: 2.2em 0 0.8em;
	letter-spacing: -0.005em;
}

.nb-lot-description em,
.nb-lot-description i {
	font-style: italic;
}

.nb-lot-description strong,
.nb-lot-description b {
	font-weight: 600;
	color: #0A0A0A;
}

.nb-lot-description a {
	color: #10D0D6;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color 0.15s ease;
}

.nb-lot-description a:hover {
	color: #F53A96;
}

/* LOA blockquote */
.nb-lot-description blockquote.nb-loa-quote,
.nb-lot-description .nb-loa-quote {
	margin: 2em 0;
	padding: 24px 28px;
	background: #F7F5F0;
	border-left: 4px solid #10D0D6;
	font-style: italic;
	color: #3A3A3A;
	font-size: 17px;
	line-height: 1.7;
}

.nb-lot-description blockquote.nb-loa-quote p,
.nb-lot-description .nb-loa-quote p {
	margin: 0 0 0.8em;
	font-size: 17px;
	font-style: italic;
}

.nb-lot-description blockquote.nb-loa-quote p:last-child,
.nb-lot-description .nb-loa-quote p:last-child {
	margin-bottom: 0;
}

/* LOA divider (hr) */
.nb-lot-description hr.nb-loa-divider {
	border: 0;
	border-top: 1px solid #D6D6D6;
	margin: 2.5em auto;
	width: 50%;
}

/* YouTube/Vimeo embeds */
.nb-lot-description figure.nb-video-embed {
	margin: 2em 0;
}

.nb-lot-description .nb-video-wrapper {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	background: #0A0A0A;
}

.nb-lot-description .nb-video-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.nb-lot-description .nb-video-embed figcaption {
	margin-top: 10px;
	font-size: 14px;
	font-style: italic;
	color: #6B6B6B;
	text-align: center;
	font-family: 'Minion Pro', 'Source Serif Pro', Georgia, 'Times New Roman', serif;
}

/* =================================================================
   BID PANEL (right column)
   ================================================================= */

.nb-lot-bid-panel {
	font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
	position: sticky;
	top: 100px;
	align-self: start;
}

.nb-lot-bid-panel-inner {
	background: #0A0A0A;
	color: #FFFFFF;
	padding: 32px 28px;
	border-radius: 4px;
}

.nb-bid-row {
	display: flex;
	flex-direction: column;
	margin-bottom: 24px;
	padding-bottom: 24px;
	border-bottom: 1px solid #2A2A2A;
}

.nb-bid-label {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: #888;
	margin-bottom: 6px;
}

.nb-bid-value {
	font-family: 'Minion Pro', 'Source Serif Pro', Georgia, serif;
	font-size: 28px;
	font-weight: 500;
	color: #FFFFFF;
	letter-spacing: -0.01em;
}

/* Bid button */
.nb-bid-button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	background: #10D0D6;
	color: #0A0A0A;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.02em;
	padding: 18px 24px;
	border: 0;
	border-radius: 3px;
	text-decoration: none;
	transition: background 0.2s ease, transform 0.1s ease;
	margin-bottom: 18px;
	font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
}

.nb-bid-button:hover {
	background: #F53A96;
	color: #FFFFFF;
	text-decoration: none;
	transform: translateY(-1px);
}

.nb-bid-button:active {
	transform: translateY(0);
}

.nb-bid-button .nb-arrow {
	font-size: 18px;
	font-weight: 400;
	transition: transform 0.2s ease;
}

.nb-bid-button:hover .nb-arrow {
	transform: translateX(2px);
}

.nb-bid-deadline {
	font-size: 15px;
	line-height: 1.5;
	color: #E5E5E5;
	text-align: center;
	margin: 0 0 24px;
	font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
	font-weight: 500;
}

.nb-bid-deadline strong {
	display: block;
	color: #FFFFFF;
	font-weight: 600;
	font-size: 16px;
	margin-bottom: 4px;
}

/* Attribution tags */
.nb-attribution-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 24px;
	padding-top: 20px;
	border-top: 1px solid #2A2A2A;
}

.nb-attr-tag {
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.05em;
	color: #FFD94A;
	background: rgba(255, 217, 74, 0.08);
	border: 1px solid rgba(255, 217, 74, 0.25);
	padding: 4px 10px;
	border-radius: 2px;
}

/* Meta strip (Lot, Era) - prominent lot number */
.nb-lot-page .nb-meta-strip {
	padding-top: 24px;
	border-top: 1px solid #2A2A2A;
	text-align: center;
	display: block;
}

.nb-lot-page .nb-meta-lot-display {
	font-family: 'Minion Pro', 'Source Serif Pro', Georgia, serif;
	font-size: 42px;
	font-weight: 600;
	color: #FFFFFF;
	line-height: 1;
	letter-spacing: -0.01em;
	margin-bottom: 10px;
	display: block;
	white-space: nowrap;
}

.nb-lot-page .nb-meta-lot-display .nb-meta-lot-prefix {
	font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #888;
	display: block;
	margin-bottom: 8px;
	white-space: nowrap;
}

.nb-lot-page .nb-meta-era-display {
	font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
	font-size: 13px;
	color: #B8B8B8;
	letter-spacing: 0.05em;
	display: block;
	white-space: nowrap;
}

/* =================================================================
   GALLERY SECTION
   ================================================================= */

.nb-lot-gallery {
	padding: 60px 0;
	background: #F7F5F0;
}

.nb-lot-gallery-inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 32px;
}

.nb-section-heading {
	font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #0A0A0A;
	text-align: center;
	margin: 0 0 36px;
	padding-bottom: 16px;
	position: relative;
}

.nb-section-heading::after {
	content: '';
	display: block;
	width: 40px;
	height: 2px;
	background: #10D0D6;
	margin: 16px auto 0;
}

.nb-gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

/* Gallery items - nuclear specificity to override any theme CSS */
body.single-product .nb-lot-page .nb-gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

body.single-product .nb-lot-page .nb-gallery-grid .nb-gallery-item,
body.single-product .nb-lot-page .nb-gallery-grid a.nb-gallery-item {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: hidden !important;
	background: #FFFFFF !important;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	border-radius: 2px !important;
	border: 2px solid #F53A96 !important;
	height: 280px !important;
	padding: 10px !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
}

body.single-product .nb-lot-page .nb-gallery-grid .nb-gallery-item:hover,
body.single-product .nb-lot-page .nb-gallery-grid a.nb-gallery-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(245, 58, 150, 0.3);
}

body.single-product .nb-lot-page .nb-gallery-grid .nb-gallery-item img,
body.single-product .nb-lot-page .nb-gallery-grid .nb-gallery-item .nb-gallery-img,
body.single-product .nb-lot-page .nb-gallery-grid a.nb-gallery-item img {
	max-width: 100% !important;
	max-height: 100% !important;
	width: auto !important;
	height: auto !important;
	display: block !important;
	object-fit: contain !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* =================================================================
   FANCYBOX OVERRIDES (lightbox)
   ================================================================= */

.fancybox-toolbar {
	opacity: 1 !important;
	visibility: visible !important;
	position: fixed !important;
	top: 0 !important;
	right: 0 !important;
	left: auto !important;
	z-index: 99999 !important;
	display: flex !important;
	flex-direction: row !important;
	padding: 12px !important;
}

/* Account for WP admin bar when logged in */
body.admin-bar .fancybox-toolbar {
	top: 32px !important;
}

@media screen and (max-width: 782px) {
	body.admin-bar .fancybox-toolbar {
		top: 46px !important;
	}
}

.fancybox-button {
	background: rgba(20, 20, 20, 0.85) !important;
	color: #FFFFFF !important;
	width: 48px !important;
	height: 48px !important;
	margin: 4px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.fancybox-button svg {
	width: 24px !important;
	height: 24px !important;
}

.fancybox-button--close {
	background: #F53A96 !important;
	color: #FFFFFF !important;
	border-radius: 3px !important;
}

.fancybox-button--close:hover {
	background: #d62a7a !important;
}

.fancybox-bg {
	background: rgba(0, 0, 0, 0.92) !important;
}

.fancybox-caption::before {
	background: linear-gradient(to top, rgba(0, 0, 0, 0.85), rgba(0, 0, 0, 0)) !important;
}

/* Ensure infobar (image counter) is visible */
.fancybox-infobar {
	position: fixed !important;
	top: 16px !important;
	left: 16px !important;
	background: rgba(20, 20, 20, 0.85) !important;
	color: #FFFFFF !important;
	padding: 6px 14px !important;
	border-radius: 3px !important;
	font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif !important;
	font-size: 13px !important;
	z-index: 99999 !important;
}

body.admin-bar .fancybox-infobar {
	top: 48px !important;
}

@media screen and (max-width: 782px) {
	body.admin-bar .fancybox-infobar {
		top: 62px !important;
	}
}

/* Navigation arrows */
.fancybox-navigation .fancybox-button {
	width: 56px !important;
	height: 56px !important;
}

/* =================================================================
   LOT NAVIGATION
   ================================================================= */

.nb-lot-nav {
	padding: 40px 0 60px;
	background: #FFFFFF;
	border-top: 1px solid #EBEBEB;
}

.nb-lot-nav-inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 32px;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 24px;
	align-items: center;
}

.nb-lot-nav-prev {
	text-align: left;
}

.nb-lot-nav-center {
	text-align: center;
}

.nb-lot-nav-next {
	text-align: right;
}

.nb-lot-nav-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #0A0A0A;
	text-decoration: none;
	transition: color 0.2s ease;
}

.nb-lot-nav-link:hover {
	color: #10D0D6;
	text-decoration: none;
}

.nb-nav-arrow {
	font-size: 16px;
	transition: transform 0.2s ease;
}

.nb-lot-nav-prev .nb-lot-nav-link:hover .nb-nav-arrow {
	transform: translateX(-3px);
}

.nb-lot-nav-next .nb-lot-nav-link:hover .nb-nav-arrow {
	transform: translateX(3px);
}

.nb-lot-nav-all {
	display: inline-block;
	font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #0A0A0A;
	text-decoration: none;
	padding: 12px 24px;
	border: 1px solid #0A0A0A;
	border-radius: 2px;
	transition: all 0.2s ease;
}

.nb-lot-nav-all:hover {
	background: #0A0A0A;
	color: #FFFFFF;
	text-decoration: none;
}

/* =================================================================
   RESPONSIVE
   ================================================================= */

@media (max-width: 960px) {
	.nb-lot-body-inner {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.nb-lot-bid-panel {
		position: static;
	}

	.nb-gallery-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 14px;
	}
}

@media (max-width: 600px) {
	.nb-lot-hero {
		padding: 36px 0 24px;
	}

	.nb-lot-hero-inner,
	.nb-lot-body-inner,
	.nb-lot-gallery-inner,
	.nb-lot-nav-inner {
		padding-left: 20px;
		padding-right: 20px;
	}

	.nb-lot-body,
	.nb-lot-gallery {
		padding: 36px 0;
	}

	.nb-lot-bid-panel-inner {
		padding: 24px 20px;
	}

	.nb-gallery-grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.nb-lot-description {
		font-size: 17px;
	}

	.nb-lot-description p {
		font-size: 17px;
	}

	.nb-lot-nav-inner {
		grid-template-columns: 1fr;
		gap: 16px;
		text-align: center;
	}

	.nb-lot-nav-prev,
	.nb-lot-nav-next {
		text-align: center;
	}
}
