/*
  TechPro Project Card Widget - Combined Styles
  Version: 1.21.1
  Encoding: UTF-8 without BOM
*/

/* ===========================================
   VIDEO GALLERY GRID - Card Layout Styles
   =========================================== */

/* Grid Container */
.vg-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

/* Responsive: tablet 2 columns */
@media (max-width: 1024px) {
	.vg-grid[data-cols-tablet="2"] {
		grid-template-columns: repeat(2, 1fr);
	}
}
/* Responsive: mobile 1 column */
@media (max-width: 767px) {
	.vg-grid[data-cols-mobile="1"] {
		grid-template-columns: 1fr;
	}
}

/* ====== Card ====== */
.vg-card {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 2px 12px rgba(0,0,0,.08);
	overflow: hidden;
	cursor: pointer;
	transition: transform .25s ease, box-shadow .25s ease;
}
.vg-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(0,0,0,.12);
}

/* ====== Thumbnail Area ====== */
.vg-thumb {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #111;
}
.vg-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* PINNED Badge */
.vg-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	background: #E53935;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	padding: 3px 10px;
	border-radius: 3px;
	letter-spacing: .5px;
	z-index: 2;
}

/* Duration Badge */
.vg-duration {
	position: absolute;
	bottom: 8px;
	right: 8px;
	background: rgba(0,0,0,.75);
	color: #fff;
	font-size: 12px;
	padding: 2px 7px;
	border-radius: 3px;
	font-variant-numeric: tabular-nums;
}

/* Play Button */
.vg-play-btn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 56px;
	height: 56px;
	background: rgba(229,57,53,.85);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .2s, transform .2s;
	z-index: 3;
}
.vg-play-btn svg {
	display: block;
	margin-left: 2px;
}
.vg-card:hover .vg-play-btn {
	background: rgba(229,57,53,1);
	transform: translate(-50%, -50%) scale(1.08);
}

/* ====== Card Body ====== */
.vg-body {
	padding: 16px 18px 18px;
}

/* Meta Row: category left / date right */
.vg-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	gap: 12px;
	font-size: 13px;
	color: #888;
	margin-bottom: 8px;
}

.vg-category {
	background: #f0f0f0;
	color: #555;
	font-size: 12px;
	padding: 2px 9px;
	border-radius: 3px;
	font-weight: 500;
	flex-shrink: 0;
}

.vg-date {
	display: flex;
	align-items: center;
	gap: 4px;
}

/* Video Title */
.vg-title {
	font-size: 16px;
	font-weight: 600;
	color: #1a1a2e;
	margin: 0 0 8px;
	line-height: 1.35;
}

/* Video Description */
.vg-desc {
	font-size: 13px;
	color: #666;
	margin: 0;
	line-height: 1.5;
}

/* ====== Modal Box ====== */
.vg-modal-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,.72);
	z-index: 99999;
	display: none;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity .3s ease;
}
.vg-modal-overlay.vg-show {
	opacity: 1;
}

.vg-modal-box {
	background: #fff;
	width: 90vw;
	max-width: 960px;
	max-height: 90vh;
	border-radius: 10px;
	overflow: auto;
	position: relative;
	transform: scale(.95);
	transition: transform .3s ease;
}
.vg-modal-overlay.vg-show .vgf-modal-box {
	transform: scale(1);
}

/* Close Button */
.vg-modal-close {
	position: fixed;
	top: 20px;
	right: 28px;
	background: rgba(0,0,0,.45);
	color: #fff;
	border: none;
	font-size: 28px;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	cursor: pointer;
	z-index: 100000;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}
.vg-modal-close:hover {
	background: rgba(0,0,0,.7);
}

/* Video Embed Area */
.vg-video-wrap {
	position: relative;
	aspect-ratio: 16 / 9;
	background: #000;
}
.vg-video-wrap iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: none;
}

