.optCatalogContent {
	display: none;
	padding: 0 15px 15px;
}

.optCatalogSection {
    border: 1px solid #ffe3b4;
	margin-top: 20px;
}

.optCatalogTitle {
    line-height: 17px;
    padding: 12px 15px;
    cursor: pointer;
    position: relative;
    display: flex;
    align-items: center;
}

.optCatalogTitle .filterArrow {
	width: 20px;
    height: 20px;
    background: url(/img/filterArrow.svg) center no-repeat;
    background-size: contain;
    margin-right: 10px;
}

.optCatalogTitle.active .filterArrow {
    transform: rotate(180deg);
}

.optCatalogProductWrap {
	display: grid;
	grid-template-columns: 175px 2fr repeat(3,1fr);
	gap: 20px;
	align-items: center;
	padding: 0 0 15px;
	margin-bottom: 15px;
}

.optCatalogProductWrap:not(:last-child) {
	border-bottom: 1px solid #e8e8e8;
}

.optCatalogProductImg {
    background: #fff;
    height: 175px;
    border: 2px solid #e8e8e8;
    border-radius: 3px;
    text-align: center;
}

.optCatalogProductImg a {
	display: block;
	border: none;
}

.optCatalogProductName .articul {
	font-size: 15px;
    margin-top: 5px;
    color: #7f7f7f;
}

.optCatalogPrice {
	font-weight: bold;
	font-size: 30px;
}

.optCatalogProductPrice, .optCatalogProductSumm {
	text-align: right;
}

.optCatalogProductQuant {
	text-align: center;
}

.prodQuant {
    display: flex;
    align-items: center;
    background: #fff;
    width: max-content;
    border: 1px solid #c0bfbf;
    padding: 0 5px;
    margin: 0 auto;
    gap: 5px;
    margin-top: 10px;
}

.prodQuant .button {
    font-size: 24px;
    padding: 2px;
    vertical-align: middle;
    width: 24px;
    height: 24px;
    text-align: center;
    flex: none;
    background: transparent;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.prodQuant .button:hover {
    background-color: #c9c9c9;
    color: #000;
}

input[type="text"].prodQuantInput {
	border-color: #fff;
    background: #fff;
    text-align: center;
	padding: 2px 6px;
    width: 40px;
    font-size: 18px;
	color: #171726;
}

.optCatalogSummary {
	text-align: right;
	margin-top: 30px;
	font-weight: bold;
	font-size: 20px;
}

.optCatalogSummary span {
	font-size: 28px;
}

.v-nalichii {
    color: #48C412;
}

.pod-zakaz {
    color: #e4af32;
}

.optProductModalQuantCol {
    display: none;
}

@media (max-width: 768px) {
    .optCatalogWrap {
        margin: 0 -20px;
    }
    .optCatalogProductWrap {
        display: grid; 
        grid-template-columns: 4fr 3fr 3fr; 
        grid-template-rows: auto; 
        gap: 10px 10px; 
        grid-template-areas: 
        "optCatalogProductImg optCatalogProductName optCatalogProductName"
        "optCatalogProductImg optCatalogProductPrice optCatalogProductPrice"
        "optCatalogProductImg optCatalogProductQuant optCatalogProductSumm"; 
        align-items: start;
        position: relative;
    }
    .optCatalogProductImg { 
        grid-area: optCatalogProductImg;
    }
    .optCatalogProductName { 
        grid-area: optCatalogProductName;
        font-size: 12px;
    }
    .optCatalogProductName .articul {
        font-size: 12px;
    }
    .optCatalogProductPrice { 
        grid-area: optCatalogProductPrice;
    }
    .optCatalogProductQuant { 
        grid-area: optCatalogProductQuant;
        text-align: left;
    }
    .optCatalogPrice {
        font-size: 16px;
    }
    .optCatalogProductSumm { 
        grid-area: optCatalogProductSumm;
    }
    .optCatalogColName {
        font-size: 12px;
    }
    .optCatalogProductPrice {
        text-align: left;
    }
    .optCatalogItemSumm {
        margin-top: 15px;
    }
    .delFromOpt {
        display: block;
        font-size: 0;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='612.043' height='612.043' viewBox='0 0 612.043 612.043' style='enable-background:new 0 0 612.043 612.043' xml:space='preserve'%3E%3Cpath d='M397.503 306.011 593.08 110.434c25.27-25.269 25.27-66.213 0-91.482-25.269-25.269-66.213-25.269-91.481 0L306.022 214.551 110.445 18.974c-25.269-25.269-66.213-25.269-91.482 0s-25.269 66.213 0 91.482L214.54 306.033 18.963 501.61c-25.269 25.269-25.269 66.213 0 91.481 25.269 25.27 66.213 25.27 91.482 0l195.577-195.576 195.577 195.576c25.269 25.27 66.213 25.27 91.481 0 25.27-25.269 25.27-66.213 0-91.481L397.503 306.011z'/%3E%3C/svg%3E");
        background-size: cover;
        width: 15px;
        height: 15px;
        border: none;
        position: absolute;
        top: 0;
        right: 0;
    }
    .optCatalogSummary {
        margin: 20px 0;
    }
    #optForm {
        margin-left: -15px !important;
        margin-right: -15px !important;
    }
}

