/**
 * Synergene Laboratory Products - Frontend Styling
 * Primary Theme Color:   #8EC146
 * Secondary Theme Color: #476A97
 */

:root {
	--syn-primary: #8EC146;
	--syn-primary-hover: #7db037;
	--syn-primary-light: #f0f8e7;
	--syn-secondary: #476A97;
	--syn-secondary-hover: #375377;
	--syn-secondary-light: #eef3f9;
	--syn-accent-purple: #7047eb;
	--syn-text-main: #1e293b;
	--syn-text-muted: #64748b;
	--syn-text-light: #94a3b8;
	--syn-bg-card: #f8fafc;
	--syn-bg-card-hover: #ffffff;
	--syn-border: #e2e8f0;
	--syn-border-focus: #476A97;
	--syn-radius-card: 14px;
	--syn-radius-pill: 9999px;
	--syn-font-main: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--syn-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.06);
	--syn-shadow-md: 0 4px 12px rgba(15, 23, 42, 0.08);
	--syn-shadow-hover: 0 10px 25px -3px rgba(71, 106, 151, 0.14), 0 4px 6px -2px rgba(71, 106, 151, 0.05);
	--syn-transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.synergene-catalog-wrapper,
.synergene-single-wrap {
	font-family: var(--syn-font-main);
	color: var(--syn-text-main);
	line-height: 1.6;
	max-width: 1240px;
	margin: 0 auto;
	padding: 24px 16px 60px;
	box-sizing: border-box;
}

.synergene-catalog-wrapper *,
.synergene-single-wrap * {
	box-sizing: border-box;
}



/* ==========================================================================
   Top Search Bar
   ========================================================================== */
.synergene-search-container {
	margin-bottom: 24px;
	display: flex;
	justify-content: center;
}

.synergene-search-input-wrap {
	position: relative;
	width: 100%;
	max-width: 1040px;
	display: flex;
	align-items: center;
	border: 1.5px solid var(--syn-secondary);
	border-radius: var(--syn-radius-pill);
	background: #ffffff;
	padding: 6px 14px 6px 24px;
	box-shadow: var(--syn-shadow-sm);
	transition: var(--syn-transition);
}

.synergene-search-input-wrap:focus-within {
	border-color: var(--syn-primary);
	box-shadow: 0 0 0 4px rgba(142, 193, 70, 0.22);
}

.synergene-search-input {
	flex: 1;
	border: none;
	background: transparent;
	outline: none;
	font-family: var(--syn-font-main);
	font-size: 15px;
	color: var(--syn-text-main);
	padding: 8px 0;
}

.synergene-search-input::placeholder {
	color: var(--syn-text-muted);
}

.synergene-search-btn {
	background: transparent;
	border: none;
	color: var(--syn-secondary);
	cursor: pointer;
	padding: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	transition: var(--syn-transition);
}

.synergene-search-btn:hover {
	color: var(--syn-primary);
	transform: scale(1.1);
}

/* ==========================================================================
   Alphabet Row A - Z
   ========================================================================== */
.synergene-alphabet-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 12px 18px;
	margin-bottom: 28px;
	border-bottom: 1px solid #f1f5f9;
	gap: 16px;
	overflow-x: auto;
}

.synergene-alphabet-letters {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: nowrap;
}

.synergene-alpha-item {
	background: transparent;
	border: none;
	font-family: var(--syn-font-main);
	font-size: 13px;
	font-weight: 600;
	color: var(--syn-text-main);
	padding: 4px 6px;
	cursor: pointer;
	border-radius: 4px;
	transition: var(--syn-transition);
}

.synergene-alpha-item:hover {
	color: var(--syn-primary);
	background: var(--syn-primary-light);
}

.synergene-alpha-item.active {
	background: var(--syn-primary);
	color: #ffffff;
	font-weight: 700;
}

.synergene-alpha-show-all {
	background: transparent;
	border: none;
	font-family: var(--syn-font-main);
	font-size: 13px;
	font-weight: 600;
	color: var(--syn-secondary);
	cursor: pointer;
	text-decoration: underline;
	white-space: nowrap;
	padding: 4px 8px;
	border-radius: 4px;
	transition: var(--syn-transition);
}

