/* ==========================================================================
   Parkingbox Shop – Archive (/shop, /categorie-produs/*, /tag-produs/*)
   Scoped sub #pb-shop.
   ========================================================================== */

#pb-shop {
	--pb-orange: #f57c00;
	--pb-orange-dark: #d96b00;
	--pb-ink: #0f1216;
	--pb-ink-2: #2a2f36;
	--pb-mute: #6b7380;
	--pb-line: #e9ebef;
	--pb-bg: #ffffff;
	--pb-bg-cream: #fdf6ee;
	--pb-font-head: 'Sora', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--pb-font-body: 'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--pb-radius: 14px;
	--pb-radius-lg: 22px;
	--pb-shadow: 0 1px 2px rgba(15,18,22,.04), 0 10px 30px -12px rgba(15,18,22,.08);
	--pb-shadow-hover: 0 6px 14px rgba(15,18,22,.08), 0 30px 60px -18px rgba(15,18,22,.18);

	background: var(--pb-bg-cream);
	font-family: var(--pb-font-body);
	color: var(--pb-ink);
	font-size: 16px;
	line-height: 1.55;
	overflow-x: hidden;
}

/* ─── ASTRA WRAPPER OVERRIDE — forțează full-width centrat ───────────── */
body.woocommerce.archive,
body.archive.woocommerce-page,
body.tax-product_cat,
body.tax-product_tag,
body.archive.post-type-archive-product {
	background: var(--pb-bg-cream) !important;
}
.archive.woocommerce-page .ast-container,
.archive.post-type-archive-product .ast-container,
.tax-product_cat .ast-container,
.tax-product_tag .ast-container {
	max-width: 100% !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	display: block !important;
}
.archive.woocommerce-page #primary,
.archive.post-type-archive-product #primary,
.tax-product_cat #primary,
.tax-product_tag #primary,
.archive.woocommerce-page .content-area.primary,
.archive.post-type-archive-product .content-area.primary,
.tax-product_cat .content-area.primary,
.tax-product_tag .content-area.primary {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}
.archive.woocommerce-page #secondary,
.archive.post-type-archive-product #secondary,
.tax-product_cat #secondary,
.tax-product_tag #secondary,
.archive.woocommerce-page .widget-area.secondary,
.tax-product_cat .widget-area.secondary,
.tax-product_tag .widget-area.secondary {
	display: none !important;
}
.archive.woocommerce-page .woocommerce-products-header,
.archive.post-type-archive-product .woocommerce-products-header,
.tax-product_cat .woocommerce-products-header,
.tax-product_tag .woocommerce-products-header,
.archive.woocommerce-page .ast-archive-description,
.tax-product_cat .ast-archive-description,
.tax-product_tag .ast-archive-description {
	display: none !important;
}

/* ─── Container intern (centrat) ─────────────────────────────────────── */
.pb-shop__container {
	width: 100%;
	max-width: 1320px;
	margin: 0 auto !important;
	padding: 0 32px;
	box-sizing: border-box;
}

/* ═════════════════════════ HERO (centrat) ══════════════════════════════ */
.pb-shop__hero {
	padding: 72px 0 40px;
	background: var(--pb-bg-cream);
	text-align: center;
}
.pb-shop__hero-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 22px;
}

.pb-shop__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	font-family: var(--pb-font-head);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--pb-orange);
}
.pb-shop__eyebrow-bar {
	display: inline-block;
	width: 56px;
	height: 2px;
	background: var(--pb-orange);
	border-radius: 2px;
}
.pb-shop__eyebrow-dot {
	opacity: .65;
	margin: 0 2px;
}

.pb-shop__title {
	font-family: var(--pb-font-head);
	font-weight: 800;
	font-size: clamp(40px, 6vw, 84px);
	line-height: 1.02;
	letter-spacing: -.025em;
	color: var(--pb-ink);
	margin: 0;
	text-transform: none;
	max-width: 1100px;
}
.pb-shop__title-r {
	display: inline-block;
	color: var(--pb-orange);
	font-size: .55em;
	vertical-align: super;
	margin-left: .08em;
	font-weight: 700;
}