/* Modal Info Header */
.vg-modal-info {
	padding: 18px 24px;
	border-bottom: 1px solid #eee;
}
.vg-modal-info strong {
	display: block;
	font-size: 13px;
	color: #888;
	margin-bottom: 4px;
}
.vg-modal-info h2 {
	font-size: 20px;
	font-weight: 700;
	color: #1a1a2e;
	margin: 0 0 6px;
}
.vg-modal-cat {
	font-size: 13px;
	color: #E53935;
	font-weight: 500;
	margin: 0;
}

/* Modal Info Bar: left-right layout */
.vg-modal-info {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 18px 24px;
	border-bottom: 1px solid #eee;
}
.vg-modal-left {
	flex: 1;
}
.vg-modal-right {
	flex-shrink: 0;
	padding-left: 20px;
}

/* Modal Link Button */
.vg-modal-link-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #E53935;
	color: #fff;
	border: none;
	padding: 9px 20px;
	border-radius: 4px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: background .2s;
	white-space: nowrap;
}
.vg-modal-link-btn:hover {
	background: #c62828;
	color: #fff;
}

/* ====== Quote Bar Area ====== */
.vg-quote-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 24px;
	background: #fafafa;
	border-top: 1px solid #eee;
}
.vg-quote-bar p {
	font-size: 14px;
	color: #555;
	margin: 0;
}

/* Quote Button - link style */
.vg-quote-btn {
	display: inline-flex;
	align-items: center;
	background: #E53935;
	color: #fff;
	border: none;
	padding: 10px 22px;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
	transition: background .2s, transform .15s;
	white-space: nowrap;
	line-height: 1.3;
}
.vg-quote-btn:hover {
	background: #c62828;
	color: #fff;
	transform: translateY(-1px);
	text-decoration: none;
}
.vg-quote-btn-disabled {
	opacity: .45;
	cursor: not-allowed;
}

/* Quote Form */
.vg-quote-form {
	padding: 18px 24px 24px;
	background: #fafafa;
	display: none;
}
.vg-quote-form input,
.vg-quote-form textarea {
	width: 100%;
	padding: 10px 14px;
	margin-bottom: 12px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 14px;
	font-family: inherit;
	box-sizing: border-box;
}
.vg-quote-form textarea {
	min-height: 80px;
	resize: vertical;
}
.vg-quote-form button[type="button"] {
	background: #1a1a2e;
	color: #fff;
	border: none;
	padding: 11px 28px;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}
.vg-quote-form button[type="button"]:hover {
	background: #E53935;
}

/* ========== Pagination Styles (CATEK CNC style) ========== */
.vg-pagination {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	padding: 24px 0 8px;
	margin-top: 24px;
}
.vg-page-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 12px;
	border: 2px solid #e0e0e0;
	border-radius: 4px;
	background: #fff;
	color: #555555;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: all .25s ease;
	line-height: 1;
	user-select: none;
	outline: none !important;
}
.vg-page-btn:hover {
	border-color: #E53935;
	color: #E53935;
	box-shadow: 0 2px 8px rgba(229,57,53,.15);
}
.vg-page-btn.vg-active {
	background: #1a1a2e;
	border-color: #1a1a2e;
	color: #ffffff;
	box-shadow: 0 3px 10px rgba(26,26,46,.25);
}
.vg-page-dots {
	display: inline-flex;
	align-items: center;
	padding: 0 4px;
	color: #999;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 2px;
}


/* ===========================================
   VIDEO CATEGORY FILTER - Filter Menu Styles
   Sweep effect is handled by global CSS .elementor-button::after
   =========================================== */

/* Wrap Container - simple wrapper, no layout */
.vcf-wrap {
	width: 100%;
}

/* List Container - grid layout for buttons */
.vcf-wrap .vcf-list {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 12px;
	width: 100%;
}

/* Item Base - structural only, no colors */
.vcf-wrap .vcf-item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
	cursor: pointer;
	text-decoration: none;
	background: none;
	border: none;
	outline: none;
}

/* Text Layer - above sweep effect */
.vcf-wrap .vcf-item span {
	position: relative;
	z-index: 2;
}

/* Active State - structural only */
.vcf-wrap .vcf-item.vcf-active {
	/* Elementor controls handle: color, background, border */
}

