
/* =========================================================
   Carti-Tarot.ro v1.9.4
   FINAL MOBILE SHOP GRID + MOBILE NAV
   Loaded last, after all legacy CSS.
   ========================================================= */

/* Prevent horizontal overflow caused by old layout rules. */
@media (max-width: 900px) {
	html,
	body {
		max-width: 100%;
		overflow-x: hidden;
	}

	/* -----------------------------------------------------
	   SHOP LAYOUT
	   An older v1.5 rule forced 220px + content with !important.
	   This rule intentionally loads last and neutralizes it.
	   ----------------------------------------------------- */
	.woocommerce.archive .ct-woo > .ct-container,
	.post-type-archive-product .ct-woo > .ct-container,
	.tax-product_cat .ct-woo > .ct-container,
	.tax-product_tag .ct-woo > .ct-container {
		width: min(calc(100% - 28px), var(--ct-max)) !important;
		max-width: var(--ct-max) !important;
		margin-inline: auto !important;
		padding-inline: 0 !important;
		box-sizing: border-box !important;
	}

	.ct-v14-shop-layout {
		display: block !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.ct-v14-shop-results {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.ct-v14-shop-results ul.products,
	.woocommerce.archive ul.products,
	.post-type-archive-product ul.products,
	.tax-product_cat ul.products,
	.tax-product_tag ul.products {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.ct-v14-shop-results ul.products li.product,
	.woocommerce.archive ul.products li.product,
	.post-type-archive-product ul.products li.product,
	.tax-product_cat ul.products li.product,
	.tax-product_tag ul.products li.product {
		float: none !important;
		clear: none !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		margin: 0 !important;
	}

	/* Toolbar is compact but readable. */
	.ct-v14-shop-toolbar {
		display: grid !important;
		grid-template-columns: auto minmax(0, 1fr) !important;
		gap: 10px 12px !important;
		align-items: center !important;
		width: 100% !important;
		margin: 0 0 22px !important;
	}

	.ct-v18-filter-toggle {
		grid-column: 1 !important;
		grid-row: 1 !important;
		width: auto !important;
		min-width: 112px !important;
		min-height: 46px !important;
	}

	.ct-v14-shop-toolbar .woocommerce-result-count {
		grid-column: 2 !important;
		grid-row: 1 !important;
		width: auto !important;
		margin: 0 !important;
		text-align: right !important;
		line-height: 1.45 !important;
	}

	.ct-v14-shop-toolbar .woocommerce-ordering {
		grid-column: 1 / -1 !important;
		grid-row: 2 !important;
		width: 100% !important;
		margin: 0 !important;
	}

	.ct-v14-shop-toolbar .woocommerce-ordering select {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: 48px !important;
	}

	/* Filter drawer must not reserve layout space. */
	.ct-v14-shop-sidebar {
		position: fixed !important;
		left: 0 !important;
		top: 0 !important;
		bottom: 0 !important;
		z-index: 20000 !important;
		display: block !important;
		width: min(88vw, 370px) !important;
		max-width: 370px !important;
		height: 100dvh !important;
		margin: 0 !important;
		padding: 0 22px 32px !important;
		overflow-y: auto !important;
		border: 0 !important;
		border-right: 1px solid rgba(208,168,95,.18) !important;
		border-radius: 0 !important;
		background: #09070e !important;
		transform: translate3d(-105%,0,0) !important;
		transition: transform .24s ease !important;
		box-shadow: 30px 0 80px rgba(0,0,0,.48) !important;
	}

	.ct-v14-shop-sidebar.is-open {
		transform: translate3d(0,0,0) !important;
	}

	.ct-v18-filter-overlay {
		z-index: 19990 !important;
	}

	/* -----------------------------------------------------
	   MOBILE NAV
	   ----------------------------------------------------- */
	.ct-topbar {
		display: none !important;
	}

	.ct-site-header {
		position: sticky !important;
		top: 0 !important;
		z-index: 19000 !important;
		min-height: 72px !important;
		background: rgba(6,5,10,.98) !important;
		border-bottom: 1px solid rgba(208,168,95,.10) !important;
		backdrop-filter: blur(14px) !important;
	}

	body.admin-bar .ct-site-header {
		top: 32px !important;
	}

	.ct-header-main {
		position: relative !important;
		display: grid !important;
		grid-template-columns: minmax(0,1fr) auto !important;
		align-items: center !important;
		gap: 8px !important;
		width: min(calc(100% - 28px), var(--ct-max)) !important;
		min-height: 72px !important;
		margin-inline: auto !important;
		padding: 0 !important;
	}

	.ct-brand {
		min-width: 0 !important;
	}

	.ct-site-title {
		max-width: 185px !important;
	}

	.ct-header-actions {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 2px !important;
	}

	.ct-header-actions button,
	.ct-header-actions .ct-account-link,
	.ct-header-actions .ct-cart-link {
		display: grid !important;
		place-items: center !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		color: #f3edf5 !important;
	}

	.ct-account-link {
		display: none !important;
	}

	.ct-search-toggle {
		display: grid !important;
	}

	.ct-menu-toggle {
		display: flex !important;
		position: relative !important;
		z-index: 20020 !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
	}

	.ct-menu-toggle span:not(.screen-reader-text) {
		display: block !important;
		width: 24px !important;
		height: 2px !important;
		margin: 2.5px 0 !important;
		background: #f3edf5 !important;
		transition: transform .2s ease, opacity .2s ease !important;
	}

	body.ct-menu-open .ct-menu-toggle span:not(.screen-reader-text):nth-child(1) {
		transform: translateY(7px) rotate(45deg) !important;
	}
	body.ct-menu-open .ct-menu-toggle span:not(.screen-reader-text):nth-child(2) {
		opacity: 0 !important;
	}
	body.ct-menu-open .ct-menu-toggle span:not(.screen-reader-text):nth-child(3) {
		transform: translateY(-7px) rotate(-45deg) !important;
	}

	.ct-primary-nav {
		position: fixed !important;
		inset: 72px 0 0 !important;
		z-index: 20000 !important;
		display: none !important;
		width: 100vw !important;
		height: calc(100dvh - 72px) !important;
		margin: 0 !important;
		padding: 24px 22px 38px !important;
		overflow-y: auto !important;
		background:
			radial-gradient(circle at 90% 10%, rgba(91,48,112,.14), transparent 20rem),
			#08070d !important;
		border-top: 1px solid rgba(208,168,95,.08) !important;
		box-sizing: border-box !important;
	}

	body.admin-bar .ct-primary-nav {
		inset: 104px 0 0 !important;
		height: calc(100dvh - 104px) !important;
	}

	.ct-primary-nav.is-open {
		display: flex !important;
		flex-direction: column !important;
	}

	.ct-primary-nav .ct-menu {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		gap: 0 !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		list-style: none !important;
	}

	.ct-primary-nav .ct-menu > li {
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		border-bottom: 1px solid rgba(208,168,95,.10) !important;
	}

	.ct-primary-nav .ct-menu > li > a {
		display: flex !important;
		align-items: center !important;
		width: 100% !important;
		min-height: 58px !important;
		padding: 10px 2px !important;
		color: #eee7f0 !important;
		font-family: Georgia, "Times New Roman", serif !important;
		font-size: 1.42rem !important;
		font-weight: 400 !important;
		line-height: 1.2 !important;
		text-decoration: none !important;
	}

	.ct-primary-nav .ct-menu > li.current-menu-item > a,
	.ct-primary-nav .ct-menu > li > a:hover {
		color: var(--ct-v13-gold-soft) !important;
	}

	.ct-mobile-nav-tools {
		display: block !important;
		width: 100% !important;
		margin-top: auto !important;
		padding-top: 28px !important;
		border-top: 0 !important;
	}

	.ct-mobile-nav-search {
		width: 100% !important;
	}

	.ct-mobile-nav-search .ct-search-form {
		display: grid !important;
		grid-template-columns: minmax(0,1fr) auto !important;
		gap: 8px !important;
		width: 100% !important;
	}

	.ct-mobile-nav-search input[type="search"] {
		width: 100% !important;
		min-width: 0 !important;
		height: 48px !important;
		border: 1px solid rgba(208,168,95,.16) !important;
		background: #100d16 !important;
		color: #fff !important;
	}

	.ct-mobile-nav-search button {
		min-width: 74px !important;
		min-height: 48px !important;
	}

	.ct-mobile-account-link {
		display: flex !important;
		align-items: center !important;
		gap: 10px !important;
		width: 100% !important;
		min-height: 50px !important;
		margin-top: 12px !important;
		padding: 0 14px !important;
		border: 1px solid rgba(208,168,95,.14) !important;
		border-radius: 7px !important;
		background: #0e0b13 !important;
		color: #e1d9e4 !important;
		text-decoration: none !important;
	}

	body.ct-menu-open {
		overflow: hidden !important;
		touch-action: none !important;
	}

	/* Search panel below compact header. */
	.ct-search-panel {
		position: fixed !important;
		left: 0 !important;
		right: 0 !important;
		top: 72px !important;
		z-index: 19950 !important;
		padding: 14px 0 !important;
		background: #08070d !important;
		border-bottom: 1px solid rgba(208,168,95,.10) !important;
	}

	body.admin-bar .ct-search-panel {
		top: 104px !important;
	}
}

@media (max-width: 782px) {
	body.admin-bar .ct-site-header {
		top: 46px !important;
	}
	body.admin-bar .ct-primary-nav {
		inset: 118px 0 0 !important;
		height: calc(100dvh - 118px) !important;
	}
	body.admin-bar .ct-search-panel {
		top: 118px !important;
	}
}

@media (max-width: 700px) {
	.ct-v14-shop-hero {
		margin-bottom: 28px !important;
		padding: 44px 18px !important;
	}

	.ct-v14-shop-hero h1 {
		font-size: clamp(2.7rem, 13vw, 3.45rem) !important;
	}

	.ct-v14-shop-hero > p:last-child {
		font-size: .92rem !important;
		line-height: 1.62 !important;
	}

	/* Cards use all available space without becoming cramped. */
	.ct-v14-shop-results ul.products,
	.woocommerce.archive ul.products,
	.post-type-archive-product ul.products,
	.tax-product_cat ul.products,
	.tax-product_tag ul.products {
		gap: 10px !important;
	}

	.ct-v14-shop-results ul.products li.product .woocommerce-loop-product__title,
	.woocommerce.archive ul.products li.product .woocommerce-loop-product__title {
		min-height: 3.9em !important;
		max-height: 3.9em !important;
		margin: 0 8px 7px !important;
		padding: 0 !important;
		font-size: 12.5px !important;
		line-height: 1.3 !important;
	}

	.ct-v14-shop-results ul.products li.product .price,
	.woocommerce.archive ul.products li.product .price {
		margin: auto 8px 10px !important;
		font-size: 12px !important;
	}

	.ct-v14-shop-results ul.products li.product .button,
	.woocommerce.archive ul.products li.product .button {
		width: calc(100% - 16px) !important;
		min-width: 0 !important;
		min-height: 44px !important;
		margin: 0 8px !important;
		padding: 8px 5px !important;
		font-size: 10.5px !important;
	}

	.ct-site-title {
		gap: 8px !important;
	}

	.ct-brand-symbol {
		width: 34px !important;
		height: 34px !important;
	}

	.ct-brand-copy strong {
		font-size: .98rem !important;
	}

	.ct-brand-copy small {
		font-size: .57rem !important;
	}
}

@media (max-width: 380px) {
	.woocommerce.archive .ct-woo > .ct-container,
	.post-type-archive-product .ct-woo > .ct-container,
	.tax-product_cat .ct-woo > .ct-container,
	.tax-product_tag .ct-woo > .ct-container,
	.ct-header-main {
		width: calc(100% - 20px) !important;
	}

	.ct-header-actions button,
	.ct-header-actions .ct-cart-link,
	.ct-menu-toggle {
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
	}

	.ct-v14-shop-results ul.products,
	.woocommerce.archive ul.products,
	.post-type-archive-product ul.products,
	.tax-product_cat ul.products,
	.tax-product_tag ul.products {
		gap: 8px !important;
	}
}