.pb-shop__desc {
	font-family: var(--pb-font-body);
	font-size: 17px;
	line-height: 1.65;
	color: var(--pb-ink-2);
	max-width: 720px;
	margin: 0 auto;
}
.pb-shop__desc p { margin: 0 0 8px; }
.pb-shop__desc p:last-child { margin-bottom: 0; }

/* ═════════════════════════ TOOLBAR ══════════════════════════════════════ */
.pb-shop__toolbar {
	padding: 8px 0 24px;
	background: var(--pb-bg-cream);
}
.pb-shop__toolbar-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
}

/* Chips (centered, mari) */
.pb-shop__chips {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}
.pb-shop__chip {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 28px;
	background: #fff;
	border: 1.5px solid var(--pb-line);
	border-radius: 999px;
	color: var(--pb-ink-2);
	text-decoration: none;
	font-family: var(--pb-font-head);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .02em;
	white-space: nowrap;
	cursor: pointer;
	transition: all .18s ease;
	box-shadow: 0 1px 2px rgba(15,18,22,.04);
}
.pb-shop__chip:hover {
	border-color: var(--pb-ink-2);
	color: var(--pb-ink);
	transform: translateY(-1px);
}
.pb-shop__chip.is-active {
	background: var(--pb-ink);
	color: #fff;
	border-color: var(--pb-ink);
	box-shadow: 0 6px 18px -6px rgba(15,18,22,.35);
}
.pb-shop__chip-label { line-height: 1; }
.pb-shop__chip-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	padding: 0 6px;
	height: 20px;
	font-size: 11px;
	font-weight: 700;
	background: rgba(0,0,0,.07);
	color: inherit;
	border-radius: 999px;
	line-height: 1;
}
.pb-shop__chip.is-active .pb-shop__chip-count {
	background: rgba(255,255,255,.2);
	color: #fff;
}

/* Sort */
.pb-shop__sort { margin-top: 4px; }
.pb-shop__sort form.woocommerce-ordering { margin: 0; }
.pb-shop__sort select.orderby {
	appearance: none;
	-webkit-appearance: none;
	background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230f1216' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") no-repeat right 16px center;
	border: 1px solid var(--pb-line);
	border-radius: 999px;
	padding: 10px 40px 10px 20px;
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	color: var(--pb-ink-2);
	cursor: pointer;
	min-width: 220px;
	transition: border-color .15s ease;
}
.pb-shop__sort select.orderby:hover { border-color: var(--pb-orange); }
.pb-shop__sort select.orderby:focus {
	outline: none;
	border-color: var(--pb-orange);
	box-shadow: 0 0 0 3px rgba(245,124,0,.15);
}

/* ═════════════════════════ GRID PRODUSE ════════════════════════════════ */
.pb-shop__grid-wrap {
	padding: 32px 0 72px;
	background: var(--pb-bg-cream);
}
.pb-shop .pb-shop__grid-wrap ul.products,
.pb-shop .pb-shop__grid-wrap .products {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 28px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	justify-content: center;
}
.pb-shop .pb-shop__grid-wrap ul.products::before,
.pb-shop .pb-shop__grid-wrap ul.products::after { display: none !important; }

/* filtru chips: ascunde produsele care nu corespund.
   Specificitate mai mare decât regula ce pune display:flex !important pe card. */
.pb-shop .pb-shop__grid-wrap ul.products li.product.pb-hidden { display: none !important; }

.pb-shop .pb-shop__grid-wrap ul.products li.product {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #fff;
	border-radius: var(--pb-radius);
	overflow: hidden;
	box-shadow: var(--pb-shadow);
	transition: transform .25s ease, box-shadow .25s ease;
	position: relative;
	display: flex !important;
	flex-direction: column;
	align-items: center;
	text-align: center;
	clear: none !important;
	float: none !important;
	border: 1px solid var(--pb-line);
}
.pb-shop .pb-shop__grid-wrap ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: var(--pb-shadow-hover);
}

