/* OTS Homepage v2.2.0 — hero, mobile alignment & category product blocks */

:root {
	--ots-navy: #02272D;
	--ots-primary-dark: #011B26;
	--ots-secondary: #08B4BC;
	--ots-secondary-dark: #008E95;
	--ots-cyan: #08B4BC;
	--ots-cyan-soft: rgba(8, 180, 188, 0.12);
	--ots-cyan-hover: #008E95;
	--ots-accent: #007373;
	--ots-light-accent: #E8F7F7;
	--ots-light-bg: #E8F7F7;
	--ots-border: rgba(2, 39, 45, 0.08);
	--ots-text-main: #02272D;
	--ots-text-light: #4A6368;
	--ots-gradient: linear-gradient(135deg, #02272D 0%, #007373 45%, #08B4BC 100%);
}

.ots-home {
	direction: rtl;
	text-align: right;
	font-family: "IBM Plex Sans Arabic", sans-serif;
	max-width: 100% !important;
	overflow-x: hidden !important;
}

.ots-home *,
.ots-home *::before,
.ots-home *::after {
	font-family: inherit;
	box-sizing: border-box;
}

/* ===== Hero — soft & minimal ===== */
.ots-home-hero {
	position: relative;
	min-height: clamp(480px, 62vh, 600px);
	display: flex;
	align-items: center;
	padding: 70px 0 90px;
	overflow: hidden;
	color: #02272D;
	background: #F4F9F9 url('../assets/images/ontime-solutions-smart-security-hero-bg.jpg?v=3.0') 50% 50% / cover no-repeat !important;
	background-position: 50% 50% !important;
	background-size: cover !important;
	isolation: isolate;
}

.ots-hero-seo-img {
	position: absolute;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: 50% 50% !important;
	z-index: 0;
	opacity: 1 !important;
	pointer-events: none;
}

.ots-home-hero-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.ots-home-hero-glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(80px);
	opacity: 0.55;
}

.ots-home-hero-glow--1 {
	width: min(520px, 70vw);
	height: min(520px, 70vw);
	top: -18%;
	left: -8%;
	background: rgba(8, 180, 188, 0.22);
}

.ots-home-hero-glow--2 {
	width: min(420px, 60vw);
	height: min(420px, 60vw);
	bottom: -12%;
	right: -6%;
	background: rgba(0, 115, 115, 0.18);
}

