/**
 * Custom CSS for Akira Modified Theme
 *
 * Author: Agraf
 * Date: 2024-10-15
 */

.product-variants .product-quantity input {
    height: 42px;
    padding: 0 25px;
    text-align: center;
    width: 100px;
    border-color: var(--ax-line-color);
    background: none;
    box-shadow: none;
	border-radius: var(--ax-form-bi-rd);
}

.product-variants table.table-striped {
    margin-top: 10px;
}

.product-variants table.table-striped .product-add-to-cart .input-group {
    margin-bottom: 0 !important;
}

.product-variants table.table-striped .product-add-to-cart {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.product-variants table.table-striped .js-add-combination-to-cart::before {
    content: "\f217";
    font-family: 'Line Awesome Free';
    font-weight: 900;
    font-size: 20px;
    line-height: 0;
    vertical-align: -1px
}

.product-variants table.table-striped .mobile-size-col {
    display: none;
}

.product-variants table.table-striped .order-now-col {
    width: 180px;
}

.product-variants .bulk-action-buttons {
    margin-top: 20px;
    display: flex;
    gap: 10px;
}

.product-variants table.table-striped .input-group.is-invalid {
    box-shadow: 0px 0px 0px 2px #dc3545;
}

@media (max-width: 1200px) {
    .product-variants table.table-striped .order-now-col {
        width: 110px;
    }

    .product-variants table.table-striped .product-add-to-cart {
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
    }

    .product-variants table.table-striped .product-add-to-cart .btn-primary {
        height: 25px;
    }

    .product-variants .bulk-action-buttons {
        flex-wrap: unset;
        flex-direction: column-reverse;
    }

    .product-variants table.table-striped tr>th:first-child {
        width: 1px;
    }

    .product-variants table.table-striped th, .product-variants table.table-striped td {
        padding: 1rem;
    }
}

@media (max-width: 1024px) {
    .corlor-tooltip {
        display: block !important;
    }
}

@media (max-width: 768px) {
    .corlor-tooltip {
        display: none !important;
    }

    .product-variants table.table-striped .product-add-to-cart {
        flex-direction: row;
        align-items: center;
    }

    .product-variants table.table-striped .product-add-to-cart .btn-primary {
        height: 42px;
    }
}

@media (max-width: 576px) {
    .product-variants table.table-striped .product-add-to-cart {
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
    }

    .product-variants table.table-striped .product-add-to-cart .btn-primary {
        height: 30px;
    }
}

/* Responsive table - mobile cards layout */
@media (max-width: 430px) {
    .product-variants table.table-striped,
    .product-variants table.table-striped thead,
    .product-variants table.table-striped tbody,
    .product-variants table.table-striped tr,
    .product-variants table.table-striped td {
        display: block;
        width: 100%;
    }

    .product-variants table.table-striped thead {
        display: none;
    }

    .product-variants table.table-striped tbody tr {
        margin-bottom: 10px;
        padding: 10px;
        border: 1px solid var(--ax-line-color, #ddd);
        border-radius: 8px;
        background: #fff;
        /* box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); */
    }

    .product-variants table.table-striped td {
        border: none !important;
        padding: 0 !important;
        text-align: left !important;
    }

    /* .product-variants table.table-striped td:before {
        content: attr(data-label);
        font-weight: bold;
        display: block;
        margin-bottom: 5px;
        color: #333;
        font-size: 0.9em;
    } */

    .product-variants table.table-striped td:last-child {
        padding-top: 10px !important;
        margin-top: 10px;
        border-top: 1px solid var(--ax-line-color, #eee) !important;
    }

    .product-variants table.table-striped .price-col {
        display: none !important;
    }

    .product-variants table.table-striped .product-add-to-cart {
        flex-direction: row;
        align-items: center;
        gap: 10px;
    }

    .product-variants table.table-striped .product-add-to-cart .product-quantity, .product-variants table.table-striped .product-add-to-cart .product-quantity .input-group, .product-variants table.table-striped .product-add-to-cart .product-quantity .input-group input {
        width: 100%;
    }

    .product-variants table.table-striped .product-add-to-cart .js-add-combination-to-cart {
        width: 50%;
        height: 42px;
    }

    .product-variants table.table-striped .size-col>div:not(.mobile-size-col), .product-variants table.table-striped .size-col>small {
        display: none;
    }

    .product-variants table.table-striped .mobile-size-col {
        display: flex;
        width: 100%;
        flex-direction: column;
        gap: 15px;
    }

    .product-variants table.table-striped .mobile-size-col .size-and-price-col {
        display: flex; 
        flex-direction: row; 
        width: 100%; 
        align-items: center; 
        justify-content: space-between; 
        gap: 10px;
    }

    /* .product-variants .bulk-action-buttons {
        flex-direction: column;
    }

    .product-variants .bulk-action-buttons button {
        width: 100% !important;
        flex: none !important;
    } */

    .selected-summary {
        font-size: 1em !important;
    }
}

.gr-btn-additional a.btn-additional-download::before {
    content: "\f019";
}

/* ========================================
   Category Short Description
   ======================================== */

/* Krótki opis kategorii - nad listą produktów */
.category-short-description {
    margin-bottom: 2rem;
    padding: 1.5rem;
    background-color: #f8f9fa;
    border-left: 4px solid #007bff;
    font-size: 1.1rem;
    line-height: 1.6;
    border-radius: 0.25rem;
}

.category-short-description p:last-child {
    margin-bottom: 0;
}

/* Responsywność dla krótkich opisów */
@media (max-width: 768px) {
    .category-short-description {
        padding: 1rem;
        font-size: 1rem;
        margin-bottom: 1.5rem;
    }
}

/* ========================================
   Category Description with Axon Creator (Top)
   ======================================== */

/* Opis z Axon Creator - nad listą produktów */
.category-description-top {
    margin-bottom: 2rem;
}

/* ========================================
   Category Full Description (Footer)
   ======================================== */

/* Pełny opis kategorii - pod listą produktów */
.category-full-description {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid #dee2e6;
}

.category-full-description h2,
.category-full-description h3 {
    margin-top: 1.5rem;
    margin-bottom: 1rem;
}

.category-full-description p {
    margin-bottom: 1rem;
    line-height: 1.6;
}

.category-full-description ul,
.category-full-description ol {
    margin-bottom: 1rem;
    padding-left: 2rem;
}

.category-full-description img {
    max-width: 100%;
    height: auto;
    margin: 1rem 0;
}

/* Responsywność dla pełnych opisów */
@media (max-width: 768px) {
    .category-full-description {
        margin-top: 2rem;
        padding-top: 1.5rem;
    }
}
/* ==========================================================================
   Omnibus widget override v3-2 (CU-869d9ym21):
   Klient nie chce wyróżnienia widgetu - bez tła, bez ramki, kolor fontu motywu.
   Tekst odróżnia się tylko rozmiarem (mniejszy) i layoutem (flex baseline).
   ========================================================================== */
.omnibus-info,
.omnibus-info--compact {
    background-color: transparent !important;
    background: none !important;
    border-left: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin-top: 0.5rem;
    color: inherit !important;
}

.omnibus-info .omnibus-label,
.omnibus-info .omnibus-price,
.omnibus-info .omnibus-price-brutto,
.omnibus-info .omnibus-date {
    color: inherit !important;
    background-color: transparent !important;
}

/* Dark mode override - klient zgłosił "ciemne tło wokół widgetu" w trybie ciemnym */
@media (prefers-color-scheme: dark) {
    .omnibus-info,
    .omnibus-info--compact {
        background-color: transparent !important;
        background: none !important;
        border: none !important;
        color: inherit !important;
    }
    .omnibus-info .omnibus-label,
    .omnibus-info .omnibus-price,
    .omnibus-info .omnibus-price-brutto,
    .omnibus-info .omnibus-date {
        color: inherit !important;
        background-color: transparent !important;
    }
}

/* ===== Blog SmartBlog — CU-869dycdfw (override motywu, 2026-07-01) ===== */
/* Task 2: powiększenie fontu treści wpisu (root html=10px, więc px explicit) */
.blog-single .entry-content,
.blog-single .entry-content p,
.blog-single .entry-content li {
    font-size: 18px !important;
    line-height: 1.75 !important;
}
/* Task 3: archiwum jako accordion rok -> miesiące (natywny <details>) */
.smartblog-archive-accordion .sba-years { list-style: none; margin: 0; padding: 0; }
.smartblog-archive-accordion .sba-year { border-bottom: 1px solid #e7e7e7; }
.smartblog-archive-accordion .sba-year-details > summary.sba-year-summary {
    display: flex; align-items: center; justify-content: space-between;
    cursor: pointer; padding: 8px 0; font-weight: 600; list-style: none;
}
.smartblog-archive-accordion summary.sba-year-summary::-webkit-details-marker { display: none; }
.smartblog-archive-accordion summary.sba-year-summary::marker { content: ""; }
.smartblog-archive-accordion .sba-toggle-icon { margin-left: 8px; line-height: 1; }
.smartblog-archive-accordion .sba-toggle-icon::before { content: "\002B"; font-weight: 700; }
.smartblog-archive-accordion details[open] > summary.sba-year-summary .sba-toggle-icon::before { content: "\2212"; }
.smartblog-archive-accordion .sba-months { list-style: none; margin: 4px 0 10px; padding: 0 0 0 14px; }
.smartblog-archive-accordion .sba-month { padding: 3px 0; }
/* wymuszenie collapse (reset motywu ustawia details{display:block}, co blokuje natywne ukrywanie) */
.smartblog-archive-accordion details:not([open]) > .sba-months { display: none !important; }
.smartblog-archive-accordion details[open] > .sba-months { display: block; }

/* ===== FIX: menu główne EN/DE/RU zawijało się do dwóch linii (QA po otwarciu, 2026-09-29) =====
 * Odstępy pozycji menu ustawia CSS elementu AXON (osobny wpis per język): EN margin 0 10px,
 * DE/RU 0 7px, link padding 18px 5px. Dłuższe etykiety EN/DE/RU nie mieściły się w kolumnie
 * menu (690 px przy 1440, 663 px przy 1200) — „Contact”/„Kontakt”/„контакт” spadał do drugiej linii.
 * Szerokości przy 1200 px po zmianie: EN 622, DE 638, RU 647 (≤ 663). PL mieści się bez zmian (641),
 * więc go nie dotykamy. Poniżej 1200 px menu zawija się także w PL — znane, poza tą poprawką.
 * !important, bo reguła AXON ma 5 klas (.elementor-2 .elementor-element.elementor-element-… …). */
@media (min-width: 1200px) {
    body.lang-en #header-normal .menu-horizontal .item-level-0,
    body.lang-de #header-normal .menu-horizontal .item-level-0 {
        margin-left: 6px !important;
        margin-right: 6px !important;
    }
    body.lang-ru #header-normal .menu-horizontal .item-level-0 {
        margin-left: 4px !important;
        margin-right: 4px !important;
    }
    body.lang-en #header-normal .menu-horizontal .item-level-0 > a,
    body.lang-de #header-normal .menu-horizontal .item-level-0 > a,
    body.lang-ru #header-normal .menu-horizontal .item-level-0 > a {
        padding-left: 2px !important;
        padding-right: 2px !important;
    }
}

/* ===== FIX: menu główne w oknach 1025–1199 px (wszystkie języki) — QA po otwarciu, 2026-09-29 =====
 * Menu desktop pojawia się od 1025 px; kolumna menu ma tam 558–662 px, a etykiety (14 px, odstępy AXON
 * 10+5 px) potrzebują do 743 px — menu zawijało się do dwóch linii także w PL.
 * Zmierzone po zmianie przy 1025 px: PL 453, EN 540, DE 554, RU 554 (≤ 558). ≥ 1200 px — reguła wyżej. */
@media (min-width: 1025px) and (max-width: 1199px) {
    #header-normal .menu-horizontal .item-level-0 {
        margin-left: 3px !important;
        margin-right: 3px !important;
    }
    #header-normal .menu-horizontal .item-level-0 > a {
        padding-left: 2px !important;
        padding-right: 2px !important;
        font-size: 13px !important;
    }
    body.lang-ru #header-normal .menu-horizontal .item-level-0 > a {
        font-size: 12px !important;
    }
}
