/* ==========================================================================
   coffee-product.css — product details page (artboard 2b)
   Page layer only; tokens + shared components live in coffee.css.
   Prefix `czp-` (coffee zone · product) — Cartzilla already owns `.cz-preview`,
   `.cz-product-gallery`, `.cz-image-zoom`, so page classes avoid the bare `cz-`.
   Logic hooks (ids / data-* / onclick) are documented in DESIGN.md §4 and in
   the page report; nothing here renames them.
   ========================================================================== */

.czp-page { background: var(--cz-cream); }
.czp-page .rtl { direction: inherit; }

/* ---- breadcrumb bar --------------------------------------------------- */
.czp-crumbs { background: var(--cz-white); border-bottom: 1px solid var(--cz-ink-12); }
.czp-crumbs__list { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 0; padding: 14px 0; list-style: none; font-size: 12.5px; color: var(--cz-ink-60); }
.czp-crumbs__list a { color: var(--cz-ink-60); }
.czp-crumbs__list a:hover { color: var(--cz-lacquer); }
.czp-crumbs__list li + li::before { content: "/"; color: var(--cz-ink-40); margin-inline-end: 8px; }
.czp-crumbs__list li.is-current { color: var(--cz-ink); font-weight: 600; max-width: 60vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---- hero: gallery + info ---------------------------------------------- */
.czp-hero { background: var(--cz-white); padding: 26px 0 32px; }
.czp-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
@media (min-width: 992px) {
  .czp-hero__grid { grid-template-columns: minmax(0, 44%) minmax(0, 1fr); gap: 40px; align-items: start; }
  .czp-gallery { position: sticky; top: calc(var(--cz-sticky-top, var(--cz-header-h)) + 16px); }
}

/* gallery (owl #sync1 / #sync2 markup kept) */
.czp-gallery__main { position: relative; background: var(--cz-paper); border-radius: 4px; overflow: hidden; }
.czp-gallery__main .owl-stage-outer, .czp-gallery__main .owl-stage, .czp-gallery__main .owl-item { height: 100%; }
.czp-gallery__main .product-preview-item { height: 400px; display: flex; align-items: center; justify-content: center; padding: 0; background: var(--cz-paper); }
.czp-gallery__main .product-preview-item img { width: 100%; height: 100%; max-height: 400px; object-fit: contain; display: block; }
@media (max-width: 991.98px) { .czp-gallery__main .product-preview-item { height: 320px; } .czp-gallery__main .product-preview-item img { max-height: 320px; } }
.czp-gallery__main .cz-image-zoom-pane { z-index: 5; }
.czp-gallery__badge { position: absolute; top: 12px; inset-inline-start: 14px; z-index: 6; display: inline-flex; align-items: center; gap: 5px; padding: 6px 10px; border-radius: 999px; background: var(--cz-espresso); color: var(--cz-cream); font: 600 10.5px/1 var(--cz-font-body); letter-spacing: .06em; text-transform: uppercase; pointer-events: none; }
.czp-gallery__badge::before { content: "✓"; font-weight: 700; color: var(--cz-brass-2); }
.czp-gallery__tools { position: absolute; top: 10px; inset-inline-end: 10px; z-index: 6; display: flex; flex-direction: column; gap: 8px; }
.czp-gallery__tools .product-action-add-wishlist { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--cz-ink-12); background: var(--cz-white); display: inline-flex; align-items: center; justify-content: center; color: var(--cz-lacquer); font-size: 16px; box-shadow: var(--cz-shadow-sm); padding: 0; }
.czp-gallery__tools .product-action-add-wishlist .fa { color: var(--cz-lacquer); }
.czp-gallery__thumbs { margin-top: 10px; }
.czp-gallery__thumbs .owl-stage { display: flex; }
.czp-gallery__thumbs .product-preview-thumb { display: flex; align-items: center; justify-content: center; height: 84px; border: 2px solid transparent; border-radius: 3px; background: var(--cz-paper); overflow: hidden; transition: border-color .15s; padding: 4px; }
.czp-gallery__thumbs .product-preview-thumb img { max-height: 100%; max-width: 100%; object-fit: contain; opacity: .85; transition: opacity .15s; }
.czp-gallery__thumbs .product-preview-thumb:hover img { opacity: 1; }
.czp-gallery__thumbs .owl-item.synced .product-preview-thumb, .czp-gallery__thumbs .product-preview-thumb.active { border-color: var(--cz-lacquer); }
.czp-gallery__thumbs .owl-item.synced .product-preview-thumb img { opacity: 1; }
@media (max-width: 575.98px) { .czp-gallery__thumbs .product-preview-thumb { height: 64px; } }
.czp-gallery__share { margin-top: 12px; min-height: 0; }
.czp-gallery__share:empty { display: none; }