/* Image wrap */
.pb-shop ul.products li.product .astra-shop-thumbnail-wrap {
	width: 100% !important;
	aspect-ratio: 1 / 1;
	margin: 0 !important;
	padding: 0 !important;
	display: block !important;
	position: relative;
	overflow: hidden;
}
.pb-shop ul.products li.product > a,
.pb-shop ul.products li.product .astra-shop-thumbnail-wrap > a {
	display: block;
	text-decoration: none;
	color: inherit;
	width: 100%;
	height: 100%;
}
.pb-shop ul.products li.product img,
.pb-shop ul.products li.product .attachment-woocommerce_thumbnail {
	width: 100% !important;
	height: 100% !important;
	aspect-ratio: 1 / 1;
	object-fit: cover !important;
	display: block !important;
	margin: 0 !important;
	border-radius: 0 !important;
	transition: transform .4s ease;
}
.pb-shop ul.products li.product:hover img {
	transform: scale(1.04);
}

/* Sale badge */
.pb-shop ul.products li.product .onsale {
	position: absolute !important;
	top: 14px !important;
	left: 14px !important;
	right: auto !important;
	margin: 0 !important;
	min-height: 0 !important;
	min-width: 0 !important;
	background: var(--pb-orange) !important;
	color: #fff !important;
	font-family: var(--pb-font-head) !important;
	font-weight: 700 !important;
	font-size: 11px !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	padding: 6px 12px !important;
	border-radius: 999px !important;
	border: none !important;
	line-height: 1 !important;
	z-index: 3;
}

/* Astra summary wrap — flex col centrat */
.pb-shop ul.products li.product .astra-shop-summary-wrap {
	width: 100% !important;
	padding: 22px 22px 22px !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column;
	align-items: center;
	flex: 1 1 auto;
	gap: 10px;
	text-align: center;
}

/* Categoria deasupra titlului (text mic) */
.pb-shop ul.products li.product .ast-woo-product-category,
.pb-shop ul.products li.product .ast-woocommerce-product-category {
	font-family: var(--pb-font-head) !important;
	font-size: 11px !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
	color: var(--pb-mute) !important;
	margin: 0 !important;
	padding: 0 !important;
	font-weight: 600 !important;
}

/* Titlu produs */
.pb-shop ul.products li.product .woocommerce-loop-product__title,
.pb-shop ul.products li.product h2,
.pb-shop ul.products li.product .ast-woo-product-name {
	font-family: var(--pb-font-head) !important;
	font-weight: 700 !important;
	font-size: 19px !important;
	line-height: 1.3 !important;
	color: var(--pb-ink) !important;
	padding: 0 !important;
	margin: 0 !important;
	letter-spacing: -.005em;
	text-transform: none !important;
	min-height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}

/* Preț */
.pb-shop ul.products li.product .price,
.pb-shop ul.products li.product .ast-woo-product-price {
	font-family: var(--pb-font-head) !important;
	font-weight: 800 !important;
	color: var(--pb-orange) !important;
	font-size: 22px !important;
	padding: 0 !important;
	margin: 4px 0 0 !important;
	line-height: 1.2 !important;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: baseline;
	justify-content: center;
}
.pb-shop ul.products li.product .price del,
.pb-shop ul.products li.product .price del .woocommerce-Price-amount {
	color: var(--pb-mute) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	opacity: .75;
}
.pb-shop ul.products li.product .price ins {
	background: none !important;
	text-decoration: none !important;
	color: var(--pb-orange) !important;
}

/* TVA / Suffix preț */
.pb-shop ul.products li.product .woocommerce-price-suffix {
	font-size: 12px !important;
	color: var(--pb-mute) !important;
	font-weight: 600 !important;
	margin-left: 4px;
}

