/**
 * Vibratech Tabler Theme
 * Harmonized Flat System: Variable-Controlled Border-Radius, No Shadows, Clean Borders
 */

/* General & Skin Colors */
:root {
	/* Global Radius Controls */
	--border-radius: 6px;
	--border-radius2x: 12px;
	--default: #444;

	/* Primary (Signature Vibratech Green) */
	--primary: #7b9c00;
	--primary-100: #90b000;
	--primary-200: #a4c41c;
	--primary-300: #b8d83b;
	--primary--100: #6a8900;
	--primary--200: #5a7700;
	--primary--300: #4b6500;

	--primary-rgba-0: rgba(123, 156, 0, 0);
	--primary-rgba-10: rgba(123, 156, 0, 0.1);
	--primary-rgba-20: rgba(123, 156, 0, 0.2);
	--primary-rgba-30: rgba(123, 156, 0, 0.3);
	--primary-rgba-40: rgba(123, 156, 0, 0.4);
	--primary-rgba-50: rgba(123, 156, 0, 0.5);
	--primary-rgba-60: rgba(123, 156, 0, 0.6);
	--primary-rgba-70: rgba(123, 156, 0, 0.7);
	--primary-rgba-80: rgba(123, 156, 0, 0.8);
	--primary-rgba-90: rgba(123, 156, 0, 0.9);

	/* Secondary (Signature Vibratech Navy Slate) */
	--secondary: #2c314d;
	--secondary-100: #3a405e;
	--secondary-200: #484f6f;
	--secondary-300: #565f80;
	--secondary--100: #242941;
	--secondary--200: #1f2337;
	--secondary--300: #191c2e;

	--secondary-rgba-0: rgba(44, 49, 77, 0);
	--secondary-rgba-10: rgba(44, 49, 77, 0.1);
	--secondary-rgba-20: rgba(44, 49, 77, 0.2);
	--secondary-rgba-30: rgba(44, 49, 77, 0.3);
	--secondary-rgba-40: rgba(44, 49, 77, 0.4);
	--secondary-rgba-50: rgba(44, 49, 77, 0.5);
	--secondary-rgba-60: rgba(44, 49, 77, 0.6);
	--secondary-rgba-70: rgba(44, 49, 77, 0.7);
	--secondary-rgba-80: rgba(44, 49, 77, 0.8);
	--secondary-rgba-90: rgba(44, 49, 77, 0.9);

	/* Tertiary */
	--tertiary: #101528;
	--tertiary-100: #1a2038;
	--tertiary-200: #232a48;
	--tertiary-300: #2d3458;
	--tertiary--100: #0d1120;
	--tertiary--200: #090d18;
	--tertiary--300: #060a10;

	--tertiary-rgba-0: rgba(16, 21, 40, 0);
	--tertiary-rgba-10: rgba(16, 21, 40, 0.1);
	--tertiary-rgba-20: rgba(16, 21, 40, 0.2);
	--tertiary-rgba-30: rgba(16, 21, 40, 0.3);
	--tertiary-rgba-40: rgba(16, 21, 40, 0.4);
	--tertiary-rgba-50: rgba(16, 21, 40, 0.5);
	--tertiary-rgba-60: rgba(16, 21, 40, 0.6);
	--tertiary-rgba-70: rgba(16, 21, 40, 0.7);
	--tertiary-rgba-80: rgba(16, 21, 40, 0.8);
	--tertiary-rgba-90: rgba(16, 21, 40, 0.9);

	/* Quaternary (Industrial Orange Accent) */
	--quaternary: #fa5902;
	--quaternary-100: #fb6f28;
	--quaternary-200: #fc854d;
	--quaternary-300: #fd9b73;
	--quaternary--100: #e24f02;
	--quaternary--200: #ca4602;
	--quaternary--300: #b33d01;

	--quaternary-rgba-0: rgba(250, 89, 2, 0);
	--quaternary-rgba-10: rgba(250, 89, 2, 0.1);
	--quaternary-rgba-20: rgba(250, 89, 2, 0.2);
	--quaternary-rgba-30: rgba(250, 89, 2, 0.3);
	--quaternary-rgba-40: rgba(250, 89, 2, 0.4);
	--quaternary-rgba-50: rgba(250, 89, 2, 0.5);
	--quaternary-rgba-60: rgba(250, 89, 2, 0.6);
	--quaternary-rgba-70: rgba(250, 89, 2, 0.7);
	--quaternary-rgba-80: rgba(250, 89, 2, 0.8);
	--quaternary-rgba-90: rgba(250, 89, 2, 0.9);

	/* Dark / Light */
	--dark: #000;
	--dark-100: #16181b;
	--dark-200: #101214;
	--dark-300: #0a0c0d;
	--dark--100: #2c3237;
	--dark--200: #32383e;
	--dark--300: #383f45;
	--light: #FFF;
	--light-100: #f2f2f2;
	--light-200: #ececec;
	--light-300: #e6e6e6;

	/* Inverses */
	--primary-inverse: #fff;
	--secondary-inverse: #fff;
	--tertiary-inverse: #fff;
	--quaternary-inverse: #fff;
	--dark-inverse: #fff;
	--light-inverse: #2c314d;

	/* Greys */
	--grey: #a1a1a1;
	--grey-100: #f5f5f5;
	--grey-200: #ebebeb;
	--grey-300: #e0e0e0;
	--grey-400: #d6d6d6;
	--grey-500: #ccc;
	--grey-600: #b3b3b3;
	--grey-700: #999;
	--grey-800: #808080;
	--grey-900: #666;
	--grey-1000: #4d4d4d;

	/* Tabler Global Overrides to Respect CSS Variables */
	--tblr-primary: #7b9c00;
	--tblr-primary-rgb: 123, 156, 0;
	--tblr-primary-fg: #ffffff;
	--tblr-primary-dark: #5a7700;
	--tblr-primary-light: #f2f8d8;
	--tblr-secondary: #2c314d;
	--tblr-secondary-rgb: 44, 49, 77;
	--tblr-secondary-fg: #ffffff;
	--tblr-accent: #fa5902;
	--tblr-body-bg: #fcfcfc;
	--tblr-body-color: #2c314d;
	--tblr-font-sans-serif: 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;

	/* Unified Radius for Tabler Components */
	--tblr-border-radius: var(--border-radius);
	--tblr-border-radius-sm: var(--border-radius);
	--tblr-border-radius-md: var(--border-radius);
	--tblr-border-radius-lg: var(--border-radius2x);
	--tblr-border-radius-xl: var(--border-radius2x);
	--tblr-border-radius-pill: var(--border-radius);

	/* Flat Surfaces: No Shadows by Default */
	/* --tblr-box-shadow: none; */
	/* --tblr-box-shadow-sm: none; */
	/* --tblr-box-shadow-lg: none; */
	/* --tblr-box-shadow-inset: none; */
	/* --tblr-card-border-width: 0px; */
	/* --tblr-card-border-radius: var(--border-radius2x); */
}


