/*
 * TopVape approved storefront showcase layout.
 * Desktop: premium black/gold wide header + hero + category strip.
 * Mobile: balanced two-column commerce cards with compact header.
 */

/* ──────────────────────────────────────
   Header
   ────────────────────────────────────── */
.topvape-showcase-header {
	background: rgba(8, 8, 10, .96);
	backdrop-filter: blur(18px);
}

.topvape-showcase-header .topvape-header-main {
	min-height: 88px;
	gap: clamp(1.25rem, 3vw, 3rem);
}

.topvape-showcase-branding {
	display: grid;
	flex: 0 0 auto;
	gap: .15rem;
	min-width: 180px;
}

.topvape-showcase-branding .site-title,
.topvape-showcase-branding .custom-logo-link {
	color: var(--topvape-gold);
	font-size: clamp(1.45rem, 2vw, 2rem);
	font-weight: 800;
	letter-spacing: -.02em;
}

.topvape-showcase-branding .custom-logo {
	width: auto;
	max-width: 190px;
	max-height: 46px;
}

.topvape-showcase-branding .site-description {
	color: var(--topvape-muted);
	font-size: .72rem;
	line-height: 1.35;
}

.topvape-showcase-header .topvape-primary-nav {
	min-width: 0;
}

.topvape-showcase-header .topvape-mega-menu {
	gap: clamp(1rem, 2.2vw, 2.25rem);
}

.topvape-showcase-header .topvape-mega-menu > li > a {
	padding-block: 1rem;
	font-size: .9rem;
	font-weight: 650;
	white-space: nowrap;
}

.topvape-showcase-header .topvape-header-actions {
	flex: 0 0 auto;
	gap: .6rem;
}

.topvape-desktop-language {
	min-width: 132px;
}

.topvape-desktop-language .topvape-language-switcher__list {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem .6rem;
	margin: 0;
	padding: .55rem .75rem;
	background: #151519;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 8px;
	list-style: none;
}

.topvape-desktop-language .topvape-language-switcher__list a {
	font-size: .76rem;
	white-space: nowrap;
}

.topvape-mobile-language {
	display: none;
}

/* ──────────────────────────────────────
   Homepage hero / section rhythm
   ────────────────────────────────────── */