.ots-home-hero-shell {
	position: relative;
	z-index: 1;
	width: min(900px, 92%);
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.ots-home-hero-content {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.ots-home-hero-eyebrow {
	margin: 0 0 20px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.04em;
	color: #007373;
	background: rgba(8, 180, 188, 0.12);
	padding: 6px 18px;
	border-radius: 30px;
	display: inline-block;
	border: 1px solid rgba(8, 180, 188, 0.25);
}

.ots-home-hero-title {
	margin: 0 0 16px;
	font-size: clamp(32px, 4.5vw, 52px);
	font-weight: 900;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: #02272D;
	max-width: 22ch;
}

.ots-home-hero-title-accent {
	display: block;
	margin-top: 6px;
	color: #008E95;
	font-weight: 800;
}

.ots-home-hero-subtitle {
	margin: 0 0 28px;
	max-width: 52ch;
	font-size: clamp(15px, 1.8vw, 17px);
	line-height: 1.85;
	font-weight: 500;
	color: #334E52;
}

.ots-home-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 32px;
}

.ots-home-hero-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 13px 24px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.ots-home-hero-btn-primary {
	background: linear-gradient(135deg, #02272D 0%, #007373 100%) !important;
	color: #ffffff !important;
	box-shadow: 0 8px 24px rgba(2, 39, 45, 0.22);
}

.ots-home-hero-btn-primary span {
	color: #ffffff !important;
}

.ots-home-hero-btn-primary:hover {
	background: #008E95 !important;
	color: #ffffff !important;
	box-shadow: 0 10px 28px rgba(8, 180, 188, 0.35);
}

.ots-home-hero-btn-primary:hover span {
	color: #ffffff !important;
}

.ots-home-hero-btn-primary svg {
	flex-shrink: 0;
	color: #ffffff !important;
	stroke: currentColor !important;
	opacity: 1;
}

.ots-home-hero-btn-ghost {
	background: #ffffff;
	color: #02272D;
	border: 1.5px solid #007373;
	box-shadow: 0 4px 14px rgba(2, 39, 45, 0.08);
}

.ots-home-hero-btn-ghost:hover {
	background: #007373;
	color: #ffffff;
	border-color: #007373;
}

.ots-home-hero-trust {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}

.ots-home-hero-trust li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(8, 180, 188, 0.25);
	box-shadow: 0 4px 16px rgba(2, 39, 45, 0.06);
	backdrop-filter: blur(8px);
}

.ots-home-hero-trust-icon {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #02272D;
	color: #08B4BC;
	flex-shrink: 0;
}

.ots-home-hero-trust-icon svg {
	width: 14px;
	height: 14px;
}

.ots-home-hero-trust-text {
	font-size: 13px;
	font-weight: 800;
	color: #02272D;
	line-height: 1.3;
	white-space: nowrap;
}

.ots-home-hero-visual {
	position: relative;
}

.ots-home-hero-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.ots-home-hero-card {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 20px 18px;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid rgba(27, 54, 93, 0.06);
	box-shadow: 0 12px 32px rgba(27, 54, 93, 0.05);
	backdrop-filter: blur(8px);
	text-align: right;
}

.ots-home-hero-card-icon {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	display: grid;
	place-items: center;
	background: rgba(0, 163, 224, 0.08);
	color: var(--ots-cyan);
	margin-bottom: 4px;
}

.ots-home-hero-card-icon svg {
	width: 20px;
	height: 20px;
}

.ots-home-hero-card strong {
	font-size: 14px;
	font-weight: 700;
	color: var(--ots-navy);
}

.ots-home-hero-card span {
	font-size: 12px;
	font-weight: 500;
	color: var(--ots-text-light);
	line-height: 1.4;
}

/* ===== Parent Category Home Banner with Dark Theme Gradient & Left Content ===== */
.ots-home-parent-banner-wrap {
	position: relative;
	width: 100%;
	aspect-ratio: 1850 / 850;
	max-height: 600px !important;
	margin: 0 0 28px;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 6px 22px rgba(2, 39, 45, 0.1);
	transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1);
	background: #02272D;
}

.ots-home-parent-banner-wrap:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 40px rgba(2, 39, 45, 0.22);
}

.ots-home-parent-banner-link {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
}

.ots-home-parent-banner-img {
	width: 100% !important;
	height: 100% !important;
	object-fit: fill !important;
	display: block;
	border-radius: 16px;
	transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.ots-home-parent-banner-link:hover .ots-home-parent-banner-img {
	transform: scale(1.025);
}

/* Dark theme gradient coming from the LEFT */
.ots-home-parent-banner-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, 
		rgba(2, 39, 45, 0.94) 0%, 
		rgba(2, 39, 45, 0.82) 32%, 
		rgba(2, 39, 45, 0.45) 55%, 
		rgba(2, 39, 45, 0) 85%
	);
	pointer-events: none;
	transition: opacity 0.35s ease;
}

.ots-home-parent-banner-link:hover .ots-home-parent-banner-overlay {
	background: linear-gradient(90deg, 
		rgba(2, 39, 45, 0.97) 0%, 
		rgba(2, 39, 45, 0.88) 36%, 
		rgba(2, 39, 45, 0.52) 60%, 
		rgba(2, 39, 45, 0.05) 90%
	);
}

/* Left-aligned content overlay */
.ots-home-parent-banner-content {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	z-index: 2;
	width: clamp(280px, 50%, 560px);
	padding: clamp(20px, 4.5vw, 48px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	text-align: left;
	color: #ffffff;
	pointer-events: none;
}

.ots-banner-badge {
	display: inline-flex;
	align-items: center;
	padding: 5px 14px;
	border-radius: 30px;
	background: rgba(13, 148, 136, 0.3);
	border: 1px solid rgba(45, 212, 191, 0.5);
	color: #2DD4BF;
	font-size: clamp(10px, 1.1vw, 13px);
	font-weight: 600;
	margin-bottom: 12px;
	backdrop-filter: blur(6px);
}

.ots-banner-cat-title {
	display: block;
	font-size: clamp(18px, 2.6vw, 32px);
	font-weight: 800;
	color: #ffffff;
	line-height: 1.25;
	margin-bottom: 16px;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
}

.ots-banner-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 20px;
	border-radius: 12px;
	background: #0D9488;
	color: #ffffff;
	font-size: clamp(12px, 1.2vw, 14px);
	font-weight: 700;
	box-shadow: 0 4px 14px rgba(13, 148, 136, 0.4);
	transition: background 0.3s ease, transform 0.3s ease;
}