body {
	font-family: var(--tblr-font-sans-serif);
	background-color: var(--tblr-body-bg);
	color: var(--tblr-body-color);
	-webkit-font-smoothing: antialiased;
	height: auto;
	min-height: 100vh;
}

/* Remove All Drop Shadows Globally */
/* .shadow,
.shadow-sm,
.shadow-lg,
.box-shadow-1,
.box-shadow-2,
.box-shadow-3,
.box-shadow-7,
.box-shadow-8 {
box-shadow: none !important;
} */

/* Standardized Rounded Classes to follow Variables */
.rounded,
.rounded-1,
.rounded-2,
.rounded-3,
.rounded-pill {
	border-radius: var(--border-radius) !important;
}

.rounded-4,
.rounded-5,
.border-radius-2 {
	border-radius: var(--border-radius2x) !important;
}

/* Base Components Border Radius Standardization */
.card,
.card-body,
.card-header,
.card-footer,
.modal-content {
	border-radius: var(--border-radius2x) !important;
	border-color: #e9ecef !important;
	/* border: 0px !important; */
}

.btn,
.form-control,
.form-select,
.input-group-text,
.badge,
.alert,
.dropdown-menu,
.accordion-item,
.accordion-button,
.nav-link,
.page-link {
	border-radius: var(--border-radius) !important;
}

