/* PA Shop Builder — category landing pages and blocks. */
:root {
	--pasb-accent: var(--ast-global-color-1, #5511f8);
	--pasb-text: #070707;
	--pasb-muted: var(--ast-global-color-3, #454f5e);
	--pasb-line: #e0e0e0;
	--pasb-soft: var(--ast-global-color-6, #d8d8f5);
	--pasb-tint: var(--ast-global-color-4, #f2f0fe);
}

.pasb-landing { padding-bottom: 60px; }
/* Astra's plain container adds 4em above and below the content area. */
.pasb-landing-page #primary.pasb-primary { margin-top: 0; margin-bottom: 0; padding-top: 0; }
.pasb-landing *,
.pasb-block * { box-sizing: border-box; }

/* ---------- header: H1 (1200), breadcrumb (1200), short description (1000) ---------- */
.pasb-head {
	padding-top: 30px;
}
.pasb-head__title,
.pasb-breadcrumb {
	max-width: 1200px;
	margin-left: auto !important;
	margin-right: auto !important;
}
.pasb-head__title {
	margin-top: 0;
	margin-bottom: 30px;
	color: var(--pasb-text);
	font-size: 32px;
	line-height: 40px;
	font-weight: 600;
}
.pasb-breadcrumb {
	margin-bottom: 20px;
	color: var(--ast-global-color-7, #0d0614);
	font-size: 16px;
	line-height: 20px;
	font-weight: 500;
}
.woocommerce .pasb-breadcrumb a,
.pasb-breadcrumb a {
	color: rgba(78, 3, 255, 1);
	text-decoration: none;
}
.woocommerce .pasb-breadcrumb a:hover,
.pasb-breadcrumb a:hover { color: rgba(207, 55, 0, 1); }
.pasb-breadcrumb__sep {
	margin: 0 12px;
	color: #000;
	font-size: 18px;
}
/* Short description: same 1200px column as the title and breadcrumb, left-aligned. */
.pasb-head__desc {
	max-width: 1200px;
	margin: 0 auto;
	color: var(--pasb-muted);
	text-align: left;
	font-size: 17px;
	line-height: 1.65;
}
.pasb-head { margin-bottom: 40px; }
.pasb-head .pasb-breadcrumb:last-child { margin-bottom: 0; }
.pasb-head .pasb-breadcrumb + .pasb-head__desc { margin-top: 4px; }
@media (max-width: 768px) {
	.pasb-head { margin-bottom: 28px; }
	.pasb-head__desc { font-size: 16px; }
}
.pasb-head__desc > :last-child { margin-bottom: 0; }
@media (max-width: 992px) {
	.pasb-head__title { margin-bottom: 10px; font-size: 28px; line-height: 36px; }
}
@media (max-width: 768px) {
	.pasb-head { padding-top: 16px; }
	.pasb-head__title { font-size: 24px; line-height: 32px; }
	.pasb-breadcrumb { font-size: 14px; }
	.pasb-breadcrumb__sep { margin: 0 6px; }
}

/* ---------- category cards (subcategories, related, block) ---------- */
.pasb-cats {
	--pasb-gap: 20px;
	margin: 0 0 60px;
}
.pasb-cats__heading,
.pasb-products__heading,
.pasb-section__title,
.pasb-product-carousel__title {
	margin: 0 0 30px;
	color: var(--pasb-text);
	font-size: 32px;
	line-height: 40px;
	font-weight: 600;
	text-align: center;
}
.pasb-cats__heading {
	font-family: 'Roboto', sans-serif;
	font-size: 20px;
	line-height: 28px;
	font-weight: 700;
	text-transform: uppercase;
}
.pasb-cat {
	min-width: 0;
	margin: 0;
	padding: 6px 0;
	list-style: none;
}
.pasb-cat__link {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
	height: 100%;
	color: #070707;
	text-decoration: none !important;
}
.pasb-cat__media {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	max-height: var(--pasb-img-h, 300px);
	border-radius: 10px;
	overflow: hidden;
	background: var(--pasb-tint);
}
.pasb-cat__img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	margin: 0 !important;
	object-fit: cover;
	transition: transform .45s ease;
}
.pasb-cat__link:hover .pasb-cat__img,
.pasb-cat__link:focus-visible .pasb-cat__img { transform: scale(1.04); }
.pasb-cat__title {
	display: block;
	margin: 0;
	padding: 0 6px;
	color: #070707;
	font-family: 'Roboto', sans-serif;
	font-size: 17px;
	line-height: 1.3;
	font-weight: 700;
	text-transform: uppercase;
	text-align: center;
	overflow-wrap: anywhere;
	transition: color .2s;
}
.pasb-cat__link:hover .pasb-cat__title,
.pasb-cat__link:focus-visible .pasb-cat__title { color: var(--pasb-accent); }
.pasb-cat__link:focus-visible { outline: 2px solid var(--pasb-accent); outline-offset: 4px; border-radius: 10px; }

/* carousel: arrows centred on the images, not on image + title */
.pasb-cats .pasb-carousel__arrow { top: calc(var(--pasb-arrow-y, 42%)); }

/* grid style: framed cards */
.pasb-cats__grid {
	display: grid;
	grid-template-columns: repeat(var(--pasb-cols, 2), minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.pasb-cats--grid .pasb-cat {
	padding: 12px 12px 16px;
	border: 1px solid #ececf3;
	border-radius: 12px;
	background: #fff;
	transition: box-shadow .25s, transform .25s;
}
.pasb-cats--grid .pasb-cat:hover { box-shadow: 0 10px 24px rgba(13, 6, 20, .10); transform: translateY(-2px); }
.pasb-cats--grid .pasb-cat__media { aspect-ratio: 4 / 3; border-radius: 8px; background: #fff; }
.pasb-cats--grid .pasb-cat__img { object-fit: contain; }
.pasb-cats--grid .pasb-cat__title { font-family: inherit; font-size: 16px; font-weight: 600; text-transform: none; }
@media (max-width: 992px) {
	.pasb-cats__grid { grid-template-columns: repeat(var(--pasb-cols-sm, 2), minmax(0, 1fr)); }
}
@media (max-width: 768px) {
	.pasb-cats { --pasb-gap: 12px; margin-bottom: 40px; }
	.pasb-cats__grid { grid-template-columns: repeat(var(--pasb-cols-xs, 2), minmax(0, 1fr)); gap: 12px; }
	.pasb-cats--grid .pasb-cat { padding: 8px 8px 12px; }
	.pasb-cat__title { font-size: 14px; }
	.pasb-cats__heading, .pasb-products__heading, .pasb-section__title, .pasb-product-carousel__title { font-size: 24px; line-height: 32px; margin-bottom: 18px; }
}

/* ---------- products: sidebar (15%) + grid (85%) ---------- */
.pasb-products { margin: 0 0 60px; scroll-margin-top: 140px; }
.pasb-products__layout {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	max-width: 1600px;
	margin: 0 auto;
}
.pasb-products__main {
	flex: 1 1 auto;
	min-width: 0;
	transition: opacity .2s;
}
.pasb-products.is-loading .pasb-products__main { opacity: .45; pointer-events: none; }

/* ---------- filter sidebar ---------- */
.pasb-filters {
	flex: 0 0 calc(15% - 10px);
	min-width: 190px;
	color: var(--pasb-text);
}
.pasb-filters__toggle,
.pasb-filters__close { display: none; }
.pasb-filters__title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 20px;
	font-size: 18px;
	line-height: 24px;
	font-weight: 600;
	color: var(--pasb-text);
}
.pasb-filters__title .pasb-icon { font-size: 20px; }
.pasb-filters__active {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding-bottom: 16px;
	margin-bottom: 16px;
	border-bottom: 1px solid #e6e6e6;
}
.pasb-filters__active[hidden] { display: none; }
.pasb-filters__chips { display: contents; }
.pasb-chip,
.pasb-filters__clear {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 12px;
	border: 0;
	border-radius: 16px;
	font-size: 12px;
	line-height: 16px;
	text-decoration: none !important;
	cursor: pointer;
}
.pasb-chip { background: #e6e6e6; color: #070707; }
.pasb-chip:hover { background: #d6d6d6; }
.woocommerce .pasb-filters__clear,
.pasb-filters__clear { background: #070707; color: #fff !important; }
.pasb-filter { margin-bottom: 30px; }
.pasb-filter__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin: 0 0 16px;
	padding: 0;
	border: 0;
	background: none !important;
	color: #070707 !important;
	font-size: 16px;
	line-height: 24px;
	font-weight: 600;
	text-align: left;
	cursor: pointer;
	box-shadow: none !important;
}
.pasb-filter__toggle { font-size: 17px; line-height: 1; display: inline-flex; }
.pasb-filter__plus { display: none; }
.pasb-filter.is-collapsed .pasb-filter__plus { display: inline; }
.pasb-filter.is-collapsed .pasb-filter__minus { display: none; }
.pasb-filter.is-collapsed .pasb-filter__body { display: none; }
.pasb-filter-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.pasb-filter-list--sub { margin: 10px 0 0 20px; width: 80%; }
.pasb-filter-list--sub[hidden] { display: none; }
.pasb-filter-item {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin: 0;
	font-size: 14px;
	line-height: 20px;
}
.pasb-filter-item[hidden] { display: none; }
.pasb-filter-item > label {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	color: #070707;
	cursor: pointer;
}
.pasb-filter-item input[type="checkbox"],
.pasb-filter-item input[type="radio"] {
	position: relative;
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 1px solid #6e6e6e;
	border-radius: 2px;
	background: #fff;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	box-shadow: none;
}
.pasb-filter-item input:checked {
	border-color: #000;
	background: #000;
}
.pasb-filter-item input:checked::before {
	content: "✓";
	position: absolute;
	inset: 0;
	color: #fff;
	font-size: 12px;
	line-height: 15px;
	text-align: center;
}
.pasb-filter-item input:focus-visible { outline: 2px solid var(--pasb-accent); outline-offset: 2px; }
.pasb-filter-item__expand {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	padding: 0;
	border: 0;
	background: none !important;
	color: #070707 !important;
	font-size: 16px;
	cursor: pointer;
	transition: transform .2s;
}
.pasb-filter-item__expand[aria-expanded="true"] { transform: rotate(90deg); }
.pasb-filter__more {
	margin: 8px 0 0 10px;
	padding: 0;
	border: 0;
	background: none !important;
	color: #000 !important;
	font-size: 13px;
	text-decoration: underline;
	cursor: pointer;
}
.pasb-marker {
	flex: 0 0 auto;
	display: inline-block;
	width: 1em;
	height: 1em;
	border-radius: 50%;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12);
	overflow: hidden;
}
.pasb-marker--image { width: 22px; height: 22px; }
.pasb-marker img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* price slider */
.pasb-price__slider {
	position: relative;
	height: 3px;
	margin: 15px 9px 22px;
	border-radius: 5px;
	background: #6e6e6e;
}
.pasb-price__bar {
	position: absolute;
	top: 0;
	bottom: 0;
	left: var(--pasb-lo, 0%);
	right: calc(100% - var(--pasb-hi, 100%));
	border-radius: 5px;
	background: #070707;
}
.pasb-price__range {
	position: absolute;
	left: -9px;
	top: -7.5px;
	width: calc(100% + 18px);
	height: 18px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	pointer-events: none;
	appearance: none;
	-webkit-appearance: none;
	color: #070707;
}
.pasb-filters .pasb-price__range::-webkit-slider-thumb {
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	border: 2px solid #070707 !important;
	border-radius: 50% !important;
	background: #fff !important;
	box-shadow: none !important;
	cursor: pointer;
	pointer-events: auto;
	-webkit-appearance: none;
}
.pasb-filters .pasb-price__range::-moz-range-thumb {
	width: 14px !important;
	height: 14px !important;
	border: 2px solid #070707 !important;
	border-radius: 50% !important;
	background: #fff !important;
	box-shadow: none !important;
	cursor: pointer;
	pointer-events: auto;
}
.pasb-filters .pasb-price__range::-webkit-slider-runnable-track { height: 18px; background: none !important; border: 0; box-shadow: none; }
.pasb-price__range::-moz-range-track { background: none; }
.pasb-price__inputs {
	display: flex;
	gap: 40px;
}
.pasb-price__inputs label {
	position: relative;
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
}
.pasb-price__cur {
	position: absolute;
	left: 9px;
	top: 50%;
	transform: translateY(-50%);
	color: #6e6e6e;
	font-size: 14px;
	pointer-events: none;
}
.pasb-price__inputs input {
	width: 100%;
	min-height: 38px;
	margin: 0;
	padding: 0 4px 0 22px;
	border: 1px solid #6e6e6e;
	border-radius: 2px;
	background: #fff;
	color: #070707;
	font-size: 16px;
	-moz-appearance: textfield;
}
.pasb-price__inputs input::-webkit-outer-spin-button,
.pasb-price__inputs input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* sidebar on tablets and phones: a "Filter" button opening a drawer */
@media (max-width: 992px) {
	.pasb-products__layout { display: block; }
	.pasb-filters { min-width: 0; margin-bottom: 16px; }
	.pasb-filters__toggle {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		padding: 10px 18px;
		border: 1px solid #070707;
		border-radius: 4px;
		background: #fff !important;
		color: #070707 !important;
		font-size: 15px;
		font-weight: 600;
		cursor: pointer;
	}
	.pasb-filters__count:not([hidden]) {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 20px;
		height: 20px;
		padding: 0 6px;
		border-radius: 10px;
		background: var(--pasb-accent);
		color: #fff;
		font-size: 12px;
	}
	.pasb-filters__panel {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: 100000;
		width: min(340px, 88vw);
		padding: 20px;
		overflow-y: auto;
		background: #fff;
		box-shadow: 0 0 40px rgba(0, 0, 0, .25);
		transform: translateX(-105%);
		transition: transform .25s ease;
		visibility: hidden;
	}
	.pasb-filters.is-open .pasb-filters__panel { transform: none; visibility: visible; }
	.pasb-filters.is-open::before {
		content: "";
		position: fixed;
		inset: 0;
		z-index: 99999;
		background: rgba(0, 0, 0, .35);
	}
	.pasb-filters__close {
		display: inline-flex;
		margin-left: auto;
		padding: 4px;
		border: 0;
		background: none !important;
		color: #070707 !important;
		font-size: 22px;
		cursor: pointer;
	}
	.pasb-filters__title .pasb-icon-filter { display: none; }
}

/* ---------- Load More ---------- */
.pasb-loadmore {
	margin: 80px 0 0;
	text-align: center;
}
.pasb-loadmore[hidden] { display: none; }
.woocommerce .pasb-loadmore__btn,
.pasb-loadmore__btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 20px;
	border: 1px solid var(--pasb-accent);
	border-radius: 5px;
	background: var(--pasb-accent);
	color: #fff !important;
	font-size: 16px;
	line-height: 20px;
	text-decoration: none !important;
	transition: background-color .2s, color .2s, border-radius .2s;
}
.pasb-loadmore__btn:hover,
.pasb-loadmore__btn:focus-visible {
	border-radius: 2px;
	background: var(--ast-global-color-5, #fff);
	color: var(--pasb-accent) !important;
}
.pasb-loadmore__spinner {
	display: none;
	width: 16px;
	height: 16px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: pasb-spin .7s linear infinite;
}
.pasb-loadmore__btn.is-loading .pasb-loadmore__spinner { display: inline-block; }
@keyframes pasb-spin { to { transform: rotate(360deg); } }
@media (max-width: 768px) { .pasb-loadmore { margin-top: 36px; } }

/* ---------- sections below the products ---------- */
.pasb-section {
	max-width: 1200px;
	margin: 0 auto 60px;
}
.pasb-section--long_desc,
.pasb-section--faq { max-width: 1000px; }
.pasb-section--related,
.pasb-section--reviews { max-width: none; }

/* FAQ */
.pasb-faq { display: flex; flex-direction: column; gap: 12px; }
.pasb-faq__item {
	border: 1px solid var(--pasb-soft);
	border-radius: 15px;
	background: #fff;
	overflow: hidden;
}
.pasb-faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 22px;
	background: var(--pasb-soft);
	color: var(--pasb-text);
	font-size: 18px;
	line-height: 1.4;
	font-weight: 600;
	list-style: none;
	cursor: pointer;
}
.pasb-faq__q::-webkit-details-marker { display: none; }
.pasb-faq__q:focus-visible { outline: 2px solid var(--pasb-accent); outline-offset: -2px; }
.pasb-faq__icon { flex: 0 0 auto; font-size: 20px; transition: transform .2s; }
.pasb-faq__item[open] .pasb-faq__icon { transform: rotate(45deg); }
.pasb-faq__a {
	padding: 16px 22px;
	border-top: 1px solid var(--pasb-soft);
	color: var(--pasb-muted);
}
.pasb-faq__a > :last-child { margin-bottom: 0; }

/* collapsible sections inside the long description (imported accordions) */
.pasb-collapse {
	margin: 0 0 12px;
	border: 1px solid var(--pasb-soft);
	border-radius: 15px;
	overflow: hidden;
}
.pasb-collapse > summary {
	position: relative;
	padding: 14px 52px 14px 22px;
	background: var(--pasb-soft);
	list-style: none;
	cursor: pointer;
}
.pasb-collapse > summary::-webkit-details-marker { display: none; }
.pasb-collapse > summary::after {
	content: "+";
	position: absolute;
	right: 22px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 24px;
	line-height: 1;
	transition: transform .2s;
}
.pasb-collapse[open] > summary::after { transform: translateY(-50%) rotate(45deg); }
.pasb-collapse > summary > :is(h2, h3, h4, h5, h6) { display: inline; margin: 0; font-size: 18px; }
.pasb-collapse__body { padding: 16px 22px; }
.pasb-collapse__body > :last-child { margin-bottom: 0; }

/* comparison table */
.pasb-table-wrap {
	overflow-x: auto;
	border: 1px solid var(--pasb-soft);
	border-radius: 12px;
	-webkit-overflow-scrolling: touch;
}
.pasb-table-wrap:focus-visible { outline: 2px solid var(--pasb-accent); }
.pasb-table {
	width: 100%;
	min-width: 560px;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	font-size: 15px;
}
.pasb-table th,
.pasb-table td {
	padding: 12px 16px;
	border: 0;
	border-bottom: 1px solid var(--pasb-soft);
	text-align: left;
	vertical-align: top;
}
.pasb-table thead th {
	background: var(--pasb-accent);
	color: #fff;
	font-weight: 600;
}
.pasb-table tbody th { font-weight: 600; color: var(--pasb-text); background: var(--pasb-tint); }
.pasb-table tbody tr:nth-child(even) td { background: #faf9ff; }
.pasb-table tbody tr:last-child > * { border-bottom: 0; }
.pasb-table-caption { margin-top: 8px; color: var(--pasb-muted); font-size: 14px; }

/* guides */
.pasb-guides {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.pasb-guide a {
	display: flex;
	flex-direction: column;
	height: 100%;
	border: 1px solid var(--pasb-line);
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	color: inherit;
	text-decoration: none !important;
	transition: box-shadow .2s, transform .2s;
}
.pasb-guide a:hover { box-shadow: 0 8px 24px rgba(13, 6, 20, .1); transform: translateY(-2px); }
.pasb-guide__img img { display: block; width: 100%; height: 180px; object-fit: cover; }
.pasb-guide__body { display: flex; flex-direction: column; gap: 8px; flex: 1; padding: 16px 18px 18px; }
.pasb-guide__title { color: var(--pasb-text); font-size: 18px; font-weight: 600; line-height: 1.35; }
.pasb-guide__text { color: var(--pasb-muted); font-size: 15px; }
.pasb-guide__more { display: inline-flex; align-items: center; gap: 4px; margin-top: auto; color: var(--pasb-accent); font-weight: 600; font-size: 15px; }

/* long description */
.pasb-content > :first-child { margin-top: 0; }
.pasb-content img { max-width: 100%; height: auto; }
.pasb-content .wp-block-columns { margin-bottom: 1.75em; }

/* related categories: reuse the category carousel */
/* related categories use the standard category card */

/* ---------- reviews ---------- */
.pasb-reviews__summary {
	display: grid;
	grid-template-columns: minmax(180px, 240px) 1fr;
	gap: 32px;
	align-items: center;
	padding: 24px;
	margin-bottom: 24px;
	border: 1px solid var(--pasb-soft);
	border-radius: 12px;
	background: var(--pasb-tint);
}
.pasb-reviews__score { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
.pasb-reviews__avg { font-size: 44px; line-height: 1; font-weight: 700; color: var(--pasb-text); }
.pasb-reviews__score .pasb-stars { font-size: 20px; }
.pasb-reviews__count { color: var(--pasb-muted); font-size: 14px; }
.pasb-reviews__bars { display: flex; flex-direction: column; gap: 6px; }
.pasb-bar {
	display: grid;
	grid-template-columns: 64px 1fr 40px;
	gap: 10px;
	align-items: center;
	width: 100%;
	padding: 4px 6px;
	border: 0;
	border-radius: 6px;
	background: none !important;
	color: var(--pasb-text) !important;
	font-size: 14px;
	text-align: left;
	cursor: pointer;
}
.pasb-bar:hover:not(:disabled),
.pasb-bar[aria-pressed="true"] { background: #fff !important; }
.pasb-bar:disabled { opacity: .45; cursor: default; }
.pasb-bar__track { height: 8px; border-radius: 4px; background: #fff; overflow: hidden; }
.pasb-bar__fill { display: block; height: 100%; background: var(--pasb-accent); }
.pasb-reviews__toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; }
.pasb-reviews__status { margin: 0; color: var(--pasb-muted); font-size: 14px; }
.pasb-reviews__sort-label { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; }
.pasb-reviews__list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.pasb-review {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 18px;
	border: 1px solid var(--pasb-line);
	border-radius: 12px;
	background: #fff;
}
.pasb-review__product { display: flex; align-items: center; gap: 10px; color: var(--pasb-text); font-weight: 600; font-size: 14px; text-decoration: none !important; }
.pasb-review__product img { width: 48px; height: 48px; object-fit: contain; border: 1px solid var(--pasb-line); border-radius: 6px; }
.pasb-review__head { display: flex; justify-content: space-between; align-items: center; gap: 8px; color: var(--pasb-muted); font-size: 13px; }
.pasb-review__text { color: var(--pasb-text); font-size: 15px; }
.pasb-review__text > :last-child { margin-bottom: 0; }
.pasb-review__author { margin: 0; color: var(--pasb-muted); font-size: 14px; }
.pasb-review__verified { margin-left: 6px; padding: 2px 8px; border-radius: 10px; background: #e7f6ec; color: #1e7b3c; font-size: 12px; }
.pasb-reviews__more {
	display: block;
	margin: 24px auto 0;
	padding: 12px 20px;
	border: 1px solid var(--pasb-accent);
	border-radius: 5px;
	background: var(--pasb-accent);
	color: #fff;
	cursor: pointer;
}
.pasb-reviews__more[hidden] { display: none; }
@media (max-width: 768px) {
	.pasb-reviews__summary { grid-template-columns: 1fr; gap: 16px; }
	.pasb-section { margin-bottom: 40px; }
	.pasb-faq__q { padding: 14px 16px; font-size: 16px; }
	.pasb-faq__a { padding: 14px 16px; }
}

/* ---------- blocks ---------- */
.pasb-block { margin-bottom: 2em; }
.pasb-block .pasb-cats { margin-bottom: 0; }

/* ---------- page not found ---------- */
.pasb-404 { padding: 40px 0 60px; }
.pasb-404__top {
	display: grid;
	grid-template-columns: 7fr 3fr;
	gap: 40px;
	align-items: center;
	margin-bottom: 60px;
}
.pasb-404__text { text-align: center; }
.pasb-404__title { margin: 0 0 16px; font-size: 40px; line-height: 1.2; font-weight: 600; color: var(--pasb-text); }
.pasb-404__text form { max-width: 520px; margin: 24px auto 0; }
.pasb-404__image img { display: block; width: 100%; height: auto; border-radius: 12px; }
@media (max-width: 768px) {
	.pasb-404__top { grid-template-columns: 1fr; }
	.pasb-404__title { font-size: 28px; }
}

/* No double gap before the footer. */
.pasb-landing > :last-child { margin-bottom: 0; }
