/* ==========================================================================
   Mobil — bottom navigation, meniu offcanvas, ajustări touch
   Se aplică doar sub 768px; pe desktop totul rămâne neschimbat.
   ========================================================================== */

.lnit-bottom-nav,
.lnit-offcanvas,
.lnit-offcanvas-overlay {
	display: none;
}

@media (max-width: 768px) {

	/* ---------- Bottom navigation ---------- */
	.lnit-bottom-nav {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 997;
		background: var(--gp-bg-alt);
		border-top: 1px solid var(--gp-border);
		box-shadow: 0 -2px 12px rgba(17, 24, 39, 0.08);
		/* Respectă zona sigură de pe iPhone-uri cu notch. */
		padding-bottom: env(safe-area-inset-bottom, 0);
	}

	.lnit-bottom-nav__item {
		flex: 1;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 3px;
		padding: 8px 4px;
		min-height: 56px;
		color: var(--gp-text-muted);
		text-decoration: none;
		font-size: 0.68rem;
		font-weight: 600;
		background: none;
		border: none;
		cursor: pointer;
		position: relative;
		transition: color var(--gp-transition);
	}

	.lnit-bottom-nav__item:hover,
	.lnit-bottom-nav__item.is-active {
		color: var(--gp-primary);
	}

	.lnit-bottom-nav__icon {
		font-size: 1.15rem;
		line-height: 1;
	}

	.lnit-bottom-nav__badge {
		position: absolute;
		top: 4px;
		right: 50%;
		transform: translateX(18px);
		min-width: 16px;
		height: 16px;
		padding: 0 4px;
		border-radius: 999px;
		background: var(--gp-accent-btn);
		color: #fff;
		font-size: 0.62rem;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	/* Spațiu în josul paginii ca bara să nu acopere conținutul/footerul. */
	body {
		padding-bottom: 56px;
	}

	/* Pe pagina de produs bara de cumpărare stă DEASUPRA bottom nav-ului,
	   ca cele două să nu se suprapună. */
	.lnit-sticky-buy {
		bottom: 56px;
	}

	.single-product body,
	body.single-product {
		padding-bottom: 56px;
	}

	/* ---------- Meniu offcanvas ---------- */
	.lnit-offcanvas-overlay {
		display: block;
		position: fixed;
		inset: 0;
		background: rgba(17, 24, 39, 0.5);
		opacity: 0;
		visibility: hidden;
		transition: opacity var(--gp-transition), visibility var(--gp-transition);
		z-index: 1000;
	}

	.lnit-offcanvas-overlay.is-open {
		opacity: 1;
		visibility: visible;
	}

	.lnit-offcanvas {
		display: flex;
		flex-direction: column;
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		width: min(86vw, 340px);
		background: var(--gp-bg-alt);
		z-index: 1001;
		transform: translateX(-100%);
		transition: transform 260ms cubic-bezier(0.4, 0, 0.2, 1);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.lnit-offcanvas.is-open {
		transform: translateX(0);
	}

	.lnit-offcanvas__head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: var(--gp-space-2);
		border-bottom: 1px solid var(--gp-border);
	}

	.lnit-offcanvas__title {
		font-weight: 800;
		font-size: 1rem;
	}

	.lnit-offcanvas__close {
		width: 40px;
		height: 40px;
		border-radius: 50%;
		border: none;
		background: var(--gp-bg);
		color: var(--gp-text);
		font-size: 1.4rem;
		line-height: 1;
		cursor: pointer;
	}

	.lnit-offcanvas__body {
		padding: var(--gp-space-2);
	}

	.lnit-offcanvas__body ul {
		list-style: none;
		margin: 0;
		padding: 0;
	}

	.lnit-offcanvas__body li {
		border-bottom: 1px solid var(--gp-border);
	}

	.lnit-offcanvas__body li:last-child {
		border-bottom: none;
	}

	.lnit-offcanvas__body a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 8px;
		/* Țintă de atingere confortabilă (min. 44px recomandat). */
		min-height: 48px;
		padding: 12px 8px;
		color: var(--gp-text);
		text-decoration: none;
		font-size: 0.95rem;
		font-weight: 600;
	}

	.lnit-offcanvas__body a:hover {
		color: var(--gp-primary);
	}

	/* Subcategoriile din offcanvas, indentate și mai discrete. */
	.lnit-offcanvas__body .lnit-oc-sub a {
		padding-left: var(--gp-space-3);
		font-weight: 500;
		font-size: 0.9rem;
		color: var(--gp-text-muted);
		min-height: 44px;
	}

	body.lnit-offcanvas-open {
		overflow: hidden;
	}

	/* ---------- Ajustări touch generale ---------- */
	/* Pe touch nu există hover, deci acțiunile rapide din carduri
	   trebuie să fie mereu vizibile, nu doar la hover. */
	.lnit-product-card__quick-actions {
		opacity: 1;
		transform: none;
	}

	.lnit-quick-action {
		width: 40px;
		height: 40px;
	}

	/* Panoul de căutare ocupă toată lățimea, cu buton mai mare. */
	.lnit-search-form {
		flex-direction: column;
	}

	.lnit-search-form .lnit-btn {
		width: 100%;
		padding: 12px;
	}

	/* Bara de filtre din shop devine colapsabilă vizual (deja e statică). */
	.lnit-shop-filters {
		margin-bottom: var(--gp-space-3);
	}
}

/* Ecrane foarte mici: eticheta din bottom nav devine mai compactă. */
@media (max-width: 360px) {
	.lnit-bottom-nav__item {
		font-size: 0.62rem;
	}
}