/* ═══════ HIDE CFVSW (color/option swatches) on archive ═══════ */
.pb-shop ul.products li.product .cfvsw_variations_form,
.pb-shop ul.products li.product .variations_form,
.pb-shop ul.products li.product .cfvsw-swatches-container,
.pb-shop ul.products li.product .cfvsw-shop-container,
.pb-shop ul.products li.product table.variations,
.pb-shop ul.products li.product .variations,
.pb-shop ul.products li.product .reset_variations,
.pb-shop ul.products li.product [class*="cfvsw"],
.pb-shop ul.products li.product .gtm4wp_productdata {
	display: none !important;
}

/* Star rating */
.pb-shop ul.products li.product .star-rating {
	margin: 0 !important;
	font-size: 12px !important;
}

/* Buton CTA — "Adaugă în coș" / "Selectează opțiunile" → stilizat unitar */
.pb-shop ul.products li.product .button,
.pb-shop ul.products li.product .added_to_cart,
.pb-shop ul.products li.product a.button.product_type_simple,
.pb-shop ul.products li.product a.button.product_type_variable {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	margin: 14px 0 0 !important;
	padding: 14px 28px !important;
	background: var(--pb-ink) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 999px !important;
	font-family: var(--pb-font-head) !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	letter-spacing: .03em !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: none !important;
	transition: background .2s ease, transform .2s ease !important;
	min-height: 0 !important;
	line-height: 1.3 !important;
	box-shadow: none !important;
	width: auto !important;
	max-width: 100%;
}
.pb-shop ul.products li.product .button:hover,
.pb-shop ul.products li.product .added_to_cart:hover {
	background: var(--pb-orange) !important;
	transform: translateY(-1px);
}
.pb-shop ul.products li.product .added_to_cart {
	background: var(--pb-orange) !important;
}

/* Empty filter state (la filtrare client-side) */
.pb-shop__empty-filter {
	grid-column: 1 / -1;
	text-align: center;
	padding: 48px 20px;
	color: var(--pb-mute);
	font-size: 15px;
}
.pb-shop__empty-filter p { margin: 0; }

/* Empty (server-side) */
.pb-shop__empty {
	text-align: center;
	padding: 80px 20px;
	background: #fff;
	border-radius: var(--pb-radius-lg);
	box-shadow: var(--pb-shadow);
}
.pb-shop__empty h2 {
	font-family: var(--pb-font-head);
	font-size: 28px;
	font-weight: 700;
	color: var(--pb-ink);
	margin: 0 0 12px;
}
.pb-shop__empty p {
	color: var(--pb-mute);
	margin: 0 0 24px;
}

/* Pagination */
.pb-shop__pagination {
	margin-top: 48px;
	display: flex;
	justify-content: center;
}
.pb-shop__pagination .woocommerce-pagination ul.page-numbers {
	display: inline-flex;
	gap: 6px;
	border: none;
	padding: 0;
	margin: 0;
}
.pb-shop__pagination .woocommerce-pagination ul.page-numbers li {
	border: none;
	margin: 0;
}
.pb-shop__pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	border-radius: 999px;
	background: #fff;
	color: var(--pb-ink-2);
	font-family: var(--pb-font-head);
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	border: 1px solid var(--pb-line);
	transition: all .15s ease;
}
.pb-shop__pagination .page-numbers:hover {
	border-color: var(--pb-orange);
	color: var(--pb-orange);
}
.pb-shop__pagination .page-numbers.current {
	background: var(--pb-ink);
	color: #fff;
	border-color: var(--pb-ink);
}

/* ═════════════════════════ TRUST STRIP ═════════════════════════════════ */
.pb-shop__trust {
	padding: 48px 0;
	background: var(--pb-ink);
	color: #fff;
}
.pb-shop__trust-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 32px;
}
.pb-shop__trust-item {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding-left: 20px;
	border-left: 2px solid var(--pb-orange);
}
.pb-shop__trust-item strong {
	font-family: var(--pb-font-head);
	font-weight: 700;
	font-size: 18px;
	letter-spacing: -.005em;
}
.pb-shop__trust-item span {
	font-size: 13px;
	color: rgba(255,255,255,.65);
	line-height: 1.45;
}

