/* --- 1. ТЕХНИЧЕСКИЕ ИСПРАВЛЕНИЯ (ВИДЕО И СЕТКА) --- */



/* Скрываем вторую миниатюру, так как она ушла в баннер */

#thumb-gallery .thumb-container:nth-child(2) {

    display: none !important;

}



/* Настройка колонки для видео плеера */

.video-column-right {

    display: block !important;

    min-width: 300px;

    padding-left: 20px;

}



/* Адаптивность плеера EasyVideo */

.video-column-right .st_easy_video_box, 

.video-column-right .st_easy_video_player,

.video-column-right iframe {

    width: 100% !important;

    height: auto !important;

    aspect-ratio: 16 / 9;

}



/* Исправление флекс-сетки Leo Theme */

.product-container .row {

    display: flex !important;

    flex-wrap: wrap !important;

}



/* --- 2. ГЛОБАЛЬНАЯ ТИПОГРАФИКА (LUXURY STYLE) --- */



body {

    font-family: 'Montserrat', sans-serif;

    font-size: 16px;

    color: #1a1a1a;

    line-height: 1.6;

    -webkit-font-smoothing: antialiased;

}



/* Крупные заголовки (Playfair Display) */

h1, h2, h3, h4, .h1, .h2, .h3, .h4, 

.product-detail-name, 

.products-section-title, 

#cart-title {

    font-family: 'Playfair Display', serif !important;

    font-weight: 700 !important;

    color: #000 !important;

    letter-spacing: -0.02em;

    text-transform: none;

    line-height: 1.2;

}



h1, .h1, .product-detail-name {

    font-size: 42px !important;

    margin-bottom: 25px;

}



/* Меню с элегантной разрядкой */

#header .menu a {

    font-family: 'Montserrat', sans-serif;

    font-weight: 500;

    text-transform: uppercase;

    letter-spacing: 0.15em !important;

    font-size: 19px !important;

}



/* Описание товара */

.description-short, .product-description {

    font-size: 18px !important;

    font-weight: 300;

    color: #444;

}



/* --- 3. КАРТОЧКИ ТОВАРОВ (КАТЕГОРИИ И СЛАЙДЕРЫ) --- */



/* Удаление лишних теней и рамок */

.product-miniature {

    border: none !important;

    box-shadow: none !important;

    transition: transform 0.5s ease;

}



.product-miniature:hover {

    transform: translateY(-5px);

}



/* Контейнер описания — фиксируем структуру, чтобы ничего не прыгало */

.product-description {

    display: flex !important;

    flex-direction: column !important;

    align-items: center !important;

    text-align: center !important;

    padding: 20px 10px !important;

    min-height: 160px !important; /* Чуть увеличил, чтобы наверняка влезло */

}



/* Названия товаров — Элегантный антиквенный стиль */

.product-title, .product-miniature .product-title {

    margin: 10px 0 12px 0 !important;

    min-height: 60px !important; 

    display: flex !important;

    align-items: center !important;

    justify-content: center !important;

}



.product-title a, .product-miniature .product-title a {

    font-family: 'Playfair Display', serif !important;

    font-size: 24px !important;

    line-height: 1.2em !important;

    text-transform: uppercase !important;

    color: #000 !important;

    font-weight: 500 !important;

    letter-spacing: 0.03em !important;

    text-decoration: none !important;

    

    /* Обрезка длинных названий */

    display: -webkit-box !important;

    -webkit-line-clamp: 2;

    -webkit-box-orient: vertical;

    overflow: hidden;

}



/* Цены — Всегда на месте */

.product-price-and-shipping {

    margin: 0 !important;

    padding: 0 !important;

    display: block !important;

    opacity: 1 !important;

    visibility: visible !important;

}



.product-price-and-shipping .price {

    font-family: 'Montserrat', sans-serif !important;

    font-weight: 700 !important;

    font-size: 20px !important;

    color: #000 !important;

    letter-spacing: 0.05em !important;

}



.product-price-and-shipping .regular-price {

    font-family: 'Montserrat', sans-serif !important;

    font-size: 14px !important;

    font-weight: 300 !important;

    color: #999 !important;

    text-decoration: line-through !important;

}


