/*!
Theme Name: profdom
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: profdom
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

profdom is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/


/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/


/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/


/* Normalize
--------------------------------------------- */


/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */


/* Document
	 ========================================================================== */


/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

.text-block_body img {
    height: 30px;
    float: right;
    padding: 0 3px;
}

.text-block_body {
    margin-bottom: 0px;
}

.popup-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.popup-wrapper {
    background: #fff;
    padding: 30px;
    max-width: 500px;
    width: 90%;
    position: relative;
    border-radius: 10px;
}

.popup-close {
    position: absolute;
    top: 10px;
    right: 15px;
    cursor: pointer;
    font-size: 20px;
}

input.form-control::placeholder,
textarea.form-control::placeholder {
    color: #333 !important;
    opacity: 1 !important;
}

.region-breadcrumbs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative;
    color: #fff;
}

.region-breadcrumbs:before {
    content: "";
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: -1;

    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: cover;
    background-position: center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
}

.region-breadcrumbs::after {
    content: "";
    width: 100vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: -1;

    opacity: .4;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin-bottom: 1.8rem;
    font-family: NotoSans-Bold, Montserrat, -apple-system, BlinkMacSystemFont, Roboto, Helvetica Neue, Arial, sans-serif;
    font-weight: 800;
    line-height: 1.2;
    color: #454545 !important;
}

.rent-menu .menu-main li a {
    text-transform: uppercase;
    color: #454545;
    text-decoration: none;
    font-weight: 400;
    padding: 24px 30px;
    white-space: inherit;

    display: flex;
    -webkit-box-align: center;

    align-items: center;
    font-weight: 400;
    padding: 24px 30px;
    font-size: 1rem;
    border-bottom: 1px solid #dee2e6;

}

.rent-menu .menu-main li a:hover {
    color: #f98140;
}

.product-teaser-rent {
    color: black;
}

.teaser-footer {
    flex-direction: row !important;
}

.product-teaser-rent .product-teaser__content {
    text-align: left;
}

.system-page__field-subtitle {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #454545;
    text-align: left;
}

.rent-menu a {
    text-align: left;
}

/* ---------- МОДАЛЬНОЕ ОКНО ---------- */
.booking-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 1200;
    padding: 20px;
}

.booking-modal {
    width: 100%;
    max-width: 720px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
    overflow: hidden;
    transform: translateY(-10px);
    transition: transform .18s ease, opacity .18s ease;
    opacity: 0;
}

/* когда открыт */
.booking-modal-backdrop.open {
    display: flex;
}

.booking-modal-backdrop.open .booking-modal {
    transform: translateY(0);
    opacity: 1;
}

/* Заголовок модального окна */
.booking-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px;
    border-bottom: 1px solid #eee;
    background: linear-gradient(90deg, #fafafa, #fff);
}

.booking-modal__title {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    color: #222;
}

.booking-modal__close {
    background: transparent;
    border: none;
    font-size: 20px;
    cursor: pointer;
    line-height: 1;
}

/* Контент формы */
.booking-modal__body {
    padding: 18px 20px;

    overflow: auto;
}

/* --- Стили поля CF7 --- */
.wpcf7 .wpcf7-form-control,
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="number"],
.wpcf7 textarea,
.wpcf7 select {
    width: 100%;
    display: block;
    box-sizing: border-box;
    padding: 10px 12px;
    border: 1px solid #d6d6d6;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.4;

    transition: border-color .12s ease, box-shadow .12s ease;
    margin-bottom: 12px;
}

/* фокус */
.wpcf7 .wpcf7-form-control:focus,
.wpcf7 input:focus,
.wpcf7 textarea:focus {
    outline: none;

    /* мягкий синий */
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.08);
}

/* подписи (label) */
.wpcf7 label {
    display: block;
    margin-bottom: 6px;
    font-size: 13px;
    color: #333;
}

/* мелкие подсказки/ошибки */
.wpcf7 .wpcf7-not-valid-tip {
    display: block;
    color: #b91c1c;
    font-size: 13px;
    margin-top: -8px;
    margin-bottom: 8px;
}