.synergene-alpha-show-all:hover,
.synergene-alpha-show-all.active {
	color: var(--syn-primary);
}

/* ==========================================================================
   Main Grid Layout: Sidebar + Cards Area
   ========================================================================== */
.synergene-layout-grid {
	display: grid;
	grid-template-columns: 270px 1fr;
	gap: 28px;
	align-items: start;
}

.synergene-layout-grid.no-sidebar {
	grid-template-columns: 1fr;
}

/* ==========================================================================
   Left Filter Sidebar
   ========================================================================== */
.synergene-sidebar {
	position: sticky;
	top: 24px;
}

.synergene-filter-box {
	background: #ffffff;
	border: 1px solid var(--syn-border);
	border-radius: var(--syn-radius-card);
	padding: 16px 14px;
	box-shadow: var(--syn-shadow-sm);
}

.synergene-filter-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 6px 8px 14px;
	border-bottom: 1px solid #f1f5f9;
	margin-bottom: 10px;
}

.synergene-filter-heading {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.05em;
	color: var(--syn-secondary);
}

.synergene-filter-heading svg {
	stroke: var(--syn-secondary);
}

.synergene-reset-btn {
	background: transparent;
	border: none;
	font-family: var(--syn-font-main);
	font-size: 12px;
	font-weight: 600;
	color: var(--syn-text-muted);
	cursor: pointer;
	padding: 3px 6px;
	border-radius: 4px;
	transition: var(--syn-transition);
}

.synergene-reset-btn:hover {
	color: #ef4444;
	background: #fef2f2;
}

/* Accordion sections */
.synergene-accordion {
	border-bottom: 1px solid #f1f5f9;
	margin-bottom: 4px;
}

.synergene-accordion:last-child {
	border-bottom: none;
	margin-bottom: 0;
}

.synergene-accordion-toggle {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 8px;
	background: transparent;
	border: none;
	font-family: var(--syn-font-main);
	font-size: 14px;
	font-weight: 700;
	color: var(--syn-text-main);
	cursor: pointer;
	text-align: left;
	transition: var(--syn-transition);
}

.synergene-accordion-toggle:hover {
	color: var(--syn-secondary);
}

.synergene-accordion-toggle .chevron {
	transition: transform 0.2s ease;
	stroke: var(--syn-text-muted);
}

.synergene-accordion.open .synergene-accordion-toggle .chevron {
	transform: rotate(180deg);
}

.synergene-accordion-content {
	display: none;
	padding: 4px 8px 14px;
}

.synergene-accordion.open .synergene-accordion-content {
	display: block !important;
}

/* Checkbox lists & Scrollable Filters */
.synergene-catalog-wrapper .synergene-checkbox-list,
.synergene-checkbox-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.synergene-catalog-wrapper .synergene-scrollable-list,
.synergene-catalog-wrapper .scrollable-list,
.synergene-catalog-wrapper #therapeutic-filter-list,
.synergene-checkbox-list.synergene-scrollable-list,
.synergene-checkbox-list.scrollable-list {
	max-height: 260px !important;
	height: auto !important;
	min-height: 40px !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	padding-right: 6px !important;
	visibility: visible !important;
	opacity: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
}

.synergene-catalog-wrapper .synergene-scrollable-list *,
.synergene-catalog-wrapper .scrollable-list *,
.synergene-catalog-wrapper #therapeutic-filter-list * {
	visibility: visible !important;
	opacity: 1 !important;
}

.count-pill {
	font-size: 11px !important;
	color: var(--syn-text-muted) !important;
	font-weight: 600 !important;
	margin-left: 3px !important;
	display: inline-block !important;
}

/* Custom Scrollbar matching reference image */
.synergene-catalog-wrapper .synergene-scrollable-list::-webkit-scrollbar,
.synergene-catalog-wrapper .scrollable-list::-webkit-scrollbar,
.synergene-checkbox-list.scrollable-list::-webkit-scrollbar {
	width: 5px !important;
}
.synergene-catalog-wrapper .synergene-scrollable-list::-webkit-scrollbar-track,
.synergene-catalog-wrapper .scrollable-list::-webkit-scrollbar-track,
.synergene-checkbox-list.scrollable-list::-webkit-scrollbar-track {
	background: #f1f5f9 !important;
	border-radius: 4px !important;
}
.synergene-catalog-wrapper .synergene-scrollable-list::-webkit-scrollbar-thumb,
.synergene-catalog-wrapper .scrollable-list::-webkit-scrollbar-thumb,
.synergene-checkbox-list.scrollable-list::-webkit-scrollbar-thumb {
	background: var(--syn-secondary) !important;
	border-radius: 4px !important;
}

