/* Departments */
.tt.tt-cats { padding: clamp(20px, 2vw, 32px) 0 clamp(48px, 5vw, 72px); }
.tt .tt-cats__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: auto; gap: clamp(12px, 1.4vw, 20px); }
.tt .tt-cats__tile { aspect-ratio: 4 / 5; }
.tt .tt-cats__tile.is-big { grid-row: auto; }
.tt .tt-cats__tile { position: relative; overflow: hidden; border-radius: var(--tt-r); background-color: var(--tt-ink); color: var(--tt-white); text-decoration: none; isolation: isolate; }
.tt .tt-cats__tile.is-big { grid-row: span 2; }
.tt .tt-cats__grid[style*="--tt-n:1"] { grid-template-columns: 1fr; }
.tt .tt-cats__tile img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .9s var(--tt-ease); z-index: -1; }
.tt .tt-cats__tile::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, var(--tt-shade, rgba(23, 21, 19, .78)), rgba(23, 21, 19, 0) 55%); }
@media (hover: hover) { .tt a.tt-cats__tile:hover img { transform: scale(1.04); } }
.tt .tt-cats__label { position: absolute; left: clamp(18px, 2vw, 32px); bottom: clamp(18px, 2vw, 30px); right: 18px; display: grid; gap: 4px; }
.tt .tt-cats__label b { font-size: clamp(26px, 1.2rem + 1.4vw, 40px); font-weight: 800; letter-spacing: -.02em; line-height: 1.05; }
.tt .tt-cats__label i { font-style: normal; font-size: 15px; opacity: .92; }
.tt .tt-cats__no { position: absolute; right: 18px; top: 16px; padding: 4px 8px; border-radius: 2px; background-color: var(--tt-paper); color: var(--tt-ink); font-size: 13px; font-weight: 800; letter-spacing: .1em; }
@media (max-width: 767px) {
	.tt .tt-cats__grid { grid-template-columns: 1fr 1fr; }
	/* Explicit heights: an aspect-ratio here made Elementor's flex container measure ~0 and the next section overlapped. */
	.tt .tt-cats__tile { aspect-ratio: auto; height: 58vw; }
	.tt .tt-cats__tile.is-big { grid-column: 1 / -1; height: 70vw; }
	.tt .tt-cats__label b { font-size: 24px; }
	.tt .tt-cats__label i { font-size: 13px; }
}
