/*
 Theme Name: SutkiTomsk
 Template: generatepress
*/
/* Карточка квартиры */

.kvartira-single {
    max-width: 1100px;
    margin: 40px auto;
    padding: 20px;
}

.kvartira-header {
    margin-bottom: 20px;
    border-bottom: 1px solid #eee;
    padding-bottom: 15px;
}

.kvartira-title {
    font-size: 28px;
    margin-bottom: 10px;
}

.kvartira-meta > div {
    margin-bottom: 4px;
}

.kvartira-prices {
    margin-top: 10px;
    font-weight: 600;
}

/* Галерея */

.kvartira-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 10px;
    margin: 20px 0;
}

.kvartira-gallery-item img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 6px;
}

/* Удобства */

.kvartira-features h2 {
    margin-top: 20px;
    margin-bottom: 10px;
}

.kvartira-features ul {
    list-style: none;
    padding-left: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
}

.kvartira-features li::before {
    content: "• ";
    color: #4CAF50;
}

/* Кнопка WhatsApp */

.kvartira-booking {
    margin-top: 25px;
}

.kvartira-whatsapp-btn {
    display: inline-block;
    padding: 12px 24px;
    border-radius: 6px;
    background: #25D366;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
}

.kvartira-whatsapp-btn:hover {
    opacity: 0.9;
}

/* Архив квартир — убираем лишний фон и выравниваем */
.kvartiry-archive-wrapper {
    padding: 20px;
}


