/*
 Theme Name:   GeneratePress Child
 Description:  Enhanced GeneratePress child theme
 Author:       Tom Usborne + Custom Styling
 Template:     generatepress
 Version:      0.2
*/

/* ====================================
 ГЛОБАЛЬНЫЕ НАСТРОЙКИ
==================================== */

body {
    font-family: 'Roboto', sans-serif;
    background-color: #F5F6FA;
	font-size: 34px;
}

h1 {
  font-size: 32px;
  font-weight: 900;
  color: #555555;
}

h2 {
  font-size: 28px;
  font-weight: 800;
  margin-top:30px;
  margin-bottom:15px;
  color: #555555;
}

h3 {
  font-size: 24px;
  font-weight: 700;
  margin-top:25px;
  margin-bottom:15px;
  color: #555555;
}

h4 {
  font-size: 21px;
  font-weight: 600;
  margin-top:20px;
  color: #555555;
}

/* Цвет ссылок */
.main-navigation a:hover,
.main-navigation .current-menu-item > a,
.main-navigation .current-menu-parent > a,
.main-navigation .current-menu-ancestor > a {
    color: #1A237E;
}

a {
    color: #1A237E;
    transition: color 0.25s ease;
}

a:focus,
a:hover {color: blue; font-weight: 500; text-decoration: none;}

/* ШИРИНА ЭЛЕМЕНТОВ СТРАНИЦЫ*/
/* Левый сайдбар */
.is-left-sidebar {
    width: 22%;
}

/* Часть основного контента */
.site-content .content-area{
    width: 78%;
}

/* Маркированные списки */
ul {
  line-height: 1.5; /* Пример: в 1.5 раза больше размера шрифта */
  margin-bottom: 10px;
}

li{
  margin-bottom: 15px;
}

/* ====================================
 КНОПКИ — улучшенный стиль + анимации
==================================== */

button,
html input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.button:visited,
.gb-button-wrapper .gb-button {
    background-color: #1A237E;
    color: #FFFFFF;
    border: 2px solid #1A237E;
    border-radius: 6px;
    padding: 10px 18px;
    font-weight: 600;
    transition: background-color 0.3s, box-shadow 0.3s, transform 0.2s;
    box-shadow: 0 3px 8px rgba(26, 35, 126, 0.25);
}

button:hover,
html input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.button:hover,
.gb-button-wrapper .gb-button:hover {
    background-color: #3949AB;
    border-color: #3949AB;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(57, 73, 171, 0.35);
}

/* Вторичная кнопка */
.button.secondary-button {
    background-color: #64B5F6;
    border-color: #64B5F6;
    color: #0D47A1;
}

.button.secondary-button:hover {
    background-color: #42A5F5;
    border-color: #42A5F5;
}

/* ====================================
 АДАПТИВНОСТЬ (только тема, без плагина)
==================================== */

@media (max-width: 900px) {
  h1 { font-size: 32px; }
  h2 { font-size: 26px; }
  h3 { font-size: 22px; }
  .sidebar .menu a {
    white-space: nowrap;
    font-size: 14px;
	width: 100%;
  }
}

/* === FIX: сайдбар — мобильная версия === */
@media (max-width: 768px) {
    .sidebar .menu a {
        white-space: normal;       /* разрешаем перенос */
        word-break: break-word;    /* длинные слова ломаем */
        text-align: center;
        padding: 10px 12px;
        font-size: 14px;
        line-height: 1.3;
    }
}

@media (max-width: 600px) {
  h1 {
    font-size: 26px;
    margin: 16px 0 12px;
  }

  h2 {
    font-size: 22px;
    margin: 14px 0 10px;
  }

  h3 {
    font-size: 19px;
    margin: 12px 0 8px;
  }
}

/* === Расширяем центральный контейнер сайта === */
.site.grid-container {
    max-width: 1500px;
}

/* ===== УВЕЛИЧЕНИЕ ЧИТАЕМОСТИ ===== */
body {
    font-size: 17.5px;
    line-height: 1.6;
}

.main-navigation a,
.site-header,
.site-title {
    font-size: 18px;
}

.pm-search-wrapper {
    font-size: 16.5px;
}

.pm-results .phone-number {
    font-size: 1.45rem;
}

.pm-results .phone-price {
    font-size: 1.15rem;
}