.ots-home-parent-banner-link:hover .ots-banner-cta {
	background: #0F766E;
	transform: translateX(-4px);
}

@media (max-width: 768px) {
	.ots-home-parent-banner-wrap {
		width: 100% !important;
		aspect-ratio: 1850 / 850 !important;
		max-height: 350px !important;
		margin: 0 0 16px !important;
		border-radius: 12px !important;
	}
	.ots-home-parent-banner-img {
		border-radius: 12px !important;
	}
	.ots-home-parent-banner-content {
		width: 80% !important;
		padding: 12px 16px !important;
	}
	.ots-banner-cat-title {
		font-size: 14px !important;
		margin-bottom: 6px !important;
	}
	.ots-banner-cta {
		padding: 5px 10px !important;
		font-size: 10px !important;
	}
}

/* ===== Section headings ===== */
.ots-home-section-head {
	text-align: center;
	max-width: 640px;
	margin: 0 auto 36px;
	padding: 0 16px;
}

.ots-home-section-title {
	margin: 0 0 10px;
	font-size: clamp(22px, 3vw, 30px);
	font-weight: 900;
	color: var(--ots-navy);
}

.ots-home-section-desc {
	margin: 0;
	font-size: 15px;
	color: var(--ots-text-light);
	line-height: 1.6;
}

/* ===== Categories grid ===== */
.ots-home-categories {
	padding: 48px 0 56px;
	background: linear-gradient(180deg, #fff 0%, var(--ots-light-bg) 100%);
	max-width: 100% !important;
	overflow-x: hidden !important;
}

.ots-home-cat-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 16px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 16px;
}

.ots-home-cat-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	padding: 22px 14px 18px;
	background: #fff;
	border: 1px solid var(--ots-border);
	border-radius: 20px;
	text-decoration: none;
	color: var(--ots-text-main);
	box-shadow: 0 4px 18px rgba(27, 54, 93, 0.05);
	transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease, border-color 0.35s ease;
	position: relative;
	overflow: hidden;
}

.ots-home-cat-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(145deg, rgba(0, 163, 224, 0.06) 0%, transparent 55%);
	opacity: 0;
	transition: opacity 0.35s ease;
}

.ots-home-cat-card:hover {
	transform: translateY(-6px);
	border-color: rgba(0, 163, 224, 0.35);
	box-shadow: 0 18px 40px rgba(27, 54, 93, 0.12);
}

.ots-home-cat-card:hover::before {
	opacity: 1;
}