/* кнопка отправки */
.wpcf7 .wpcf7-submit {
    display: inline-block;
    padding: 10px 18px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 10px;
    border: none;
    cursor: pointer;

    box-shadow: 0 6px 14px rgba(27, 95, 216, 0.18);
    transition: transform .08s ease, box-shadow .12s ease, opacity .12s ease;
}

/* состояние disabled */
.wpcf7 .wpcf7-submit[disabled],
.wpcf7 .wpcf7-submit:disabled {
    opacity: .6;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* маленькая строка с ID товара в заголовке (если хотите показать) */
.booking-modal__product {
    font-size: 13px;
    color: #666;
    margin-top: 6px;
}

/* мобильная корректировка */
@media (max-width: 576px) {
    .booking-modal {
        max-width: 100%;
        border-radius: 8px;
    }

    .booking-modal__body {
        padding: 14px;
    }

    .booking-modal__header {
        padding: 12px 14px;
    }
}

/* опционально: аккуратно прячем скрытый контейнер CF7 */
#booking-form-container {
    display: none;
}


.views-row {
    width: 100%;
}

.advantage__field-title {
    color: #454545;
}



.car-rental__body {
    text-align: left;
}

.region-breadcrumbs {
    padding-bottom: 0px !important;
}

.services__description {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #454545;
    text-align: left;
}

.default__attribute-term {
    color: #454545;
}

::marker {
    color: #f98140;
}

ul li {
    line-height: 20px;
}

.article__right {
    text-align: left;

}

.node__content {
    color: #454545 !important;
}

.article__field-image img {
    width: 80% !important;

}

.article__body {
    text-align: left;
    color: #454545;
}

.client-block {
    color: #454545;
}

.image__field-media-image img {
    width: 100% !important;
}

/* Контейнер блока */
.crf-latest-reviews-block {
    max-width: 1200px;
    margin: 0px 20px 50px;
    padding: 0 20px;
    font-family: Arial, sans-serif;
}

.crf-latest-title {
    text-align: center;
    font-size: 28px;
    margin-bottom: 30px;
    color: #222;
}

/* Сетка 3 колонки */
.crf-latest-reviews-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}

/* Отдельный отзыв */
.crf-latest-review-item {
    background: #fdfdfd;
    border: 1px solid #ddd;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.crf-latest-review-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.crf-latest-review-author {
    font-size: 16px;
    font-weight: 600;
    color: #222;
}

/* Звёзды */
.crf-latest-review-rating .crf-latest-star {
    font-size: 18px;
    color: #ccc;
    margin-left: 3px;
}

.crf-latest-review-rating .crf-latest-star.filled {
    color: #ffcc00;
}

.crf-latest-review-content {
    font-size: 14px;
    color: #555;
    line-height: 1.4;
}

/* Сообщение, если отзывов нет */
.crf-latest-no-reviews {
    text-align: center;
    color: #777;
    font-style: italic;
}

/* Ссылка на все отзывы */
.crf-latest-more {
    text-align: center;
    margin-top: 25px;
}

.crf-latest-more-link {
    display: inline-block;
    padding: 10px 25px;
    background: #ff9900;
    color: #fff;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
    transition: background 0.3s;
}

.crf-latest-more-link:hover {
    background: #e68a00;
    color: white;
}

/* Адаптивно для мобильных */
@media(max-width:768px) {
    .crf-latest-reviews-grid {
        grid-template-columns: 1fr;
    }
}

/* ========================= */
/*  Блок с отзывами         */
/* ========================= */

.custom-reviews-section {
    max-width: 900px;
    margin: 0 auto;
    padding: 0px 20px;
    font-family: Arial, sans-serif;
}

.custom-reviews-subtitle {
    text-align: center;
    font-size: 22px;
    margin: 20px 0;
    border-bottom: 2px solid #eee;
    padding-bottom: 5px;
}

.custom-reviews-list {
    margin-bottom: 40px;
}