/* ====================================
 САЙДБАР
==================================== */
.widget-area .widget {padding: 30px 20px;}

/* Заглавие меню (сейчас не используется) */
.sidebar .widget-title::before {
    content: "📞";
    margin-right: 8px;
    font-size: 1.2em;
    opacity: 0.8;
}

.sidebar .widget:not(:last-child) {
    border-bottom: 1px solid #E0E0E0;
    margin-bottom: 20px;
}

/* ===== Кнопки-меню в сайдбаре ===== */
.sidebar .menu a {
    display: block;
    background: #fff;
    border: 1px solid #1A237E99;
    border-radius: 8px;
    padding: 12px;
    font-weight: 600;
    color: #1A237E;
	text-transform: uppercase;   /* CAPS */
    text-decoration: none;       /* без подчёркивания */
    letter-spacing: 0.04em;
	font-family: 'Roboto', sans-serif;
	white-space: nowrap;
    text-align: center;
}

.sidebar .menu a:hover {
    background: #EEF2FF;
}

/* === активный пункт сайдбара === */
.sidebar .current-menu-item > a,
/* === при наведении на активный пункт сайдбара === */
.sidebar .current-menu-item > a:hover {
    background: linear-gradient(#1A237E, #0a2cb9);
    color: #fff;
    box-shadow: 0 6px 18px rgba(26,35,126,0.35);
}

/* === ГЛАВНОЕ МЕНЮ — ТАБЫ === */
.main-navigation a {
    position: relative;
    padding: 8px 4px;
    margin: 0 12px;
    font-weight: 600;
    text-decoration: none;
    color: #1A237E;
    transition: color 0.2s ease;
}

.main-navigation a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -6px;
    width: 100%;
    height: 2px;
    background: #1A237E;
    transform: scaleX(0);
    transition: transform 0.25s ease;
}

.main-navigation a:hover::after,
.main-navigation .current-menu-item > a::after {
    transform: scaleX(1);
}

.main-navigation a:hover,
.main-navigation .current-menu-item > a {
    color: #0D47A1;
}

/* === СПИСОК цен операторов на п/о (FAQ)=== */
.operator {list-style: none; padding: 0;}

.map {font-weight: bold;}

