/* Front page as a category grid (Theme Settings → Διάταξη → Αρχική σελίδα: Κατηγορίες). */
.cg-homecats { padding-block: var(--erp-space-8) var(--erp-space-8); }
.cg-homecats__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--erp-space-2) var(--erp-space-6); margin-bottom: var(--erp-space-6); }
.cg-homecats__title { margin: 0; font-size: var(--erp-fs-h1); letter-spacing: -.01em; }
.cg-homecats__lede { margin: 0; max-width: 40rem; color: var(--erp-muted); font-size: var(--erp-fs-md); }
.cg-homecats__intro { max-width: 52rem; margin-bottom: var(--erp-space-6); }
.cg-homecats__empty { color: var(--erp-muted); }
.cg-homecats__all { display: flex; justify-content: center; margin: var(--erp-space-8) 0 0; }
.cg-homecats__all .cg-icon { width: 1.125rem; height: 1.125rem; }

.cg-catgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr)); gap: var(--erp-space-4); margin: 0; padding: 0; list-style: none; }
.cg-catgrid > li { display: flex; min-width: 0; }
.cg-catgrid__card { position: relative; display: flex; flex-direction: column; width: 100%; border: 1px solid var(--erp-line); border-radius: var(--erp-r-lg); background: var(--erp-bg); color: var(--erp-ink); overflow: hidden; transition: border-color .2s, box-shadow .2s, transform .2s; }
.cg-catgrid__card:hover { border-color: var(--erp-line-strong); box-shadow: var(--erp-shadow); transform: translateY(-2px); color: var(--erp-ink); }
.cg-catgrid__card:focus-visible { outline: var(--erp-focus); outline-offset: 3px; }
.cg-catgrid__media { display: grid; place-items: center; aspect-ratio: 1 / 1; background: var(--erp-soft); overflow: hidden; }
.cg-catgrid__media img { width: 100%; height: 100%; object-fit: contain; padding: var(--erp-space-4); mix-blend-mode: multiply; transition: transform .35s ease; }
.cg-catgrid__card:hover .cg-catgrid__media img { transform: scale(1.04); }
.cg-catgrid__placeholder .cg-icon { width: 3rem; height: 3rem; color: var(--erp-line-strong); }
.cg-catgrid__foot { display: flex; align-items: center; justify-content: space-between; gap: var(--erp-space-2); padding: var(--erp-space-3) var(--erp-space-4) var(--erp-space-4); border-top: 1px solid var(--erp-line); }
.cg-catgrid__text { display: flex; flex-direction: column; gap: .125rem; min-width: 0; }
.cg-catgrid__name { font-weight: 800; font-size: var(--erp-fs-md); line-height: 1.25; overflow-wrap: break-word; hyphens: auto; }
.cg-catgrid__count { color: var(--erp-muted); font-size: var(--erp-fs-sm); }
.cg-catgrid__go { flex: none; display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; border: 1px solid var(--erp-line-strong); color: var(--erp-ink); transition: background .2s, border-color .2s, color .2s; }
.cg-catgrid__go .cg-icon { width: 1rem; height: 1rem; stroke-width: 2.5; }
.cg-catgrid__card:hover .cg-catgrid__go { background: var(--erp-primary); border-color: var(--erp-primary); color: #fff; }

@media (max-width: 640px) {
	.cg-homecats { padding-block: var(--erp-space-6) var(--erp-space-6); }
	.cg-catgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--erp-space-3); }
	.cg-catgrid__media img { padding: var(--erp-space-3); }
	.cg-catgrid__foot { padding: var(--erp-space-2) var(--erp-space-3) var(--erp-space-3); }
	.cg-catgrid__name { font-size: var(--erp-fs-base); }
	.cg-catgrid__go { display: none; }
}
@media (prefers-reduced-motion: reduce) { .cg-catgrid__card, .cg-catgrid__media img { transition: none; } .cg-catgrid__card:hover { transform: none; } }