/* info column */
.czp-info { min-width: 0; }
.czp-title { margin: 0; font: 400 34px/1.15 var(--cz-font-display); color: var(--cz-ink); letter-spacing: -.01em; text-wrap: balance; }
@media (max-width: 767.98px) { .czp-title { font-size: 24px; } }
.czp-supplier { margin-top: 12px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 13.5px; color: var(--cz-ink-60); min-width: 0; }
.czp-supplier__logo { width: 22px; height: 22px; border-radius: 2px; object-fit: cover; background: var(--cz-brass-2); flex: none; }
.czp-supplier__name { color: var(--cz-ink); font-weight: 600; }
.czp-supplier__name:hover { color: var(--cz-lacquer); }
.czp-supplier__sep { color: var(--cz-ink-22); }
.czp-supplier__addr { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.czp-supplier .cz-mono { font-size: 12px; }
.czp-meta { margin-top: 10px; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; font-size: 12.5px; color: var(--cz-ink-60); }
.czp-meta .star-rating { display: inline-flex; gap: 1px; margin: 0; color: var(--cz-brass); font-size: 13px; }
.czp-meta .star-rating .text-warning { color: var(--cz-brass) !important; }
.czp-meta b { color: var(--cz-ink); font-weight: 700; }
.czp-meta a { color: inherit; }
.czp-meta a:hover { color: var(--cz-lacquer); }

/* tier price table */
.czp-tiers { margin-top: 22px; border: 1px solid var(--cz-ink-22); border-radius: 4px; overflow: hidden; background: var(--cz-white); }
.czp-tiers__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 16px; border-bottom: 1px solid var(--cz-ink-12); background: var(--cz-white); }
.czp-tiers__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); background: var(--cz-cream); }
.czp-tiers__cell { padding: 14px 16px; border-inline-end: 1px solid var(--cz-ink-12); }
.czp-tiers__cell:last-child { border-inline-end: 0; }
.czp-tiers__cell.is-highlight { background: var(--cz-white); }
.czp-tiers__qty { font: 400 11.5px/1 var(--cz-font-mono); color: var(--cz-ink-60); text-transform: uppercase; letter-spacing: .04em; }
.czp-tiers__price { margin-top: 7px; font: 600 21px/1 var(--cz-font-mono); color: var(--cz-ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
.czp-tiers__cell.is-highlight .czp-tiers__price { color: var(--cz-lacquer); }
.czp-tiers__note { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; padding: 9px 16px; border-top: 1px dashed var(--cz-ink-22); font-size: 11.5px; color: var(--cz-ink-60); background: var(--cz-white); }

/* single price (no tiers) */
.czp-price { margin-top: 22px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; padding: 14px 16px; border: 1px solid var(--cz-ink-22); border-radius: 4px; background: var(--cz-cream); }
.czp-price .cz-price--lg { font-size: 26px; }
.czp-price__note { flex-basis: 100%; font-size: 11.5px; color: var(--cz-ink-60); margin-top: 2px; }

/* dashed key/value rows (trade terms, specs) */
.czp-kv { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 40px; }
@media (min-width: 576px) { .czp-kv--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.czp-kv__row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 12px 0; border-bottom: 1px dashed var(--cz-ink-22); font-size: 13.5px; min-width: 0; }
.czp-kv__k { color: var(--cz-ink-60); flex: none; }
.czp-kv__v { color: var(--cz-ink); font-weight: 600; text-align: end; min-width: 0; overflow-wrap: anywhere; }
.czp-kv__v .cz-mono { font-weight: 600; }
.czp-kv__v small { font-weight: 400; color: var(--cz-ink-60); font-size: 11px; }
.czp-kv__v .fa { color: var(--cz-ink-60); margin-inline-end: 3px; }
.czp-kv__v .fa-check-circle-o { color: var(--cz-ok); }
.czp-terms { margin-top: 18px; }
.czp-kv__row--wide { grid-column: 1 / -1; }
.czp-kv__row--wide .czp-kv__v { text-align: start; flex: 1 1 auto; }

/* ---- RFQ panel -------------------------------------------------------- */
.czp-rfq { margin-top: 20px; padding: 18px 20px 16px; border: 1px solid var(--cz-ink-12); border-radius: var(--cz-radius); background: var(--cz-cream); }
.czp-rfq__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.czp-rfq__head .cz-eyebrow { margin: 0; }
.czp-rfq__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
@media (min-width: 576px) { .czp-rfq__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.czp-lbl { display: block; font: 600 11.5px/1 var(--cz-font-body); letter-spacing: .06em; text-transform: uppercase; color: var(--cz-ink-60); margin-bottom: 8px; }
.czp-qtyrow { display: grid; grid-template-columns: minmax(0, 1fr) 104px; gap: 8px; }
.czp-qty { display: flex; align-items: stretch; width: auto !important; max-width: none !important; min-width: 0; height: 46px; border: 1px solid var(--cz-ink-22); border-radius: var(--cz-radius-sm); background: var(--cz-white); overflow: hidden; }
.czp-qty .input-group-btn { display: flex; }
.czp-qty .btn-number { width: 42px; min-width: 42px; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: var(--cz-ink) !important; font: 600 18px/1 var(--cz-font-mono); box-shadow: none !important; }
.czp-qty .btn-number:hover { background: var(--cz-paper) !important; color: var(--cz-lacquer) !important; }
.czp-qty .btn-number:disabled { opacity: .35; }
.czp-qty .cart-qty-field { flex: 1 1 auto; min-width: 0; height: 100%; border: 0 !important; border-radius: 0; text-align: center; font: 600 15px/1 var(--cz-font-mono) !important; color: var(--cz-ink); background: transparent; box-shadow: none !important; padding: 0 4px; }
.czp-qty .cart-qty-field:focus { outline: none; box-shadow: inset 0 0 0 2px rgba(158, 43, 37, .25) !important; }
.czp-rfq .cz-select, .czp-rfq .cz-input { height: 46px; min-height: 46px; background-color: var(--cz-white); }
.czp-rfq .cz-select { font-weight: 600; font-size: 13px; text-align: center; padding-inline: 10px 30px; }
.czp-rfq__ctas { margin-top: 16px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
@media (min-width: 576px) { .czp-rfq__ctas { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.czp-rfq__ctas .cz-btn { min-height: 48px; font-size: 15px; }
.czp-rfq__ctas .cz-btn--ghost { background: var(--cz-white); }
.czp-rfq__aux { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 8px; }
.czp-rfq__aux .cz-btn { min-height: 40px; }
.czp-rfq__aux .cz-btn .fa { font-size: 14px; }
.czp-rfq__aux .cz-btn .fa-whatsapp { color: var(--cz-ok); }
.czp-rfq__aux .product-action-add-wishlist .fa { color: var(--cz-lacquer); }
.czp-rfq__aux .product-action-add-wishlist span { color: var(--cz-ink-60); font-weight: 600; }
.czp-rfq__closed { margin-top: 12px; }
.czp-total { margin-top: 12px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; font-size: 13px; color: var(--cz-ink-60); }
.czp-total #chosen_price { font: 600 16px/1 var(--cz-font-mono); color: var(--cz-ink); }
.czp-total small { font-size: 11.5px; }
.czp-total.d-none { display: none !important; }
.czp-ticks { margin-top: 18px; padding-top: 16px; border-top: 1px dashed var(--cz-ink-22); display: flex; flex-direction: column; gap: 9px; font-size: 13.5px; line-height: 1.5; color: var(--cz-ink-60); list-style: none; padding-inline-start: 0; margin-bottom: 0; }
.czp-ticks li { display: flex; gap: 8px; align-items: flex-start; }
.czp-ticks li::before { content: "✓"; color: var(--cz-lacquer); font-weight: 700; flex: none; }
.czp-stock { margin-top: 8px; }
.czp-stock .out-of-stock-element { font: 700 13px/1 var(--cz-font-body); color: var(--cz-danger); }

/* variant pickers inside the form (ids/names kept) */
.czp-variants { margin-top: 16px; display: flex; flex-direction: column; gap: 12px; }
.czp-variant { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.czp-variant__label { font: 700 12px/1.2 var(--cz-font-body); color: var(--cz-ink); min-width: 64px; text-transform: capitalize; }
.czp-variant .checkbox-color, .czp-variant .checkbox-alphanumeric { display: flex !important; flex-wrap: wrap; gap: 8px; margin: 0 !important; padding: 0 !important; }
.czp-variant .checkbox-color li { margin: 0; }
.czp-variant .checkbox-color label { width: 28px; height: 28px; border-radius: 50%; margin: 0; border: 2px solid var(--cz-white); box-shadow: 0 0 0 1px var(--cz-ink-22); cursor: pointer; }
.czp-variant .checkbox-color input:checked + label { box-shadow: 0 0 0 2px var(--cz-lacquer); }
.czp-variant .checkbox-alphanumeric .for-mobile-capacity label { display: inline-flex; align-items: center; min-height: 34px; padding: 0 12px; margin: 0; border: 1px solid var(--cz-ink-22); border-radius: 999px; background: var(--cz-white); color: var(--cz-ink); font: 600 12.5px/1 var(--cz-font-body); cursor: pointer; transition: all .15s; }
.czp-variant .checkbox-alphanumeric input { position: absolute; opacity: 0; pointer-events: none; }
.czp-variant .checkbox-alphanumeric input:checked + label { background: var(--cz-espresso); border-color: var(--cz-espresso); color: var(--cz-cream); }

/* ---- tabs ------------------------------------------------------------- */
.czp-tabwrap { position: relative; }
.czp-tabs { background: var(--cz-white); border-top: 1px solid var(--cz-ink-12); border-bottom: 1px solid var(--cz-ink-12); position: sticky; top: var(--cz-sticky-top, var(--cz-header-h)); z-index: 20; }
.czp-tabs .nav-tabs { display: flex; flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; border: 0; margin: 0; scrollbar-width: none; }
.czp-tabs .nav-tabs::-webkit-scrollbar { display: none; }
.czp-tabs .nav-item { flex: none; display: block; margin: 0; }
.czp-tabs .nav-tabs .nav-link { opacity: 1; visibility: visible; }
.czp-tabs .nav-link { display: block; padding: 16px 20px; border: 0 !important; border-bottom: 2px solid transparent !important; border-radius: 0; background: transparent !important; font: 600 14px/1 var(--cz-font-body); color: var(--cz-ink-60) !important; white-space: nowrap; margin: 0; box-shadow: none !important; }
.czp-tabs .nav-link:hover { color: var(--cz-ink) !important; }
.czp-tabs .nav-link.active { color: var(--cz-ink) !important; border-bottom-color: var(--cz-lacquer) !important; }
@media (max-width: 575.98px) { .czp-tabs .nav-link { padding: 14px 14px; font-size: 13px; } }

/* ---- body: tab content + sidebar --------------------------------------- */
.czp-body { background: var(--cz-cream); padding: 28px 0 34px; }
.czp-body__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
@media (min-width: 992px) { .czp-body__grid { grid-template-columns: minmax(0, 1fr) 380px; gap: 40px; align-items: start; } .czp-side { position: sticky; top: calc(var(--cz-sticky-top, var(--cz-header-h)) + 72px); } }
.czp-main { min-width: 0; }
.czp-main .tab-content { padding: 0; }
.czp-main .tab-pane { padding: 0; }
.czp-block + .czp-block { margin-top: 26px; }
.czp-block__title { margin: 0 0 10px; font: 400 20px/1.2 var(--cz-font-display); color: var(--cz-ink); }
.czp-block__title--eyebrow { font: 600 11px/1 var(--cz-font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--cz-ink-60); margin-bottom: 4px; }
.czp-cards3 { margin-top: 26px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
@media (min-width: 576px) { .czp-cards3 { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); } }
.czp-infocard { background: var(--cz-white); border: 1px solid var(--cz-ink-12); border-radius: 4px; padding: 16px; }
.czp-infocard__k { font: 600 11px/1 var(--cz-font-mono); color: var(--cz-lacquer); letter-spacing: .12em; text-transform: uppercase; }
.czp-infocard__v { margin-top: 9px; font-size: 14px; line-height: 1.5; color: var(--cz-ink); }
.czp-video { margin-top: 26px; position: relative; aspect-ratio: 16 / 9; max-width: 640px; border-radius: 4px; overflow: hidden; background: var(--cz-espresso); }
.czp-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.czp-rich { font-size: 14px; line-height: 1.65; color: var(--cz-ink); overflow-wrap: anywhere; }
.czp-rich h1 { font-size: 1.5rem; } .czp-rich h2 { font-size: 1.35rem; } .czp-rich h3 { font-size: 1.2rem; } .czp-rich h4, .czp-rich h5, .czp-rich h6 { font-size: 1rem; }
.czp-rich h1, .czp-rich h2, .czp-rich h3, .czp-rich h4, .czp-rich h5, .czp-rich h6 { margin: 18px 0 8px; font-weight: 700; }
.czp-rich img { max-width: 100%; height: auto; border-radius: 4px; }
.czp-rich table { width: 100%; max-width: 100%; }
.czp-rich p:last-child { margin-bottom: 0; }
.czp-rich ul, .czp-rich ol { padding-inline-start: 20px; }
.czp-collapsible { position: relative; }
.czp-collapsible:not(.is-open) .czp-collapsible__body { max-height: 420px; overflow: hidden; }
.czp-collapsible:not(.is-open).is-overflowing .czp-collapsible__body::after { content: ""; position: absolute; inset-inline: 0; bottom: 44px; height: 96px; background: linear-gradient(to bottom, rgba(247, 241, 230, 0), var(--cz-cream)); pointer-events: none; }
.czp-collapsible__more { display: none; margin-top: 10px; }
.czp-collapsible.is-overflowing .czp-collapsible__more { display: inline-flex; }
.czp-empty { padding: 36px 16px; text-align: center; color: var(--cz-ink-60); font-size: 13px; }
.czp-empty img { max-width: 160px; opacity: .7; margin-bottom: 10px; }

/* company profile pane */
.czp-company__intro { font-size: 14px; line-height: 1.65; }
.czp-company__stats { margin-top: 18px; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.czp-company__stats .cz-stat { background: var(--cz-white); border: 1px solid var(--cz-ink-12); border-radius: 4px; padding: 14px 16px; }
.czp-company__stats .cz-stat__v { font-size: 16px; font-family: var(--cz-font-body); font-weight: 700; overflow-wrap: anywhere; }

/* factory tour pane */
.czp-tour { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; }
.czp-tour__item { background: var(--cz-white); border: 1px solid var(--cz-ink-12); border-radius: 4px; overflow: hidden; }
.czp-tour__img { aspect-ratio: 4 / 3; width: 100%; object-fit: cover; display: block; background: var(--cz-paper); }
.czp-tour__cap { padding: 8px 10px; font: 600 12px/1.3 var(--cz-font-body); color: var(--cz-ink); }

/* reviews pane */
.czp-rev { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px 40px; margin-bottom: 20px; }
@media (min-width: 768px) { .czp-rev { grid-template-columns: 200px minmax(0, 1fr); } }
.czp-rev__score { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 18px 16px; background: var(--cz-white); border: 1px solid var(--cz-ink-12); border-radius: 4px; }
.czp-rev__num { font: 400 48px/1 var(--cz-font-display); color: var(--cz-ink); }
.czp-rev__score .star-rating { margin-top: 8px; color: var(--cz-brass); }
.czp-rev__score .star-rating .text-warning { color: var(--cz-brass) !important; }
.czp-rev__count { margin-top: 6px; font-size: 12.5px; color: var(--cz-ink-60); }
.czp-rev__bars { display: flex; flex-direction: column; gap: 9px; justify-content: center; }
.czp-bar { display: grid; grid-template-columns: 96px minmax(0, 1fr) 32px; align-items: center; gap: 10px; font-size: 12.5px; color: var(--cz-ink-60); }
.czp-bar .progress { height: 6px; background: var(--cz-sand); border-radius: 3px; }
.czp-bar .progress-bar { background: var(--cz-brass) !important; }
.czp-bar__n { text-align: end; font-family: var(--cz-font-mono); color: var(--cz-ink); }
.czp-review { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 12px; padding: 16px 0; border-bottom: 1px dashed var(--cz-ink-22); }
.czp-review:last-child { border-bottom: 0; }
.czp-review__head { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.czp-review__name { font-weight: 700; font-size: 13.5px; color: var(--cz-ink); }
.czp-review__rating { display: inline-flex; align-items: center; gap: 4px; font: 600 12px/1 var(--cz-font-mono); color: var(--cz-ink); }
.czp-review__rating .czi-star-filled { color: var(--cz-brass); font-size: 12px; }
.czp-review__date { margin-inline-start: auto; font-size: 12px; color: var(--cz-ink-60); }
.czp-review__text { margin: 6px 0 0; font-size: 13.5px; line-height: 1.6; color: var(--cz-ink); overflow-wrap: anywhere; }
.czp-review__imgs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.czp-review__imgs img { width: 64px; height: 64px; object-fit: cover; border-radius: 4px; border: 1px solid var(--cz-ink-12); cursor: pointer; }
.czp-rev__more { display: flex; justify-content: center; margin-top: 16px; }
.czp-rev__more .view_more_button { background: var(--cz-espresso) !important; color: var(--cz-cream) !important; }

/* ---- sidebar: factory card, reliability, more from store ------------------ */
.czp-factory { background: var(--cz-white); border: 1px solid var(--cz-ink-22); border-radius: 4px; padding: 20px; }
.czp-factory__head { display: flex; gap: 12px; align-items: center; min-width: 0; }
.czp-factory__logo { width: 46px; height: 46px; border-radius: 3px; object-fit: cover; background: var(--cz-brass-2); flex: none; }
.czp-factory__name { font: 700 16px/1.2 var(--cz-font-body); color: var(--cz-ink); display: block; overflow-wrap: anywhere; }
.czp-factory__name:hover { color: var(--cz-lacquer); }
.czp-factory__sub { margin-top: 4px; font-size: 12.5px; color: var(--cz-ink-60); }
.czp-factory__badge { margin-top: 6px; }
.czp-factory__rows { margin-top: 16px; display: flex; flex-direction: column; gap: 11px; }
.czp-factory__row { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; min-width: 0; }
.czp-factory__row span:first-child { color: var(--cz-ink-60); flex: none; }
.czp-factory__row span:last-child { color: var(--cz-ink); font-weight: 600; text-align: end; overflow-wrap: anywhere; }
.czp-factory__certs { margin-top: 16px; padding-top: 14px; border-top: 1px dashed var(--cz-ink-22); display: flex; flex-wrap: wrap; gap: 6px; }
.czp-factory__certs .cz-tag { background: var(--cz-ink-08); color: var(--cz-ink-60); font-size: 11px; }
.czp-factory__cta { margin-top: 16px; }
.czp-factory__contact { margin-top: 10px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.czp-factory__contact .cz-btn { min-height: 40px; }
.czp-factory__contact .cz-btn .fa { font-size: 13px; }
.czp-quick { margin-top: 16px; padding-top: 14px; border-top: 1px dashed var(--cz-ink-22); }
.czp-quick summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; font: 700 12px/1 var(--cz-font-body); letter-spacing: .06em; text-transform: uppercase; color: var(--cz-ink); }
.czp-quick summary::-webkit-details-marker { display: none; }
.czp-quick summary::after { content: "+"; font: 600 16px/1 var(--cz-font-mono); color: var(--cz-ink-60); }
.czp-quick[open] summary::after { content: "−"; }
.czp-quick form { margin-top: 12px; display: flex; flex-direction: column; gap: 8px; }
.czp-quick .cz-input, .czp-quick .cz-textarea { min-height: 40px; font-size: 13px; }
.czp-quick .cz-textarea { min-height: 72px; }
.czp-reliability { margin-top: 14px; background: var(--cz-white); border: 1px solid var(--cz-ink-12); border-radius: 4px; padding: 6px 16px; }
.czp-reliability:empty { display: none; }
.czp-reliability__row { display: flex; align-items: center; gap: 10px; padding: 9px 0; font-size: 12.5px; color: var(--cz-ink); border-bottom: 1px dashed var(--cz-ink-12); }
.czp-reliability__row:last-child { border-bottom: 0; }
.czp-reliability__row img { width: 20px; height: 20px; object-fit: contain; flex: none; }
.czp-more { margin-top: 22px; }
.czp-more__title { margin: 0 0 10px; font: 400 18px/1.2 var(--cz-font-display); color: var(--cz-ink); }
.czp-more__list { display: flex; flex-direction: column; gap: 8px; }
@media (max-width: 991.98px) { .czp-more__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); } }
.czp-mini { display: flex; gap: 12px; align-items: center; padding: 10px; background: var(--cz-white); border: 1px solid var(--cz-ink-12); border-radius: 4px; cursor: pointer; position: relative; transition: border-color .15s, box-shadow .15s; }
.czp-mini:hover { border-color: var(--cz-ink-40); box-shadow: var(--cz-shadow-sm); }
.czp-mini__img { width: 64px; height: 64px; flex: none; border-radius: 3px; background: var(--cz-paper); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.czp-mini__img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.czp-mini__body { min-width: 0; flex: 1 1 auto; }
.czp-mini__name { font: 600 13.5px/1.35 var(--cz-font-body); color: var(--cz-ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.czp-mini__meta { margin-top: 4px; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: 12px; color: var(--cz-ink-60); }
.czp-mini__meta .star-rating, .czp-mini__meta .text-warning { color: var(--cz-brass) !important; font-size: 11px; }
.czp-mini__price { margin-top: 4px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; }
.czp-mini__price .cz-price { font-size: 13.5px; }
.czp-mini__price del { font-size: 11.5px; color: var(--cz-ink-40); }
.czp-mini__disc { position: absolute; top: 6px; inset-inline-start: 6px; }

/* ---- related products ----------------------------------------------------- */
.czp-related { background: var(--cz-white); padding: 36px 0 44px; }
.czp-related .cz-section__head { margin-bottom: 18px; }
.czp-related .product-single-hover { height: 100%; }

/* ---- mobile bar --------------------------------------------------------- */
.czp-mbar { flex-wrap: wrap; transition: transform .2s ease; }
.czp-mbar.is-hidden { transform: translateY(110%); }
.czp-mbar .cz-btn { flex: 1 1 0; min-height: 46px; }
.czp-mbar__price { flex-basis: 100%; display: none; justify-content: center; gap: 6px; font-size: 12.5px; color: var(--cz-ink-60); margin-bottom: -2px; }
.czp-mbar__price.is-visible { display: flex; }
.czp-mbar__price #chosen_price_mobile { font: 600 14px/1 var(--cz-font-mono); color: var(--cz-ink); }

/* ---- inquiry modal (ids / forms kept) ------------------------------------- */
.czp-modal .modal-body { background: var(--cz-cream); padding: 20px 22px 22px; }
.czp-modal__product { display: flex; align-items: center; gap: 12px; padding: 10px 12px; margin-bottom: 16px; background: var(--cz-white); border: 1px solid var(--cz-ink-12); border-radius: var(--cz-radius-sm); }
.czp-modal__product img { width: 48px; height: 48px; border-radius: 3px; object-fit: cover; background: var(--cz-paper); flex: none; }
.czp-modal__product h6 { margin: 0; font: 700 13px/1.35 var(--cz-font-body); color: var(--cz-ink); text-align: start; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.czp-modal__product small { display: block; text-align: start; font-size: 12px; color: var(--cz-ink-60); margin-top: 2px; }
.czp-modal .cz-field { text-align: start; }
.czp-modal .cz-input, .czp-modal .cz-select, .czp-modal .cz-textarea { text-align: start; }
.czp-modal .cz-textarea { min-height: 96px; }
.czp-modal__qty { display: grid; grid-template-columns: minmax(0, 1fr) 130px; gap: 8px; }
.czp-modal__otp { text-align: center !important; font: 600 22px/1 var(--cz-font-mono) !important; letter-spacing: .4em; }
.czp-modal__lead { font-size: 13px; color: var(--cz-ink-60); margin: 0 0 14px; text-align: start; }
.czp-modal__done { text-align: center; padding: 10px 0 4px; }
.czp-modal__done .fa { font-size: 44px; color: var(--cz-ok); }
.czp-modal__done h5 { margin: 12px 0 4px; font: 400 22px/1.2 var(--cz-font-display); color: var(--cz-ink); }
.czp-modal__done p { font-size: 13px; color: var(--cz-ink-60); }
.czp-modal__resend { margin-top: 10px; font-size: 13px; text-align: center; color: var(--cz-ink-60); }
.czp-modal .cz-error.d-none { display: none; }

/* wishlist-removed modal + generic legacy bits */
.czp-page .wishList-pos-btn { display: none; }
.czp-page .btn--primary { background: var(--cz-lacquer) !important; border-color: var(--cz-lacquer) !important; color: #fff !important; }

/* ---- RTL ----------------------------------------------------------------- */
[dir=rtl] .czp-tabs .nav-tabs { direction: rtl; }
[dir=rtl] .czp-crumbs__list li + li::before { content: "\\"; }