/* Filter Checkbox Label */
.synergene-catalog-wrapper .synergene-check-label,
.synergene-check-label {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	cursor: pointer !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: var(--syn-text-main) !important;
	user-select: none !important;
	visibility: visible !important;
	opacity: 1 !important;
	position: relative !important;
	transform: none !important;
	clip: auto !important;
	clip-path: none !important;
	width: auto !important;
	height: auto !important;
	max-height: none !important;
	min-height: auto !important;
	overflow: visible !important;
	margin: 0 !important;
	padding: 3px 0 !important;
	line-height: 1.45 !important;
	transition: color 0.15s !important;
}

.synergene-catalog-wrapper .synergene-check-label:hover,
.synergene-check-label:hover {
	color: var(--syn-secondary) !important;
}

.synergene-catalog-wrapper .synergene-check-label input[type="checkbox"],
.synergene-check-label input[type="checkbox"] {
	position: absolute !important;
	opacity: 0 !important;
	cursor: pointer !important;
	height: 0 !important;
	width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	pointer-events: none !important;
}

/* Custom Checkbox Square */
.synergene-catalog-wrapper .synergene-custom-cb,
.synergene-catalog-wrapper .custom-cb,
.synergene-custom-cb,
.custom-cb {
	width: 16px !important;
	height: 16px !important;
	min-width: 16px !important;
	min-height: 16px !important;
	border: 1.5px solid #cbd5e1 !important;
	border-radius: 4px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #ffffff !important;
	flex-shrink: 0 !important;
	margin-top: 2px !important;
	visibility: visible !important;
	opacity: 1 !important;
	position: static !important;
	clip: auto !important;
	clip-path: none !important;
	box-sizing: border-box !important;
	transition: var(--syn-transition) !important;
}

.synergene-catalog-wrapper .synergene-check-label:hover .synergene-custom-cb,
.synergene-catalog-wrapper .synergene-check-label:hover .custom-cb,
.synergene-check-label:hover .custom-cb {
	border-color: var(--syn-secondary) !important;
}

.synergene-catalog-wrapper .synergene-check-label input[type="checkbox"]:checked ~ .synergene-custom-cb,
.synergene-catalog-wrapper .synergene-check-label input[type="checkbox"]:checked ~ .custom-cb,
.synergene-check-label input[type="checkbox"]:checked ~ .custom-cb {
	background: var(--syn-primary) !important;
	border-color: var(--syn-primary) !important;
}

.synergene-catalog-wrapper .synergene-check-label input[type="checkbox"]:checked ~ .synergene-custom-cb:after,
.synergene-catalog-wrapper .synergene-check-label input[type="checkbox"]:checked ~ .custom-cb:after,
.synergene-check-label input[type="checkbox"]:checked ~ .custom-cb:after {
	content: '' !important;
	display: block !important;
	width: 4px !important;
	height: 8px !important;
	border: solid #ffffff !important;
	border-width: 0 2px 2px 0 !important;
	transform: rotate(45deg) !important;
	margin-top: -2px !important;
}

/* Category Label Text - immune to theme screen-reader clipping or opacity resets */
.synergene-catalog-wrapper .syn-label-text,
.synergene-catalog-wrapper .synergene-check-label .label-text,
.syn-label-text,
.synergene-check-label .label-text {
	display: inline-block !important;
	flex: 1 !important;
	visibility: visible !important;
	opacity: 1 !important;
	color: #1e293b !important;
	font-family: var(--syn-font-main) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.45 !important;
	clip: auto !important;
	clip-path: none !important;
	text-indent: 0 !important;
	position: static !important;
	width: auto !important;
	height: auto !important;
	max-height: none !important;
	min-width: 0 !important;
	min-height: auto !important;
	overflow: visible !important;
	white-space: normal !important;
	word-break: break-word !important;
	overflow-wrap: break-word !important;
	transform: none !important;
	letter-spacing: normal !important;
	text-transform: capitalize !important;
}

