/*
Theme Name: GeneratePress Child
Template: generatepress
*/
@import url("../generatepress/style.css");

/* ===========================================
   CSS VARIABLES
   =========================================== */
:root {
    --clr-bg:       #1a1a1a;
    --clr-bg-2:     #2a2a2a;
    --clr-bg-3:     #222;
    --clr-border:   #333;
    --clr-border-2: #444;
    --clr-accent:   #e85b0d;
    --clr-blue:     #1a3a6b;
    --clr-text:     #ccc;
    --clr-text-dim: #aaa;
    --clr-white:    #fff;
    --radius:       4px;
}

/* ===========================================
   GENERAL
   =========================================== */
body,
#page,
#content,
.site-content,
.content-area,
.grid-container,
.inside-article,
.entry-content,
.site-main,
#primary,
#secondary,
.widget-area,
aside {
    background: var(--clr-bg) !important;
    font-family: Arial, sans-serif;
    font-size: 14px;
    color: var(--clr-text);
}

/* ===========================================
   HEADER
   =========================================== */
.site-header {
    background: var(--clr-white);
    border-bottom: 3px solid var(--clr-blue);
    padding: 0;
}
.site-header .inside-header {
    max-width: 100% !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.site-title a {
    color: var(--clr-blue) !important;
    font-size: 26px;
    font-weight: 700;
    text-decoration: none;
}
.site-logo { width: 100%; }
.site-logo img {
    width: 100% !important;
    max-height: 250px !important;
    object-fit: cover !important;
    object-position: center top !important;
    display: block;
}

/* Скрыть корзину из шапки */
.site-header .header-widget-region,
.site-header .woocommerce-cart-link,
.site-header .cart-contents,
.ast-site-header-cart,
.header-cart-btn,
.gp-cart-icon,
.nav-cart,
li.gp-menu-cart,
.wc-block-mini-cart { display: none !important; }

/* ===========================================
   NAVIGATION
   =========================================== */
.main-navigation { background: var(--clr-bg); width: 100%; }
.main-navigation ul {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    list-style: none;
    margin: 0;
    padding: 0;
}
.main-navigation ul > li > a {
    color: var(--clr-white) !important;
    padding: 12px 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    border-right: 1px solid var(--clr-border);
    border-bottom: 1px solid var(--clr-border);
    text-align: center;
    line-height: 1.35;
    box-sizing: border-box;
    white-space: nowrap;
}
.main-navigation ul > li > a:hover { background: var(--clr-accent); }

/* Подменю */
.main-navigation ul li ul {
    background: var(--clr-bg);
    position: absolute;
    z-index: 999;
    min-width: 200px;
    display: flex;
    flex-direction: column;
}
.main-navigation ul li ul li a {
    border-right: none;
    border-bottom: 1px solid var(--clr-border);
    white-space: nowrap;
    font-size: 11px;
    justify-content: flex-start;
    padding-left: 16px;
}

/* ===========================================
   SIDEBAR / WIDGETS
   =========================================== */
.widget-area { padding: 35px; border: none; }
.widget-area .widget { border: none; margin-bottom: 40px !important; padding: 0 !important; }
.widget-area > div,
#secondary > div,
.widget-area .wp-block,
#secondary .wp-block { margin-top: 0 !important; margin-bottom: 8px !important; padding: 0 !important; }

/* Убиваем белые фоны внутри виджетов */
.widget-area *, .widget-area .widget * { background-color: transparent; }
.widget-area input[type="search"],
.widget-area input[type="text"] { background-color: var(--clr-bg-2) !important; }

.widget-title {
    color: var(--clr-accent);
    font-size: 16px;
    font-weight: 700;
    border-bottom: 2px solid var(--clr-accent);
    padding-bottom: 8px;
    margin-bottom: 10px;
}
.widget ul { list-style: none; padding: 0; margin: 0; }
.widget ul li a {
    color: var(--clr-text);
    text-decoration: none;
    display: block;
    padding: 6px 0;
    border-bottom: 1px solid var(--clr-bg-2);
    font-size: 13px;
}
.widget ul li a:hover { color: var(--clr-accent); padding-left: 5px; }

/* Счётчик категорий — скрыть */
.widget ul li .count,
.product-categories .count,
li.cat-item .count { display: none !important; }

/* ===========================================
   ПОИСК
   =========================================== */
/* Виджет поиска */
.widget_search .widget-title { display: none !important; }
.widget .search-form { display: flex; gap: 0; }
.widget .search-form input[type="search"] {
    background: var(--clr-bg-2) !important;
    border: 1px solid var(--clr-border-2) !important;
    border-right: none !important;
    color: var(--clr-white) !important;
    padding: 7px 10px !important;
    border-radius: var(--radius) 0 0 var(--radius) !important;
    width: 100% !important;
    font-size: 13px !important;
}
.widget .search-form input[type="search"]::placeholder { color: var(--clr-text-dim) !important; }
.widget .search-form input[type="submit"] {
    background: var(--clr-accent) !important;
    color: var(--clr-white) !important;
    border: none !important;
    padding: 7px 14px !important;
    cursor: pointer !important;
    border-radius: 0 var(--radius) var(--radius) 0 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}
.widget .search-form input[type="submit"]:hover { background: var(--clr-blue) !important; }

/* Gutenberg блок поиска */
.wp-block-search__input {
    background: var(--clr-bg-2) !important;
    border: 1px solid var(--clr-border-2) !important;
    color: var(--clr-white) !important;
    padding: 7px 10px !important;
    font-size: 13px !important;
}
.wp-block-search__input::placeholder { color: var(--clr-text-dim) !important; }
.wp-block-search__button {
    background: var(--clr-accent) !important;
    color: var(--clr-white) !important;
    border: none !important;
    padding: 7px 14px !important;
    cursor: pointer !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}
.wp-block-search__button:hover { background: var(--clr-blue) !important; }

/* ===========================================
   WOOCOMMERCE — СТРАНИЦА ТОВАРА
   =========================================== */
.single-product .summary,
.single-product .summary *,
.woocommerce-variation-description,
.woocommerce div.product p,
.woocommerce div.product span,
.woocommerce div.product label,
.variations td, .variations th, .variations label,
.woocommerce-tabs .panel,
.woocommerce-Tabs-panel,
.woocommerce-product-details__short-description { color: var(--clr-text) !important; }

.single-product .product_title { color: var(--clr-white) !important; }

.woocommerce-Price-amount,
.woocommerce-Price-amount bdi,
.woocommerce-Price-currencySymbol,
.single-product .price,
.price .woocommerce-Price-amount { color: var(--clr-white) !important; }

/* Селекты атрибутов */
.single-product select,
.variations select {
    background: var(--clr-bg-2) !important;
    color: var(--clr-white) !important;
    border: 1px solid var(--clr-border-2) !important;
    padding: 6px 10px !important;
}

/* Табы */
.woocommerce-tabs ul.tabs li a { color: var(--clr-text) !important; }
.woocommerce-tabs ul.tabs li.active a { color: var(--clr-accent) !important; }

/* Артикул / мета */
.product_meta, .product_meta span, .product_meta a { color: var(--clr-text-dim) !important; }
.product_meta a:hover { color: var(--clr-accent) !important; }

/* Похожие товары */
.related h2, .upsells h2 { color: var(--clr-white) !important; }

/* Поле количества + кнопка */
.woocommerce form.cart {
    display: flex !important;
    align-items: stretch !important;
    gap: 0 !important;
    margin-top: 15px !important;
    flex-wrap: wrap !important;
}
input.input-text.qty.text,
.woocommerce input.qty {
    background: var(--clr-bg-2) !important;
    color: var(--clr-white) !important;
    border: 1px solid var(--clr-border-2) !important;
    border-right: none !important;
    border-radius: var(--radius) 0 0 var(--radius) !important;
    padding: 10px !important;
    width: 75px !important;
    height: 46px !important;
    font-size: 16px !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

/* Кнопка В КОРЗИНУ */
.single_add_to_cart_button,
.single_add_to_cart_button.button {
    display: inline-block !important;
    visibility: visible !important;
    background: var(--clr-accent) !important;
    color: var(--clr-white) !important;
    border: none !important;
    border-radius: 0 var(--radius) var(--radius) 0 !important;
    height: 46px !important;
    padding: 0 24px !important;
    margin: 0 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
}
.single_add_to_cart_button.button:hover { background: var(--clr-blue) !important; }
.single_add_to_cart_button.button.disabled,
.single_add_to_cart_button.button:disabled {
    background: #bbb !important;
    cursor: not-allowed !important;
    opacity: 0.7 !important;
}

/* Скрыть кнопки добавления из листингов */
.add_to_cart_button,
.wc-block-components-product-add-to-cart,
button.button.product_type_variable,
button.button.product_type_simple { display: none !important; }

/* ===========================================
   КНОПКА ЗАКАЗАТЬ
   =========================================== */
.fixon-order-btn {
    display: inline-block;
    background: var(--clr-accent);
    color: var(--clr-white) !important;
    padding: 8px 16px;
    border-radius: var(--radius);
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: background 0.2s;
}
.fixon-order-btn:hover { background: var(--clr-blue) !important; }

/* ===========================================
   FOOTER
   =========================================== */
.site-footer,
.footer-bar,
.footer-widgets,
#colophon {
    background: var(--clr-bg) !important;
    color: var(--clr-text);
    padding: 20px 0;
    margin-top: 0;
    border-top: 2px solid var(--clr-accent);
}
.site-footer a { color: var(--clr-text); }

/* ===========================================
   ФЛАГИ GTRANSLATE
   =========================================== */
.gtranslate_wrapper {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 9999;
    background: var(--clr-bg-2);
    padding: 4px 8px;
    border-radius: 5px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.4);
    font-size: 11px !important;
}
.gtranslate_wrapper img,
.gtranslate_wrapper a img { width: 20px !important; height: auto !important; }