.bannercontainer .tp-caption.bold_red_text, .thumbnail-container .wishlist .btn-product:hover, .footer-container li a:hover, .blog-item .blog-bottom .created .date .left-date, .blog-item .blog-meta > span a:hover, .product-price, .leo-compare-wishlist-button .btn:hover, .leo-compare-wishlist-button .btn:hover, .cart-grid-body a.label:hover {color: #000;}
#_desktop_cart .cart-preview .cart-quantity, .button-list li .ap-total, .product-tabs.tabs .nav-tabs .nav-link::before {background: #000 !important;}
a:hover, .ApColumn .block.block_newsletter form .btn:hover, .blog-item .blog-bottom .more:hover, .sidebar .block .title_block a:hover, .blog-item .title a:hover, .blog-detail .blog-meta > span a:hover {color: #4E4E4E;}
.btn-primary {background-color: #4E4E4E;}
.btn-primary:hover, .blog-tags a:hover span, .product-actions .add-to-cart {background-color: #000;}
  #header #search_widget .form-search .search_query:focus {
    border-color: #000 !important;
  }
.leo-megamenu .navbar-nav > li > a::before, #back-top {
  background: rgba(0,0,0,0.75);
}

.leo-fly-cart-icon-wrapper .leo-fly-cart-total {
	border-color: #222;
	color: #222222;
}
.leo-fly-cart-icon-wrapper .leo-fly-cart-icon, .products-sort-order .select-list:hover, #product_reviews_block_tab .review .review_button .btn:hover, #product_reviews_block_tab .review .review_button .btn:hover {
	background: #222;
}
.iview-controlNav div.iview-items ul li a.iview-control::before, #authentication [data-action="show-password"]:hover, .product-quantity .input-group-btn-vertical .btn:hover {
	background: #222;
}
.iview-controlNav div.iview-items ul li a.iview-control {
	border: 1px solid #222;
}
.thumbnail-container .functional-buttons > div .btn-product:hover {
  color: #FFFFFF;
  background: #222;
}
.thumbnail-container .cart .btn-product, .breadcrumb li a:hover, .reviews_advices li a:hover, .reviews_advices li a:hover {
  color: #222;
}
.block-categories .category-sub-menu li > a:hover::before {
  background: #222;
  border-color: #222;
}
.block-categories .category-sub-menu .category-sub-link:hover, .block-categories .category-sub-menu li > a:hover, .products-selection .display > div.selected a, #search_filters .facet .facet-label a:hover, .lql-callregister-action:hover {
  color: #222;
}
.btn-outline:hover, .btn-outline:focus, .btn-outline:active, .btn-outline.active {
  color: #FFFFFF;
  background-color: #000;
  border-color: #222;
}
.search-widget form { border: 1px #000 solid; }
.search-widget form button[type="submit"]:hover {
  background: #000;
}
.search-widget form button[type="submit"]:hover::before {
  border-color: transparent #000 transparent;
}
.product-cover .layer:hover, body#checkout [data-action="show-password"]:hover {
  color: #FFFFFF;
  background: #222;
}
a:focus {
  color: #000;
  text-decoration: underline;
}
.products-accordion .card-header a:hover::after {
  color: #4e4e4e;
}
 .product-detail.no-thumbs-fullwidth .pb-left-column {
    text-align: left;
  }
.leo-compare-wishlist-button .btn:hover {
  border-color: #000;
}
.leo-quicklogin-form .lql-action-bt .lql-bt::before {
  background: #222;
}
.bootstrap-touchspin .btn-touchspin:hover, .custom-radio input[type="radio"]:checked + span {
  background-color: #4E4E4E;
}
.product-tabs.tabs .nav-tabs .nav-link.active {
  color: #000;
  border-bottom-color: #000;
}
.leo-dropdown-cart-content a i, .leo-dropdown-cart-content a.leo-dropdown-customization, .leo-dropdown-cart-content a.leo-dropdown-combination {
  color: #222;
}
.view-leo-dropdown-additional {
	background: #222;
}
.leo-dropdown-cart-content a:hover i {
  color: #4E4E4E;
}
.leo-cart-dropdown-action .btn.cart-dropdow-checkout {
  color: #fff !important;
  background-color: #222;
}
.leo-cart-dropdown-action .btn.cart-dropdow-checkout:hover {
  background-color: #4e4e4e;
}
.leo-cart-dropdown-action .btn.cart-dropdow-viewcart:hover {
  background: #4e4e4e;
  color: #FFFFFF !important;
  border-color: #222222;
}
.card.cart-summary .btn-outline {
	color: #FFFFFF;
    background-color: /*#282d35*/#000;
}
.card.cart-summary .btn-outline:hover {
    background-color: #282d35;
}
.thumbnail-container .cart .btn-product::before {
    background: #222;
}