.custom-review-item {
    background: #fdfdfd;
    border: 1px solid #ddd;
    padding: 20px;
    border-radius: 10px;
    margin-bottom: 20px;
}

.custom-review-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.custom-review-author {
    font-size: 18px;
    color: #222;
}

.custom-review-rating .custom-star {
    font-size: 20px;
    color: #ccc;
    margin-left: 3px;
}

.custom-review-rating .custom-star.filled {
    color: #ffcc00;
}

.breadcrumb-item.active a {
    pointer-events: none;
    /* запрещает клики */
    cursor: default;
    /* убирает курсор руки */
    text-decoration: none !important;
    /* убирает подчеркивание */
    color: #666 !important;
    /* цвет как у обычного текста */
}

.custom-review-content {
    font-size: 15px;
    color: #555;
}

.custom-no-reviews {
    font-style: italic;
    color: #777;
}

/* ========================= */
/*  Мини-форма отзывов       */
/* ========================= */

.crf-mini-container {
    background: #fff;
    border: 1px solid #ddd;
    padding: 15px;
    border-radius: 10px;
    max-width: 800px;
    margin: 30px auto;
    font-family: 'Arial', sans-serif;
    font-size: 14px;
}

.crf-mini-title {
    font-size: 18px;
    text-align: center;
    margin-bottom: 15px;
    color: #222;
}

.crf-mini-label {
    text-align: left;
    display: block;
    margin-bottom: 3px;
    font-weight: 600;
    color: #333;
}

.crf-mini-input,
.crf-mini-textarea {
    width: 100%;
    padding: 6px 10px;
    margin-bottom: 10px;
    font-size: 13px;
    border: 1px solid #ccc;
    border-radius: 6px;
    outline: none;
    box-sizing: border-box;
}

.crf-mini-textarea {
    min-height: 80px;
    resize: vertical;
}

/* Звёздный рейтинг */
.crf-mini-stars {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    margin-bottom: 10px;
}

.crf-mini-stars input {
    display: none;
}

.crf-mini-stars label {
    font-size: 20px;
    color: #ccc;
    cursor: pointer;
    transition: color 0.2s;
    padding: 0 2px;
}

.crf-mini-stars input:checked~label,
.crf-mini-stars label:hover,
.crf-mini-stars label:hover~label {
    color: #ffcc00;
}

/* Кнопка отправки */
.crf-mini-submit {
    padding: 8px 20px;
    background: #ff9900;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    cursor: pointer;
    font-weight: 600;
    transition: background 0.3s;
}

.crf-mini-submit:hover {
    background: #e68a00;
}

/* Сообщение об успехе */
.crf-mini-success {
    background: #e6ffed;
    border: 1px solid #b2f5c0;
    padding: 10px;
    margin: 15px;
    border-radius: 6px;
    color: #2e7d32;
    font-weight: bold;
    text-align: center;
}

.custom-review-content {
    text-align: left;
}

@media (max-width: 767.98px) {
    .review-w {
        width: auto !important;
    }
}

/* Родительский уровень */
.menu-main {
    list-style: none;
    margin: 0;
    padding: 0;
}

.menu-main>.nav-item {
    margin-bottom: 8px;
}

.menu-main>.nav-item>.nav-link {
    display: flex;
    align-items: center;
    font-weight: 600;
    color: #333;
    text-decoration: none;
}

.ico img {
    width: 40px;
}

.sub-menu {
    list-style: none;

    padding: 0;
    text-align: right !important;
    border: none;
}

.nav-sub-item a {

    font-size: 11px !important;
    padding: 10px 10px !important;
}

.sub-menu .nav-sub-item {
    margin: 5px 0;
    width: 100%;
}

.sub-menu .nav-sub-link {
    display: flex;
    align-items: center;
    font-weight: 400;
    color: #555;
    text-decoration: none;
    padding-left: 10px;
}

.rental-child-categories .child-categories-block {
    background: #ffffff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.child-categories-title {
    font-size: 1.5rem;
    margin-bottom: 15px;
    font-weight: 600;
    color: #333;
}

