/*
Theme Name: Минскрем
Theme URI: https://minskrem.by
Author: Дмитрий Козляк
Author URI: https://artpixel.by
Description: Авторская тема для сайта Минскрем.
Version: 1.0
License: MIT
Text Domain: minskrem.by
*/

/* Сюда можно добавить свои базовые стили */
body {
    font-family: sans-serif;
    margin: 0;
    padding: 0;
}

/* Убираем точки у пунктов меню */
header nav li {
    list-style-type: none !important;
}

/* Дополнительно убираем возможные псевдоэлементы */
header nav li::before,
header nav li::marker {
    display: none !important;
    content: "" !important;
}

/* Если вдруг появятся <ul>, тоже убираем маркеры */
header nav ul {
    list-style: none !important;
    margin: 0;
    padding: 0;
}

/* Меняем цвет текста при наведении */
header nav li a:hover {
    color: #fc5e22 !important;
    transition: color 0.2s ease;
}

/* === Стили для полей CF7, как в шаблоне === */

/* === Стили для формы в попапе === */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="tel"] {
    width: 100%;
    border: 1px solid #d1d5db;
    /* border-gray-300 */
    padding: 1rem;
    /* p-4 */
    border-radius: 0.75rem;
    /* rounded-xl */
    box-sizing: border-box;
    font-size: 1rem;
    transition: border-color 0.2s, box-shadow 0.2s;
    margin-bottom: 20px;
}

.wpcf7-form input:focus {
    outline: none;
    border-color: #fc5e22;
    /* focus:ring-[#fc5e22] */
    box-shadow: 0 0 0 2px rgba(252, 94, 34, 0.2);
}

.wpcf7-form input[type="submit"] {
    width: 100%;
    background-color: #fc5e22;
    /* bg-brand */
    color: white;
    /* text-white */
    font-weight: 600;
    /* font-semibold */
    padding: 1rem;
    /* py-4 */
    border: none;
    border-radius: 0.75rem;
    /* rounded-xl */
    cursor: pointer;
    transition: background-color 0.2s;
    font-size: 1rem;
}

#cta input[type="submit"] {
    width: 100%;
    background-color: #ffffff;
    /* bg-brand */
    color: #fc5e22;
    /* text-white */
    font-weight: 600;
    /* font-semibold */
    padding: 1rem;
    /* py-4 */
    border-radius: 2rem;
    /* rounded-xl */
    cursor: pointer;
    transition: background-color 0.2s;
    font-size: 1rem;
    border: solid 2px #fc602200;
}

/* Убираем влияние обёрток <p> */
#cta .wpcf7-form>p {
    display: contents !important;
}

/* Контейнер формы – убираем возможные отступы */
#cta {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
    margin: 0 auto !important;
    /* центрирование */
    padding: 0 !important;
    /* убираем внутренние отступы */
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;Í
}

/* Убираем обёртки <p> */
#cta>p {
    display: contents !important;
}

/* Горизонталь на планшетах+ */
@media (min-width: 1048px) {
    #cta {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        /* выравнивание по центру */
    }
}

/* Поля ввода */
#cta input[type="text"],
#cta input[type="tel"] {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: 300px !important;
    padding: 1rem 1.5rem !important;
    border-radius: 9999px !important;
    border: none !important;
    background-color: white !important;
    color: #111827 !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    /* обнуляем внешние отступы */
    box-sizing: border-box !important;
}

/* Кнопка */
#cta input[type="submit"] {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    width: 300px !important;
    background-color: white !important;
    color: #fc5e22 !important;
    font-weight: 600 !important;
    padding: 1rem 2rem !important;
    border-radius: 9999px !important;
    cursor: pointer !important;
    transition: background-color 0.2s !important;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1) !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    height: auto !important;
    border: solid 2px #ffffff00 !important;
}


#cta input[type="submit"]:hover {
    background-color: #e04b1a !important;
    border: solid 2px #ffffff !important;
    color: #ffffff !important;

}

/* === Фикс переполнения CTA-формы на мобильных === */

/* Контейнер формы – не вылезаем за границы */
#cta {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Все поля и кнопка – border-box, чтобы padding не увеличивал ширину */
#cta input[type="text"],
#cta input[type="tel"],
#cta input[type="submit"] {
    box-sizing: border-box !important;
    max-width: 100% !important;
}

/* На мобильных (до 640px) уменьшаем горизонтальные отступы, чтобы поля не сужались слишком сильно */
@media (max-width: 639px) {

    #cta input[type="text"],
    #cta input[type="tel"] {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    /* Если кнопка всё ещё выходит, можно чуть уменьшить её отступы */
    #cta input[type="submit"] {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }
}

.wpcf7-form input[type="submit"]:hover {
    background-color: #e04b1a;

}



/* Пагинация в стиле бренда */
.pagination {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 2rem 0;
}

.pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    height: 2.5rem;
    padding: 0 0.5rem;
    border-radius: 9999px;
    background-color: #f3f4f6;
    color: #374151;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s;
}

.pagination .page-numbers:hover {
    background-color: #fc5e22;
    color: white;
}

.pagination .page-numbers.current {
    background-color: #fc5e22;
    color: white;
    pointer-events: none;
}

/* Стили для сайдбара: рубрики в виде ссылок */
aside ul {
    list-style: none;
    padding-left: 0;
}

aside ul li {
    margin-bottom: 0.5rem;
}

aside ul li a {
    color: #4b5563;
    text-decoration: none;
    transition: color 0.2s;
    display: flex;
    justify-content: space-between;
}

aside ul li a:hover {
    color: #fc5e22;
}

/* Горизонтальная форма в секции bg-brand-soft */
.bg-brand-soft .wpcf7-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Убираем влияние обёрток <p> */
.bg-brand-soft .wpcf7-form>p {
    display: contents !important;
}

/* На экранах шире 640px переключаем в ряд */
@media (min-width: 640px) {
    .bg-brand-soft .wpcf7-form {
        flex-direction: row !important;
        align-items: center !important;
    }
}

/* Стили для полей ввода */
.bg-brand-soft .wpcf7-form input[type="text"],
.bg-brand-soft .wpcf7-form input[type="tel"] {
    flex: 1 1 auto !important;
    width: 300px !important;
    /* отменяем ширину 100% */
    padding: 1rem 1.5rem !important;
    /* px-6 py-4 */
    border-radius: 9999px !important;
    /* rounded-full */
    border: none !important;
    background-color: white !important;
    color: #111827 !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
}

/* === Красивая пагинация === */
.pagination,
.page-numbers {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 2rem 0;
}

.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    height: 2.5rem;
    padding: 0 0.5rem;
    border-radius: 9999px;
    /* круглые кнопки */
    background-color: #f3f4f6;
    /* серый фон по умолчанию */
    color: #374151;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
    font-size: 1rem;
    line-height: 1;
}

/* Текущая страница */
.page-numbers.current {
    background-color: #fc5e22;
    /* брендовый оранжевый */
    color: white;
    pointer-events: none;
    /* нельзя нажать */
}

/* При наведении на кнопки (кроме текущей) */
.page-numbers:not(.current):hover {
    background-color: #fc5e22;
    color: white;
    transform: scale(1.05);
    /* лёгкое увеличение */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Стрелки "Предыдущая" и "Следующая" */
.page-numbers.prev,
.page-numbers.next {
    font-size: 1.2rem;
    padding: 0 1rem;
}

/* Отключаем стрелки, если они неактивны (когда нет предыдущей/следующей) */
.page-numbers.prev.disabled,
.page-numbers.next.disabled {
    opacity: 0.5;
    pointer-events: none;
}

/* Адаптация для мобильных */
@media (max-width: 640px) {
    .page-numbers {
        min-width: 2rem;
        height: 2rem;
        font-size: 0.9rem;
    }
}

/* === Базовые стили для контента из редактора === */
.entry-content {
    line-height: 1.7;
    color: #374151;
}

.entry-content h1 {
    font-size: 2.5rem;
    font-weight: 700;
    margin: 2rem 0 1rem;
}

.entry-content h2 {
    font-size: 2rem;
    font-weight: 600;
    margin: 1.8rem 0 1rem;
}

.entry-content h3 {
    font-size: 1.75rem;
    font-weight: 600;
    margin: 1.5rem 0 0.8rem;
}

.entry-content h4 {
    font-size: 1.5rem;
    font-weight: 600;
    margin: 1.2rem 0 0.6rem;
}

.entry-content h5,
.entry-content h6 {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 1rem 0 0.5rem;
}

.entry-content p {
    margin-bottom: 1.25rem;
}

.entry-content ul,
.entry-content ol {
    margin: 1rem 0 1rem 2rem;
    padding-left: 1rem;
}

.entry-content ul {
    list-style-type: disc;
}

.entry-content ol {
    list-style-type: decimal;
}

.entry-content li {
    margin-bottom: 0.25rem;
}

.entry-content blockquote {
    border-left: 4px solid #fc5e22;
    padding-left: 1rem;
    font-style: italic;
    margin: 1.5rem 0;
    color: #4b5563;
}

.entry-content a {
    color: #fc5e22;
    text-decoration: underline;
}

.entry-content a:hover {
    text-decoration: none;
}

.entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: 0.5rem;
    margin: 1rem 0;
}

.entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1rem 0;
}

.entry-content th,
.entry-content td {
    border: 1px solid #e5e7eb;
    padding: 0.5rem;
}

.entry-content th {
    background-color: #f9fafb;
    font-weight: 600;
}