
/* ═══════════════════════════════════════════════════════════════
   সময় ফার্নিচার মার্ট — global helpers
   Elementor owns layout, colour and type. This file only carries
   things Elementor controls cannot express (marquee, mobile menu
   shell, Bangla letter-spacing guards).
   ═══════════════════════════════════════════════════════════════ */

:root {
	--sh-brand: #0A1F5C;
	--sh-brand-dark: #050F33;
	--sh-ink: #0B1230;
	--sh-muted: #5B6478;
	--sh-red: #D9251C;
	--sh-green: #1B7A43;
	--sh-gold: #F3C21A;
	--sh-gold-ink: #C08A00;
	--sh-paper-soft: #FBF6EC;
	--sh-dark: #081538;
	--sh-shell: 1300px;
	--sh-ease: cubic-bezier(.22, .75, .2, 1);
}

/* Bangla never gets wide tracking */
html[lang^="bn"] h1, html[lang^="bn"] h2, html[lang^="bn"] h3,
html[lang^="bn"] h4, html[lang^="bn"] h5, html[lang^="bn"] h6,
html[lang^="bn"] p, html[lang^="bn"] a, html[lang^="bn"] span,
html[lang^="bn"] li, html[lang^="bn"] button,
html[lang^="bn"] .elementor-heading-title {
	letter-spacing: 0 !important;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	background-color: #fff;
}

.elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* Images inside cards never stretch */
.elementor-widget-image img { display: block; }

/* ── Buttons ─────────────────────────────────────────────────── */
.elementor-button {
	transition: background-color .3s var(--sh-ease), color .3s var(--sh-ease),
		transform .3s var(--sh-ease), box-shadow .3s var(--sh-ease);
}
.elementor-button:hover { transform: translateY(-1px); }

/* ── Header ──────────────────────────────────────────────────── */
.shomoy-header .elementor-widget-theme-site-logo img {
	height: auto;
	transition: transform .4s var(--sh-ease);
}
.shomoy-header .elementor-widget-theme-site-logo a:hover img { transform: scale(1.03); }

/* icon buttons: square hit area */
.shomoy-header .elementor-search-form__toggle,
.shomoy-header .elementor-menu-cart__toggle_button {
	width: 42px !important;
	height: 42px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 999px !important;
}

/* cart: icon only, compact badge */
.shomoy-header .elementor-menu-cart__toggle_button {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}
.shomoy-header .elementor-menu-cart__toggle_button .elementor-button-text { display: none !important; }
.shomoy-header .elementor-menu-cart__toggle_button .elementor-button-icon svg {
	width: 22px;
	height: 22px;
}
.shomoy-header .elementor-menu-cart__toggle_button .elementor-button-icon-qty[data-counter] {
	min-width: 18px;
	height: 18px;
	line-height: 18px;
	padding: 0 4px;
	font-size: 10px;
	font-weight: 700;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* Mobile menu: full screen panel */
@media (max-width: 1024px) {
	.shomoy-header .elementor-widget-nav-menu { width: auto; }

	.shomoy-header .elementor-menu-toggle {
		position: relative;
		z-index: 100001;
		width: 42px;
		height: 42px;
		border-radius: 999px;
		justify-content: center;
	}

	.shomoy-header nav.elementor-nav-menu--dropdown {
		position: fixed !important;
		inset: 0 !important;
		width: 100% !important;
		max-height: none !important;
		height: 100dvh;
		background: #fff !important;
		padding: 6.5rem 1.6rem 2rem !important;
		z-index: 100000;
		overflow-y: auto;
		display: none;
	}
	.shomoy-header nav.elementor-nav-menu--dropdown.elementor-active,
	.shomoy-header nav.elementor-nav-menu--dropdown[aria-hidden="false"] {
		display: block !important;
	}

	.shomoy-header nav.elementor-nav-menu--dropdown ul.elementor-nav-menu {
		display: block !important;
	}
	.shomoy-header nav.elementor-nav-menu--dropdown li { width: 100%; }
	.shomoy-header nav.elementor-nav-menu--dropdown a.elementor-item {
		display: block;
		font-family: 'Noto Sans Bengali', Georgia, serif !important;
		font-size: 1.4rem !important;
		font-weight: 600 !important;
		line-height: 1.35 !important;
		letter-spacing: 0 !important;
		color: var(--sh-ink) !important;
		background: transparent !important;
		padding: 1.05rem .15rem !important;
		border-bottom: 1px solid rgba(11,18,48, .08);
	}
	.shomoy-header nav.elementor-nav-menu--dropdown a.elementor-item:hover,
	.shomoy-header nav.elementor-nav-menu--dropdown a.elementor-item.elementor-item-active {
		color: var(--sh-brand) !important;
		background: transparent !important;
	}

	/* close button = the toggle icon in active state */
	.shomoy-header .elementor-menu-toggle.elementor-active {
		position: fixed;
		top: 1.35rem;
		right: 1.1rem;
		color: var(--sh-ink) !important;
		background: rgba(11,18,48, .05) !important;
	}
	.shomoy-header .elementor-menu-toggle.elementor-active svg { fill: var(--sh-ink) !important; }
}

/* Tablet/mobile: stacked section columns fill the row */
@media (max-width: 1024px) {
	#top .e-con-inner > .e-con,
	#story .e-con-inner > .e-con,
	#visit .e-con-inner > .e-con,
	#featured .e-con-inner > .e-con,
	#bestsellers .e-con-inner > .e-con {
		--width: 100% !important;
	}
	#top .e-con-inner > .e-con > .elementor-widget,
	#story .e-con-inner > .e-con > .elementor-widget,
	#visit .e-con-inner > .e-con > .elementor-widget {
		width: 100%;
	}
}