/* ==========================================================================
   Right Products Area & Cards
   ========================================================================== */
.synergene-products-area {
	min-width: 0;
}

.synergene-products-grid {
	display: grid;
	gap: 20px;
}

.synergene-products-grid.cols-2 {
	grid-template-columns: repeat(2, 1fr);
}

.synergene-products-grid.cols-3 {
	grid-template-columns: repeat(3, 1fr);
}

.synergene-products-grid.cols-4 {
	grid-template-columns: repeat(4, 1fr);
}

/* Card Styling (Image 1 reference) */
.synergene-card {
	background: var(--syn-bg-card);
	border: 1px solid var(--syn-border);
	border-radius: var(--syn-radius-card);
	padding: 22px 20px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 165px;
	transition: var(--syn-transition);
	position: relative;
	box-shadow: var(--syn-shadow-sm);
}

.synergene-card:hover {
	background: var(--syn-bg-card-hover);
	border-color: rgba(71, 106, 151, 0.4);
	box-shadow: var(--syn-shadow-hover);
	transform: translateY(-3px);
}

.synergene-card-content {
	margin-bottom: 18px;
}

.synergene-card-title {
	font-family: var(--syn-font-main);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 6px 0;
	color: var(--syn-text-main);
}

.synergene-card-title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.15s;
}

.synergene-card-title a:hover {
	color: var(--syn-secondary);
}

.synergene-card-sub {
	font-size: 13px;
	font-weight: 500;
	color: var(--syn-text-muted);
	display: block;
}

.synergene-card-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 10px;
	border-top: 1px dashed rgba(226, 232, 240, 0.8);
}

/* Status Badge */
.synergene-status-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 600;
	color: var(--syn-text-muted);
}

.synergene-status-badge .status-icon svg {
	stroke: var(--syn-text-muted);
}

.synergene-status-badge.status-available {
	color: #15803d;
}

.synergene-status-badge.status-available .status-icon svg {
	stroke: var(--syn-primary);
}

.synergene-status-badge.status-development {
	color: var(--syn-secondary);
}

.synergene-status-badge.status-development .status-icon svg {
	stroke: var(--syn-secondary);
}

/* Arrow Circle Button */
.synergene-card-arrow-btn {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 1.5px solid var(--syn-secondary);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--syn-secondary);
	text-decoration: none;
	transition: var(--syn-transition);
	background: #ffffff;
}

.synergene-card-arrow-btn svg {
	stroke: var(--syn-secondary);
	transition: transform 0.2s;
}

.synergene-card:hover .synergene-card-arrow-btn {
	background: var(--syn-primary);
	border-color: var(--syn-primary);
	color: #ffffff;
}

.synergene-card:hover .synergene-card-arrow-btn svg {
	stroke: #ffffff;
	transform: translateX(2px);
}

/* No products found */
.synergene-no-products {
	grid-column: 1 / -1;
	text-align: center;
	padding: 48px 24px;
	background: #f8fafc;
	border: 1px dashed var(--syn-border);
	border-radius: var(--syn-radius-card);
	color: var(--syn-text-muted);
	font-size: 15px;
}

/* ==========================================================================
   SINGLE PRODUCT PAGE STYLING (Image 2 Reference)
   ========================================================================== */

/* Header Gradient Backdrop (Matching Reference Sample: Laboratory Gradient Backdrop, No Page Title Text) */
.synergene-header-gradient-backdrop {
	width: 100%;
	height: 220px;
	position: relative;
	background-image: url('../images/synergene-header-banner.jpg');
	background-size: cover;
	background-position: center 30%;
	background-repeat: no-repeat;
	overflow: hidden;
	margin-bottom: 28px;
	box-shadow: 0 4px 20px rgba(15, 23, 42, 0.08);
}

.synergene-header-gradient-backdrop .gradient-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(90deg, rgba(46, 76, 114, 0.84) 0%, rgba(55, 95, 140, 0.68) 45%, rgba(142, 193, 70, 0.78) 100%);
}

.synergene-breadcrumbs {
	font-size: 13px;
	color: var(--syn-text-muted);
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
}