/* VCF Responsive - tablet */
@media (max-width: 1024px) {
	.vcf-wrap .vcf-list {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* VCF Responsive - mobile */
@media (max-width: 600px) {
	.vcf-wrap .vcf-list {
		grid-template-columns: repeat(2, 1fr);
		gap: 8px;
	}
	.vcf-wrap .vcf-item {
		padding: 8px 12px;
		font-size: 13px;
	}
}

/* ===========================================
   DISABLE GLOBAL SWEEP EFFECT ON QUOTE BUTTON
   Reset ::after pseudo-element with higher specificity
   to prevent global .elementor-button::after interference.
   =========================================== */
.vg-quote-btn.elementor-button::after,
body .vg-quote-btn.elementor-button::after {
	display: none;
	content: none;
}


/* ===========================================
   CUSTOMER REVIEW GRID - Exact CATEK Clone
   Red left border + avatar top-left +
   name/flag/date/stars/text/product rows
   =========================================== */

/* Grid Container */
.crg-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
}

/* ====== Review Card ======
   CATEK style: no background, no left border, just bottom separator line
   Layout: [Avatar] [Body content stacked vertically]
*/
.crg-card {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	border-bottom: 1px solid #eee;
	padding: 20px 0 24px 0;
}
.crg-card:last-child {
	border-bottom: none;
}

/* Avatar - dark square, positioned at top-left of card */
.crg-avatar {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: 6px;
	background-color: #222;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	user-select: none;
	margin-top: 1px;
}

/* Body - all content to the right of avatar */
.crg-body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

/* Row 1: Name + Flag (same line) */
.crg-name-row {
	display: flex;
	align-items: center;
	gap: 7px;
	line-height: 1.35;
}

.crg-name {
	font-size: 15px;
	font-weight: 700;
	color: #222;
	line-height: 1.35;
}

.crg-flag {
	width: 18px;
	height: 14px;
	border-radius: 2px;
	object-fit: cover;
	flex-shrink: 0;
	display: inline-block;
	vertical-align: middle;
}

/* Row 2: Date (below name) */
.crg-date {
	font-size: 13px;
	color: #888;
	line-height: 1.5;
	margin-top: 1px;
}

/* Row 3: Star Rating (below date, orange/gold) */
.crg-stars {
	color: #f5a623;
	font-size: 15px;
	letter-spacing: 2px;
	line-height: 1.5;
	white-space: nowrap;
}

/* Row 4: Review Text */
.crg-text {
	font-size: 14px;
	color: #333;
	line-height: 1.65;
	margin: 4px 0 0 0;
	word-wrap: break-word;
}

/* Row 5: Product - thumbnail LEFT + link text RIGHT (horizontal row) */
.crg-product {
	margin-top: 12px;
	display: flex;
	align-items: center;
	gap: 12px;
}

.crg-product-img {
	width: 80px;
	height: 56px;
	object-fit: cover;
	border-radius: 3px;
	flex-shrink: 0;
	display: block;
}

.crg-product-link {
	font-size: 13px;
	color: #333333 !important;
	text-decoration: none;
	font-weight: 500;
	line-height: 1.45;
	transition: color .2s;
	word-break: break-word;
}
.crg-product-link:hover {
	color: #E53935 !important;
	text-decoration: underline;
}

/* CRG Responsive - tablet */
@media (max-width: 1024px) {
	.crg-card {
		gap: 14px;
		padding: 18px 0 22px 0;
	}
	.crg-avatar {
		width: 40px;
		height: 40px;
		font-size: 17px;
		border-radius: 5px;
	}
	.crg-product-img {
		width: 70px;
		height: 50px;
	}
}

/* CRG Responsive - mobile */
@media (max-width: 600px) {
	.crg-card {
		gap: 12px;
		padding: 16px 0 20px 0;
	}
	.crg-avatar {
		width: 36px;
		height: 36px;
		font-size: 15px;
		border-radius: 4px;
	}
	.crg-name {
		font-size: 14px;
	}
	.crg-text {
		font-size: 13px;
	}
	.crg-product {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}
	.crg-product-img {
		width: 120px;
		height: 84px;
	}
}

/* ===========================================
   CUSTOMER REVIEW GRID - Pagination
   Exact copy of Video Gallery Grid pagination
   =========================================== */

.crg-pagination {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end;
	gap: 8px;
	padding: 24px 0 8px;
	margin-top: 24px;
}

.crg-pagination .crg-page-btn,
.crg-wrap .crg-page-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 38px !important;
	height: 38px !important;
	padding: 0 12px !important;
	border: 2px solid #e0e0e0 !important;
	border-radius: 4px !important;
	background: #fff !important;
	color: #555555 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	cursor: pointer;
	transition: all .25s ease;
	line-height: 1;
	user-select: none;
	outline: none;
	text-decoration: none !important;
	box-sizing: border-box;
	box-shadow: none !important;
}

