:root {
	--sunil-primary: #1e40af;
	--sunil-accent: #0f172a;
	--sunil-text: #111827;
	--sunil-muted: #6b7280;
	--sunil-bg-soft: #f8fafc;
	--sunil-border: #e5e7eb;
	--sunil-radius: 10px;
	--sunil-container: 1200px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	line-height: 1.6;
	color: var(--sunil-text);
}

a {
	color: var(--sunil-primary);
	text-decoration: none;
}

a:hover,
a:focus-visible {
	text-decoration: underline;
}

.sunil-container {
	max-width: var(--sunil-container);
	margin: 0 auto;
	padding: 0 16px;
}

.sunil-section {
	padding: 40px 0;
}

.sunil-announcement-bar {
	background: #020617;
	color: #ffffff;
	font-size: 14px;
}

.sunil-announcement-bar p {
	margin: 0;
	padding: 10px 0;
	text-align: center;
}

.site-header {
	background: var(--sunil-accent);
	color: #ffffff;
}

.sunil-sticky-header-enabled .site-header {
	position: sticky;
	top: 0;
	z-index: 90;
}

.sunil-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 72px;
	gap: 14px;
}

.site-branding .site-title {
	color: #ffffff;
	font-weight: 700;
	font-size: 22px;
}

.sunil-menu-toggle {
	display: inline-flex;
	flex-direction: column;
	gap: 4px;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.35);
	padding: 8px;
	border-radius: 6px;
	cursor: pointer;
}

.sunil-menu-toggle span {
	width: 20px;
	height: 2px;
	background: #ffffff;
}

.sunil-primary-nav {
	display: none;
}

.sunil-primary-nav.is-open {
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	background: var(--sunil-accent);
	padding: 12px 16px;
}

.sunil-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.sunil-menu a,
.sunil-header-actions a,
.sunil-search-toggle {
	color: #ffffff;
	font-size: 14px;
}

.sunil-header-actions {
	display: flex;
	gap: 12px;
	align-items: center;
}

.sunil-search-toggle {
	background: transparent;
	border: 0;
	cursor: pointer;
}

.sunil-header-search {
	background: #111827;
	padding: 10px 0;
}

.sunil-header-search .search-form {
	display: flex;
	gap: 8px;
}

.sunil-header-search input[type="search"] {
	flex: 1;
	padding: 10px;
	border-radius: 8px;
	border: 1px solid #374151;
	background: #ffffff;
}

.sunil-cart-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.sunil-cart-count {
	background: var(--sunil-primary);
	color: #ffffff;
	border-radius: 999px;
	padding: 1px 6px;
	font-size: 12px;
}

.sunil-hero {
	background: linear-gradient(135deg, #eef2ff 0%, #ffffff 100%);
	padding: 52px 0;
}

.sunil-hero-grid {
	display: grid;
	gap: 24px;
	align-items: center;
}

.sunil-hero h1 {
	font-size: clamp(30px, 6vw, 48px);
	line-height: 1.15;
	margin: 0 0 14px;
}

.sunil-hero p {
	color: var(--sunil-muted);
	margin: 0 0 18px;
}

.sunil-hero-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.sunil-btn {
	background: var(--sunil-primary);
	color: #ffffff;
	border: 1px solid var(--sunil-primary);
	padding: 10px 16px;
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
}

.sunil-btn:hover,
.sunil-btn:focus-visible {
	filter: brightness(0.94);
	text-decoration: none;
}

.sunil-btn-outline {
	background: transparent;
	color: var(--sunil-primary);
}

.sunil-placeholder-card {
	min-height: 260px;
	background: #dbeafe;
	border-radius: var(--sunil-radius);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	color: #1e3a8a;
}

.sunil-section-title {
	margin: 0 0 20px;
	font-size: 28px;
}

.sunil-category-grid,
.sunil-feature-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
}

