/* ==========================================
   VENTARIAL Product Specs
   Custom CSS Edition v1.0 Stable

   ocStore / OpenCart 3.0.3.7
   OCTemplates Deals
   Light + Dark theme
========================================== */

/* Базові стилі MD-модуля */

div.custom_description,
div.custom_descr_add {
    color: #444;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.55;
}

.custom_description img,
.custom_descr_add img {
    max-width: 100%;
    height: auto;
}

td.custom_descr_comp p {
    margin-bottom: 0;
    color: #444;
    font-size: 14px;
    font-weight: 400;
}

span.description {
    color: #444 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
}

.above {
    margin-top: -4px;
    margin-bottom: 4px;
}

.below {
    margin-top: 4px;
    margin-bottom: 4px;
}

/* ==========================================
   Product Specs component
========================================== */

.va-product-specs,
.va-product-specs * {
    box-sizing: border-box;
}

.va-product-specs {
    --va-accent: #25b5ec;
    --va-shell-start: #f8fbfd;
    --va-shell-end: #f5fafc;
    --va-card-bg: rgba(255, 255, 255, .9);
    --va-card-hover-bg: #fff;
    --va-title-color: #0f172a;
    --va-name-color: #526174;
    --va-value-color: #0f172a;
    --va-card-line: rgba(15, 23, 42, .045);
    --va-card-shadow: rgba(15, 23, 42, .03);
    --va-hover-line: rgba(37, 181, 236, .12);
    --va-hover-shadow: rgba(15, 23, 42, .055);

    width: 100%;
    min-width: 0;
    margin: 16px 0 18px;
    padding: 14px;

    color: var(--va-title-color);
    background: linear-gradient(
        180deg,
        var(--va-shell-start) 0%,
        var(--va-shell-end) 100%
    );

    border: 0;
    border-radius: 16px;
}

.va-product-specs-title {
    margin: 0 0 12px;

    color: var(--va-title-color);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
}

.va-specs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;

    width: 100%;
    min-width: 0;
}

.va-spec {
    display: flex;
    min-width: 0;
    min-height: 78px;
    padding: 10px 8px;

    flex-direction: column;
    align-items: center;
    justify-content: center;

    overflow: hidden;
    text-align: center;

    background: var(--va-card-bg);
    border: 0;
    border-radius: 14px;

    box-shadow:
        inset 0 0 0 1px var(--va-card-line),
        0 3px 10px var(--va-card-shadow);

    transition:
        background-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

@media (hover: hover) and (pointer: fine) {
    .va-spec:hover {
        background: var(--va-card-hover-bg);
        transform: translateY(-1px);

        box-shadow:
            inset 0 0 0 1px var(--va-hover-line),
            0 6px 18px var(--va-hover-shadow);
    }
}

.va-spec-icon {
    display: flex;
    width: 29px;
    height: 29px;
    margin: 0 auto 7px;

    flex: 0 0 29px;
    align-items: center;
    justify-content: center;

    color: var(--va-accent);
}

.va-spec-icon svg {
    display: block;
    width: 29px;
    height: 29px;

    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.va-spec-logo {
    display: block;
    width: auto;
    max-width: 68px;
    height: auto;
    max-height: 24px;
    margin: 0 auto 7px;

    object-fit: contain;
}

.va-flag {
    width: 42px;
    height: 26px;
    margin: 0 auto 7px;
    flex: 0 0 26px;

    border-radius: 4px;

    background: linear-gradient(
        to bottom,
        #005bbb 0 50%,
        #ffd500 50% 100%
    );

    box-shadow: 0 1px 3px rgba(15, 23, 42, .08);
}

.va-spec-name {
    max-width: 100%;
    margin: 0 0 2px;

    overflow-wrap: anywhere;

    color: var(--va-name-color);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.25;
}

.va-spec-value {
    max-width: 100%;
    margin: 0;

    overflow-wrap: anywhere;

    color: var(--va-value-color);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
}

/* ==========================================
   OCTemplates Deals — dark theme
========================================== */

html.dark-theme div.custom_description,
html.dark-theme div.custom_descr_add,
html.dark-theme td.custom_descr_comp p,
html.dark-theme span.description {
    color: #d8dee7 !important;
}

html.dark-theme .va-product-specs {
    --va-shell-start: #171f2a;
    --va-shell-end: #141c26;
    --va-card-bg: rgba(32, 40, 52, .88);
    --va-card-hover-bg: #232c39;
    --va-title-color: #f8fafc;
    --va-name-color: #aeb8c6;
    --va-value-color: #fff;
    --va-card-line: rgba(255, 255, 255, .055);
    --va-card-shadow: rgba(0, 0, 0, .14);
    --va-hover-line: rgba(37, 181, 236, .18);
    --va-hover-shadow: rgba(0, 0, 0, .28);
}

/* ==========================================
   Mobile
========================================== */

@media (max-width: 575.98px) {
    .va-product-specs {
        padding: 12px;
        border-radius: 14px;
    }

    .va-specs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .va-spec {
        min-height: 74px;
        padding: 9px 7px;
        border-radius: 13px;
    }

    .va-spec-icon,
    .va-spec-icon svg {
        width: 26px;
        height: 26px;
    }

    .va-spec-icon {
        flex-basis: 26px;
    }

    .va-flag {
        width: 40px;
        height: 25px;
        flex-basis: 25px;
    }
}

/* Accessibility */

@media (prefers-reduced-motion: reduce) {
    .va-spec {
        transition: none;
    }

    .va-spec:hover {
        transform: none;
    }
}