.crg-pagination .crg-page-btn:hover,
.crg-wrap .crg-page-btn:hover {
	border-color: #E53935 !important;
	color: #E53935 !important;
	box-shadow: 0 2px 8px rgba(229,57,53,.15) !important;
	background: #fff !important;
}

.crg-pagination .crg-page-btn.crg-active,
.crg-wrap .crg-page-btn.crg-active {
	background: #1a1a2e !important;
	border-color: #1a1a2e !important;
	color: #ffffff !important;
	box-shadow: 0 3px 10px rgba(26,26,46,.25) !important;
	cursor: default;
}

.crg-pagination .crg-page-btn.crg-next-btn,
.crg-wrap .crg-page-btn.crg-next-btn {
	font-family: monospace;
	font-size: 16px;
	font-weight: 700;
}

.crg-pagination .crg-page-dots,
.crg-wrap .crg-page-dots {
	display: inline-flex;
	align-items: center;
	padding: 0 4px;
	color: #999;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 2px;
}


/* ===========================================
   CUSTOMER REVIEW GRID - Media Gallery (thumbnails between text & product)
   Small thumbnails in a row, no border, click to open lightbox
   NOTE: !important required — Elementor control selectors inject inline styles
         from saved DB values that override normal stylesheet rules.
   =========================================== */

/* Media gallery container — clean, no border, all thumbs visible */
.crg-media-gallery {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin-top: 14px !important;
	margin-bottom: 8px !important;
}

/* Individual media thumbnail (image or video) — small landscape size */
.crg-media-thumb {
	position: relative;
	width: 88px !important;
	height: 62px !important;
	padding: 0 !important;
	border: 1px solid #ddd !important;
	border-radius: 3px !important;
	overflow: hidden;
	cursor: pointer;
	background: #f5f5f5 !important;
	transition: border-color .2s, transform .2s, box-shadow .2s;
	flex-shrink: 0;
}
.crg-media-thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	display: block;
}
.crg-media-thumb:hover {
	opacity: .8;
	transform: translateY(-2px);
	box-shadow: 0 3px 10px rgba(0,0,0,.12);
}

/* Video thumbnail: dark bg + play button overlay */
.crg-media-thumb-video {
	background: #1a1a2e !important;
	display: flex;
	align-items: center;
	justify-content: center;
}
.crg-media-play {
	color: #fff;
	font-size: 20px;
	line-height: 1;
	opacity: .85;
	pointer-events: none;
}

/* CRG Media responsive */
@media (max-width: 600px) {
	.crg-media-thumb {
		width: 72px !important;
		height: 50px !important;
	}
	.crg-media-gallery {
		gap: 6px !important;
	}
}


/* ===========================================
   CUSTOMER REVIEW GRID — Lightbox Modal
   CATEK exact match: clean, light, minimal
   =========================================== */

/* ---- Overlay (subtle backdrop) ---- */
.crg-lightbox-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, .45);
	z-index: 99990;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 20px;
	opacity: 0;
	transition: opacity .25s ease;
}
.crg-lightbox-overlay.crg-show {
	display: flex;
	opacity: 1;
}