.off-canvas-nav-megamenu .navbar-nav > li > a:focus {
  color: #4E4E4E;
}

---

/*БАННЕР В ПРОДУКТАХ Полное центрирование и растягивание на весь экран */
.row.full-width-section {
    width: 100vw !important;
    max-width: 100vw !important;
    /* Метод без использования left: 50% */
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    position: relative !important;
    left: 0 !important;
    right: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}


/* --- УДАЛЕНИЕ REVIEW ИЗ КАРТОЧКИ ТОВАРА--- */

.leo-product-show-review-title,
#collapsereviews {
  display: none !important;
}
.card:has(#collapsereviews) {
  display: none !important;
}


/* --- УДАЛЕНИЕ order by пунктов--- */
.products-sort-order .dropdown-menu a[href*="order=product.name.asc"],
.products-sort-order .dropdown-menu a[href*="order=product.name.desc"],
.products-sort-order .dropdown-menu a[href*="order=product.position.asc"],
.products-sort-order .dropdown-menu a[href*="order=product.quantity.desc"],
.products-sort-order .dropdown-menu a[href*="order=product.reference.asc"],
.products-sort-order .dropdown-menu a[href*="order=product.reference.desc"] {
  display: none !important;
}

/* --- адаптивные изображения--- */
.cms-page img,
.page-cms img,
.rte img,
.page-content img {
  max-width: 100% !important;
  height: auto !important;
}

/* Remove product image zoom icon */
.product-cover .layer,
.product-cover .zoom-in,
.images-container .product-cover .layer,
.images-container .product-cover .zoom-in {
  display: none !important;
}


/* Contact page: убрать карту */
body#contact #contact-form-box,
body#contact #contact-form-box .ApRow,
body#contact #contact-form-box .ApColumn {
    background: #ffffff !important;
}

body#contact #contact-form-box .widget-gmap,
body#contact #contact-form-box .block.widget-gmap,
body#contact #contact-form-box .gmap-cover,
body#contact #contact-form-box .gmap-content,
body#contact #contact-form-box .gmap,
body#contact #google-maps-form_8399145998648159,
body#contact #map-canvas-form_8399145998648159 {
    display: none !important;
}

/* Contact page: нормальное место для формы */
body#contact #wrapper,
body#contact #content-wrapper,
body#contact #main,
body#contact #content {
    background: #ffffff !important;
    min-height: 850px !important;
}

/* Центрировать форму */
body#contact .contact-form {
    float: none !important;
    position: relative !important;
    display: block !important;

    width: 620px !important;
    max-width: 90% !important;

    margin: 50px auto 100px auto !important;
    padding: 45px !important;

    background: #ffffff !important;
    box-sizing: border-box !important;
}

/* Поля формы на всю ширину */
body#contact .contact-form input,
body#contact .contact-form select,
body#contact .contact-form textarea,
body#contact .contact-form .form-control {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Чтобы футер не залезал на форму */
body#contact footer,
body#contact #footer {
    clear: both !important;
    position: relative !important;
    margin-top: 80px !important;
}

/* Mobile */
@media (max-width: 767px) {
    body#contact #main,
    body#contact #content {
        min-height: auto !important;
    }

    body#contact .contact-form {
        width: 100% !important;
        max-width: 92% !important;
        margin: 30px auto 70px auto !important;
        padding: 30px 20px !important;
    }
}

/* CONTACT PAGE — stretch form wider */
body#contact #main,
body#contact #content,
body#contact .page-content {
    width: 100% !important;
    max-width: 100% !important;
}

/* Center the whole contact form block */
body#contact .contact-form {
    width: 900px !important;
    max-width: 90vw !important;
    min-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 55px 80px !important;
}

/* Stretch form itself */
body#contact .contact-form form {
    width: 100% !important;
    max-width: 100% !important;
}

/* Make each row full width */
body#contact .contact-form .form-group,
body#contact .contact-form .form-group.row {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Remove Bootstrap columns inside form */
body#contact .contact-form .form-group [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Stretch inputs */
body#contact .contact-form input,
body#contact .contact-form select,
body#contact .contact-form textarea,
body#contact .contact-form .form-control {
    width: 100% !important;
    max-width: 100% !important;
}

/* Bigger message field */
body#contact .contact-form textarea {
    min-height: 150px !important;
}

/* Mobile */
@media (max-width: 767px) {
    body#contact .contact-form {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 92vw !important;
        padding: 35px 25px !important;
    }
}