.synergene-breadcrumbs a {
	color: var(--syn-text-muted);
	text-decoration: none;
	transition: color 0.15s;
}

.synergene-breadcrumbs a:hover {
	color: var(--syn-secondary);
}

.synergene-breadcrumbs .sep {
	color: var(--syn-text-light);
}

.synergene-breadcrumbs .current {
	color: var(--syn-text-main);
	font-weight: 600;
}

.single-page-search {
	margin-bottom: 32px;
}

.synergene-single-header {
	margin-bottom: 28px;
}

.synergene-single-title {
	font-size: 32px;
	margin: 0;
	color: var(--syn-text-main);
	font-family: var(--syn-font-main);
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 8px;
}

.synergene-single-title .title-light {
	font-weight: 400;
	color: var(--syn-text-muted);
}

.synergene-single-title .title-bold {
	font-weight: 800;
	color: var(--syn-text-main);
}

.synergene-single-title .title-suffix {
	font-weight: 400;
	color: var(--syn-text-light);
	font-size: 26px;
}

/* 2-Column Single Layout */
.synergene-single-layout {
	display: grid;
	grid-template-columns: 1fr 340px;
	gap: 36px;
	align-items: start;
}

.synergene-single-main-col {
	min-width: 0;
}

/* Chemical Structure & Specs Row */
.synergene-specs-hero-box {
	display: grid;
	grid-template-columns: 320px 1fr;
	gap: 32px;
	background: #ffffff;
	border: 1px solid var(--syn-border);
	border-radius: var(--syn-radius-card);
	padding: 28px;
	box-shadow: var(--syn-shadow-sm);
	margin-bottom: 36px;
}

.synergene-structure-box {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #ffffff;
	border: 1px solid #f1f5f9;
	border-radius: 8px;
	padding: 16px;
	min-height: 220px;
}

.synergene-structure-box img {
	max-width: 100%;
	max-height: 220px;
	object-fit: contain;
}

.synergene-svg-render svg {
	max-width: 100%;
	max-height: 220px;
	height: auto;
}

/* Specs Items List with Icons */
.synergene-specs-list {
	display: flex;
	flex-direction: column;
	gap: 16px;
	justify-content: center;
}

.synergene-spec-item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
}

.synergene-spec-icon {
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--syn-secondary);
	flex-shrink: 0;
	margin-top: 2px;
}

.synergene-spec-icon svg {
	stroke: var(--syn-secondary);
}

.synergene-spec-details {
	display: flex;
	flex-direction: column;
}

.synergene-spec-label {
	font-size: 13px;
	font-weight: 500;
	color: var(--syn-text-muted);
}

.synergene-spec-val {
	font-size: 15px;
	font-weight: 700;
	color: var(--syn-text-main);
	margin-top: 1px;
}

.synergene-spec-val.highlight {
	color: var(--syn-secondary);
	text-decoration: underline;
}

.synergene-spec-val.status-text {
	color: #166534;
}

/* Description Sections (Mechanism of Action & Indication) */
.synergene-desc-section {
	margin-bottom: 32px;
}

.synergene-section-heading {
	font-family: var(--syn-font-main);
	font-size: 22px;
	font-weight: 800;
	color: var(--syn-text-main);
	margin: 0 0 12px 0;
	letter-spacing: -0.01em;
}

.synergene-section-body {
	font-size: 15px;
	color: #334155;
	line-height: 1.7;
}

.synergene-section-body p {
	margin: 0 0 12px 0;
}

.synergene-section-body ul {
	margin: 8px 0 16px 20px;
	padding: 0;
}

.synergene-section-body li {
	margin-bottom: 6px;
}

/* Right Side: Contact / Quotation Request Form (Matching Reference Image 1) */
.synergene-single-side-col {
	position: sticky;
	top: 24px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* Quotation Request Form Box (Synergene Theme Color & Structured Design) */
.synergene-quote-box {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-top: 4px solid var(--syn-primary);
	border-radius: 14px;
	padding: 26px 22px;
	box-shadow: 0 10px 25px -4px rgba(71, 106, 151, 0.08), 0 4px 10px -2px rgba(0, 0, 0, 0.03);
	transition: var(--syn-transition);
}

.quote-card-header {
	margin-bottom: 22px;
}

.quote-card-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(142, 193, 70, 0.12);
	color: #557d1f;
	font-size: 11.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.6px;
	padding: 4px 10px;
	border-radius: var(--syn-radius-pill);
	margin-bottom: 10px;
}

