.generate__seo-text { color: #9299a2; font-size: 14px; line-height: 22px; }

.input--date { text-align: left; }

/* ── Shared section layout ── */
.seo-section { padding: 56px 0 0; }
.seo-uses    { padding: 0 0 0; }
.seo-faq     { padding: 0 0 56px; }

.seo-section__title,
.seo-faq__title {
    font-family: "Poppins", Roboto, sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: #141414;
    margin-bottom: 28px;
    line-height: 1.3;
}

/* ── How it works ── */
.seo-section__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 56px;
}
@media (max-width: 768px) { .seo-section__grid { grid-template-columns: 1fr; } }

.seo-card {
    background: #f7f8fa;
    border-radius: 16px;
    padding: 24px 20px 20px;
}

.seo-card__icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background-color: #eeefff;
    margin-bottom: 16px;
}

.seo-card__title {
    font-family: "Poppins", Roboto, sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #141414;
    margin-bottom: 8px;
}

.seo-card__text {
    font-family: "Inter", Roboto, sans-serif;
    font-size: 14px;
    color: #9299a2;
    line-height: 1.65;
}

/* ── Who needs ── */
.seo-uses__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-bottom: 56px;
}
@media (max-width: 768px) { .seo-uses__grid { grid-template-columns: 1fr; } }

.seo-use-card {
    border: 1px solid #ebebeb;
    border-radius: 16px;
    padding: 24px 20px 20px;
    display: flex;
    flex-direction: column;
}

.seo-use-card__header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.seo-use-card__icon-wrap {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #eeefff;
}

.seo-use-card__title {
    font-family: "Poppins", Roboto, sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #141414;
}

.seo-use-card__text {
    font-family: "Inter", Roboto, sans-serif;
    font-size: 14px;
    color: #9299a2;
    line-height: 1.65;
}

/* ── FAQ ── */
.faq-item { border-bottom: 1px solid #ebebeb; padding: 20px 0; }
.faq-item:first-of-type { border-top: 1px solid #ebebeb; }
.faq-item__q {
    font-family: "Poppins", Roboto, sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #141414;
    margin-bottom: 10px;
}
.faq-item__a {
    font-family: "Inter", Roboto, sans-serif;
    font-size: 14px;
    color: #9299a2;
    line-height: 1.7;
}

/* ── City page ── */
.generate__subtitle {
    font-family: "Inter", Roboto, sans-serif;
    font-size: 16px;
    color: #4450F2;
    font-weight: 600;
    margin: 0 0 16px;
}
.hotel-city-results { padding: 40px 0 16px; }
.hotels-grid--loading { opacity: 0.5; pointer-events: none; }
.hotels-empty {
    grid-column: 1 / -1;
    padding: 32px 20px;
    text-align: center;
    color: #9299a2;
    font-family: "Inter", Roboto, sans-serif;
    font-size: 15px;
}

/* ── Related SEO links ── */
.seo-related { padding: 0 0 56px; }
.seo-related__list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.seo-related__list a {
    display: inline-block;
    border: 1px solid #ebebeb;
    border-radius: 999px;
    padding: 8px 16px;
    font-family: "Inter", Roboto, sans-serif;
    font-size: 14px;
    color: #4450F2;
    text-decoration: none;
    transition: background-color 0.2s ease;
}
.seo-related__list a:hover { background-color: #eeefff; }