/* Occasions (categories flagged «Περίσταση»): a row of text buttons under the grid. */
.cg-homecats__divider { height: 0; margin: var(--erp-space-12) 0 var(--erp-space-8); border: 0; border-top: 1px solid var(--erp-line); }
.cg-occasions__title { margin: 0; font-size: var(--erp-fs-h3); letter-spacing: -.01em; }
.cg-occasions__lede { margin: var(--erp-space-1) 0 0; max-width: 40rem; color: var(--erp-muted); }
.cg-occasions__list { display: flex; flex-wrap: wrap; gap: var(--erp-space-2) var(--erp-space-3); margin: var(--erp-space-4) 0 0; padding: 0; list-style: none; }
.cg-occasions__list > li { display: flex; min-width: 0; max-width: 100%; }
.cg-occasions__pill.cg-btn { min-height: 44px; max-width: 100%; padding: var(--erp-space-2) var(--erp-space-4); background: var(--erp-bg); font-size: var(--erp-fs-sm); line-height: 1.25; text-align: center; white-space: normal; overflow-wrap: anywhere; }
.cg-occasions__pill.cg-btn:hover { background: var(--erp-primary-50); }
.cg-occasions__pill.cg-btn:focus-visible { outline: var(--erp-focus); outline-offset: 3px; border-radius: var(--erp-r-pill); }
@media (max-width: 640px) {
	.cg-homecats__divider { margin: var(--erp-space-8) 0 var(--erp-space-6); }
	.cg-occasions__list { gap: var(--erp-space-2); }
}

/* Bottom buttons: «Όλα τα προϊόντα» + «Όλες οι κατηγορίες». */
.cg-homecats__all { flex-wrap: wrap; justify-content: center; gap: var(--erp-space-2); }
.cg-homecats__allcats .cg-icon { width: 1.125rem; height: 1.125rem; }

/* Client logos marquee («Μας εμπιστεύτηκαν»). Two equal tracks move together = seamless loop. */
@media (max-width: 640px) {
}
/* Reduced motion: a static, centred, wrapped grid of the logos (no repeats, no copy). */
@media (prefers-reduced-motion: reduce) {
}

/* «Όλες οι κατηγορίες» page (page-templates/all-categories.php, [erpt_all_categories]). */
.cg-catpage-wrap { padding-bottom: var(--erp-space-16); }
.cg-catpage-wrap__head { margin: var(--erp-space-6) 0 var(--erp-space-4); }
.cg-catpage-wrap__title { margin: 0; font-size: var(--erp-fs-h1); letter-spacing: -.01em; }
.cg-catpage-wrap__intro { max-width: 52rem; margin-bottom: var(--erp-space-6); }
.cg-catpage__empty { color: var(--erp-muted); }
.cg-catpage__jump { margin: 0 0 var(--erp-space-8); }
.cg-catpage__jump ul { display: flex; flex-wrap: wrap; gap: var(--erp-space-2); margin: 0; padding: 0; list-style: none; }
.cg-catpage__pill { display: inline-flex; align-items: center; min-height: 40px; padding: var(--erp-space-2) var(--erp-space-4); border: 1px solid var(--erp-line-strong); border-radius: var(--erp-r-pill); background: var(--erp-bg); color: var(--erp-ink); font-size: var(--erp-fs-sm); font-weight: 700; line-height: 1.2; transition: background .2s, border-color .2s, color .2s; }
.cg-catpage__pill:hover { border-color: var(--erp-primary); background: var(--erp-primary-50); color: var(--erp-ink); }
.cg-catpage__pill:focus-visible { outline: var(--erp-focus); outline-offset: 3px; }
.cg-catpage__section { scroll-margin-top: calc(var(--erp-header-h) + var(--erp-space-6)); }
.cg-catpage__section + .cg-catpage__section { margin-top: var(--erp-space-12); padding-top: var(--erp-space-8); border-top: 1px solid var(--erp-line); }
.cg-catpage__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--erp-space-2) var(--erp-space-4); margin-bottom: var(--erp-space-4); }
.cg-catpage__title { display: flex; align-items: center; gap: var(--erp-space-3); margin: 0; font-size: var(--erp-fs-h2); letter-spacing: -.01em; }
.cg-catpage__title .cg-catpage__icon { width: 32px; height: 32px; }
.cg-catpage__all { display: inline-flex; align-items: center; gap: var(--erp-space-1); font-weight: 700; }
.cg-catpage__all .cg-icon { width: 1rem; height: 1rem; }
.cg-catpage .cg-catgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1024px) { .cg-catpage .cg-catgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) {
	.cg-catpage .cg-catgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cg-catpage__section + .cg-catpage__section { margin-top: var(--erp-space-8); padding-top: var(--erp-space-6); }
	.cg-catpage__jump { margin-bottom: var(--erp-space-6); }
}