.sunil-category-item,
.sunil-feature-item {
	background: var(--sunil-bg-soft);
	border: 1px solid var(--sunil-border);
	border-radius: var(--sunil-radius);
	padding: 16px;
	display: block;
	color: var(--sunil-text);
	font-weight: 600;
}

.sunil-feature-item h3 {
	margin: 0;
	font-size: 18px;
}

.sunil-featured-products ul.products {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 20px;
}

/* Keep selectors generic to avoid clashing with ShopLentor widgets. */
.woocommerce ul.products li.product,
.sunil-featured-products .product {
	background: #ffffff;
	border: 1px solid var(--sunil-border);
	border-radius: var(--sunil-radius);
	padding: 14px;
	transition: box-shadow 0.2s ease;
}

.woocommerce ul.products li.product:hover {
	box-shadow: 0 8px 24px rgba(2, 6, 23, 0.08);
}

.woocommerce ul.products li.product .price {
	color: var(--sunil-primary);
	font-weight: 700;
}

.woocommerce span.onsale {
	background: var(--sunil-primary);
	color: #ffffff;
	padding: 4px 9px;
	border-radius: 999px;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	background: var(--sunil-primary);
	color: #ffffff;
	border-radius: 8px;
	border: 0;
	padding: 10px 14px;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover {
	background: #1d4ed8;
	color: #ffffff;
}

.sunil-deal-banner {
	background: #0b1120;
	color: #ffffff;
	border-radius: var(--sunil-radius);
	padding: 22px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.sunil-deal-banner h2,
.sunil-deal-banner p {
	margin: 0;
}

.sunil-newsletter {
	background: var(--sunil-bg-soft);
}

.sunil-newsletter-form {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-width: 520px;
}

.sunil-newsletter-form input {
	border: 1px solid var(--sunil-border);
	border-radius: 8px;
	padding: 12px 14px;
}

.sunil-post-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
}

.sunil-entry {
	background: #ffffff;
	border: 1px solid var(--sunil-border);
	border-radius: var(--sunil-radius);
	padding: 18px;
}

.site-footer {
	background: #020617;
	color: #e5e7eb;
	padding: 45px 0 20px;
}

.site-footer h3 {
	color: #ffffff;
	margin: 0 0 8px;
}

.site-footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer a {
	color: #cbd5e1;
}

.sunil-footer-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 22px;
}

.sunil-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	margin-top: 22px;
	padding-top: 14px;
}

/* WooCommerce pages */
.woocommerce .woocommerce-notices-wrapper > * {
	border-radius: 8px;
}

.woocommerce-info,
.woocommerce-message {
	border-top-color: var(--sunil-primary);
}

.woocommerce div.product {
	background: #ffffff;
	padding: 16px;
	border-radius: var(--sunil-radius);
}

.woocommerce-cart table.cart td,
.woocommerce-checkout table.shop_table td,
.woocommerce-checkout table.shop_table th {
	padding: 10px;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
	border: 1px solid var(--sunil-border);
	border-radius: 8px;
	padding: 10px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0 0 18px;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link a {
	display: block;
	padding: 10px 12px;
	border: 1px solid var(--sunil-border);
	margin-bottom: 8px;
	border-radius: 8px;
}

/* Elementor container compatibility */
.elementor-section,
.e-con {
	max-width: 100%;
}

@media (min-width: 700px) {
	.sunil-featured-products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sunil-category-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.sunil-feature-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sunil-newsletter-form {
		flex-direction: row;
	}
}

@media (min-width: 992px) {
	.sunil-menu-toggle {
		display: none;
	}

	.sunil-primary-nav {
		display: block;
		position: static;
	}

	.sunil-menu {
		flex-direction: row;
		gap: 18px;
	}

	.sunil-hero-grid {
		grid-template-columns: 1.1fr 1fr;
	}

	.sunil-featured-products ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.sunil-footer-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.sunil-post-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.sunil-deal-banner {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}