body.post-type-archive-kvartiry .inside-article {
    background: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.post-type-archive-kvartiry .entry-header {
    display: none !important;
}



.kvartiry-archive-wrapper {
    max-width: 1100px;
    margin: 40px auto;
    padding: 0 15px 40px;
}

.kvartiry-archive-wrapper .page-title {
    text-align: center;
    margin-bottom: 20px;
    font-size: 32px;
}


.kvartiry-grid {
    display: grid;
    gap: 20px;
    /* Автоматически столько колонок, сколько влезет по ширине */
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}


.kvartira-card {
    border: 1px solid #eee;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    display: flex;
    flex-direction: column;
}

.kvartira-card-link {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.kvartira-card-thumb {
    height: 180px;
    overflow: hidden;
}

.kvartira-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.kvartira-card-body {
    padding: 12px 14px 16px;
}

.kvartira-card-title {
    font-size: 18px;
    margin: 0 0 8px;
}

.kvartira-card-address {
    font-size: 13px;
    color: #666;
    margin-bottom: 4px;
}

.kvartira-card-meta {
    font-size: 13px;
    color: #777;
    margin-bottom: 6px;
}

.kvartira-card-meta span + span::before {
    content: " · ";
}

.kvartira-card-price {
    font-weight: 600;
    margin-top: 4px;
}


/*
 Theme Name: SutkiTomsk
 Template: generatepress
*/

/* --- АРХИВ КВАРТИР --- */

.kvartiry-archive-wrapper {
    max-width: 1100px;
    margin: 40px auto;
    padding: 0 15px 40px;
}

.kvartiry-archive-wrapper .page-title {
    text-align: center;
    margin-bottom: 20px;
    font-size: 32px;
}

/* сетка карточек */
.kvartiry-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 25px;
    align-items: start;
}

/* убираем стандартный белый блок темы на архиве квартир */
body.post-type-archive-kvartiry .inside-article {
    background: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.post-type-archive-kvartiry .entry-header {
    display: none !important;
}

/* карточка квартиры в списке */
.kvartira-card {
    border: 1px solid #eee;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    display: flex;
    flex-direction: column;
}

.kvartira-card-link {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.kvartira-card-thumb {
    height: 180px;
    overflow: hidden;
}

.kvartira-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.kvartira-card-body {
    padding: 12px 14px 16px;
}

.kvartira-card-title {
    font-size: 18px;
    margin: 0 0 8px;
}

.kvartira-card-address {
    font-size: 13px;
    color: #666;
    margin-bottom: 4px;
}

.kvartira-card-meta {
    font-size: 13px;
    color: #777;
    margin-bottom: 6px;
}

.kvartira-card-meta span + span::before {
    content: " · ";
}

.kvartira-card-price {
    font-weight: 600;
    margin-top: 4px;
}

/* Главная: контент на всю ширину, сайдбар убираем */
.home .site-content .content-area {
    width: 100% !important;
}

.home .site-content .widget-area {
    display: none !important;
}

.kvartira-single__thumb.is-active img {
    outline: 2px solid #0073aa;
    outline-offset: 2px;
    opacity: 0.9;
    cursor: default;
}

.kvartira-single__thumb img {
    cursor: pointer;
}


.kvartira-single__features ul {
    list-style: none;
    padding-left: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    margin: 10px 0 0;
}

/* Элемент удобства с иконкой */
.kvartira-single__features .kvartira-single__amenity {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #f7f9fc;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 14px;
}

/* Иконка */
.kvartira-single__amenity-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
}

/* Текст удобства */
.kvartira-single__amenity-label {
    white-space: nowrap;
}

/* Блок "Ещё квартиры в этом районе" */
.kvartira-single__related {
    margin-top: 50px;        /* было 30 — делаем больше */
    padding-top: 25px;       /* небольшой внутренний отступ сверху */
    border-top: 1px solid #eee; /* тонкая разделительная линия */
}

.sutki-breadcrumbs {
    margin: 10px auto 20px;
    max-width: 1100px;
    padding: 0 15px;
    font-size: 13px;
    color: #777;
}

.sutki-breadcrumbs a {
    color: #1e73be;
    text-decoration: none;
}

.sutki-breadcrumbs a:hover {
    text-decoration: underline;
}

/* Навигация внизу карточки квартиры */
.kvartira-single__nav {
    margin-top: 30px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.kvartira-single__nav-link {
    display: inline-block;
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 14px;
    text-decoration: none;
    cursor: pointer;
}

/* Кнопка "Назад к каталогу" – светлая */
.kvartira-single__nav-link--back {
    background: #ffffff;
    color: #1e73be;
    border: 1px solid #1e73be;
}

/* Кнопка "Квартиры в районе" – синяя */
.kvartira-single__nav-link--district {
    background: #1e73be;
    color: #ffffff;
    border: 1px solid #1e73be;
}

.kvartira-single__nav-link--back:hover,
.kvartira-single__nav-link--district:hover {
    opacity: 0.9;
}

/* FAQ на странице одной квартиры */
.kvartira-single__faq {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

.kvartira-single__faq h2 {
    font-size: 22px;
    margin: 0 0 15px;
}

.kvartira-single__faq-item + .kvartira-single__faq-item {
    margin-top: 10px;
}

.kvartira-single__faq-item h3 {
    font-size: 15px;
    margin: 0 0 4px;
}

.kvartira-single__faq-item p {
    margin: 0;
    font-size: 14px;
    color: #444;
}

.kvartira-single__widget {
    margin-top: 10px;
}

.kvartira-single__widget #hr-widget {
    margin-top: 5px;
}
.kvartira-single__hr-widget {
    max-width: 1100px;
    margin: 20px auto 30px;
    padding: 16px 14px 18px;
    background: #fff;
    border-radius: 10px;
    border: 1px solid #eee;
}

.kvartira-single__hr-widget h2 {
    font-size: 20px;
    margin: 0 0 12px;
}



/* Верхняя панель с телефоном и мессенджерами */
.sutki-top-contacts {
    background: #f5f5f5;
    border-bottom: 1px solid #e0e0e0;
    font-size: 14px;
}

.sutki-top-contacts__inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 6px 15px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    align-items: center;
    justify-content: flex-end; /* можно поменять на space-between */
}

.sutki-top-contacts__label {
    color: #555;
}

.sutki-top-contacts__phone {
    font-weight: 600;
    text-decoration: none;
    color: #222;
}

.sutki-top-contacts__phone:hover {
    text-decoration: underline;
}

/* Кнопки мессенджеров */
.sutki-top-contacts__btn {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 13px;
    text-decoration: none;
    color: #fff;
    white-space: nowrap;
}

.sutki-top-contacts__btn--wa {
    background: #25D366; /* WhatsApp */
}

.sutki-top-contacts__btn--tg {
    background: #0088cc; /* Telegram */
}

.sutki-top-contacts__btn:hover {
    opacity: 0.9;
}

/* Адаптация под мобильные */
@media (max-width: 768px) {
    .sutki-top-contacts__inner {
        justify-content: center;
        text-align: center;
    }
}

/* Контакты в меню справа */
.menu-item-contacts {
    display: flex !important;
    align-items: center;
    gap: 10px;
}

.menu-item-contacts a {
    display: flex;
    align-items: center;
    font-size: 15px;
    text-decoration: none;
}

.menu-phone {
    font-weight: 600;
    color: #d33 !important; /* красный номер, как на скриншоте */
}

.menu-messenger {
    font-size: 18px;
    line-height: 1;
}

.menu-wa {
    color: #25D366; /* WhatsApp зелёный */
}

.menu-tg {
    color: #0088cc; /* Telegram синий */
}

/* Убираем лишний отступ меню GeneratePress */
.main-navigation .main-nav ul li {
    margin-right: 15px;
}

/* Контакты в меню справа */
.menu-item-contacts {
    display: flex !important;
    align-items: center;
    gap: 12px;
    margin-left: 20px;
}

.menu-item-contacts a {
    display: flex;
    align-items: center;
}

.menu-phone {
    font-weight: 600;
    color: #d33 !important; /* красный номер */
    font-size: 15px;
}

.menu-messenger img {
    width: 20px;
    height: 20px;
    display: block;
}

/* Цвета иконок */
.menu-wa img {
    filter: invert(51%) sepia(98%) saturate(471%) hue-rotate(89deg) brightness(92%) contrast(89%);
}

.menu-tg img {
    filter: invert(48%) sepia(99%) saturate(1314%) hue-rotate(176deg) brightness(90%) contrast(92%);
}
/* Карта на архиве квартир */
#sutki-flat-map,
.kvartiry-map {
    width: 100%;
    height: 400px;
    margin-bottom: 20px;
    background: #f5f5f5;
}

.kvartiry-archive__nav {
    margin: 30px 0 10px;
    text-align: left;
}

.kvartiry-archive__back {
    display: inline-block;
    padding: 8px 16px;
    border-radius: 4px;
    border: 1px solid #e0e0e0;
    text-decoration: none;
    font-size: 14px;
    color: #333;
    background: #f9f9f9;
}

.kvartiry-archive__back:hover {
    background: #f0f0f0;
}


.kvartira-single__map-wrap {
    margin: 20px 0 30px;
}

#flat-map {
    width: 100%;
    height: 300px;
    border-radius: 8px;
    overflow: hidden;
    background: #f5f5f5;
}

/* === Удобства в карточке квартиры === */

.kvartira-single__features {
    margin-top: 32px;
}

.kvartira-single__features-list {
    list-style: none;
    padding: 0;
    margin: 16px 0 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 8px 24px;
}

.kvartira-single__amenity {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}

.kvartira-single__amenity-icon {
    width: 18px;
    min-width: 18px;
    text-align: center;
    opacity: 0.8;
}

.kvartira-single__amenity-label {
    line-height: 1.3;
}

/* На мобильных — одна колонка */

@media (max-width: 768px) {
    .kvartira-single__features-list {
        grid-template-columns: 1fr;
    }
}

/* === Главная: общая обертка === */

.front-wrapper {
    max-width: 1100px;
    margin: 0 auto;
    padding: 24px 16px 40px;
}

/* === HERO === */

.front-hero {
    margin-bottom: 32px;
}

.front-hero__content h1 {
    margin-bottom: 12px;
}

.front-hero__content p {
    max-width: 620px;
}

.front-hero__buttons {
    margin-top: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
}

/* === Новые квартиры === */

.front-latest {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #eee;
}

.front-latest h2 {
    margin-bottom: 4px;
}

.front-latest__subtitle {
    margin: 0 0 16px;
    font-size: 14px;
    color: #666;
}

.front-latest__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
}