/* ---- Modal box (white, clean, subtle shadow) ---- */
.crg-lightbox-box {
	position: relative;
	display: flex;
	width: 90vw;
	max-width: 940px;
	max-height: 88vh;
	background: #ffffff !important;
	border-radius: 8px !important;
	overflow: hidden;
	box-shadow: 0 8px 40px rgba(0, 0, 0, .18) !important;
	transform: scale(.97);
	transition: transform .25s ease;
}
.crg-lightbox-overlay.crg-show .crg-lightbox-box {
	transform: scale(1);
}

/* ---- Close button (simple ×, no circle) ---- */
.crg-lightbox-close {
	position: absolute !important;
	top: 12px !important;
	right: 14px !important;
	z-index: 10 !important;
	width: 32px !important;
	height: 32px !important;
	border: none !important;
	border-radius: 4px !important;
	background: transparent !important;
	color: #666 !important;
	font-size: 28px !important;
	line-height: 1 !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: color .15s, background .15s !important;
	padding: 0 !important;
}
.crg-lightbox-close:hover {
	color: #222 !important;
	background: rgba(0, 0, 0, .06) !important;
}

/* =====================================================
   LEFT SIDE — Media Area (light gray bg)
   ===================================================== */
.crg-lightbox-media {
	flex: 1 1 42% !important;          /* CATEK: image area smaller ~42% */
	background: #f0f1f3 !important;          /* CATEK light gray */
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 320px !important;
	overflow: hidden !important;
}

/* Stage */
.crg-lightbox-stage {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	box-sizing: border-box;
}

/* Main image */
.crg-lightbox-main {
	max-width: 100% !important;
	max-height: 100% !important;
	width: auto !important;
	height: auto !important;
	display: block !important;
	object-fit: contain !important;
	border-radius: 2px !important;
}

/* Iframe / Video in stage */
.crg-lightbox-stage iframe.crg-lightbox-main,
.crg-lightbox-stage video.crg-lightbox-main {
	width: 100% !important;
	height: 100% !important;
	min-height: 280px !important;
	border: 0 !important;
	border-radius: 3px !important;
}

/* Nav arrows — white circle buttons, visible on hover over left image area */
.crg-lightbox-media {
	position: relative !important;
}
.crg-lb-nav {
	position: absolute !important;
	inset: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 0 12px !important;
	pointer-events: none !important;     /* let clicks pass through to stage */
	z-index: 5 !important;
	opacity: 0 !important;
	transition: opacity .25s ease !important;
}
.crg-lightbox-media:hover .crg-lb-nav {
	opacity: 1 !important;
}
.crg-lb-prev,
.crg-lb-next {
	width: 40px !important;
	height: 40px !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	border: none !important;
	color: #555555 !important;
	font-size: 20px !important;
	line-height: 1 !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: 0 2px 10px rgba(0,0,0,.18) !important;
	pointer-events: auto !important;      /* re-enable click on buttons */
	padding: 0 !important;
	flex-shrink: 0 !important;
	transition: background .2s, color .2s, transform .2s !important;
}
.crg-lb-prev:hover,
.crg-lb-next:hover {
	background: #f0f0f0 !important;
	color: #222222 !important;
	transform: scale(1.08) !important;
}

/* =====================================================
   RIGHT SIDE — Info Sidebar (white)
   ===================================================== */
.crg-lightbox-sidebar {
	flex: 1 1 58% !important;          /* CATEK: sidebar larger ~58% */
	min-width: 290px !important;
	max-width: 58% !important;
	padding: 22px 24px 20px !important;
	overflow-y: auto !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 5px !important;
	background: #ffffff !important;
}

/* Avatar */
.crg-lightbox-avatar {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 36px !important;
	height: 36px !important;
	border-radius: 6px !important;
	background: #2c2c2c !important;
	color: #fff !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	flex-shrink: 0 !important;
	text-transform: uppercase !important;
}

/* Name row */
.crg-lightbox-sidebar .crg-name-row {
	display: flex !important;
	align-items: center !important;
	gap: 7px !important;
}

.crg-lightbox-sidebar .crg-name {
	font-size: 16px !important;
	font-weight: 600 !important;
	color: #111 !important;
}