/* ===========================================
   МОБИЛЬНЫЕ КОНТАКТЫ
   =========================================== */
.fixon-mobile-contacts { display: none; }

/* ===========================================
   МОБИЛЬНАЯ ВЕРСИЯ
   =========================================== */
@media (max-width: 768px) {
    .site-logo img {
        max-height: 160px !important;
        object-position: left center !important;
    }
    .widget-area { display: none !important; }
    .content-area { width: 100% !important; }

    .menu-toggle,
    .menu-toggle:focus { color: var(--clr-accent) !important; }

    .main-navigation { background: var(--clr-bg); }
    .main-navigation ul li a,
    .main-navigation ul > li > a {
        color: var(--clr-accent) !important;
        border-bottom: 1px solid var(--clr-bg-2) !important;
        border-right: none !important;
        font-size: 13px;
        padding: 18px 16px;
        justify-content: center;
        white-space: normal;
    }
    .main-navigation ul li a:hover { background: var(--clr-bg-2); color: var(--clr-white) !important; }

    .fixon-mobile-contacts {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
        background: var(--clr-bg-2);
        border-bottom: 2px solid var(--clr-bg);
        padding: 10px 16px;
    }
    .fixon-mobile-contacts a {
        color: var(--clr-white);
        text-decoration: none;
        font-size: 13px;
        font-weight: 600;
    }
}