.front-card {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #eee;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.front-card__link {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.front-card__thumb img {
    display: block;
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.front-card__body {
    padding: 10px 12px 12px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
}

.front-card__title {
    font-size: 15px;
    margin: 0;
}

.front-card__address {
    font-size: 13px;
    color: #555;
}

.front-card__meta {
    font-size: 12px;
    color: #777;
}

.front-card__price {
    margin-top: 4px;
    font-weight: 600;
    font-size: 14px;
}

.front-latest__more {
    margin-top: 20px;
    text-align: center;
}

/* === Квартиры по районам === */

.front-districts {
    margin-top: 40px;
    padding-top: 24px;
    border-top: 1px solid #eee;
}

.front-districts__subtitle {
    margin: 0 0 16px;
    font-size: 14px;
    color: #666;
}

.front-districts__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
}

.front-districts__item {
    display: flex;
    flex-direction: column;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid #e2e2e2;
    text-decoration: none;
    background: #fafafa;
    transition: background 0.15s ease, box-shadow 0.15s ease, transform 0.1s ease;
}

.front-districts__item:hover {
    background: #f2f6ff;
    box-shadow: 0 2px 6px rgba(0,0,0,0.04);
    transform: translateY(-1px);
}

.front-districts__name {
    font-weight: 600;
    margin-bottom: 4px;
    color: #222;
}

.front-districts__link {
    font-size: 13px;
    color: #0073aa;
}

.front-districts__map-hint {
    margin-top: 12px;
    font-size: 13px;
    color: #666;
}

/* === Почему гости выбирают нас === */

.front-benefits {
    margin-top: 40px;
    padding: 24px 18px;
    border-radius: 10px;
    background: #f7f9ff;
}

.front-benefits h2 {
    margin-top: 0;
    margin-bottom: 12px;
}

.front-benefits__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px 24px;
}

.front-benefits__item h3 {
    margin: 0 0 4px;
    font-size: 15px;
}

.front-benefits__item p {
    margin: 0;
    font-size: 13px;
    color: #555;
}

/* === Финальный CTA === */

.front-cta {
    margin-top: 32px;
    padding: 24px 18px 28px;
    border-radius: 10px;
    background: #fff8f0;
    text-align: center;
}

.front-cta h2 {
    margin-top: 0;
    margin-bottom: 8px;
}

.front-cta p {
    margin: 0 0 16px;
    font-size: 14px;
    color: #555;
}

.front-cta__buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 16px;
}

/* === Адаптив === */

@media (max-width: 768px) {
    .front-wrapper {
        padding: 16px 12px 28px;
    }

    .front-hero {
        margin-bottom: 24px;
    }

    .front-hero__buttons {
        flex-direction: column;
        align-items: flex-start;
    }

    .front-card__thumb img {
        height: 160px;
    }

    .front-benefits,
    .front-cta {
        padding: 18px 14px 20px;
    }
}