/* === Карточка товара в оптовом каталоге (aandem), 15.10.2026 === */
.optProductModal.fancybox-content {
    width: min(960px, calc(100vw - 32px));
    max-width: 960px;
    padding: 32px;
    color: var(--ink, #20242d);
    background: #fff;
    border-radius: var(--radius-lg, 24px);
    font-family: "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
}
.optProductModal, .optProductModal * { box-sizing: border-box; }
.optProductModal > .row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 32px;
    align-items: start;
    margin: 0;
}
.optProductModal > .row > [class*="col-"] { width: auto; max-width: none; padding: 0; float: none; }
.optProductModalSlider {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1;
    padding: 16px;
    background: var(--bg, #f5f6fa);
    border-radius: var(--radius-md, 16px);
    overflow: hidden;
}
.optProductModalSlider img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    mix-blend-mode: multiply;
}
.optProductModalTitle {
    margin: 0 0 8px;
    font-family: "Philosopher", Georgia, serif;
    font-size: clamp(24px, 2.6vw, 32px);
    font-weight: 700;
    line-height: 1.15;
}
.optProductModalArticul { font-size: 14px; color: var(--muted, #6b7280); }
.optProductModalArticul.is-empty { display: none; }
.optProductModalPrice {
    margin: 16px 0;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.1;
    white-space: nowrap;
}
.optProductModal .optProductModalPrice + .row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0;
}
.optProductModal .optProductModalPrice + .row > [class*="col-"] { width: auto; max-width: none; flex: 0 0 auto; padding: 0; float: none; }
.optProductModal .optProductModalBtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 36px;
    color: #fff;
    background: var(--red, #f14850);
    border: 0;
    border-radius: 999px;
    font: inherit;
    font-size: 17px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color .2s ease, transform .2s ease;
}
.optProductModal .optProductModalBtn:hover { background: var(--red-dark, #d8323a); transform: translateY(-1px); }
.optProductModalQuant {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 52px;
    padding: 0 6px;
    background: #fff;
    border: 1.5px solid var(--line, #e6e8ee);
    border-radius: 999px;
}
.optProductModalQuant .button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    color: var(--ink, #20242d);
    background: var(--bg, #f5f6fa);
    border-radius: 50%;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    user-select: none;
    transition: background-color .2s ease, color .2s ease;
}
.optProductModalQuant .button:hover { color: #fff; background: var(--red, #f14850); }
.optProductModalQuant input[type="text"].prodQuantInput {
    width: 52px;
    border: 0;
    background: transparent;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
}
.optProductModal h2 {
    margin: 28px 0 12px;
    font-family: "Philosopher", Georgia, serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
}
.optProductModalChars ul.oglavl { margin: 0; padding: 0; list-style: none; }
.optProductModalChars ul.oglavl li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 16px;
    margin: 0;
    padding: 9px 0;
    border-bottom: 1px solid var(--line, #e6e8ee);
    font-size: 15px;
    line-height: 1.4;
}
.optProductModalChars ul.oglavl li::before { display: none; }
.optProductModalChars ul.oglavl li:last-child { border-bottom: 0; }
.optProductModalChars ul.oglavl .text { color: var(--muted, #6b7280); }
.optProductModalChars ul.oglavl .page { font-weight: 600; text-align: right; }

@media (max-width: 760px) {
    .optProductModal.fancybox-content { padding: 20px; border-radius: var(--radius-md, 16px); }
    .optProductModal > .row { grid-template-columns: 1fr; gap: 18px; }
    .optProductModalSlider { aspect-ratio: 4 / 3; }
    .optProductModalPrice { font-size: 26px; margin: 12px 0; }
    .optProductModal .optProductModalPrice + .row > [class*="col-"] { flex: 1 1 100%; }
    .optProductModal .optProductModalBtn { width: 100%; }
}