.ots-home-cat-media {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ots-home-cat-ring {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 96px;
	height: 96px;
	border-radius: 50%;
	padding: 4px;
	background: linear-gradient(135deg, var(--ots-cyan) 0%, var(--ots-navy) 100%);
	box-shadow: 0 8px 24px rgba(0, 163, 224, 0.25);
	transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.ots-home-cat-card:hover .ots-home-cat-ring {
	transform: scale(1.06);
	box-shadow: 0 12px 28px rgba(0, 163, 224, 0.35);
}

.ots-home-cat-ring img {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	display: block;
	border: 3px solid #fff;
	background: #fff;
}

.ots-home-cat-badge {
	position: absolute;
	top: -2px;
	inset-inline-start: -2px;
	min-width: 26px;
	height: 26px;
	padding: 0 7px;
	border-radius: 999px;
	background: var(--ots-navy);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 26px;
	text-align: center;
	box-shadow: 0 4px 10px rgba(27, 54, 93, 0.25);
}

.ots-home-cat-label {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	text-align: center;
	position: relative;
	z-index: 1;
	width: 100%;
}

.ots-home-cat-name {
	font-size: 14px;
	font-weight: 800;
	color: var(--ots-navy);
	line-height: 1.45;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.9em;
}

.ots-home-cat-link {
	font-size: 12px;
	font-weight: 600;
	color: var(--ots-cyan);
	opacity: 0;
	transform: translateY(4px);
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.ots-home-cat-card:hover .ots-home-cat-link {
	opacity: 1;
	transform: translateY(0);
}

/* Category sliders */
.ots-home-cat-slider {
	display: none !important;
}

.ots-home-cat-slider--desktop {
	max-width: 1200px !important;
	margin: 0 auto !important;
	width: 100% !important;
}

.ots-home-cat-slider--desktop .ots-home-cat-slider-viewport {
	overflow: hidden !important;
	padding: 0 16px !important;
}

.ots-home-cat-slider--desktop .ots-home-cat-slider-track {
	display: flex !important;
	flex-direction: row !important;
	direction: rtl !important;
	transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1) !important;
	will-change: transform !important;
}

.ots-home-cat-slider--desktop .ots-home-cat-slide {
	flex: 0 0 100% !important;
	min-width: 100% !important;
	width: 100% !important;
	padding: 0 2px !important;
	box-sizing: border-box !important;
}

.ots-home-cat-slide-grid--desktop {
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	grid-template-rows: repeat(3, auto) !important;
	gap: 16px !important;
}

.ots-home-cat-slider--desktop .ots-home-cat-slider-controls {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 16px !important;
	margin-top: 24px !important;
	padding: 0 16px !important;
}

.ots-home-cat-slider-viewport {
	overflow: hidden;
	padding: 0 12px;
}

.ots-home-cat-slider-track {
	display: flex;
	direction: rtl;
	transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
	will-change: transform;
}

.ots-home-cat-slide {
	flex: 0 0 100%;
	min-width: 100%;
	padding: 0 2px;
}

.ots-home-cat-slide-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.ots-home-cat-slider-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin-top: 20px;
	padding: 0 12px;
}

.ots-home-cat-nav {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border: none;
	border-radius: 50%;
	background: #fff;
	color: var(--ots-navy);
	box-shadow: 0 4px 14px rgba(27, 54, 93, 0.12);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s ease, color 0.2s ease;
}

.ots-home-cat-nav:hover:not(:disabled) {
	background: var(--ots-cyan);
	color: #fff;
}

.ots-home-cat-nav:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

.ots-home-cat-dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
	max-width: 200px;
}

.ots-home-cat-dot {
	width: 8px;
	height: 8px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: rgba(27, 54, 93, 0.2);
	cursor: pointer;
	transition: transform 0.25s ease, background 0.25s ease;
}

.ots-home-cat-dot.is-active {
	background: var(--ots-cyan);
	transform: scale(1.25);
}

/* ===== Products by category ===== */
.ots-home-products {
	max-width: 95%;
	width: 100%;
	margin: 0 auto;
	padding: 20px 0 60px;
	box-sizing: border-box !important;
	overflow-x: hidden !important;
}

.ots-home-cat-block {
	margin-bottom: 56px;
	padding-bottom: 48px;
	border-bottom: 1px solid var(--ots-border);
}

.ots-home-cat-block:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 20px;
}

.ots-home-cat-block-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 28px;
	padding-bottom: 16px;
	border-bottom: 2px solid rgba(2, 39, 45, 0.06);
	flex-wrap: wrap !important;
}

.ots-home-cat-block-title-wrap {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
}

.ots-home-cat-block-thumb {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	overflow: hidden;
	border: 2px solid var(--ots-cyan-soft);
	box-shadow: 0 4px 12px rgba(7, 30, 46, 0.08);
}

.ots-home-cat-block-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ots-home-cat-block-title {
	margin: 0;
	font-size: clamp(18px, 2.5vw, 24px);
	font-weight: 900;
	color: var(--ots-navy);
	line-height: 1.3;
}

.ots-home-cat-sub-links {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	flex: 1;
	justify-content: flex-start;
	margin: 0 16px;
}

.ots-home-cat-sub-tag {
	display: inline-block;
	padding: 5px 12px;
	border-radius: 20px;
	background: #fff;
	border: 1px solid #E2E8F0;
	color: var(--ots-text-light);
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.25s ease;
}

.ots-home-cat-sub-tag:hover {
	background: var(--ots-cyan-soft);
	border-color: var(--ots-cyan);
	color: var(--ots-cyan);
}

.ots-home-view-all {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex-shrink: 0;
	padding: 8px 18px;
	border-radius: 10px;
	background: var(--ots-cyan-soft);
	color: var(--ots-cyan);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.3s ease;
}

.ots-home-view-all:hover {
	background: var(--ots-cyan);
	color: #fff;
}

.ots-home-view-all svg {
	flex-shrink: 0;
}

.ots-home-notice {
	text-align: center;
	padding: 40px 20px;
	color: var(--ots-text-light);
}

/* Highlight target category when scrolled via oval click */
.ots-home-cat-block.is-highlight {
	animation: otsCatHighlight 1.2s ease;
}