.operator li {
font-family: "Trebuchet MS", "Lucida Sans";
padding: 7px 20px;
margin-bottom: 10px;
border-radius: 5px;
border-left: 10px solid #8bc63e; 
box-shadow: 2px -2px 5px 0 rgba(0,0,0,.1),
     -2px -2px 5px 0 rgba(0,0,0,.1),
    2px 2px 5px 0 rgba(0,0,0,.1),
    -2px 2px 5px 0 rgba(0,0,0,.1);
font-size: 14px;
font-weight: 800;
letter-spacing: 2px;
transition: 0.3s all linear;
}
.operator li:nth-child(2){border-color: #f05d22;}
.operator li:nth-child(3){border-color: #1ccfc9;}
.operator li:nth-child(4){border-color: #fcba30;}
.operator li:hover {border-left: 10px solid transparent;}
.operator li:nth-child(1):hover {border-right: 10px solid #8bc63e;}
.operator li:nth-child(2):hover {border-right: 10px solid #f05d22;}
.operator li:nth-child(3):hover {border-right: 10px solid #1ccfc9;}
.operator li:nth-child(4):hover {border-right: 10px solid #fcba30;}

.hr-dashed {
	margin: 20px 0;
	padding: 0;
	height: 0;
	border: none;
	border-top: 2px dashed #ddd;
}

/* ===Уменьшение размера заголовков h2 для страницы FAQ=== */
.page-id-599 h2 {
    font-size: 24px;
}

/* Стили хлебных крошек Rank Math */
.rank-math-breadcrumb {
    font-size: 14px;
    margin-bottom: 20px;
    padding-left: 15px; /* ОТСТУП СЛЕВА */
    color: #666;
    line-height: 1.5;
}

.rank-math-breadcrumb a {
    color: #005080; /* главная */
    text-decoration: none;
    transition: all 0.2s ease;
}

.rank-math-breadcrumb a:hover {
    color: #d93a1e; /* Цвет при наведении (можно на ваш вкус) */
    text-decoration: underline;
}

.rank-math-breadcrumb .separator {
    margin: 0 10px;
    color: #ccc;
    font-size: 12px;
}

.rank-math-breadcrumb .last {
    color: #888;
    font-weight: normal;
}

/* Настройки для мобильных устройств */
@media (max-width: 768px) {
    .rank-math-breadcrumb {
        font-size: 13px;
        padding-left: 10px; /* Чуть меньше отступ на телефонах */
        margin-bottom: 15px;
    }
}

.green-link {color: #00B956;}

.green-link:hover {color: #7D2DA0; text-decoration: none;}

.bold {font-weight: bold;}
.ital {font-style: oblique;}

/* Спискок с бриллиантами */
ul.diamond-list {
    list-style-type: none; /* Убираем стандартные точки */
    padding-left: 0.2em;   /* Отступ слева для всего списка */
}

ul.diamond-list li::marker {
    content: "💎";       
    font-size: 0.9em;      /* Размер эмодзи */
}

ul.diamond-list li {
    display: list-item;    /* Возвращаем поведение списка для работы маркера */
    padding-left: 10px;    /* Расстояние от бриллианта до текста */
    margin-bottom: 8px;    /* Расстояние между пунктами */
}

/* Спискок с искрами */
ul.spark-list {
    list-style-type: none; /* Убираем стандартные точки */
    padding-left: 0.2em;   /* Отступ слева для всего списка */
}

ul.spark-list li::marker {
    content: "✦";
    font-size: 0.9em;      /* Размер эмодзи */
}

ul.spark-list li {
    display: list-item;    /* Возвращаем поведение списка для работы маркера */
    padding-left: 10px;    /* Расстояние от бриллианта до текста */
    margin-bottom: 8px;    /* Расстояние между пунктами */
}

/* Спискок с галками */
ul.check-list {
    list-style-type: none; /* Убираем стандартные точки */
    padding-left: 0.2em;   /* Отступ слева для всего списка */
}

ul.check-list li::marker {
    content: "✔"; 
    color: #006600;
    font-weight: 900;    /* Максимальная жирность */
    font-size: 1.2em;      /* Размер эмодзи */
}

ul.check-list li {
    display: list-item;    /* Возвращаем поведение списка для работы маркера */
    padding-left: 10px;    /* Расстояние от бриллианта до текста */
    margin-bottom: 8px;    /* Расстояние между пунктами */
}


/* Спискок с вопросами */
ul.quest-list {
    list-style-type: none; /* Убираем стандартные точки */
    padding-left: 0.2em;   /* Отступ слева для всего списка */
}

ul.quest-list li::marker {
    content: "❓ ";
    color: #006600;
    font-size: 0.9em;      /* Размер эмодзи */
}

ul.quest-list li {
    display: list-item;    /* Возвращаем поведение списка для работы маркера */
    padding-left: 10px;    /* Расстояние от бриллианта до текста */
    margin-bottom: 8px;    /* Расстояние между пунктами */
}


/* Блок контактов футера */
.footer-custom-section {
    text-align: center;
    padding: 20px 10px 0;
    width: 100%;
}
.f-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin-bottom: 15px;
}
.f-item {
    font-size: 16px;
}
.f-label {
    color: #888;
    margin-right: 5px;
}
.f-btn {
    padding: 2px 8px;
    border-radius: 4px;
    color: #fff !important;
    text-decoration: none;
    font-size: 14px;
    margin: 0 3px;
}
.wa { background: #25D366; }
.tg { background: #0088cc; }
.f-divider {
    border: 0;
    border-top: 1px solid rgba(0,0,0,0.05);
    margin: 15px auto;
    width: 60%;
}
.f-order-link {
    font-weight: bold;
    color: #d32f2f;
}

/* Подключение шрифтов */
@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-Regular.woff2') format('woff2'),
        url('fonts/Roboto-Regular.woff') format('woff');
	font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-Bold.woff2') format('woff2'),
        url('fonts/Roboto-Bold.woff') format('woff');
	font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-Italic.woff2') format('woff2'),
        url('fonts/Roboto-Italic.woff') format('woff');
	font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-BoldItalic.woff2') format('woff2'),
        url('fonts/Roboto-BoldItalic.woff') format('woff');
	font-weight: 700;
    font-style: italic;
    font-display: swap;
}