/* Custom Overrides for Tabler Primary / Secondary Buttons */
.btn {
	font-weight: 500;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.btn-primary {
	background-color: var(--primary) !important;
	border-color: var(--primary) !important;
	color: #ffffff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
	background-color: var(--primary--100) !important;
	border-color: var(--primary--100) !important;
	color: #ffffff !important;
}

.btn-outline-primary {
	color: var(--primary) !important;
	border-color: var(--primary) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
	background-color: var(--primary) !important;
	border-color: var(--primary) !important;
	color: #ffffff !important;
}

.btn-secondary {
	background-color: var(--secondary) !important;
	border-color: var(--secondary) !important;
	color: #ffffff !important;
}

.btn-secondary:hover {
	background-color: var(--secondary--100) !important;
	border-color: var(--secondary--100) !important;
}

.text-primary {
	color: var(--primary) !important;
}

.bg-primary {
	background-color: var(--primary) !important;
}

.bg-secondary {
	background-color: var(--secondary) !important;
}

.bg-blue-lt {
	background-color: var(--primary-rgba-10) !important;
	color: var(--primary--200) !important;
}

.badge.bg-primary {
	background-color: var(--primary) !important;
	color: #ffffff !important;
}

/**/
.border-none {
	border: none !important;
}

.lh-1-25 {
	line-height: 1.25 !important;
}

/* Navbar & Header */
.vbr-header {
	background: #ffffff;
	border-bottom: 1px solid #f1f5f9;
	position: sticky;
	top: 0;
	z-index: 1020;
}

.vbr-navbar .nav-link {
	font-weight: 500;
	color: #334155;
	padding: 0.6rem 1rem;
	border-radius: var(--border-radius);
	transition: color 0.15s ease, background-color 0.15s ease;
}

.vbr-navbar .nav-link:hover,
.vbr-navbar .nav-link.active {
	color: var(--primary--200);
	background-color: var(--primary-rgba-10);
}

.vbr-header-phone {
	font-size: 0.9rem;
	line-height: 1.25;
}

.vbr-header-phone a {
	color: var(--secondary);
	text-decoration: none;
	font-weight: 600;
	transition: color 0.15s;
}

.vbr-header-phone a:hover {
	color: var(--primary);
}

/* Hero & Page Header */
.vbr-hero-banner {
	background: linear-gradient(135deg, var(--tblr-dark) 0%, var(--tblr-dark) 60%, var(--tblr-dark) 100%);
	color: #ffffff;
	border-radius: var(--border-radius2x);
	padding: 3.5rem 2.5rem;
	position: relative;
	overflow: hidden;
}

.vbr-page-header {
	background: linear-gradient(135deg, var(--tertiary) 0%, var(--secondary) 100%);
	color: #ffffff;
	border-radius: var(--border-radius2x);
	padding: 2.5rem 2rem;
	margin-bottom: 2rem;
	position: relative;
}

.vbr-page-header .breadcrumb {
	margin-bottom: 0;
}

.vbr-page-header .breadcrumb-item a {
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
}

.vbr-page-header .breadcrumb-item.active,
.vbr-page-header .breadcrumb-item + .breadcrumb-item::before {
	color: rgba(255, 255, 255, 0.6);
}

/* Product Cards */
.vbr-product-card {
	background: #ffffff;
	border: 1px solid #e9ecef;
	border-radius: var(--border-radius2x);
	transition: transform 0.2s ease;
	overflow: hidden;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.vbr-product-card:hover {
	transform: translateY(-3px);
	border: 1px solid var(--primary);
}

.vbr-product-img-wrapper {
	background-color: #ffffff;
	padding: 1.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 220px;
}

.vbr-product-img-wrapper img {
	max-height: 100%;
	width: auto;
	object-fit: contain;
}

.vbr-product-body {
	padding: 1.25rem;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.vbr-product-title {
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--secondary);
	margin-bottom: 0.5rem;
	line-height: 1.35;
}

.vbr-product-title a {
	color: inherit;
	text-decoration: none;
}

.vbr-product-title a:hover {
	color: var(--primary);
}

.vbr-product-desc {
	font-size: 0.875rem;
	color: #64748b;
	line-height: 1.5;
	margin-bottom: 1rem;
	flex-grow: 1;
}

/* Feature Cards & Service Cards */
.vbr-feature-card {
	background: #ffffff;
	border: 1px solid #e9ecef;
	border-radius: var(--border-radius2x);
	padding: 2rem;
	height: 100%;
	transition: transform 0.2s ease;
}

.vbr-feature-card:hover {
	transform: translateY(-2px);
}

.vbr-feature-icon {
	width: 52px;
	height: 52px;
	border-radius: var(--border-radius);
	background-color: var(--primary-rgba-10);
	color: var(--primary);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.6rem;
	margin-bottom: 1.25rem;
}

/* Accordion Standard */
.accordion-item {
	border: none !important;
	background: #ffffff;
	border-radius: var(--border-radius2x) !important;
	margin-bottom: 0.75rem;
	overflow: hidden;
}

.accordion-button {
	border-radius: var(--border-radius2x) !important;
	background: #ffffff;
	padding: 1.1rem 1.25rem;
}

.accordion-button:not(.collapsed) {
	background-color: var(--primary-rgba-10);
	color: var(--primary--200);
}

/* Footer */
.vbr-footer {
	background: #ffffff;
	border: 1px solid #e9ecef;
	color: #000000;
	padding-top: 2rem;
	padding-bottom: 2rem;
	border-radius: var(--border-radius2x);
	margin-top: 2rem;
}

.vbr-footer h4,
.vbr-footer h5 {
	color: #000000;
	font-weight: 600;
	margin-bottom: 1.25rem;
}

.vbr-footer a {
	color: #000000;
	text-decoration: none;
	transition: color 0.15s ease;
}

.vbr-footer a:hover {
	color: var(--primary);
}

.vbr-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding-top: 1.5rem;
	margin-top: 2.5rem;
	font-size: 0.875rem;
}

.vbr-experience-badge {
	display: inline-flex;
	align-items: center;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: var(--border-radius);
	padding: 0.6rem 1rem;
}

.vbr-experience-num {
	font-size: 1.75rem;
	font-weight: 800;
	color: var(--primary-200);
	margin-right: 0.6rem;
	line-height: 1;
}

/* Clean CTA Sections */
.vbr-cta-card {
	background: linear-gradient(135deg, var(--tertiary) 0%, var(--secondary) 100%);
	color: #ffffff;
	border-radius: var(--border-radius2x);
	padding: 2.5rem;
}

/* Gallery thumbnails hover */
.vbr-thumb-link {
	border: 2px solid transparent;
	border-radius: var(--border-radius) !important;
	transition: border-color 0.15s ease;
}

.vbr-thumb-link:hover,
.vbr-thumb-link.active {
	border-color: var(--primary) !important;
}

/* Table Card Formatting */
.table-responsive {
	border-radius: var(--border-radius2x);
	overflow: hidden;
}

/* Custom Compact Carousel Navigation Buttons */
.vbr-carousel-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.5);
	color: var(--tblr-primary);
	border: 1px solid rgba(0, 0, 0, 0.08);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.35rem;
	cursor: pointer;
	transition: all 0.2s ease-in-out;
	padding: 0;
}