.quote-card-badge .badge-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--syn-primary);
}

.synergene-quote-heading {
	font-family: var(--syn-font-main);
	font-size: 21px;
	font-weight: 800;
	color: var(--syn-text-main);
	margin: 0 0 6px 0;
	line-height: 1.25;
}

.synergene-quote-desc {
	font-size: 13px;
	color: var(--syn-text-muted);
	line-height: 1.55;
	margin: 0;
}

/* Form Groups & Enclosed Modern Inputs */
.synergene-quote-form {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.synergene-form-group {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.synergene-field-label {
	font-size: 12.5px;
	font-weight: 700;
	color: var(--syn-text-main);
	letter-spacing: -0.01em;
}

.synergene-field-label .req {
	color: #ef4444;
	margin-left: 2px;
}

.synergene-input-control {
	position: relative;
	display: flex;
	align-items: center;
	background: #ffffff;
	border: 1.5px solid #cbd5e1;
	border-radius: 8px;
	padding: 0 12px;
	min-height: 42px;
	transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}

.synergene-input-control:hover {
	border-color: #94a3b8;
}

.synergene-input-control:focus-within {
	border-color: var(--syn-primary);
	box-shadow: 0 0 0 3.5px rgba(142, 193, 70, 0.2);
	background: #ffffff;
}

.synergene-input-control .control-icon {
	color: var(--syn-secondary);
	display: flex;
	align-items: center;
	margin-right: 9px;
	flex-shrink: 0;
}

.synergene-input {
	border: none;
	outline: none;
	background: transparent;
	width: 100%;
	font-family: var(--syn-font-main);
	font-size: 13.5px;
	font-weight: 500;
	color: var(--syn-text-main);
	box-sizing: border-box;
	padding: 0;
}

.synergene-input::placeholder {
	color: #94a3b8;
	font-size: 13px;
	font-weight: 400;
}

/* Phone & Country Row */
.synergene-form-row {
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	gap: 12px;
}

.phone-control {
	padding-left: 8px;
}

.phone-prefix {
	font-size: 12.5px;
	font-weight: 700;
	color: var(--syn-secondary);
	background: rgba(71, 106, 151, 0.08);
	padding: 3px 7px;
	border-radius: 4px;
	margin-right: 8px;
	user-select: none;
	flex-shrink: 0;
}

.select-control {
	cursor: pointer;
}

.select-control::after {
	content: '';
	width: 7px;
	height: 7px;
	border-right: 2px solid var(--syn-secondary);
	border-bottom: 2px solid var(--syn-secondary);
	transform: rotate(45deg);
	margin-top: -3px;
	pointer-events: none;
	flex-shrink: 0;
}

.synergene-select {
	border: none;
	outline: none;
	background: transparent;
	width: 100%;
	font-family: var(--syn-font-main);
	font-size: 13px;
	font-weight: 500;
	color: var(--syn-text-main);
	cursor: pointer;
	padding: 0;
	appearance: none;
	-webkit-appearance: none;
}

/* Expandable Card Accordions */
.synergene-expandable-card {
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	background: #f8fafc;
	overflow: hidden;
	transition: var(--syn-transition);
}

.synergene-expandable-card:hover {
	border-color: #cbd5e1;
}

.synergene-expandable-card.open {
	background: #ffffff;
	border-color: var(--syn-secondary);
	box-shadow: 0 2px 8px rgba(71, 106, 151, 0.08);
}

.expandable-card-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	background: none;
	border: none;
	padding: 10px 12px;
	font-family: var(--syn-font-main);
	font-size: 13px;
	font-weight: 700;
	color: var(--syn-text-main);
	cursor: pointer;
	text-align: left;
}

.expandable-title-wrap {
	display: flex;
	align-items: center;
	gap: 8px;
}

.expandable-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--syn-secondary);
	transition: background 0.2s;
}

.synergene-expandable-card.open .expandable-dot {
	background: var(--syn-primary);
}