.child-categories-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.child-category-item {
    background: #f7f7f7;
    padding: 10px 15px;
    border-radius: 6px;
    transition: all 0.2s;
}

.child-category-item:hover {
    background: #eaeaea;
}

.child-category-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #333;
    font-weight: 500;
}

.child-category-icon {
    width: 30px;
    height: 30px;
    margin-right: 8px;
    object-fit: contain;
}

.sale-menu .menu-main {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sale-menu .nav-item {
    margin-bottom: 10px;
}

.sale-menu .nav-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    font-weight: 500;
    color: #333;
    padding: 8px 12px;
    border-radius: 6px;
    transition: background 0.2s;
}

.sale-menu .nav-link:hover {
    background: #f0f0f0;
}

.sale-menu .nav-icon {
    width: 24px;
    height: 24px;
    margin-right: 8px;
    object-fit: contain;
}

.sale-menu .child-menu {
    list-style: none;
    padding: 0px;
}

.sale-menu .child-item a {
    padding: 0px 30px !important;
    font-size: 9px !important;
}

.sale-menu .child-item {
    margin-bottom: 5px;
}

.sale-menu .child-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #555;
    padding: 4px 8px;
    border-radius: 6px;
    transition: background 0.2s;
}

.sale-menu .child-link:hover {
    background: #eaeaea;
}

.sale-menu .child-icon {
    width: 20px;
    height: 20px;
    margin-right: 6px;
    object-fit: contain;
}

.rental-child-categories-block {
    background-color: #fff;
    padding: 20px;
    margin-bottom: 30px;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.child-categories-container {
    max-width: 1200px;
    margin: 0 auto;
}

.child-categories-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.child-category-item {
    flex: 0 0 calc(25% - 20px);
    /* 4 элемента в ряд */
    text-align: center;
}

.child-category-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: #333;
    padding: 10px;
    border-radius: 6px;
    transition: background 0.2s, transform 0.2s;
}

.child-category-link:hover {
    background-color: #f7f7f7;
    transform: translateY(-2px);
}

.child-category-icon {
    width: 60px;
    height: 60px;
    margin-bottom: 8px;
    object-fit: contain;
}

.sale-menu li {
    text-align: left;
}

.z-i {
    z-index: 9 !important;
}

.p-title {
    font-size: 3.214rem;
}

@media (max-width: 767.98px) {
    .p-title {
        font-size: 2rem;
        margin-top: 50px;
    }

    .teaser-footer {

        flex-direction: column !important;
    }
}

#mm-main-menu {
    display: block;
    /* Чтобы transition работал, используем max-height */
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
}

#mm-main-menu.active {
    max-height: 2000px;
    /* достаточно большое значение, чтобы меню полностью раскрылось */
}

.mm-extra {
    padding: 15px;
    border-top: 1px solid #eee;
    text-align: center;
}

.mm-extra .contact-email {
    font-weight: bold;
    text-decoration: none;
    display: block;
    margin-bottom: 4px;
    color: #000;
}

.mm-extra .worktime {
    font-size: 14px;
    color: #555;
    margin-bottom: 12px;
}

.mm-extra .messengers {
    margin: 10px 0;
}

.mm-extra .messengers a {
    display: inline-block;
    margin: 0 5px;
}

.best-price-btn {
    display: inline-block;
    background: #f98140;
    color: #fff !important;
    padding: 10px 16px;
    border-radius: 4px;
    font-weight: bold;
    text-transform: uppercase;
    text-decoration: none;
    transition: background 0.3s;
}

.best-price-btn:hover {
    background: #f98140;
}

.wpcf7-response-output {
    color: black !important;
}

.bestprice-modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 11000;
}

.bestprice-modal__inner {
    background: #fff;
    padding: 35px 25px;
    max-width: 640px;
    width: 92%;
    border-radius: 12px;
    position: relative;
}

.bestprice-modal__close {
    position: absolute;
    top: 12px;
    right: 16px;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
    line-height: 1;
    color: #333;
}

.bestprice-modal__close:hover {
    color: #000;
}