/* ═════════════════════════ CTA CustomBox ═══════════════════════════════ */
.pb-shop__cta {
	padding: 72px 0 96px;
	background: var(--pb-bg-cream);
}
.pb-shop__cta-box {
	background: linear-gradient(135deg, #fff 0%, #fff7ef 100%);
	border: 1px solid var(--pb-line);
	border-radius: var(--pb-radius-lg);
	padding: 56px 64px;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 40px;
	align-items: center;
	box-shadow: var(--pb-shadow);
	position: relative;
	overflow: hidden;
}
.pb-shop__cta-box::before {
	content: "";
	position: absolute;
	top: -60px;
	right: -60px;
	width: 240px;
	height: 240px;
	background: radial-gradient(circle, rgba(245,124,0,.12) 0%, transparent 70%);
	pointer-events: none;
}
.pb-shop__cta-text h2 {
	font-family: var(--pb-font-head);
	font-weight: 700;
	font-size: clamp(26px, 3vw, 34px);
	line-height: 1.15;
	color: var(--pb-ink);
	margin: 0 0 10px;
	letter-spacing: -.015em;
}
.pb-shop__cta-text p {
	color: var(--pb-ink-2);
	font-size: 16px;
	line-height: 1.55;
	margin: 0;
	max-width: 560px;
}
.pb-shop__cta-actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex-shrink: 0;
}
.pb-shop__cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 16px 28px;
	border-radius: 999px;
	font-family: var(--pb-font-head);
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	transition: all .2s ease;
	white-space: nowrap;
	letter-spacing: .01em;
}
.pb-shop__cta-btn--primary {
	background: var(--pb-orange);
	color: #fff;
	box-shadow: 0 6px 20px -8px rgba(245,124,0,.6);
}
.pb-shop__cta-btn--primary:hover {
	background: var(--pb-orange-dark);
	transform: translateY(-1px);
}
.pb-shop__cta-btn--ghost {
	background: transparent;
	color: var(--pb-ink);
	border: 1.5px solid var(--pb-ink);
}
.pb-shop__cta-btn--ghost:hover {
	background: var(--pb-ink);
	color: #fff;
}

/* ═════════════════════════ RESPONSIVE ══════════════════════════════════ */
@media (max-width: 1024px) {
	.pb-shop__hero { padding: 56px 0 28px; }
	.pb-shop .pb-shop__grid-wrap ul.products,
	.pb-shop .pb-shop__grid-wrap .products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
	.pb-shop__trust-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
	}
}

@media (max-width: 768px) {
	.pb-shop__container { padding: 0 20px; }
	.pb-shop__hero { padding: 40px 0 20px; }
	.pb-shop__title { font-size: clamp(32px, 9vw, 48px); }
	.pb-shop__desc { font-size: 15px; }
	.pb-shop__eyebrow { font-size: 11px; letter-spacing: .14em; }
	.pb-shop__eyebrow-bar { width: 40px; }
	.pb-shop__chips {
		flex-wrap: wrap;
		justify-content: center;
		gap: 8px;
		margin: 0;
		padding: 0;
	}
	.pb-shop__chip { padding: 10px 16px; font-size: 13px; }
	.pb-shop__sort select.orderby { min-width: 0; width: 100%; }
	.pb-shop__grid-wrap { padding: 20px 0 48px; }
	.pb-shop ul.products li.product img,
	.pb-shop ul.products li.product .attachment-woocommerce_thumbnail {
		height: 100% !important;
	}
	.pb-shop__cta-box {
		grid-template-columns: 1fr;
		padding: 36px 28px;
		text-align: center;
	}
	.pb-shop__cta-actions {
		flex-direction: column;
		width: 100%;
	}
	.pb-shop__cta-btn { width: 100%; }
}

@media (max-width: 540px) {
	.pb-shop .pb-shop__grid-wrap ul.products,
	.pb-shop .pb-shop__grid-wrap .products {
		grid-template-columns: 1fr !important;
		gap: 18px !important;
	}
	.pb-shop__trust-grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}
	.pb-shop ul.products li.product .woocommerce-loop-product__title { min-height: 0; }
}