.topvape-homepage .hero {
	min-height: min(610px, 68vh);
	padding-block: clamp(5rem, 9vw, 8rem);
	background:
		radial-gradient(circle at 76% 50%, rgba(185, 28, 28, .28), transparent 32%),
		linear-gradient(110deg, #09090b 0%, #130908 48%, #320605 100%);
}

.topvape-homepage .hero__inner {
	max-width: 720px;
}

.topvape-homepage .hero__eyebrow {
	background: transparent;
	border-color: rgba(212,184,122,.72);
	color: var(--topvape-gold-light);
}

.topvape-homepage .hero__title {
	font-size: clamp(3rem, 6vw, 5.6rem);
}

.topvape-homepage .front-section {
	padding-block: clamp(3.25rem, 6vw, 5.5rem);
}

.topvape-homepage .section-heading {
	align-items: end;
	margin-bottom: clamp(1.4rem, 3vw, 2.5rem);
}

.topvape-homepage .section-heading__eyebrow {
	color: var(--topvape-gold);
}

.topvape-homepage .section-heading__title {
	font-size: clamp(1.8rem, 3vw, 2.6rem);
}

.front-section--featured-categories {
	background: linear-gradient(180deg, #09090b, #0d0d10);
}

.front-section--featured-categories .topvape-category-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem;
}

.front-section--featured-categories .topvape-category-card {
	min-height: 170px;
	background: linear-gradient(145deg, #18181c, #111114);
}

.front-section--featured-categories .topvape-category-card__media {
	aspect-ratio: 16 / 8.5;
}

/* ──────────────────────────────────────
   WooCommerce product grids — hard reset
   Prevent core columns-N widths from narrowing cards.
   ────────────────────────────────────── */
.woocommerce ul.products,
.woocommerce-page ul.products,
.woocommerce[class*="columns-"] ul.products,
.woocommerce-page[class*="columns-"] ul.products,
.topvape-homepage ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 1.35rem !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce[class*="columns-"] ul.products li.product,
.woocommerce-page[class*="columns-"] ul.products li.product,
.topvape-homepage ul.products li.product {
	float: none !important;
	clear: none !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
}

.topvape-product-card,
.woocommerce ul.products li.product {
	background: linear-gradient(180deg, #17171b 0%, #121216 100%);
	border-color: rgba(255,255,255,.13);
}

.topvape-product-card__media,
.woocommerce ul.products li.product a img {
	aspect-ratio: 1 / .92;
	background: #111115;
}

.topvape-product-card__media img,
.woocommerce ul.products li.product a img {
	object-fit: cover;
}

.topvape-product-card__body {
	gap: .5rem;
	padding: 1rem 1rem 1.1rem;
}

.topvape-product-card__brand {
	font-size: .76rem;
	font-weight: 750;
	letter-spacing: .08em;
}

.topvape-product-card__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	min-height: 2.85em;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.42;
	word-break: normal;
	overflow-wrap: anywhere;
}

.topvape-product-card__action .button,
.woocommerce ul.products li.product .button {
	width: 100%;
	margin-inline: 0 !important;
	border-radius: 8px;
}

/* ──────────────────────────────────────
   Footer
   ────────────────────────────────────── */
.topvape-showcase-footer {
	margin-top: clamp(3rem, 7vw, 6rem);
	background: linear-gradient(180deg, #0b0b10 0%, #08080c 100%);
	border-top: 1px solid rgba(255,255,255,.08);
}

.topvape-showcase-footer__grid {
	display: grid;
	grid-template-columns: minmax(260px, 1.35fr) repeat(3, minmax(150px, .75fr));
	gap: clamp(2rem, 4vw, 4rem);
	padding-block: clamp(3rem, 6vw, 5rem);
}

.topvape-showcase-footer__brand {
	display: grid;
	align-content: start;
	gap: 1rem;
}

.topvape-showcase-footer__brand .site-title,
.topvape-showcase-footer__brand .custom-logo-link {
	color: var(--topvape-gold);
	font-size: 1.8rem;
	font-weight: 800;
}

.topvape-showcase-footer__brand .custom-logo {
	max-width: 180px;
	max-height: 44px;
	width: auto;
}

.topvape-showcase-footer__intro {
	max-width: 34rem;
	margin: 0;
	color: var(--topvape-muted-light);
	line-height: 1.8;
}

.topvape-showcase-footer__contact {
	display: grid;
	gap: .45rem;
	margin-top: .25rem;
	color: var(--topvape-muted);
	font-size: .9rem;
}

.topvape-showcase-footer__contact a {
	color: var(--topvape-muted-light);
}

.topvape-showcase-footer__column h2 {
	margin: 0 0 1rem;
	color: var(--topvape-text);
	font-size: 1rem;
	font-weight: 750;
}

.topvape-showcase-footer__column ul {
	display: grid;
	gap: .72rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.topvape-showcase-footer__column a {
	color: var(--topvape-muted-light);
	font-size: .92rem;
	text-decoration: none;
}

.topvape-showcase-footer__column a:hover,
.topvape-showcase-footer__column a:focus-visible {
	color: var(--topvape-gold-light);
}

.topvape-showcase-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding-block: 1.2rem 1.5rem;
	border-top: 1px solid rgba(255,255,255,.08);
	color: var(--topvape-muted);
	font-size: .78rem;
}

.topvape-showcase-footer__bottom p {
	margin: 0;
}

/* ──────────────────────────────────────
   Tablet
   ────────────────────────────────────── */
@media (max-width: 1023px) {
	.topvape-desktop-language {
		display: none;
	}

	.topvape-mobile-language {
		display: block;
		padding-top: .7rem;
		font-size: .82rem;
	}

	.topvape-mobile-language .topvape-language-switcher__list {
		display: flex;
		gap: .7rem;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.topvape-showcase-header .topvape-header-main {
		min-height: 76px;
	}

	.topvape-showcase-branding {
		min-width: 0;
		margin-inline: auto;
		text-align: center;
	}

	.topvape-showcase-branding .site-description {
		display: none;
	}

	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce[class*="columns-"] ul.products,
	.woocommerce-page[class*="columns-"] ul.products,
	.topvape-homepage ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.topvape-showcase-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.topvape-showcase-footer__brand {
		grid-column: 1 / -1;
	}
}

/* ──────────────────────────────────────
   Mobile
   ────────────────────────────────────── */
@media (max-width: 767px) {
	:root {
		--topvape-mobile-gutter: 18px;
	}

	.topvape-container {
		width: calc(100% - (var(--topvape-mobile-gutter) * 2));
	}

	.topvape-mobile-language {
		padding-top: 1rem;
	}

	.topvape-mobile-language .topvape-language-switcher--fallback {
		font-size: .95rem;
	}

	.topvape-showcase-header .topvape-header-main {
		min-height: 72px;
		gap: .5rem;
	}

	.topvape-showcase-header .topvape-menu-toggle {
		width: 48px;
		height: 48px;
		padding: 10px 8px;
	}

	.topvape-showcase-branding {
		flex: 1;
	}

	.topvape-showcase-branding .site-title {
		font-size: 1.55rem;
	}

	.topvape-showcase-branding .custom-logo {
		max-width: 132px;
		max-height: 38px;
	}

	.topvape-showcase-header .topvape-header-actions {
		gap: .05rem;
	}

	.topvape-showcase-header .topvape-action-link {
		min-width: 38px;
		min-height: 44px;
		padding-inline: .25rem;
	}

	.topvape-homepage .hero {
		min-height: 440px;
		padding-block: 4.25rem 3.5rem;
	}

	.topvape-homepage .hero__title {
		font-size: clamp(2.5rem, 13vw, 4rem);
	}

	.topvape-homepage .hero__subtitle {
		max-width: 29rem;
	}

	.topvape-homepage .front-section {
		padding-block: 3rem;
	}

	.topvape-homepage .section-heading {
		display: grid;
		grid-template-columns: 1fr auto;
		gap: .2rem 1rem;
		align-items: end;
	}

	.topvape-homepage .section-heading__eyebrow {
		grid-column: 1 / -1;
	}

	.topvape-homepage .section-heading__title {
		font-size: clamp(1.9rem, 8vw, 2.65rem);
	}

	.front-section--featured-categories .topvape-category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .8rem;
	}

	.front-section--featured-categories .topvape-category-card__media {
		aspect-ratio: 1;
	}

	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce[class*="columns-"] ul.products,
	.woocommerce-page[class*="columns-"] ul.products,
	.topvape-homepage ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
		width: 100% !important;
	}

	.woocommerce ul.products li.product,
	.woocommerce-page ul.products li.product,
	.woocommerce[class*="columns-"] ul.products li.product,
	.woocommerce-page[class*="columns-"] ul.products li.product,
	.topvape-homepage ul.products li.product {
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
	}

	.topvape-product-card__media,
	.woocommerce ul.products li.product a img {
		aspect-ratio: 1 / .96;
	}

	.topvape-product-card__body {
		padding: .75rem .75rem .85rem;
	}

	.topvape-product-card__brand {
		font-size: .66rem;
	}

	.topvape-product-card__title,
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		min-height: 2.75em;
		font-size: .84rem;
		line-height: 1.38;
	}

	.topvape-product-card__price,
	.woocommerce ul.products li.product .price {
		font-size: .9rem;
	}

	.topvape-product-card__action .button,
	.woocommerce ul.products li.product .button {
		min-height: 42px;
		padding: .55rem .45rem;
		font-size: .76rem;
	}

	.topvape-badge {
		font-size: .58rem;
	}

	.topvape-showcase-footer__grid {
		grid-template-columns: 1fr;
		gap: 2rem;
		padding-block: 2.75rem;
	}

	.topvape-showcase-footer__brand {
		grid-column: auto;
	}

	.topvape-showcase-footer__column {
		padding-top: 1rem;
		border-top: 1px solid rgba(255,255,255,.08);
	}

	.topvape-showcase-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
		gap: .65rem;
		padding-bottom: 5rem;
	}
}

@media (max-width: 380px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce[class*="columns-"] ul.products,
	.woocommerce-page[class*="columns-"] ul.products,
	.topvape-homepage ul.products {
		gap: 8px !important;
	}

	.topvape-product-card__body {
		padding: .65rem .62rem .72rem;
	}
}