/* Mobile gutter for every boxed container */
@media (max-width: 767px) {
	.e-con-boxed > .e-con-inner {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
}

/* ── Marquee / ticker ────────────────────────────────────────── */
.sh-marquee { overflow: hidden; color: #fff; }
.sh-marquee__track {
	display: flex;
	align-items: center;
	gap: 2.5rem;
	width: max-content;
	animation: sh-marquee 34s linear infinite;
}
.sh-marquee__track > span { white-space: nowrap; }
.sh-marquee:hover .sh-marquee__track { animation-play-state: paused; }

@keyframes sh-marquee {
	from { transform: translate3d(0, 0, 0); }
	to   { transform: translate3d(-50%, 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
	.sh-marquee__track { animation: none; }
	html { scroll-behavior: auto; }
}

/* ── Newsletter form: inline field + button ──────────────────── */
.sh-newsletter-form .elementor-form-fields-wrapper {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}
.sh-newsletter-form .elementor-field-group {
	flex: 1 1 260px;
	margin-bottom: 0 !important;
}
.sh-newsletter-form .elementor-field-group .elementor-field { width: 100%; }
.sh-newsletter-form .elementor-field-group .elementor-field-label { display: none; }
.sh-newsletter-form .e-form__buttons {
	flex: 0 0 auto;
	margin-bottom: 0 !important;
}
.sh-newsletter-form .elementor-button { white-space: nowrap; }
.sh-newsletter-form .elementor-message { margin-top: 10px; }

/* ── Best seller carousel controls ───────────────────────────── */
.sh-carousel .elementor-swiper-button {
	width: 42px;
	height: 42px;
	border-radius: 999px;
	background: #FFFFFF;
	color: var(--sh-ink);
	border: 1px solid rgba(11,18,48, .08);
	box-shadow: 0 10px 24px -12px rgba(0, 0, 0, .55);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .3s var(--sh-ease), color .3s var(--sh-ease), transform .3s var(--sh-ease);
}
.sh-carousel .elementor-swiper-button:hover {
	background: var(--sh-gold);
	border-color: var(--sh-gold);
	color: #0B1230;
	transform: scale(1.05);
}
.sh-carousel .elementor-swiper-button i { font-size: 15px; }
.sh-carousel .elementor-swiper-button svg { width: 16px; height: 16px; fill: currentColor; }

.sh-carousel .swiper-pagination {
	position: static;
	margin-top: 26px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	gap: 8px;
}
.sh-carousel .swiper-pagination-bullet {
	background: rgba(255, 255, 255, .28);
	opacity: 1;
	width: 7px;
	height: 7px;
	transition: all .3s var(--sh-ease);
}
.sh-carousel .swiper-pagination-bullet-active {
	background: var(--sh-gold);
	width: 24px;
	border-radius: 999px;
}

/* ── Product loop cards ──────────────────────────────────────── */
.sh-product-card .elementor-widget-image img {
	transition: transform .7s var(--sh-ease);
	will-change: transform;
	width: 100%;
	display: block;
}
.sh-product-card .sh-card-media-wrap { overflow: hidden; }
.sh-product-card .elementor-widget-woocommerce-product-title { margin: 0; }
.sh-product-card .elementor-widget-woocommerce-product-title .product_title {
	margin: 0;
	font-size: 1.15rem;
	line-height: 1.4;
}
.sh-product-card .elementor-widget-woocommerce-product-title a {
	color: inherit;
	text-decoration: none;
}
.sh-product-card .elementor-widget-woocommerce-product-price .price { margin: 0; }
.sh-product-card .elementor-widget-woocommerce-product-price .price del { opacity: .5; font-size: .85em; }
.sh-product-card:hover {
	transform: translateY(-4px);
	transition: transform .45s var(--sh-ease), box-shadow .45s var(--sh-ease);
}
.sh-product-card:hover .elementor-widget-image img { transform: scale(1.045); }

/* ── WooCommerce basics ──────────────────────────────────────── */
.woocommerce .price,
.woocommerce-Price-amount { letter-spacing: 0; }

.woocommerce-notices-wrapper:empty { display: none; }

/* Elementor canvas pages: no theme padding */
.elementor-template-full-width .site-content { padding: 0; }