.expandable-chevron-badge {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #e2e8f0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--syn-secondary);
	transition: transform 0.25s, background 0.2s;
}

.synergene-expandable-card.open .expandable-chevron-badge {
	transform: rotate(180deg);
	background: var(--syn-secondary);
	color: #ffffff;
}

.expandable-card-body {
	display: none;
	padding: 0 12px 12px 12px;
}

.synergene-expandable-card.open .expandable-card-body {
	display: block;
}

.synergene-textarea {
	width: 100%;
	min-height: 70px;
	padding: 9px 10px;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	font-family: var(--syn-font-main);
	font-size: 12.5px;
	color: var(--syn-text-main);
	background: #ffffff;
	resize: vertical;
	box-sizing: border-box;
	outline: none;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.synergene-textarea:focus {
	border-color: var(--syn-primary);
	box-shadow: 0 0 0 3px rgba(142, 193, 70, 0.18);
}

/* Verification Box */
.synergene-recaptcha-wrap {
	margin: 4px 0 2px 0;
}

.recaptcha-inner {
	background: #f8fafc;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	padding: 10px 14px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.recaptcha-label {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font-size: 13px;
	font-weight: 600;
	color: var(--syn-text-main);
}

.recaptcha-label input[type="checkbox"] {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 22px;
	height: 22px;
	opacity: 0;
	cursor: pointer;
	z-index: 2;
	margin: 0;
}

.recaptcha-label .custom-cb {
	width: 22px;
	height: 22px;
	border: 2px solid #94a3b8;
	border-radius: 4px;
	background: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all 0.15s;
}

.recaptcha-label input:checked + .custom-cb {
	background: var(--syn-primary);
	border-color: var(--syn-primary);
}

.recaptcha-label input:checked + .custom-cb::after {
	content: '';
	width: 5px;
	height: 10px;
	border: solid #ffffff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
	margin-top: -2px;
}

.recaptcha-branding {
	display: flex;
	flex-direction: column;
	align-items: center;
	line-height: 1;
}

.recaptcha-subtext {
	font-size: 8.5px;
	font-weight: 700;
	color: var(--syn-text-light);
	letter-spacing: 0.3px;
}

/* Submit Button in Synergene Theme Brand Color */
.synergene-submit-btn {
	width: 100%;
	border-radius: 8px;
	background: linear-gradient(135deg, var(--syn-primary) 0%, #7bb036 100%);
	color: #ffffff;
	padding: 13px 20px;
	font-family: var(--syn-font-main);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.2px;
	border: none;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(142, 193, 70, 0.35);
	transition: var(--syn-transition);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.synergene-submit-btn:hover {
	background: linear-gradient(135deg, #7bb036 0%, #6da12c 100%);
	box-shadow: 0 6px 20px rgba(142, 193, 70, 0.45);
	transform: translateY(-1px);
}

.synergene-submit-btn:active {
	transform: translateY(0);
}

.synergene-submit-btn svg {
	transition: transform 0.2s;
}

.synergene-submit-btn:hover svg {
	transform: translateX(3px);
}

/* Success Banner */
.synergene-quote-success-banner {
	padding: 24px 18px;
	text-align: center;
	background: #f0fdf4;
	border: 1.5px solid #86efac;
	border-radius: 12px;
}

.synergene-quote-success-banner .success-icon-wrap {
	margin-bottom: 12px;
}

.synergene-quote-success-banner h4 {
	color: #15803d;
	font-size: 18px;
	font-weight: 700;
	margin: 0 0 8px 0;
}

.synergene-quote-success-banner p {
	color: #166534;
	font-size: 13.5px;
	margin: 0 0 6px 0;
	line-height: 1.5;
}

.synergene-quote-success-banner .sub-note {
	color: #15803d;
	font-size: 12px;
	opacity: 0.9;
}

/* Contact Form 7 Compatibility Styling in Theme Colors */
.synergene-cf7-container input[type="text"],
.synergene-cf7-container input[type="email"],
.synergene-cf7-container input[type="tel"],
.synergene-cf7-container select,
.synergene-cf7-container textarea {
	width: 100%;
	border: 1.5px solid #cbd5e1;
	border-radius: 8px;
	padding: 9px 12px;
	margin-bottom: 14px;
	background: #ffffff;
	font-family: var(--syn-font-main);
	font-size: 13.5px;
	color: var(--syn-text-main);
	outline: none;
	box-sizing: border-box;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.synergene-cf7-container input:focus,
.synergene-cf7-container select:focus,
.synergene-cf7-container textarea:focus {
	border-color: var(--syn-primary);
	box-shadow: 0 0 0 3px rgba(142, 193, 70, 0.18);
}

.synergene-cf7-container textarea {
	min-height: 80px;
}

.synergene-cf7-container input[type="submit"] {
	width: 100%;
	border-radius: 8px;
	background: linear-gradient(135deg, var(--syn-primary) 0%, #7bb036 100%);
	color: #ffffff;
	padding: 13px 20px;
	font-family: var(--syn-font-main);
	font-size: 15px;
	font-weight: 700;
	border: none;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(142, 193, 70, 0.35);
	transition: var(--syn-transition);
}

.synergene-cf7-container input[type="submit"]:hover {
	background: linear-gradient(135deg, #7bb036 0%, #6da12c 100%);
	box-shadow: 0 6px 20px rgba(142, 193, 70, 0.45);
}

.synergene-related-box {
	background: #ffffff;
	border: 1px solid var(--syn-border);
	border-radius: var(--syn-radius-card);
	padding: 24px;
	box-shadow: var(--syn-shadow-sm);
}

.synergene-related-heading {
	font-family: var(--syn-font-main);
	font-size: 18px;
	font-weight: 800;
	color: var(--syn-text-main);
	margin: 0 0 18px 0;
}

.synergene-related-cards-list {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.synergene-related-mini-card {
	background: var(--syn-bg-card);
	border: 1px solid var(--syn-border);
	border-radius: 10px;
	padding: 14px 16px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	transition: var(--syn-transition);
}

.synergene-related-mini-card:hover {
	background: #ffffff;
	border-color: var(--syn-secondary);
	box-shadow: var(--syn-shadow-md);
	transform: translateX(3px);
}

.mini-card-text {
	min-width: 0;
}

.mini-title {
	font-size: 14px;
	font-weight: 700;
	margin: 0 0 3px 0;
}

.mini-title a {
	color: var(--syn-text-main);
	text-decoration: none;
	transition: color 0.15s;
}

.mini-title a:hover {
	color: var(--syn-secondary);
}

.mini-cat {
	font-size: 12px;
	color: var(--syn-text-muted);
}

.mini-arrow-btn {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 1.5px solid var(--syn-secondary);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--syn-secondary);
	text-decoration: none;
	transition: var(--syn-transition);
	background: #ffffff;
	flex-shrink: 0;
	margin-left: 10px;
}

.mini-arrow-btn svg {
	stroke: var(--syn-secondary);
}

.synergene-related-mini-card:hover .mini-arrow-btn {
	background: var(--syn-primary);
	border-color: var(--syn-primary);
	color: #ffffff;
}

.synergene-related-mini-card:hover .mini-arrow-btn svg {
	stroke: #ffffff;
}

/* ==========================================================================
   Responsive Breakpoints
   ========================================================================== */
@media (max-width: 1024px) {
	.synergene-layout-grid {
		grid-template-columns: 240px 1fr;
		gap: 20px;
	}

	.synergene-products-grid.cols-3,
	.synergene-products-grid.cols-4 {
		grid-template-columns: repeat(2, 1fr);
	}

	.synergene-single-layout {
		grid-template-columns: 1fr;
	}

	.synergene-specs-hero-box {
		grid-template-columns: 260px 1fr;
		gap: 20px;
	}
}

@media (max-width: 768px) {
	.synergene-layout-grid {
		grid-template-columns: 1fr;
	}

	.synergene-sidebar {
		position: static;
		margin-bottom: 20px;
	}

	.synergene-products-grid.cols-2,
	.synergene-products-grid.cols-3,
	.synergene-products-grid.cols-4 {
		grid-template-columns: 1fr;
	}

	.synergene-specs-hero-box {
		grid-template-columns: 1fr;
	}

	.synergene-structure-box {
		min-height: 180px;
	}

	.synergene-single-title {
		font-size: 24px;
	}
}