@keyframes otsCatHighlight {
	0% { background: transparent; }
	15% { background: rgba(0, 163, 224, 0.06); }
	100% { background: transparent; }
}

@media (max-width: 768px) {
	.ots-home-hero {
		min-height: auto !important;
		padding: 35px 16px 45px !important;
	}

	.ots-home-hero-shell {
		width: 100% !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		text-align: center !important;
	}

	.ots-home-hero-content {
		width: 100% !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		text-align: center !important;
	}

	.ots-home-hero-eyebrow {
		font-size: 11px !important;
		padding: 6px 14px !important;
		margin-bottom: 14px !important;
		line-height: 1.5 !important;
		max-width: 100% !important;
		white-space: normal !important;
		word-break: break-word !important;
	}

	.ots-home-hero-title {
		max-width: 100% !important;
		font-size: 22px !important;
		line-height: 1.35 !important;
		margin-bottom: 12px !important;
	}

	.ots-home-hero-subtitle {
		max-width: 100% !important;
		font-size: 13px !important;
		line-height: 1.7 !important;
		margin-bottom: 22px !important;
		color: #334E52 !important;
	}

	.ots-home-hero-actions {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		max-width: 300px !important;
		margin: 0 auto 24px !important;
		gap: 10px !important;
		align-items: stretch !important;
	}

	.ots-home-hero-btn {
		width: 100% !important;
		justify-content: center !important;
		padding: 12px 18px !important;
		box-sizing: border-box !important;
		font-size: 13.5px !important;
	}

	.ots-home-hero-trust {
		display: flex !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		align-items: center !important;
		gap: 8px !important;
		width: 100% !important;
		margin: 0 auto !important;
		padding: 0 !important;
	}

	.ots-home-hero-trust li {
		padding: 6px 12px !important;
		font-size: 11.5px !important;
		flex: 0 1 auto !important;
		border-radius: 30px !important;
		box-shadow: 0 3px 10px rgba(2, 39, 45, 0.05) !important;
	}

	.ots-home-hero-trust-text {
		white-space: nowrap !important;
		font-size: 11.5px !important;
	}

	.ots-home-hero-visual {
		order: 1;
	}

	.ots-home-hero-cards {
		gap: 10px;
	}

	.ots-home-hero-card {
		padding: 16px 14px;
		border-radius: 16px;
	}

	.ots-home-hero-cut {
		height: 40px;
	}

	.ots-home-cat-grid--desktop {
		display: none;
	}

	.ots-home-cat-slider--mobile {
		display: block !important;
	}

	.ots-home-cat-slider--desktop {
		display: none !important;
	}

	.ots-home-cat-card {
		padding: 16px 8px 12px;
		border-radius: 16px;
		gap: 10px;
	}

	.ots-home-cat-ring {
		width: 72px;
		height: 72px;
	}

	.ots-home-cat-name {
		font-size: 12px;
		min-height: auto;
		-webkit-line-clamp: 2;
	}

	.ots-home-cat-link {
		opacity: 1;
		transform: none;
		font-size: 11px;
	}

	.ots-home-cat-block-head {
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 10px !important;
		margin-bottom: 20px !important;
		padding-bottom: 12px !important;
	}

	.ots-home-cat-block-title-wrap {
		order: 1 !important;
		flex: 1 1 auto !important;
		min-width: 0 !important;
		gap: 10px !important;
	}

	.ots-home-cat-block-thumb {
		width: 42px !important;
		height: 42px !important;
	}

	.ots-home-cat-block-title {
		font-size: 15px !important;
		line-height: 1.4 !important;
		display: -webkit-box !important;
		-webkit-line-clamp: 2 !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
	}

	.ots-home-view-all {
		order: 2 !important;
		padding: 7px 14px !important;
		font-size: 12px !important;
		gap: 4px !important;
		white-space: nowrap !important;
		flex-shrink: 0 !important;
	}

	.ots-home-cat-sub-links {
		order: 3 !important;
		width: 100% !important;
		flex: 0 0 100% !important;
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		scrollbar-width: none !important;
		margin: 6px 0 0 0 !important;
		padding: 4px 0 !important;
		gap: 8px !important;
	}

	.ots-home-cat-sub-links::-webkit-scrollbar {
		display: none !important;
	}

	.ots-home-cat-sub-tag {
		flex-shrink: 0 !important;
		white-space: nowrap !important;
		background: #F8FAFC !important;
		border: 1px solid #E2E8F0 !important;
		border-radius: 30px !important;
		padding: 6px 14px !important;
		font-size: 12px !important;
		font-weight: 700 !important;
		color: #02272D !important;
		display: inline-block !important;
	}

	.ots-home-products .ots-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
	}

	.ots-home-products {
		max-width: 100%;
		padding-inline: 12px;
	}
}