.vbr-carousel-btn:hover {
	background: #ffffff;
	color: var(--primary);
	transform: translateY(-50%) scale(1.08);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.22);
}

.vbr-carousel-btn.vbr-carousel-prev {
	left: 1rem;
}

.vbr-carousel-btn.vbr-carousel-next {
	right: 1rem;
}

/* Toast Notifications */
#alert.toast-container {
	position: fixed !important;
	top: 1.5rem !important;
	right: 1.5rem !important;
	z-index: 9999 !important;
	max-width: 440px;
	width: calc(100% - 3rem);
	pointer-events: none;
}

#alert .toast-notification {
	pointer-events: auto;
	background: #ffffff !important;
	border: 1px solid rgba(0, 0, 0, 0.08) !important;
	/* border-radius: var(--border-radius2x) !important; */
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.12), 0 8px 10px -6px rgba(0, 0, 0, 0.08) !important;
	padding: 1rem 1.25rem !important;
	animation: vbrToastSlideIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
	position: relative;
	overflow: hidden;
}

#alert .toast-notification.alert-success {
	border-left: 5px solid var(--tblr-success) !important;
}

#alert .toast-notification.alert-danger {
	border-left: 5px solid var(--tblr-danger) !important;
}

#alert .toast-content {
	font-size: 0.85rem;
	line-height: 1.45;
	color: #1e293b;
	font-weight: 400;
}

#alert .toast-content a {
	color: var(--primary) !important;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color 0.15s ease;
}

#alert .toast-content a:hover {
	color: var(--primary-700) !important;
}

#alert .btn-close {
	font-size: 0.8rem;
	opacity: 0.6;
	transition: opacity 0.15s;
}

#alert .btn-close:hover {
	opacity: 1;
}

@keyframes vbrToastSlideIn {
	from {
		transform: translateX(100%) scale(0.95);
		opacity: 0;
	}
	to {
		transform: translateX(0) scale(1);
		opacity: 1;
	}
}

/* Floating WhatsApp Button */
.vbr-whatsapp-float {
	position: fixed;
	bottom: 2rem;
	right: 2rem;
	z-index: 1050;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background-color: #25d366;
	color: #ffffff !important;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.75rem;
	box-shadow: 0 8px 24px rgba(37, 211, 102, 0.45);
	opacity: 0;
	visibility: hidden;
	transform: translateY(20px) scale(0.85);
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	text-decoration: none;
}

.vbr-whatsapp-float.show {
	opacity: 1;
	visibility: visible;
	transform: translateY(0) scale(1);
}

.vbr-whatsapp-float:hover {
	background-color: #20ba5a;
	color: #ffffff !important;
	transform: translateY(-4px) scale(1.08);
	box-shadow: 0 12px 28px rgba(37, 211, 102, 0.55);
}

@media (max-width: 767.98px) {
	.vbr-whatsapp-float {
		bottom: 1.25rem;
		right: 1.25rem;
		width: 48px;
		height: 48px;
		font-size: 1.55rem;
	}
}

.grecaptcha-badge {
	visibility: hidden;
}