/**
 * PrintLab Storefront
 *
 * Ιδέα: «η κασετίνα με τα χρώματα». Κάθε κατηγορία έχει το δικό της pigment,
 * ώστε ο πελάτης να την αναγνωρίζει με τη ματιά και η πλοήγηση να γίνεται εύκολη.
 */

:root {
	--pl-ink: #14181F;
	--pl-ink-2: #4C565F;
	--pl-ink-3: #78838B;
	--pl-line: #E4E7E6;
	--pl-bg: #FFFFFF;
	--pl-bg-2: #F3F5F6;
	--pl-bg-3: #E9EDEF;

	--pl-blue: #1F4FD8;
	--pl-red: #F0492E;
	--pl-amber: #FFC24B;
	--pl-green: #0F7A63;

	--pl-accent: var(--pl-blue);

	--pl-display: "Alegreya Sans", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--pl-body: "Source Sans 3", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	--pl-radius: 14px;
	--pl-radius-sm: 9px;
	--pl-shadow: 0 1px 2px rgba(20, 24, 31, .06), 0 8px 24px rgba(20, 24, 31, .07);
	--pl-shadow-lg: 0 18px 50px rgba(20, 24, 31, .14);
	--pl-wrap: 1280px;
	--pl-ease: cubic-bezier(.22, .61, .36, 1);
}

/* ---------------------------------------------------------------- Βάση --- */

body.printlab-sf {
	font-family: var(--pl-body);
	color: var(--pl-ink);
	background: var(--pl-bg);
}

body.printlab-sf h1,
body.printlab-sf h2,
body.printlab-sf h3,
body.printlab-sf h4,
body.printlab-sf .pl-section-title {
	font-family: var(--pl-display);
	font-weight: 800;
	letter-spacing: -.015em;
	text-wrap: balance;
}

/* Το θέμα τύπωνε τεράστιους τίτλους σελίδας που δεν χρειάζονται. */
body.printlab-sf.home .page-header,
body.printlab-sf.home .entry-header,
body.printlab-sf .woocommerce-page-header,
body.printlab-sf .woocommerce-products-header {
	display: none !important;
}

body.printlab-sf.home .entry-content > *:first-child {
	margin-top: 0;
}

.pl-wrap {
	margin: 0 auto;
	max-width: var(--pl-wrap);
	padding: 0 24px;
}

/* ------------------------------------------------------------ Κουμπιά --- */

.pl-btn {
	align-items: center;
	background: var(--pl-ink);
	border: 0;
	border-radius: 999px;
	color: #fff;
	display: inline-flex;
	font-family: var(--pl-display);
	font-size: 1.02rem;
	font-weight: 800;
	gap: 10px;
	line-height: 1;
	padding: 15px 26px;
	text-decoration: none;
	transition: transform .25s var(--pl-ease), box-shadow .25s var(--pl-ease), background-color .2s;
}

