
/* ---- Slide katalog & pop-up promo ---- */
.tt-slider-sec { padding: 1.5rem 0 0; }
.tt-slider { position: relative; overflow: hidden; border-radius: 16px; box-shadow: 0 6px 18px rgba(27, 26, 23, .1); background: #f4efe3; }
.tt-slider-track { display: flex; transition: transform .45s ease; }
.tt-slide { flex: 0 0 100%; display: block; }
.tt-slide img { width: 100%; height: auto; display: block; aspect-ratio: 3 / 1; object-fit: cover; }
.tt-slider-btn {
    position: absolute; top: 50%; transform: translateY(-50%); width: 38px; height: 38px; border-radius: 50%;
    border: 0; background: rgba(255, 255, 255, .85); color: #800000; font-size: 1.5rem; line-height: 1; cursor: pointer;
}
.tt-slider-btn.prev { left: 10px; }
.tt-slider-btn.next { right: 10px; }
.tt-slider-dots { position: absolute; left: 0; right: 0; bottom: 8px; display: flex; justify-content: center; gap: 6px; }
.tt-slider-dots button { width: 9px; height: 9px; padding: 0; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .6); cursor: pointer; }
.tt-slider-dots button.on { background: #800000; }
@media (max-width: 600px) { .tt-slide img { aspect-ratio: 16 / 9; } .tt-slider-btn { display: none; } }

.tt-popup { position: fixed; inset: 0; z-index: 1000; background: rgba(20, 16, 10, .55); display: flex; align-items: center; justify-content: center; padding: 1rem; }
.tt-popup[hidden] { display: none; }
.tt-popup-box { position: relative; max-width: 420px; width: 100%; }
.tt-popup-box img { width: 100%; height: auto; display: block; border-radius: 14px; box-shadow: 0 20px 50px rgba(0, 0, 0, .35); }
.tt-popup-close {
    position: absolute; top: -12px; right: -12px; width: 34px; height: 34px; border-radius: 50%; border: 0;
    background: #fff; color: #800000; font-size: 1.4rem; line-height: 1; cursor: pointer; box-shadow: 0 2px 8px rgba(0, 0, 0, .3);
}
