/* Похожие товары — v3 2026 */

/* Выравниваем с .product-layout (max-width: 1200px, padding: 0 20px) */
.similar-section {
    max-width: 1200px;
    margin: 0 auto;
    padding: 1.5rem 20px 6rem;
    /* 6rem — clearance под sticky footer+bottom-nav на мобилке */
}

.similar-section h2 {
    font-size: .7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: var(--text-muted);
    margin: 0 0 1rem;
}

/* Mobile: горизонтальный scroll-snap */
.sim-grid {
    display: flex;
    gap: .75rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: .25rem;
}

.sim-grid::-webkit-scrollbar { display: none; }

/* Карточка:
   Плоский стиль — border вместо hanging shadow.
   На hover shadow "поднимает" карточку — ощущение интерактивности */
.sim-card {
    /* ВАЖНО: viewport-relative ширина чтобы третья карточка всегда торчала.
       100vw - 40px (padding секции) - .75rem (один gap) / 2.3 карточки.
       Результат: ~140px на 375px, ~147px на 390px — хвостик всегда виден */
    flex: 0 0 calc((100vw - 40px - .75rem) / 2.3);
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    border-radius: 14px;
    overflow: hidden;
    background: var(--card-bg);
    border: 1px solid rgba(0, 0, 0, .07);
    box-shadow: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.sim-card:hover {
    transform: translateY(-3px);
    /* На hover — border прозрачный, shadow берёт на себя роль границы */
    border-color: transparent;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .13);
}

/* Фото — "floating" стиль:
   Отступы создают подложку, отдельное скругление.
   ВАЖНО: белое фото на белой карточке без отступов = нет контраста.
   Серый фон (#eef0f3) + margin создают "предмет на подложке" (паттерн WB/Ozon/AppStore) */
.sim-card img {
    display: block;
    /* Убираем встроенный baseline gap у img */
    margin: 8px 8px 0;
    width: calc(100% - 16px);
    aspect-ratio: 1;
    object-fit: contain;
    border-radius: 9px;
    background: #eef0f3;
}

/* Текстовый блок */
.sim-title {
    flex: 1;
    font-size: .73rem;
    line-height: 1.4;
    padding: .5rem .6rem .2rem;
    display: -webkit-box;
    /* ВАЖНО: 3 строки — конфигурация ноутбука не влазит в 2 строки (CPU+RAM+Storage) */
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: var(--text-main);
}

.sim-price {
    font-size: .82rem;
    font-weight: 700;
    padding: .3rem .6rem .65rem;
    color: var(--price-color);
}

/* Skeleton — два блока: плашка-фото + плашка-текст */
.sim-grid.is-loading .sim-card {
    height: 230px;
    box-shadow: none;
    pointer-events: none;
    border-color: transparent;
    overflow: visible;
}

.sim-grid.is-loading .sim-card::before,
.sim-grid.is-loading .sim-card::after {
    content: '';
    display: block;
    border-radius: 9px;
    background: linear-gradient(90deg, #f0f0f2 25%, #e6e6ea 50%, #f0f0f2 75%);
    background-size: 200% 100%;
    animation: sim-shimmer 1.4s infinite;
}

/* ::before — область фото */
.sim-grid.is-loading .sim-card::before {
    margin: 8px 8px 0;
    width: calc(100% - 16px);
    aspect-ratio: 1;
}

/* ::after — область текста */
.sim-grid.is-loading .sim-card::after {
    margin: 10px 8px 8px;
    width: calc(60% - 16px);
    height: .65rem;
    animation-delay: .1s;
}

@keyframes sim-shimmer {
    to { background-position: -200% 0; }
}

/* Fade-in + slide-up при появлении */
.similar-section.is-ready .sim-grid {
    animation: sim-fadein .3s ease;
}

@keyframes sim-fadein {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: none; }
}

/* Desktop ≥640px */
@media (min-width: 640px) {
    .similar-section {
        padding-bottom: 3rem;
    }

    .sim-grid {
        display: grid;
        /* ВАЖНО: minmax(195px) = ровно 5 колонок при 1200px — читаемые карточки.
           Было minmax(160px) = 7 карточек — слишком мелкие */
        grid-template-columns: repeat(auto-fill, minmax(195px, 1fr));
        overflow-x: visible;
        gap: 1rem;
    }

    .sim-card { flex: unset; }

    .sim-title {
        font-size: .78rem;
        /* На десктопе чуть больше — 3 строки + нет места под доп. описание */
        -webkit-line-clamp: 3;
    }

    .sim-price { font-size: .9rem; }
}