.pl-btn svg { transition: transform .25s var(--pl-ease); }
.pl-btn:hover { transform: translateY(-2px); box-shadow: var(--pl-shadow-lg); color: #fff; }
.pl-btn:hover svg { transform: translateX(4px); }

.pl-btn--light { background: #fff; color: var(--pl-ink); }
.pl-btn--light:hover { color: var(--pl-ink); }

.pl-link {
	color: var(--pl-ink-2);
	font-family: var(--pl-display);
	font-weight: 700;
	text-decoration: none;
	border-bottom: 2px solid var(--pl-line);
	padding-bottom: 2px;
	transition: color .2s, border-color .2s;
}
.pl-link:hover { color: var(--pl-accent); border-color: var(--pl-accent); }

.pl-nav-btn {
	align-items: center;
	background: #fff;
	border: 1px solid var(--pl-line);
	border-radius: 50%;
	color: var(--pl-ink);
	cursor: pointer;
	display: inline-flex;
	height: 40px;
	justify-content: center;
	padding: 0;
	transition: background-color .2s, color .2s, border-color .2s, transform .2s;
	width: 40px;
}
.pl-nav-btn:hover:not(:disabled) { background: var(--pl-ink); border-color: var(--pl-ink); color: #fff; }
.pl-nav-btn:disabled { opacity: .32; cursor: default; }

/* --------------------------------------------------- Μπάρα κατηγοριών --- */

.pl-catbar {
	background: var(--pl-ink);
	position: sticky;
	top: 0;
	z-index: 90;
}

.pl-catbar__inner {
	align-items: stretch;
	display: flex;
	gap: 8px;
	margin: 0 auto;
	max-width: var(--pl-wrap);
	padding: 0 24px;
	position: relative;
}

.pl-catbar__toggle {
	align-items: center;
	background: var(--pl-blue);
	border: 0;
	color: #fff;
	cursor: pointer;
	display: none;
	font-family: var(--pl-display);
	font-size: 1rem;
	font-weight: 800;
	gap: 10px;
	padding: 0 20px;
}

.pl-burger { display: inline-flex; flex-direction: column; gap: 3px; width: 16px; }
.pl-burger span { background: currentColor; border-radius: 2px; display: block; height: 2px; width: 100%; }

.pl-catbar__nav { flex: 1; min-width: 0; }

.pl-catbar__list {
	display: flex;
	gap: 2px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.pl-catbar__item { position: static; }

.pl-catbar__link {
	align-items: center;
	color: rgba(255, 255, 255, .82);
	display: flex;
	font-family: var(--pl-display);
	font-size: .94rem;
	font-weight: 700;
	gap: 6px;
	padding: 15px 11px;
	position: relative;
	text-decoration: none;
	white-space: nowrap;
	transition: color .18s;
}

.pl-catbar__link::after {
	background: var(--pl-accent, var(--pl-blue));
	bottom: 0;
	content: "";
	height: 3px;
	left: 11px;
	position: absolute;
	right: 11px;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .28s var(--pl-ease);
}

.pl-catbar__item:hover .pl-catbar__link,
.pl-catbar__link:focus-visible { color: #fff; }
.pl-catbar__item:hover .pl-catbar__link::after { transform: scaleX(1); }
.pl-catbar__item:hover .pl-caret { transform: rotate(180deg); }
.pl-caret { transition: transform .25s var(--pl-ease); }

.pl-catbar__offer {
	align-items: center;
	color: var(--pl-amber);
	display: flex;
	font-family: var(--pl-display);
	font-size: .9rem;
	font-weight: 700;
	padding: 0 4px 0 16px;
	text-decoration: none;
	white-space: nowrap;
}

/* Mega menu */
/* Πλήρους πλάτους, αγκυρωμένο στη μπάρα: δεν ξεφεύγει ποτέ από την οθόνη. */
.pl-mega {
	background: #fff;
	border-top: 3px solid var(--pl-accent, var(--pl-blue));
	border-radius: 0 0 var(--pl-radius) var(--pl-radius);
	box-shadow: var(--pl-shadow-lg);
	left: 24px;
	right: 24px;
	opacity: 0;
	padding: 26px 0 30px;
	pointer-events: none;
	position: absolute;
	top: 100%;
	transform: translateY(-8px);
	transition: opacity .22s var(--pl-ease), transform .22s var(--pl-ease);
	z-index: 20;
}

.pl-catbar__item.has-panel:hover .pl-mega,
.pl-catbar__item.has-panel:focus-within .pl-mega {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.pl-mega__inner { display: grid; gap: 30px; grid-template-columns: 1fr 250px; padding: 0 30px; }

.pl-mega__lists ul {
	columns: 4;
	column-gap: 26px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.pl-mega__lists li { break-inside: avoid; margin-bottom: 3px; }

.pl-mega__lists a {
	align-items: baseline;
	color: var(--pl-ink-2);
	display: flex;
	font-size: .95rem;
	gap: 8px;
	justify-content: space-between;
	padding: 6px 8px;
	border-radius: 7px;
	text-decoration: none;
	transition: background-color .16s, color .16s;
}
.pl-mega__lists a:hover { background: var(--pl-bg-2); color: var(--pl-accent, var(--pl-blue)); }
.pl-mega__lists a span { color: var(--pl-ink-3); font-size: .8rem; font-variant-numeric: tabular-nums; }

.pl-mega__promo {
	background: var(--pl-bg-2);
	border-radius: var(--pl-radius);
	display: block;
	overflow: hidden;
	position: relative;
	text-decoration: none;
}
.pl-mega__promo img { aspect-ratio: 4/3; display: block; object-fit: cover; width: 100%; transition: transform .5s var(--pl-ease); }
.pl-mega__promo:hover img { transform: scale(1.06); }
.pl-mega__promo-text { display: block; padding: 12px 14px 14px; }
.pl-mega__promo-text strong { color: var(--pl-ink); display: block; font-family: var(--pl-display); font-size: 1.02rem; }
.pl-mega__promo-text em { color: var(--pl-accent, var(--pl-blue)); font-size: .85rem; font-style: normal; font-weight: 600; }

/* Συρτάρι κινητού */
.pl-drawer { display: none; }
.pl-drawer:not([hidden]) { display: block; }

.pl-drawer {
	background: rgba(14, 18, 24, .45);
	inset: 0;
	position: fixed;
	z-index: 200;
}

.pl-drawer__panel {
	background: #fff;
	display: flex;
	flex-direction: column;
	height: 100%;
	max-width: 340px;
	overflow-y: auto;
	width: 88%;
	animation: pl-slide-in .3s var(--pl-ease);
}

@keyframes pl-slide-in { from { transform: translateX(-100%); } to { transform: translateX(0); } }

.pl-drawer__head {
	align-items: center;
	border-bottom: 1px solid var(--pl-line);
	display: flex;
	justify-content: space-between;
	padding: 16px 18px;
}
.pl-drawer__head strong { font-family: var(--pl-display); font-size: 1.15rem; }
.pl-drawer__close { background: none; border: 0; cursor: pointer; font-size: 1.7rem; line-height: 1; padding: 0 4px; }

.pl-drawer__list { list-style: none; margin: 0; padding: 6px 0 40px; }
.pl-drawer__list > li { border-bottom: 1px solid var(--pl-line); }
.pl-drawer__row { align-items: center; display: flex; justify-content: space-between; }
.pl-drawer__row a {
	border-left: 4px solid var(--pl-accent, var(--pl-blue));
	color: var(--pl-ink);
	flex: 1;
	font-family: var(--pl-display);
	font-weight: 700;
	padding: 13px 16px;
	text-decoration: none;
}
.pl-drawer__row button { background: none; border: 0; cursor: pointer; font-size: 1.4rem; padding: 10px 18px; }
.pl-drawer__list ul { list-style: none; margin: 0; padding: 0 0 8px 20px; }
.pl-drawer__list ul a { color: var(--pl-ink-2); display: block; font-size: .95rem; padding: 8px 16px; text-decoration: none; }

/* ---------------------------------------------------------------- Hero --- */

.pl-hero {
	background: var(--pl-bg-2);
	border-radius: var(--pl-radius);
	margin: 22px auto 34px;
	max-width: var(--pl-wrap);
	overflow: hidden;
	position: relative;
}

.pl-hero__viewport { display: grid; }

.pl-hero__slide {
	align-items: center;
	display: grid;
	gap: 30px;
	grid-area: 1 / 1;
	grid-template-columns: 1.05fr 1fr;
	min-height: 440px;
	opacity: 0;
	pointer-events: none;
	transition: opacity .6s var(--pl-ease);
	/* Απλό χρώμα ως βάση, ώστε να δουλεύει και σε παλιότερους browsers. */
	background-color: var(--pl-accent);
	background-image:
		radial-gradient(120% 120% at 12% 20%, rgba(255, 255, 255, .16) 0%, rgba(0, 0, 0, .26) 100%);
}

.pl-hero__slide.is-active { opacity: 1; pointer-events: auto; }

.pl-hero__copy { color: #fff; padding: 54px clamp(24px, 4vw, 64px); }

.pl-hero__eyebrow {
	color: rgba(255, 255, 255, .82);
	font-family: var(--pl-display);
	font-size: .82rem;
	font-weight: 800;
	letter-spacing: .16em;
	margin: 0 0 14px;
	text-transform: uppercase;
}

.pl-hero__title {
	color: #fff;
	font-size: clamp(2.3rem, 4vw, 3.5rem);
	line-height: 1.02;
	margin: 0 0 16px;
}

.pl-hero__text {
	color: rgba(255, 255, 255, .9);
	font-size: 1.1rem;
	line-height: 1.55;
	margin: 0 0 26px;
	max-width: 42ch;
}

.pl-hero__art {
	align-content: center;
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, 1fr);
	padding: 40px clamp(20px, 3vw, 44px);
}

.pl-hero__tile {
	background: #fff;
	border-radius: var(--pl-radius-sm);
	display: block;
	overflow: hidden;
	box-shadow: 0 12px 30px rgba(0, 0, 0, .16);
}

.pl-hero__tile img { aspect-ratio: 1; display: block; object-fit: contain; padding: 8px; width: 100%; }

.pl-hero__slide.is-active .pl-hero__copy > * { animation: pl-rise .55s var(--pl-ease) both; }
.pl-hero__slide.is-active .pl-hero__copy > *:nth-child(2) { animation-delay: .06s; }
.pl-hero__slide.is-active .pl-hero__copy > *:nth-child(3) { animation-delay: .12s; }
.pl-hero__slide.is-active .pl-hero__copy > *:nth-child(4) { animation-delay: .18s; }
.pl-hero__slide.is-active .pl-hero__tile { animation: pl-pop .6s var(--pl-ease) both; }
.pl-hero__slide.is-active .pl-hero__tile--1 { animation-delay: .08s; }
.pl-hero__slide.is-active .pl-hero__tile--2 { animation-delay: .16s; }
.pl-hero__slide.is-active .pl-hero__tile--3 { animation-delay: .24s; }

@keyframes pl-rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes pl-pop { from { opacity: 0; transform: translateY(22px) scale(.94); } to { opacity: 1; transform: none; } }

.pl-hero__arrow {
	align-items: center;
	background: rgba(255, 255, 255, .16);
	border: 1px solid rgba(255, 255, 255, .34);
	border-radius: 50%;
	color: #fff;
	cursor: pointer;
	display: flex;
	height: 44px;
	justify-content: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: background-color .2s;
	width: 44px;
	z-index: 3;
}
.pl-hero__arrow:hover { background: rgba(255, 255, 255, .3); }
.pl-hero__arrow--prev { left: 16px; }
.pl-hero__arrow--next { right: 16px; }

.pl-hero__dots {
	bottom: 18px;
	display: flex;
	gap: 8px;
	left: clamp(24px, 4vw, 64px);
	position: absolute;
	z-index: 3;
}

.pl-hero__dot {
	background: rgba(255, 255, 255, .42);
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	height: 6px;
	padding: 0;
	transition: width .3s var(--pl-ease), background-color .3s;
	width: 22px;
}
.pl-hero__dot.is-active { background: #fff; width: 44px; }

/* ---------------------------------------------------------------- USPs --- */

.pl-usps {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(4, 1fr);
	background: var(--pl-line);
	border: 1px solid var(--pl-line);
	border-radius: var(--pl-radius);
	margin: 0 auto 46px;
	max-width: var(--pl-wrap);
	overflow: hidden;
}

.pl-usp { align-items: center; background: #fff; display: flex; gap: 14px; padding: 20px 22px; }
.pl-usp__icon {
	align-items: center;
	background: var(--pl-bg-2);
	border-radius: 50%;
	color: var(--pl-blue);
	display: flex;
	flex: 0 0 44px;
	height: 44px;
	justify-content: center;
}
.pl-usp__text { display: flex; flex-direction: column; }
.pl-usp__text strong { font-family: var(--pl-display); font-size: 1.02rem; }
.pl-usp__text em { color: var(--pl-ink-3); font-size: .88rem; font-style: normal; }

/* ---------------------------------------------------- Πλέγμα κατηγοριών --- */

.pl-section-head {
	align-items: flex-end;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	margin: 0 0 22px;
}

.pl-section-title { font-size: clamp(1.6rem, 2.4vw, 2.15rem); margin: 0; }
.pl-section-sub { color: var(--pl-ink-3); margin: 6px 0 0; }
.pl-section-tools { align-items: center; display: flex; gap: 10px; }

.pl-cats {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(3, 1fr);
}

.pl-cat {
	background: #fff;
	border: 1px solid var(--pl-line);
	border-radius: var(--pl-radius);
	color: inherit;
	display: grid;
	grid-template-columns: 108px 1fr;
	overflow: hidden;
	position: relative;
	text-decoration: none;
	transition: transform .3s var(--pl-ease), box-shadow .3s var(--pl-ease), border-color .3s;
}

.pl-cat:hover { border-color: transparent; box-shadow: var(--pl-shadow-lg); transform: translateY(-4px); }

.pl-cat__media { background: var(--pl-bg-2); overflow: hidden; }
.pl-cat__media img { display: block; height: 100%; object-fit: cover; transition: transform .55s var(--pl-ease); width: 100%; }
.pl-cat:hover .pl-cat__media img { transform: scale(1.08); }

.pl-cat__body { align-content: center; display: grid; padding: 18px 18px 18px 20px; }
.pl-cat__name { font-family: var(--pl-display); font-size: 1.16rem; font-weight: 800; line-height: 1.2; }
.pl-cat__count { color: var(--pl-ink-3); font-size: .88rem; font-style: normal; margin-top: 4px; }

.pl-cat__swatch {
	background: var(--pl-accent);
	bottom: 0;
	left: 0;
	position: absolute;
	top: 0;
	transition: width .3s var(--pl-ease);
	width: 5px;
	z-index: 2;
}
.pl-cat:hover .pl-cat__swatch { width: 9px; }

/* ------------------------------------------------------------ Καρουζέλ --- */

.pl-carousel { margin: 0 0 52px; }

.pl-carousel__track {
	display: grid;
	grid-auto-columns: minmax(210px, 1fr);
	grid-auto-flow: column;
	gap: 16px;
	list-style: none;
	margin: 0;
	overflow-x: auto;
	padding: 4px 4px 14px;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
}

.pl-carousel__track::-webkit-scrollbar { height: 6px; }
.pl-carousel__track::-webkit-scrollbar-thumb { background: var(--pl-bg-3); border-radius: 999px; }

body.printlab-sf .pl-carousel__track > li.product {
	scroll-snap-align: start;
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
}

/* ------------------------------------------------- Κάρτες προϊόντων (WC) --- */

body.printlab-sf ul.products li.product,
body.printlab-sf .pl-carousel__track li.product {
	background: #fff;
	border: 1px solid var(--pl-line);
	border-radius: var(--pl-radius);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	padding: 0 0 14px;
	position: relative;
	text-align: left;
	transition: transform .28s var(--pl-ease), box-shadow .28s var(--pl-ease), border-color .28s;
}

body.printlab-sf ul.products li.product:hover {
	border-color: transparent;
	box-shadow: var(--pl-shadow-lg);
	transform: translateY(-4px);
}

body.printlab-sf ul.products li.product a img,
body.printlab-sf ul.products li.product img {
	aspect-ratio: 1;
	background: #fff;
	border-radius: 0;
	margin: 0 0 12px;
	object-fit: contain;
	padding: 14px;
	transition: transform .5s var(--pl-ease);
	width: 100%;
}

body.printlab-sf ul.products li.product:hover img { transform: scale(1.05); }

body.printlab-sf ul.products li.product .woocommerce-loop-product__title,
body.printlab-sf ul.products li.product h2 {
	color: var(--pl-ink);
	font-family: var(--pl-body);
	font-size: .95rem;
	font-weight: 600;
	line-height: 1.35;
	margin: 0 14px 8px;
	min-height: 2.7em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-align: left;
	padding: 0;
}

.pl-card-brand {
	color: var(--pl-ink-3);
	display: block;
	font-family: var(--pl-display);
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .1em;
	margin: 0 14px 4px;
	text-transform: uppercase;
}

body.printlab-sf ul.products li.product .price {
	color: var(--pl-ink);
	display: block;
	font-family: var(--pl-display);
	font-size: 1.28rem;
	font-weight: 800;
	margin: auto 14px 6px;
	text-align: left;
}

body.printlab-sf ul.products li.product .price del { color: var(--pl-ink-3); font-size: .82rem; font-weight: 600; margin-right: 6px; }
body.printlab-sf ul.products li.product .price ins { background: none; color: var(--pl-red); text-decoration: none; }

.pl-card-stock {
	display: block;
	font-size: .8rem;
	font-weight: 600;
	margin: 0 14px 10px;
}
.pl-card-stock.is-in { color: var(--pl-green); }
.pl-card-stock.is-low { color: var(--pl-red); }
.pl-card-stock.is-out { color: var(--pl-ink-3); }

body.printlab-sf ul.products li.product .button,
body.printlab-sf ul.products li.product .added_to_cart {
	background: var(--pl-ink);
	border-radius: 999px;
	color: #fff;
	display: block;
	font-family: var(--pl-display);
	font-size: .92rem;
	font-weight: 800;
	margin: 0 14px;
	padding: 11px 16px;
	text-align: center;
	text-decoration: none;
	transition: background-color .2s;
}

body.printlab-sf ul.products li.product .button:hover { background: var(--pl-blue); color: #fff; }

body.printlab-sf ul.products li.product .onsale,
body.printlab-sf .onsale {
	background: var(--pl-red);
	border-radius: 999px;
	color: #fff;
	font-family: var(--pl-display);
	font-size: .78rem;
	font-weight: 800;
	left: 12px;
	letter-spacing: .04em;
	line-height: 1;
	margin: 0;
	min-height: 0;
	min-width: 0;
	padding: 7px 12px;
	position: absolute;
	right: auto;
	top: 12px;
	z-index: 3;
}

/* ------------------------------------------------------------- Promos --- */

.pl-promos { display: grid; gap: 18px; grid-template-columns: 1fr 1fr; margin: 0 0 52px; }

.pl-promo {
	align-items: center;
	background: var(--pl-accent);
	border-radius: var(--pl-radius);
	color: #fff;
	display: grid;
	gap: 16px;
	grid-template-columns: 1.15fr 1fr;
	min-height: 220px;
	overflow: hidden;
	position: relative;
	text-decoration: none;
	transition: transform .3s var(--pl-ease), box-shadow .3s var(--pl-ease);
}

.pl-promo:hover { box-shadow: var(--pl-shadow-lg); transform: translateY(-4px); }

.pl-promo__copy { padding: 30px 10px 30px 32px; }
.pl-promo__copy em {
	display: block;
	font-family: var(--pl-display);
	font-size: .78rem;
	font-style: normal;
	font-weight: 800;
	letter-spacing: .16em;
	margin-bottom: 10px;
	opacity: .85;
	text-transform: uppercase;
}
.pl-promo__copy strong {
	display: block;
	font-family: var(--pl-display);
	font-size: 1.6rem;
	font-weight: 800;
	line-height: 1.12;
	margin-bottom: 16px;
}
.pl-promo__cta {
	align-items: center;
	border-bottom: 2px solid rgba(255, 255, 255, .45);
	display: inline-flex;
	font-family: var(--pl-display);
	font-weight: 800;
	gap: 8px;
	padding-bottom: 3px;
}
.pl-promo:hover .pl-promo__cta svg { transform: translateX(4px); }
.pl-promo__cta svg { transition: transform .25s var(--pl-ease); }

.pl-promo__art { align-self: stretch; display: grid; gap: 10px; grid-template-columns: 1fr 1fr; padding: 22px 22px 22px 0; }
.pl-promo__art img {
	aspect-ratio: 1;
	background: #fff;
	border-radius: var(--pl-radius-sm);
	display: block;
	object-fit: contain;
	padding: 8px;
	width: 100%;
	transition: transform .45s var(--pl-ease);
}
.pl-promo__art img:last-child { transform: translateY(14px); }
.pl-promo:hover .pl-promo__art img { transform: translateY(-6px); }
.pl-promo:hover .pl-promo__art img:last-child { transform: translateY(6px); }

/* -------------------------------------------------------------- Μάρκες --- */

.pl-brands { border-top: 1px solid var(--pl-line); margin: 0 0 46px; padding: 34px 0 8px; }
.pl-brands__title { color: var(--pl-ink-3); font-size: .8rem !important; font-weight: 800; letter-spacing: .18em; margin: 0 0 20px; text-align: center; text-transform: uppercase; }

.pl-marquee { -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); overflow: hidden; }
.pl-marquee__track { animation: pl-marquee 42s linear infinite; display: flex; gap: 46px; width: max-content; }
.pl-marquee:hover .pl-marquee__track { animation-play-state: paused; }

@keyframes pl-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.pl-brand {
	color: var(--pl-ink-2);
	font-family: var(--pl-display);
	font-size: 1.12rem;
	font-weight: 800;
	letter-spacing: .02em;
	text-decoration: none;
	white-space: nowrap;
	transition: color .2s;
}
.pl-brand:hover { color: var(--pl-blue); }

/* ---------------------------------------------------- Σελίδες καταλόγου --- */

.pl-archive-hero {
	align-items: center;
	background: var(--pl-accent);
	border-radius: var(--pl-radius);
	color: #fff;
	display: grid;
	gap: 20px;
	grid-template-columns: 1fr 200px;
	margin: 22px 0 26px;
	overflow: hidden;
	padding: 34px 36px;
}

.pl-archive-hero__crumbs { font-size: .86rem; margin-bottom: 12px; opacity: .82; }
.pl-archive-hero__crumbs a { color: #fff; text-decoration: none; }
.pl-archive-hero__crumbs .pl-sep { padding: 0 6px; }
.pl-archive-hero__title { color: #fff; font-size: clamp(1.9rem, 3.2vw, 2.9rem); margin: 0 0 10px; }
.pl-archive-hero__text { margin: 0 0 8px; max-width: 62ch; opacity: .92; }
.pl-archive-hero__count { font-family: var(--pl-display); font-weight: 700; margin: 0; opacity: .85; }
.pl-archive-hero__art img { border-radius: var(--pl-radius-sm); display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }

.pl-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 26px; }

.pl-chip {
	align-items: center;
	background: var(--pl-bg-2);
	border: 1px solid transparent;
	border-radius: 999px;
	color: var(--pl-ink);
	display: inline-flex;
	font-size: .9rem;
	font-weight: 600;
	gap: 7px;
	padding: 8px 15px;
	text-decoration: none;
	transition: background-color .2s, border-color .2s, transform .2s;
}
.pl-chip:hover { background: #fff; border-color: var(--pl-ink); transform: translateY(-2px); }
.pl-chip span { color: var(--pl-ink-3); font-size: .78rem; font-variant-numeric: tabular-nums; }

.pl-trust { border-top: 1px solid var(--pl-line); list-style: none; margin: 22px 0 0; padding: 18px 0 0; }
.pl-trust li { color: var(--pl-ink-2); font-size: .94rem; margin-bottom: 8px; padding-left: 26px; position: relative; }
.pl-trust li::before {
	background: var(--pl-green);
	border-radius: 50%;
	color: #fff;
	content: "✓";
	font-size: .7rem;
	height: 17px;
	left: 0;
	line-height: 17px;
	position: absolute;
	text-align: center;
	top: 3px;
	width: 17px;
}

/* -------------------------------------------------------------- Κίνηση --- */

/* Κρύβουμε για την είσοδο ΜΟΝΟ όταν τρέχει το JS. Αν το JS αποτύχει,
   το περιεχόμενο παραμένει ορατό αντί να χαθεί. */
.pl-js [data-pl-reveal] {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .6s var(--pl-ease), transform .6s var(--pl-ease);
	transition-delay: var(--pl-delay, 0ms);
}

.pl-js [data-pl-reveal].is-visible { opacity: 1; transform: none; }

/* ---------------------------------------------------------- Responsive --- */

/* Με 9 κατηγορίες η μπάρα γεμίζει: το μήνυμα προσφοράς φεύγει πρώτο. */
@media (max-width: 1400px) {
	.pl-catbar__offer { display: none; }
}

@media (max-width: 1100px) {
	.pl-cats { grid-template-columns: repeat(2, 1fr); }
	.pl-mega__inner { grid-template-columns: 1fr; }
	.pl-mega__promo { display: none; }
	.pl-catbar__offer { display: none; }
}

@media (max-width: 900px) {
	.pl-catbar__toggle { display: flex; }
	.pl-catbar__nav { display: none; }
	.pl-hero__slide { grid-template-columns: 1fr; min-height: 0; }
	.pl-hero__copy { padding: 40px 26px 10px; text-align: center; }
	.pl-hero__text { margin-inline: auto; }
	.pl-hero__art { grid-template-columns: repeat(4, 1fr); padding: 20px 26px 46px; }
	.pl-hero__dots { justify-content: center; left: 0; right: 0; }
	.pl-hero__arrow { display: none; }
	.pl-usps { grid-template-columns: repeat(2, 1fr); }
	.pl-promos { grid-template-columns: 1fr; }
	.pl-archive-hero { grid-template-columns: 1fr; padding: 26px 24px; }
	.pl-archive-hero__art { display: none; }
}

@media (max-width: 600px) {
	.pl-cats { grid-template-columns: 1fr; }
	.pl-usps { border-radius: 0; border-left: 0; border-right: 0; }
	.pl-hero { border-radius: 0; margin-inline: 0; }
	.pl-hero__title { font-size: 2rem; }
	.pl-promo { grid-template-columns: 1fr; }
	.pl-promo__art { padding: 0 22px 22px; }
	.pl-section-head { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
		scroll-behavior: auto !important;
	}

	.pl-js [data-pl-reveal] { opacity: 1; transform: none; }
	.pl-marquee__track { animation: none; }
}

/* =============================================================== Κεφαλίδα === */

body.printlab-sf .site-header {
	border-bottom: 1px solid var(--pl-line);
}

body.printlab-sf .site-title,
body.printlab-sf .site-title a {
	font-family: var(--pl-display);
	font-size: 1.75rem;
	font-weight: 900;
	letter-spacing: -.025em;
	line-height: 1.1;
	margin: 0;
	text-decoration: none;
}

body.printlab-sf .site-description {
	color: var(--pl-ink-3);
	font-size: .84rem;
	margin-top: 2px;
}

/* Το κύριο μενού είναι πλέον δευτερεύον: η πλοήγηση γίνεται από τη μπάρα
   κατηγοριών, οπότε το κρατάμε συμπαγές σε μία γραμμή. */
body.printlab-sf .main-navigation ul.menu,
body.printlab-sf .main-navigation div > ul {
	flex-wrap: nowrap;
	gap: 4px;
}

body.printlab-sf .main-navigation ul.menu > li > a {
	font-family: var(--pl-display);
	font-size: .95rem;
	font-weight: 700;
	padding: 8px 10px;
	white-space: nowrap;
}

body.printlab-sf .bhfb-component-menu { min-width: 0; }

/* ================================================================ Footer === */

.pl-footer {
	background: var(--pl-ink);
	color: rgba(255, 255, 255, .74);
	padding: 54px 0 46px;
}

.pl-footer__inner {
	display: grid;
	gap: 34px;
	grid-template-columns: 1.6fr 1fr 1fr 1fr;
	margin: 0 auto;
	max-width: var(--pl-wrap);
	padding: 0 24px;
}

.pl-footer__logo {
	color: #fff;
	display: block;
	font-family: var(--pl-display);
	font-size: 1.6rem;
	font-weight: 900;
	letter-spacing: -.02em;
	margin-bottom: 12px;
}

.pl-footer p { font-size: .93rem; line-height: 1.6; margin: 0 0 12px; max-width: 42ch; }
.pl-footer__address { color: rgba(255, 255, 255, .58); font-size: .88rem !important; }
.pl-footer__note { color: rgba(255, 255, 255, .6); font-size: .88rem !important; }

.pl-footer__col h3 {
	color: #fff;
	font-family: var(--pl-display);
	font-size: .82rem;
	font-weight: 800;
	letter-spacing: .14em;
	margin: 0 0 14px;
	text-transform: uppercase;
}

.pl-footer__col ul { list-style: none; margin: 0; padding: 0; }
.pl-footer__col li { margin-bottom: 9px; }

.pl-footer__col a {
	color: rgba(255, 255, 255, .74);
	font-size: .94rem;
	text-decoration: none;
	transition: color .18s;
}
.pl-footer__col a:hover { color: #fff; }

.pl-paylist li {
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 7px;
	display: inline-block;
	font-size: .84rem;
	margin: 0 6px 6px 0;
	padding: 6px 12px;
}

@media (max-width: 900px) {
	.pl-footer__inner { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
	.pl-footer__inner { grid-template-columns: 1fr; }
}

/* ====================================================== Μικροδιορθώσεις === */

/* Οι κάρτες κατηγοριών δεν πρέπει να δείχνουν σαν απλοί σύνδεσμοι. */
body.printlab-sf .pl-cat,
body.printlab-sf .pl-cat:hover,
body.printlab-sf .pl-cat *,
body.printlab-sf .pl-carousel__track a,
body.printlab-sf .pl-promo,
body.printlab-sf .pl-promo * {
	text-decoration: none !important;
}

body.printlab-sf .pl-cat__name { color: var(--pl-ink); }
body.printlab-sf .pl-cat:hover .pl-cat__name { color: var(--pl-accent); }

/* Οι εικόνες έρχονται από τον server του προμηθευτή και αργούν λίγο:
   ένα διακριτικό φόντο αποτρέπει το «άδειο» κουτί. */
body.printlab-sf .pl-carousel__track li.product img,
body.printlab-sf ul.products li.product img {
	background: #FCFCFD;
}

.pl-cat__media { min-height: 108px; }

/* Το θέμα τοποθετεί το περιεχόμενο σε flex row: χωρίς αυτό, το hero
   συρρικνώνεται στο πλάτος του κειμένου του αντί να πιάνει όλη τη γραμμή. */
body.printlab-sf .pl-archive-hero {
	flex: 0 0 100%;
	max-width: 100%;
	width: 100%;
}

/* ============================================== Τελικές διορθώσεις === */

/* Το θέμα υπογραμμίζει όλους τους συνδέσμους· τα κουμπιά δεν είναι σύνδεσμοι. */
body.printlab-sf .pl-btn,
body.printlab-sf .pl-btn:hover,
body.printlab-sf .pl-chip,
body.printlab-sf .pl-link:hover,
body.printlab-sf .pl-brand,
body.printlab-sf .pl-footer a,
body.printlab-sf .pl-catbar__link,
body.printlab-sf .pl-mega a,
body.printlab-sf .pl-archive-hero a {
	text-decoration: none;
}

/* Η εικόνα του mega menu να μένει μέσα στην κάρτα της. */
.pl-mega__promo { align-self: start; }
.pl-mega__promo img { aspect-ratio: auto; height: 170px; object-fit: contain; padding: 10px; background: #fff; }

@media (max-width: 900px) {
	/* Η περιγραφή του καταστήματος έτρωγε μισή οθόνη στο κινητό. */
	body.printlab-sf .site-description { display: none; }

	body.printlab-sf .site-title,
	body.printlab-sf .site-title a { font-size: 1.4rem; }

	/* Η μπάρα κατηγοριών λειτουργεί ως γραμμή εργαλείων στην κορυφή. */
	.pl-catbar__inner { padding: 0; }
	.pl-catbar__toggle { flex: 0 0 auto; padding: 12px 18px; }
	.pl-catbar__offer {
		display: flex;
		font-size: .78rem;
		justify-content: flex-end;
		flex: 1;
		padding-right: 14px;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.pl-usp { gap: 10px; padding: 14px 12px; }
	.pl-usp__icon { flex-basis: 34px; height: 34px; }
	.pl-usp__icon svg { height: 17px; width: 17px; }
	.pl-usp__text strong { font-size: .86rem; line-height: 1.25; }
	.pl-usp__text em { font-size: .74rem; line-height: 1.25; }

	.pl-hero__title { font-size: 1.85rem; }
	.pl-hero__text { font-size: .98rem; }
	.pl-hero__copy { padding: 34px 22px 6px; }
	.pl-hero__art { gap: 10px; padding: 18px 22px 40px; }

	.pl-section-title { font-size: 1.4rem; }
}

@media (max-width: 600px) {
	.pl-usps { grid-template-columns: 1fr 1fr; }
	.pl-cat { grid-template-columns: 92px 1fr; }
	.pl-cat__body { padding: 14px; }
	.pl-cat__name { font-size: 1.02rem; }
}

/* Το θέμα αφήνει 60px κενό πάνω από το περιεχόμενο· στην αρχική το banner
   πρέπει να ξεκινά αμέσως μετά τη μπάρα κατηγοριών. */
body.printlab-sf.home .container.content-wrapper,
body.printlab-sf.woocommerce-shop .container.content-wrapper,
body.printlab-sf.tax-product_cat .container.content-wrapper {
	margin-top: 16px;
}

/* Η κολλημένη κεφαλίδα του θέματος έχει υψηλό z-index: το συρτάρι πρέπει
   να βρίσκεται σίγουρα από πάνω της. */
.pl-drawer { z-index: 99999; }
.pl-drawer__panel { position: relative; z-index: 1; }

/* ========================================= Γραμμή αναζήτησης & μηνύματος === */

.pl-utility {
	background: var(--pl-bg-2);
	border-bottom: 1px solid var(--pl-line);
}

.pl-utility__inner {
	align-items: center;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin: 0 auto;
	max-width: var(--pl-wrap);
	padding: 10px 24px;
}

.pl-utility__msg {
	color: var(--pl-ink-2);
	font-family: var(--pl-display);
	font-size: .88rem;
	font-weight: 700;
	margin: 0;
	max-width: none;
}

.pl-search {
	align-items: center;
	background: #fff;
	border: 1px solid var(--pl-line);
	border-radius: 999px;
	display: flex;
	flex: 0 1 420px;
	overflow: hidden;
	transition: border-color .2s, box-shadow .2s;
}

.pl-search:focus-within {
	border-color: var(--pl-blue);
	box-shadow: 0 0 0 3px rgba(31, 79, 216, .14);
}

body.printlab-sf .pl-search input[type="search"] {
	background: none;
	border: 0;
	color: var(--pl-ink);
	flex: 1;
	font-family: var(--pl-body);
	font-size: .95rem;
	margin: 0;
	min-width: 0;
	outline: none;
	padding: 9px 16px;
	width: 100%;
}

body.printlab-sf .pl-search input[type="search"]::placeholder { color: var(--pl-ink-3); }

body.printlab-sf .pl-search button {
	align-items: center;
	background: var(--pl-blue);
	border: 0;
	border-radius: 0;
	color: #fff;
	cursor: pointer;
	display: flex;
	height: 100%;
	justify-content: center;
	padding: 10px 18px;
	transition: background-color .2s;
}

body.printlab-sf .pl-search button:hover { background: var(--pl-ink); }

@media (max-width: 900px) {
	.pl-utility__inner { flex-direction: column; gap: 8px; padding: 8px 14px; }
	.pl-utility__msg { font-size: .78rem; text-align: center; }
	.pl-search { flex: 1 1 auto; width: 100%; }
}

/* ================================================== Tablet (901–1150px) === */

/* Σε iPad οριζόντια οι 9 κατηγορίες δεν χωρούσαν και ξεχείλιζαν τη σελίδα.
   Τις συμπυκνώνουμε αντί να τις κρύψουμε πίσω από κουμπί. */
@media (min-width: 901px) and (max-width: 1150px) {
	.pl-catbar__inner { padding: 0 14px; }

	.pl-catbar__link {
		font-size: .82rem;
		gap: 4px;
		padding: 13px 7px;
	}

	.pl-catbar__link::after { left: 7px; right: 7px; }

	.pl-caret { height: 5px; width: 8px; }

	.pl-mega { left: 14px; right: 14px; }
	.pl-mega__inner { grid-template-columns: 1fr; padding: 0 20px; }
	.pl-mega__lists ul { columns: 3; }

	.pl-utility__inner { padding: 9px 14px; }
	.pl-utility__msg { font-size: .8rem; }
	.pl-search { flex-basis: 320px; }

	.pl-hero__slide { min-height: 380px; }
	.pl-hero__copy { padding: 38px 28px; }
	.pl-hero__title { font-size: 2.1rem; }
	.pl-hero__art { gap: 10px; padding: 26px 28px; }

	.pl-usp { padding: 15px 14px; }
	.pl-usp__text strong { font-size: .9rem; }
	.pl-usp__text em { font-size: .78rem; }
}

/* ============================================ Σειρά κεφαλίδας & μπαρών === */

/* Σε κινητό και tablet το θέμα εμφανίζει διαφορετική (mobile) κεφαλίδα, η οποία
   στον κώδικα έρχεται ΜΕΤΑ τις μπάρες μας — οπότε το λογότυπο έπεφτε από κάτω.
   Με σειρά flex η κεφαλίδα μπαίνει πάντα πρώτη, χωρίς να αλλάζει τίποτα στο desktop. */
body.printlab-sf .site {
	display: flex;
	flex-direction: column;
}

body.printlab-sf .site > * { order: 5; }
body.printlab-sf .site > .skip-link { order: 1; }
body.printlab-sf .site > header { order: 2; }
body.printlab-sf .site > .pl-utility { order: 3; }
body.printlab-sf .site > .pl-catbar { order: 4; }

/* Τα βέλη του banner ακουμπούσαν το κείμενο σε μεσαίες οθόνες. */
@media (max-width: 1150px) {
	.pl-hero__arrow { display: none; }
}

/* ================================================ Ταυτότητα κεφαλίδας === */

:root {
	/* Τα χρώματα του λογοτύπου */
	--pl-brand-cyan: #1FB3D6;
	--pl-brand-orange: #EC6608;
	--pl-brand-yellow: #F5D93C;
	--pl-brand-ink: #2E2E2E;
}

/* Το slogan φεύγει από την κεφαλίδα (παραμένει ως tagline για το SEO). */
body.printlab-sf .site-description { display: none !important; }

body.printlab-sf .site-title { margin: 0; }

body.printlab-sf .site-title a {
	display: inline-block;
	line-height: 1.05;
	position: relative;
	text-decoration: none;
}

.pl-wordmark {
	display: inline-block;
	font-family: var(--pl-display);
	font-weight: 900;
	letter-spacing: -.03em;
}

.pl-wordmark__a { color: var(--pl-brand-ink); }
.pl-wordmark__b { color: var(--pl-brand-cyan); }

/* Λεπτή γραμμή με τα τέσσερα χρώματα της μάρκας, κάτω από το όνομα. */
body.printlab-sf .site-title a::after {
	background: linear-gradient(
		90deg,
		var(--pl-brand-cyan) 0 25%,
		var(--pl-brand-orange) 25% 50%,
		var(--pl-brand-yellow) 50% 75%,
		var(--pl-brand-ink) 75% 100%
	);
	border-radius: 2px;
	bottom: -6px;
	content: "";
	height: 3px;
	left: 0;
	position: absolute;
	transform: scaleX(.42);
	transform-origin: left;
	transition: transform .35s var(--pl-ease);
	width: 100%;
}

body.printlab-sf .site-title a:hover::after { transform: scaleX(1); }

/* Λογότυπο αριστερά, μενού από το κέντρο προς τα δεξιά. */
body.printlab-sf .bhfb-column-1 { justify-content: flex-start; }
body.printlab-sf .bhfb-column-2 { justify-content: flex-end; }
body.printlab-sf .bhfb-column-3 { justify-content: flex-end; }

body.printlab-sf .bhfb-column-2 .main-navigation ul.menu { justify-content: flex-end; }

/* Αν ανέβει εικόνα λογοτύπου, δίνουμε λογικό ύψος. */
body.printlab-sf .custom-logo-link img,
body.printlab-sf .site-header .custom-logo {
	height: auto;
	max-height: 62px;
	width: auto;
}

@media (max-width: 900px) {
	body.printlab-sf .custom-logo-link img,
	body.printlab-sf .site-header .custom-logo { max-height: 46px; }
}

/* Το θέμα μοιράζει την κεφαλίδα σε τρεις ίσες στήλες, που κρατούσε το μενού
   κολλημένο στο κέντρο. Δίνουμε στο λογότυπο και στα εικονίδια όσο χώρο
   χρειάζονται και αφήνουμε το μενού να απλωθεί προς τα δεξιά. */
body.printlab-sf .bhfb-header .bhfb-row.bhfb-cols-3 {
	grid-template-columns: auto minmax(0, 1fr) auto;
}

body.printlab-sf .bhfb-header .bhfb-column-2 {
	justify-content: flex-end;
	padding-right: 26px;
}

body.printlab-sf .bhfb-header .bhfb-column-3 { justify-content: flex-end; }

@media (max-width: 900px) {
	body.printlab-sf .bhfb-header .bhfb-column-2 { padding-right: 0; }
}

/* ============================================ Στοίχιση σε κινητό (≤900) === */

@media (max-width: 900px) {
	/* Λογότυπο ακριβώς στο κέντρο: οι δύο άκρες παίρνουν ίσο χώρο, οπότε το
	   κεντρικό στοιχείο δεν μετατοπίζεται από το πλάτος των εικονιδίων. */
	body.printlab-sf .bhfb-header .bhfb-row.bhfb-cols-3 {
		grid-template-columns: 1fr auto 1fr;
	}

	body.printlab-sf .bhfb-header .bhfb-column-1 { justify-content: flex-start; }
	body.printlab-sf .bhfb-header .bhfb-column-2 { justify-content: center; padding-right: 0; }
	body.printlab-sf .bhfb-header .bhfb-column-3 { justify-content: flex-end; }

	body.printlab-sf .site-title a { text-align: center; }

	/* Λιγότερο κενό γύρω από την κεφαλίδα. */
	body.printlab-sf .bhfb-header .bhfb-row-wrapper { padding-top: 10px; padding-bottom: 10px; }

	/* Το «Κατηγορίες» πιάνει όλη τη γραμμή και το περιεχόμενό του κεντράρεται:
	   μεγάλος στόχος για το δάχτυλο, χωρίς άδειο μαύρο πλάι του. */
	.pl-catbar__inner { padding: 0; }

	.pl-catbar__toggle {
		flex: 1 1 auto;
		justify-content: center;
		padding: 14px 18px;
		width: 100%;
	}

	/* Το μήνυμα προσφοράς και η αναζήτηση σε στοίχιση με τα υπόλοιπα. */
	.pl-utility__inner { padding: 10px 16px; }
	.pl-utility__msg { text-align: center; width: 100%; }
	.pl-search { width: 100%; }

	/* Ίδιο περιθώριο αριστερά-δεξιά με το υπόλοιπο περιεχόμενο. */
	.pl-hero { border-radius: var(--pl-radius); margin-left: 16px; margin-right: 16px; }
	.pl-usps { margin-left: 16px; margin-right: 16px; }
}

@media (max-width: 600px) {
	/* Στα πολύ στενά κινητά το banner πιάνει όλο το πλάτος. */
	.pl-hero { border-radius: 0; margin-left: 0; margin-right: 0; }
	.pl-usps { border-radius: 0; border-left: 0; border-right: 0; margin-left: 0; margin-right: 0; }
}

@media (max-width: 600px) {
	/* Στο στενό κινητό οι τίτλοι ενοτήτων και τα χειριστήρια κεντράρονται,
	   ώστε η σελίδα να διαβάζεται σαν ένας άξονας και όχι σπασμένη αριστερά. */
	.pl-section-head {
		align-items: center;
		flex-direction: column;
		gap: 10px;
		text-align: center;
	}

	.pl-section-tools { justify-content: center; width: 100%; }

	.pl-section-title,
	.pl-section-sub { text-align: center; }

	body.printlab-sf.home .entry-content > .wp-block-heading,
	body.printlab-sf.home .entry-content > p { text-align: center; }

	/* Οι κάρτες κατηγοριών σε μία στήλη: κρατάμε την εικόνα αριστερά και το
	   κείμενο δίπλα της, γιατί έτσι σαρώνονται πιο εύκολα. */
	.pl-usp { justify-content: flex-start; }
}

@media (max-width: 600px) {
	/* Κάρτες κατηγοριών σε δύο στήλες, με την εικόνα πάνω και το κείμενο
	   κεντραρισμένο από κάτω: κεντραρισμένη εμφάνιση και πιο συμπαγής λίστα. */
	.pl-cats { gap: 12px; grid-template-columns: 1fr 1fr; }

	.pl-cat {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto;
		text-align: center;
	}

	.pl-cat__media {
		aspect-ratio: 4 / 3;
		min-height: 0;
		width: 100%;
	}

	.pl-cat__media img {
		height: 100%;
		object-fit: contain;
		padding: 10px;
		width: 100%;
	}

	.pl-cat__body {
		justify-items: center;
		padding: 12px 10px 16px;
	}

	.pl-cat__name { font-size: .98rem; line-height: 1.25; }
	.pl-cat__count { font-size: .8rem; }

	/* Η χρωματική λωρίδα πάει πάνω-πάνω, σαν ταμπέλα της κατηγορίας. */
	.pl-cat__swatch {
		bottom: auto;
		height: 4px;
		right: 0;
		width: 100% !important;
	}
}

/* ================================================ Στοιχεία επιχείρησης === */

.pl-company {
	background: var(--pl-bg-2);
	border-radius: var(--pl-radius);
	margin: 20px 0;
	max-width: 620px;
	padding: 6px 22px;
}

.pl-company dl { margin: 0; }

.pl-company__row {
	border-bottom: 1px solid var(--pl-line);
	display: grid;
	gap: 10px;
	grid-template-columns: 150px 1fr;
	padding: 12px 0;
}

.pl-company__row:last-child { border-bottom: 0; }

.pl-company dt {
	color: var(--pl-ink-3);
	font-family: var(--pl-display);
	font-size: .82rem;
	font-weight: 800;
	letter-spacing: .08em;
	margin: 0;
	text-transform: uppercase;
}

.pl-company dd { color: var(--pl-ink); font-weight: 600; margin: 0; }
.pl-company dd a { color: var(--pl-blue); text-decoration: none; }
.pl-company dd a:hover { text-decoration: underline; }

@media (max-width: 600px) {
	.pl-company__row { gap: 2px; grid-template-columns: 1fr; text-align: left; }
}
