.carousel-nav-wrapper { position: relative; padding: 0 5rem; overflow: visible; }
/* Карусель: видно 4 товара / 3 отзыва, скролл по 1, бесконечный цикл, только целые карточки */
.psc-wrap { position: relative; overflow: visible; }
.psc-viewport {
    width: 100%; min-width: 0; overflow: hidden;
    container-type: inline-size;
    container-name: psc;
}
.psc-viewport.psc-reviews-viewport { container-name: rsc; }
.psc-track { display: flex; gap: 0.75rem; padding: 0.5rem 0; transition: transform 0.3s ease-out; width: max-content; will-change: transform; }
/* Карточки ровно 4 в ряд — целые, без обрезки */
.psc-item { flex: 0 0 calc((100cqw - 3 * 0.75rem) / 4); min-width: 0; flex-shrink: 0; }
@container psc (max-width: 900px) { .psc-item { flex: 0 0 calc((100cqw - 2 * 0.75rem) / 3); } }
@container psc (max-width: 600px) { .psc-item { flex: 0 0 calc((100cqw - 1 * 0.75rem) / 2); } }
/* На узких экранах — 2 карточки, компактно (не 1 на всю ширину) */
@container psc (max-width: 400px) { .psc-item { flex: 0 0 calc((100cqw - 0.75rem) / 2); } }
/* Стрелки: заливка и свечение при наведении */
.psc-prev, .psc-next {
    position: absolute; top: 50%; transform: translateY(-50%); width: 56px; height: 56px;
    border: 2px solid rgba(0,0,0,0.2); border-radius: 50%; background: transparent;
    display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 20;
    transition: background 0.25s, border-color 0.25s, box-shadow 0.25s;
    touch-action: manipulation; -webkit-tap-highlight-color: transparent; user-select: none;
}
.psc-prev:hover, .psc-next:hover {
    background: linear-gradient(135deg, rgba(13,110,253,0.2) 0%, rgba(13,110,253,0.35) 100%);
    border-color: #0d6efd;
    box-shadow: 0 0 20px rgba(13,110,253,0.4);
}
.psc-prev .carousel-control-prev-icon, .psc-next .carousel-control-next-icon {
    background-size: 1.5rem; filter: brightness(0); opacity: 0.75;
    transition: filter 0.25s, opacity 0.25s;
}
.psc-prev:hover .carousel-control-prev-icon, .psc-next:hover .carousel-control-next-icon {
    filter: brightness(0) invert(1); opacity: 1;
}
.psc-prev:disabled, .psc-next:disabled {
    background: rgba(0,0,0,0.06); border-color: rgba(0,0,0,0.15);
    cursor: not-allowed; pointer-events: none;
}
.psc-prev { left: -4rem; }
.psc-next { right: -4rem; }
.psc-prev, .psc-next { pointer-events: auto; }
/* Область viewport + стрелки — стрелки центрируются по высоте карточек */
.psc-arrows-area { position: relative; }
/* Индикаторы карусели товаров (как у promo-mini) */
.psc-indicators {
    display: flex; justify-content: center; gap: 8px; margin-top: 1rem; padding-bottom: 0.5rem;
}
.psc-reviews .psc-indicators { margin-top: 0.35rem; padding-bottom: 0.25rem; }
.reviews-telegram-link { text-align: left; }
.reviews-telegram-link a { color: inherit; text-decoration: underline; }
.reviews-telegram-link a:hover { opacity: 0.9; }
[data-theme="dark"] .reviews-telegram-link { color: var(--text-muted); }
[data-theme="dark"] .reviews-telegram-link a { color: var(--text-muted); }
[data-theme="dark"] .reviews-telegram-link a:hover { color: var(--text); }
.psc-indicators button {
    width: 8px; height: 8px; border-radius: 50%; border: none; padding: 0;
    background-color: rgba(0,0,0,0.25); cursor: pointer; transition: background 0.2s;
}
.psc-indicators button.active { background-color: #0d6efd; }
.psc-indicators button:hover:not(.active) { background-color: rgba(0,0,0,0.4); }
[data-theme="dark"] .psc-indicators button { background-color: rgba(255,255,255,0.35); }
[data-theme="dark"] .psc-indicators button.active { background-color: #6ea8fe; }
[data-theme="dark"] .psc-indicators button:hover:not(.active) { background-color: rgba(255,255,255,0.5); }
/* Reviews: видно 3 отзыва, целые карточки между стрелками */
.rsc-track { padding: 1rem 0; }
.psc-reviews-viewport { container-name: rsc; }
.rsc-item { flex: 0 0 calc((100cqw - 2 * 1rem) / 3); min-width: 0; flex-shrink: 0; max-width: 100%; }
@container rsc (max-width: 768px) { .rsc-item { flex: 0 0 100cqw; width: 100cqw; min-width: 100cqw; max-width: 100cqw; } }
.product-carousel .carousel-control-prev,
.product-carousel .carousel-control-next,
.reviews-carousel .carousel-control-prev,
.reviews-carousel .carousel-control-next {
    width: 56px; height: 56px; top: 50%; transform: translateY(-50%);
    border: 2px solid rgba(0,0,0,0.2); border-radius: 50%;
    background: transparent !important; opacity: 1;
    transition: background 0.2s, border-color 0.2s;
}
.product-carousel .carousel-control-prev:hover,
.product-carousel .carousel-control-next:hover,
.reviews-carousel .carousel-control-prev:hover,
.reviews-carousel .carousel-control-next:hover {
    background: rgba(0,0,0,0.05) !important; border-color: rgba(0,0,0,0.4);
}
.product-carousel .carousel-control-prev { left: -4rem; }
.product-carousel .carousel-control-next { right: -4rem; }
.reviews-carousel .carousel-control-prev { left: -4rem; }
.reviews-carousel .carousel-control-next { right: -4rem; }
.product-carousel .carousel-control-prev .carousel-control-prev-icon,
.product-carousel .carousel-control-next .carousel-control-next-icon,
.reviews-carousel .carousel-control-prev .carousel-control-prev-icon,
.reviews-carousel .carousel-control-next .carousel-control-next-icon {
    background-size: 1.5rem; width: 1.5rem; height: 1.5rem;
    filter: brightness(0); opacity: 0.7;
}
.product-carousel .carousel-control-prev:hover .carousel-control-prev-icon,
.product-carousel .carousel-control-next:hover .carousel-control-next-icon,
.reviews-carousel .carousel-control-prev:hover .carousel-control-prev-icon,
.reviews-carousel .carousel-control-next:hover .carousel-control-next-icon {
    opacity: 1;
}
.reviews-carousel .carousel-inner { padding: 1rem 0; overflow: hidden; transition: transform 0.5s ease-in-out; }
.reviews-carousel .carousel-item .row { align-items: stretch; justify-content: center; }
.reviews-carousel .carousel-item .col-md-4 { display: flex; max-width: 380px; }
.reviews-carousel .review-card {
    flex: 1; min-height: 220px; display: flex; flex-direction: column;
    border-radius: 16px; padding: 1.5rem 1.75rem; text-align: center;
    background: var(--bg-card); border: 1px solid var(--border); box-shadow: 0 4px 20px var(--shadow);
    transition: box-shadow 0.3s, transform 0.2s;
}
.reviews-carousel .review-card:hover { box-shadow: 0 8px 30px rgba(0,0,0,0.1); }
.reviews-carousel .review-card .rating { font-size: 1.1rem; margin-bottom: 0.75rem; }
.reviews-carousel .review-card p {
    flex: 1; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 4;
    -webkit-box-orient: vertical; margin-bottom: 1rem; font-size: 0.95rem; line-height: 1.6; color: var(--text);
}
.reviews-carousel .review-card small { font-size: 0.85rem; color: var(--text-muted); }
/* Сетка: левый 3:2, правые 2:1. Строка-прослойка 1rem между правыми блоками, нижние края выровнены. */
.premium-blocks {
    display: grid; column-gap: 1rem; margin-bottom: 2.5rem;
    grid-template-columns: 3fr 2fr;
    grid-template-rows: 1fr 1rem 1fr;
    align-items: stretch;
}
.premium-blocks .block-left { grid-row: 1 / -1; aspect-ratio: 3/2; min-height: 0; width: 100%; align-self: stretch; }
.premium-blocks .block:nth-child(2) { grid-row: 1; }
.premium-blocks .block:nth-child(3) { grid-row: 3; }
.premium-blocks .block:not(.block-left) { aspect-ratio: 2/1; min-height: 0; width: 100%; }
.premium-blocks .block {
    border-radius: 12px; overflow: hidden; position: relative; padding: 1.5rem;
    display: flex; flex-direction: column; justify-content: flex-end; background-color: var(--premium-block-bg);
}
.premium-blocks .block-img-container {
    position: absolute; inset: 0; z-index: 0; overflow: hidden;
}
.premium-blocks .block-img-container img {
    width: 100%; height: 100%; object-fit: cover; object-position: center; display: block;
    min-width: 0; min-height: 0; max-width: 100%; max-height: 100%;
}
.premium-blocks .block::before {
    content: ''; position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.3) 50%, transparent 100%);
}
.premium-blocks .block h4, .premium-blocks .block p, .premium-blocks .block a { position: relative; z-index: 2; color: white; margin: 0; text-shadow: 0 1px 3px rgba(0,0,0,0.5); }
.premium-blocks .block h4 { font-weight: 700; margin-bottom: 0.5rem; }
.premium-blocks .block .btn {
    background: #fff !important; color: #212529 !important; border: 2px solid rgba(0,0,0,0.2);
}
.premium-blocks .block .btn:hover {
    background: #f8f9fa !important; color: #212529 !important; border-color: rgba(0,0,0,0.3);
}
[data-theme="dark"] .premium-blocks .block .btn {
    background: #212529 !important; color: white !important; border-color: rgba(255,255,255,0.9);
}
[data-theme="dark"] .premium-blocks .block .btn:hover {
    background: #343a40 !important; color: white !important; border-color: white;
}
@media (max-width: 768px) {
    .premium-blocks { grid-template-columns: 1fr; grid-template-rows: auto auto auto; }
    .premium-blocks .block-left { grid-row: auto; }
    .reviews-carousel .carousel-item .col-md-4 { max-width: 100%; }
    .carousel-nav-wrapper { padding: 0 2.5rem; }
}
@media (max-width: 576px) {
    /* Стрелки в padding-зоне: обёртка выходит за контейнер, стрелки не перекрывают карточки */
    .carousel-nav-wrapper { margin-left: -0.75rem; margin-right: -0.75rem; padding: 0 3.5rem; overflow: visible; }
    /* Отзывы: карточка = 100% viewport, полностью между стрелками */
    .carousel-nav-wrapper-reviews { padding: 0 4rem !important; }
    .psc-reviews .rsc-item { flex: 0 0 100cqw !important; width: 100cqw !important; min-width: 100cqw !important; max-width: 100cqw !important; box-sizing: border-box; }
    .psc-reviews .review-card { box-sizing: border-box; width: 100%; max-width: 100%; overflow: hidden; }
    .psc-reviews .review-card { min-height: 180px; padding: 1rem 1.25rem; }
    .psc-reviews .review-card p { -webkit-line-clamp: 3; }
    .psc-viewport { overflow: hidden; }
    .psc-prev { left: -44px; width: 44px; height: 44px; min-width: 44px; }
    .psc-next { right: -44px; width: 44px; height: 44px; min-width: 44px; }
    .psc-prev .carousel-control-prev-icon, .psc-next .carousel-control-next-icon { background-size: 1.2rem; }
    .psc-track { gap: 0.5rem; }
    h2.mb-4 { font-size: 1.35rem; margin-bottom: 1rem !important; }
    /* Фикс для мобильных: компактные карточки, 2 в ряд */
    .psc-item { flex: 0 0 155px !important; min-width: 155px; width: 155px; }
    .psc-item .product-card { padding: 8px; }
    .psc-item .product-card-img-wrap { margin-bottom: 0.4rem; aspect-ratio: 1; min-height: 0 !important; }
    .psc-item .product-card .product-title { font-size: 0.85rem; min-height: 2.2em; }
    .psc-item .product-card .product-price { font-size: 1rem; }
    .psc-item .product-card .btn-sm { padding: 0.25rem 0.4rem; font-size: 0.75rem; }
}