@media (min-width: 769px) {
	.ots-home-cat-grid--desktop {
		display: grid !important;
		grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
		gap: 16px !important;
		max-width: 1200px !important;
		margin: 0 auto !important;
		padding: 0 16px !important;
	}

	.ots-home-cat-slider--mobile {
		display: none !important;
	}

	.ots-home-categories--desktop-slider .ots-home-cat-grid--desktop {
		display: none !important;
	}

	.ots-home-categories--desktop-slider .ots-home-cat-slider--desktop {
		display: block !important;
	}
}

/* Brands Showcase Section */
.ots-home-brands-section {
	max-width: 1200px;
	margin: 60px auto 40px;
	padding: 0 16px;
}

.ots-home-brands-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
	gap: 16px;
	margin-top: 24px;
}

.ots-brand-card {
	background: #ffffff;
	border: 1px solid var(--ots-border);
	border-radius: 16px;
	padding: 20px 16px;
	text-align: center;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

.ots-brand-card:hover {
	transform: translateY(-4px);
	border-color: var(--ots-cyan);
	box-shadow: 0 10px 25px rgba(0, 163, 224, 0.1);
}

.ots-brand-icon {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--ots-cyan-soft);
	color: var(--ots-cyan);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 4px;
}

.ots-brand-name {
	font-size: 16px;
	font-weight: 800;
	color: var(--ots-navy);
}

.ots-brand-desc {
	font-size: 12px;
	color: var(--ots-text-light);
}

/* FAQ Accordion Section */
.ots-home-faq-section {
	max-width: 900px;
	margin: 60px auto 40px;
	padding: 0 16px;
}

.ots-home-faq-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 24px;
}

.ots-faq-item {
	background: #ffffff;
	border: 1px solid var(--ots-border);
	border-radius: 14px;
	overflow: hidden;
	transition: border-color 0.25s ease;
}

.ots-faq-item.active {
	border-color: var(--ots-cyan);
}

.ots-faq-question {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 20px;
	background: transparent;
	border: none;
	cursor: pointer;
	font-size: 15px;
	font-weight: 700;
	color: var(--ots-navy);
	text-align: right;
	transition: color 0.2s ease;
}

.ots-faq-question:hover {
	color: var(--ots-cyan);
}

.ots-faq-icon {
	flex-shrink: 0;
	margin-left: 10px;
	transition: transform 0.25s ease;
}

.ots-faq-item.active .ots-faq-icon {
	transform: rotate(180deg);
	color: var(--ots-cyan);
}

.ots-faq-answer {
	padding: 0 20px 18px;
	font-size: 14px;
	line-height: 1.65;
	color: var(--ots-text-main);
	border-top: 1px solid #F1F5F9;
}

.ots-faq-answer p {
	margin: 12px 0 0;
}

/* Customer Testimonials Section */
.ots-home-testimonials-section {
	max-width: 1200px;
	margin: 60px auto 40px;
	padding: 0 16px;
}

.ots-home-testimonials-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 20px;
	margin-top: 24px;
}

.ots-testimonial-card {
	background: #ffffff;
	border: 1px solid var(--ots-border);
	border-radius: 20px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 16px;
	box-shadow: 0 4px 20px rgba(7, 30, 46, 0.04);
	transition: all 0.3s ease;
}

.ots-testimonial-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 30px rgba(7, 30, 46, 0.08);
}

.ots-testimonial-stars {
	display: flex;
	gap: 4px;
}

.ots-testimonial-comment {
	font-size: 14px;
	line-height: 1.6;
	color: var(--ots-text-main);
	margin: 0;
	font-style: italic;
}

.ots-testimonial-author {
	display: flex;
	flex-direction: column;
	gap: 2px;
	border-top: 1px solid #F1F5F9;
	padding-top: 12px;
}

.ots-author-name {
	font-size: 14px;
	font-weight: 800;
	color: var(--ots-navy);
}

.ots-author-role {
	font-size: 12px;
	color: var(--ots-text-light);
}