.crg-lightbox-sidebar .crg-date {
	margin-top: 1px !important;
	color: #888 !important;
	font-size: 13px !important;
}

/* Stars */
.crg-lightbox-sidebar .crg-stars {
	margin-top: 3px !important;
}

/* Review text */
.crg-lightbox-sidebar .crg-text {
	margin-top: 8px !important;
	color: #333 !important;
	line-height: 1.6 !important;
	font-size: 14px !important;
}

/* ---- Thumbnails (inline after text) ---- */
.crg-lightbox-thumbs {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 7px !important;
	margin-top: 12px !important;
	padding-top: 12px !important;
	border-top: 1px solid #eee !important;
}

/* Each thumbnail */
.crg-lightbox-thumb {
	position: relative !important;
	width: 60px !important;
	height: 46px !important;            /* landscape like CATEK */
	padding: 0 !important;
	border: 1.5px solid #ddd !important;
	border-radius: 3px !important;
	overflow: hidden !important;
	cursor: pointer !important;
	background: #f4f4f4 !important;
	flex-shrink: 0 !important;
	transition: border-color .15s, opacity .15s !important;
}
.crg-lightbox-thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}
.crg-lightbox-thumb-video {
	background: #1a1a2e !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

/* Selected thumbnail — dark border (like CATEK screenshot) */
.crg-lightbox-thumb.crg-active {
	border-color: #333 !important;
	border-width: 2px !important;
}
.crg-lightbox-thumb:hover {
	border-color: #999 !important;
	opacity: .85 !important;
}

/* =====================================================
   PURCHASED PRODUCT SECTION
   CATEK style: "Purchased Product" title case,
   clean row without gray card bg
   ===================================================== */
.crg-lightbox-product {
	margin-top: auto !important;
	padding-top: 14px !important;
	border-top: 1px solid #eee !important;
	margin-bottom: 0 !important;
}

/* Title — title case, semi-bold, ~16px, dark */
.crg-lb-prod-title {
	display: block !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	text-transform: none !important;     /* NOT uppercase */
	letter-spacing: 0 !important;
	color: #111 !important;
	margin-bottom: 10px !important;
}

/* Product row — NO background card, just clean flex */
.crg-lb-prod-row {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	background: transparent !important;    /* no gray card */
	padding: 0 !important;
	border-radius: 0 !important;
}

/* Product thumb */
.crg-lb-prod-img {
	width: 64px !important;
	height: 48px !important;
	object-fit: cover !important;
	border-radius: 3px !important;
	flex-shrink: 0 !important;
}

/* Product info — natural flow, no forced column */
.crg-lb-prod-info {
	min-width: 0;
	flex: 1;
	display: block;
}

/* Product name */
.crg-lb-prod-name {
	font-size: 13px !important;
	font-weight: 500 !important;
	color: #222 !important;
	line-height: 1.35 !important;
	word-break: break-word !important;
}

/* Price — dark gray, inline with link */
.crg-lb-prod-price {
	font-size: 13px;
	color: #444;
	font-weight: 400;
	display: inline;
}

/* "See product details" link — underlined, inline after price */
.crg-lb-prod-link {
	display: inline;
	margin-left: 12px;
	font-size: 13px;
	color: #E53935;
	text-decoration: underline;
	font-weight: 400;
}
.crg-lb-prod-link:hover {
	color: #c62828;
}

/* =====================================================
   LIGHTBOX RESPONSIVE
   ===================================================== */
@media (max-width: 768px) {
	.crg-lightbox-box {
		flex-direction: column !important;
		max-height: 92vh !important;
		width: 96vw !important;
	}
	.crg-lightbox-media {
		min-height: 220px !important;
		max-height: 44vh !important;
		flex-basis: auto !important;
	}
	.crg-lightbox-sidebar {
		max-width: 100% !important;
		min-width: 0 !important;
		max-height: 48vh !important;
		padding: 16px 16px 18px !important;
	}
	.crg-lightbox-thumb {
		width: 52px !important;
		height: 40px !important;
	}
	.crg-lb-prod-img {
		width: 56px !important;
		height: 42px !important;
	}
}
