/* Главная страница (§7.2). */

/* ---------- Hero ---------- */
/* Реальный товар, а не абстрактная иллюстрация; на mobile изображение под текстом. */

.hero {
    padding-block: var(--space-6) var(--space-7);
    background: var(--bg-alt);
    overflow: hidden;
}

.hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
    align-items: center;
}

.hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--fs-small);
    font-weight: var(--fw-medium);
    color: var(--accent);
    letter-spacing: -.01em;
    margin-bottom: var(--space-3);
}

.hero__title {
    font-size: var(--fs-h1);
    letter-spacing: var(--ls-h1);
    line-height: var(--lh-tight);
    margin-bottom: var(--space-4);
}

.hero__text {
    font-size: var(--fs-lead);
    letter-spacing: var(--ls-lead);
    line-height: 1.34;
    color: var(--text-muted);
    max-width: 46ch;
    margin-bottom: var(--space-5);
}

.hero__actions {
    display: flex;
    gap: var(--space-3);
    flex-wrap: wrap;
}

.hero__media {
    order: -1;
    display: grid;
    place-items: center;
    padding: var(--space-4);
}

.hero__media img {
    width: 100%;
    max-width: 420px;
    height: auto;
    object-fit: contain;
}

@media (min-width: 768px) {
    .hero { padding-block: var(--space-8); }

    .hero__grid {
        grid-template-columns: 1.05fr .95fr;
        gap: var(--space-7);
    }

    .hero__media {
        order: 0;
    }

    .hero__media img {
        max-width: 520px;
    }
}

/* ---------- Полоса доверия ---------- */

.trust-bar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-4);
    padding-block: var(--space-6);
    border-bottom: 1px solid var(--border-soft);
}

@media (min-width: 1024px) {
    .trust-bar {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: var(--space-6);
    }
}

/* ---------- Сетки категорий и брендов ---------- */

.category-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-3);
}

@media (min-width: 640px) {
    .category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
    .category-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: var(--space-4);
    }
}

.brand-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-3);
}

@media (min-width: 640px) {
    .brand-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
    .brand-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
}

/* ---------- Сезонная подборка ---------- */

.feature-band {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
    align-items: center;
    padding: var(--space-6);
    border-radius: var(--radius-xl);
    background: var(--bg-alt);
}

.feature-band__media img {
    width: 100%;
    max-width: 320px;
    margin-inline: auto;
}

@media (min-width: 768px) {
    .feature-band {
        grid-template-columns: 1fr 1fr;
        padding: var(--space-8);
        gap: var(--space-7);
    }
}

/* ---------- Почему выбирают iDiggi ---------- */

.reasons {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
}

@media (min-width: 768px) {
    .reasons { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.reason__number {
    font-size: var(--fs-h2);
    letter-spacing: var(--ls-h2);
    font-weight: var(--fw-semibold);
    color: var(--accent);
    margin-bottom: var(--space-2);
}

.reason__title {
    font-size: 20px;
    letter-spacing: -.008em;
    margin-bottom: var(--space-2);
}

.reason__text {
    color: var(--text-muted);
    font-size: var(--fs-small);
    line-height: var(--lh-body);
}

/* ---------- FAQ ---------- */

.faq {
    display: flex;
    flex-direction: column;
    border-top: 1px solid var(--border-soft);
}

.faq__item {
    border-bottom: 1px solid var(--border-soft);
}

.faq__question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    width: 100%;
    min-height: var(--tap-target);
    padding: var(--space-4) 0;
    text-align: left;
    font-size: var(--fs-lead);
    letter-spacing: var(--ls-lead);
    font-weight: var(--fw-medium);
    color: var(--text);
}

.faq__question svg {
    flex: 0 0 auto;
    color: var(--text-muted);
    transition: transform var(--duration-base) var(--ease);
}

.faq__question[aria-expanded="true"] svg {
    transform: rotate(180deg);
}

.faq__answer {
    padding-bottom: var(--space-4);
    color: var(--text-muted);
    max-width: 68ch;
}

.faq__answer[hidden] {
    display: none;
}
