:root {
    --stock-gate-ink: #202321;
    --stock-gate-muted: #68706b;
    --stock-gate-line: #dfe3de;
    --stock-gate-canvas: #f4f6f2;
    --stock-gate-soft: #f8f8f5;
    --stock-gate-orange: #ef7200;
    --stock-gate-green: #2f8958;
}

.ek-stock-gate-catalog *, .ek-stock-gate-detail * { box-sizing: border-box; }
.ek-stock-gate-catalog, .ek-stock-gate-detail { color: var(--stock-gate-ink); background: #fff; }
.ek-stock-gate-breadcrumb { padding: 14px 0; border-bottom: 1px solid #ecefeb; background: #fff; }
.ek-stock-gate-breadcrumb .breadcrumb { justify-content: flex-start; margin: 0; }
.ek-stock-gate-breadcrumb .breadcrumb li, .ek-stock-gate-breadcrumb .breadcrumb a { font-size: 12px; font-weight: 750; letter-spacing: .025em; text-transform: none; }

/* Katalóg používa rovnaké proporcie a povrchy ako konfigurátory na mieru. */
.ek-stock-gate-hero { padding: 34px 0 48px; background: var(--stock-gate-canvas); }
.ek-stock-gate-hero-grid { display: grid; overflow: hidden; min-height: 470px; grid-template-columns: minmax(390px,.9fr) minmax(0,1.1fr); border: 1px solid var(--stock-gate-line); border-radius: 26px; background: #fff; box-shadow: 0 22px 64px rgba(28,34,30,.09); }
.ek-stock-gate-hero-copy { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: clamp(38px,5vw,70px); }
.ek-stock-gate-eyebrow, .ek-stock-gate-product-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 15px; color: #cc5d00; font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.ek-stock-gate-eyebrow::before, .ek-stock-gate-product-eyebrow::before { width: 28px; height: 3px; border-radius: 9px; background: var(--stock-gate-orange); content: ''; }
.ek-stock-gate-hero-copy h1 { max-width: 620px; margin: 0; color: var(--stock-gate-ink); font-size: clamp(40px,4.3vw,64px); font-weight: 900; line-height: .99; letter-spacing: -.05em; text-transform: none; }
.ek-stock-gate-lead { max-width: 610px; margin: 22px 0 0; color: var(--stock-gate-muted); font-size: 17px; line-height: 1.62; }
.ek-stock-gate-facts { display: flex; flex-wrap: wrap; gap: 9px; margin: 27px 0 28px; }
.ek-stock-gate-facts span { display: flex; min-width: 128px; flex-direction: column; padding: 11px 14px; border: 1px solid var(--stock-gate-line); border-radius: 11px; background: var(--stock-gate-soft); }
.ek-stock-gate-facts strong { color: var(--stock-gate-ink); font-size: 18px; font-weight: 900; }
.ek-stock-gate-facts small { margin-top: 1px; color: var(--stock-gate-muted); font-size: 10px; font-weight: 700; }
.ek-stock-gate-jump { align-self: flex-start; min-height: 52px; padding: 15px 22px; border-radius: 10px; font-size: 14px; font-weight: 900; text-transform: none; }
.ek-stock-gate-hero-media { position: relative; min-width: 0; min-height: 470px; overflow: hidden; background: #e8ebe6; }
.ek-stock-gate-hero-photo { position: absolute; inset: 0; margin: 0; }
.ek-stock-gate-hero-photo::after { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(31,35,32,.1),transparent 32%); content: ''; }
.ek-stock-gate-hero-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ek-stock-gate-hero-note { position: absolute; right: 24px; bottom: 24px; display: flex; align-items: center; gap: 11px; max-width: 290px; padding: 13px 16px; border: 1px solid rgba(255,255,255,.75); border-radius: 13px; background: rgba(255,255,255,.93); box-shadow: 0 12px 32px rgba(25,30,26,.15); backdrop-filter: blur(8px); }
.ek-stock-gate-hero-note > i { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; color: #fff; border-radius: 50%; background: var(--stock-gate-green); font-size: 12px; }
.ek-stock-gate-hero-note span { display: flex; min-width: 0; flex-direction: column; }
.ek-stock-gate-hero-note strong { color: var(--stock-gate-ink); font-size: 13px; font-weight: 900; }
.ek-stock-gate-hero-note small { color: var(--stock-gate-muted); font-size: 10px; line-height: 1.35; }

.ek-stock-gate-selection { padding: 68px 0 82px; background: #fff; scroll-margin-top: 24px; }
.ek-stock-gate-section-heading { max-width: 740px; margin-bottom: 31px; }
.ek-stock-gate-section-heading > span { color: #c95b00; font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.ek-stock-gate-section-heading h2 { margin: 7px 0 9px; color: var(--stock-gate-ink); font-size: clamp(31px,3vw,46px); font-weight: 900; line-height: 1.05; letter-spacing: -.04em; text-transform: none; }
.ek-stock-gate-section-heading p { margin: 0; color: var(--stock-gate-muted); font-size: 16px; }
.ek-stock-gate-product-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.ek-stock-gate-card { display: flex; overflow: hidden; min-width: 0; flex-direction: column; border: 1px solid var(--stock-gate-line); border-radius: 20px; background: #fff; box-shadow: 0 10px 32px rgba(25,29,26,.055); transition: transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.ek-stock-gate-card:hover { transform: translateY(-4px); border-color: #d7b48f; box-shadow: 0 21px 46px rgba(25,29,26,.11); }
.ek-stock-gate-card-media { display: block; overflow: hidden; aspect-ratio: 1.34/1; background: #edf0eb; }
.ek-stock-gate-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.ek-stock-gate-card:hover .ek-stock-gate-card-media img { transform: scale(1.03); }
.ek-stock-gate-card-body { display: flex; min-height: 235px; flex: 1; flex-direction: column; padding: 21px; }
.ek-stock-gate-card-label { color: #c95b00; font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.ek-stock-gate-card h2 { margin: 6px 0 10px; font-size: 22px; font-weight: 900; line-height: 1.12; letter-spacing: -.025em; text-transform: none; }
.ek-stock-gate-card h2 a { color: var(--stock-gate-ink); }
.ek-stock-gate-card-copy { overflow: hidden; display: -webkit-box; margin-bottom: 16px; color: var(--stock-gate-muted); font-size: 13px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.ek-stock-gate-card-copy p { margin: 0; color: inherit; font: inherit; }
.ek-stock-gate-card-footer { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 16px; border-top: 1px solid #ecefeb; }
.ek-stock-gate-card-footer div { display: flex; flex-direction: column; }
.ek-stock-gate-card-footer small { color: var(--stock-gate-muted); font-size: 10px; }
.ek-stock-gate-card-footer strong { color: var(--stock-gate-ink); font-size: 20px; font-weight: 900; }
.ek-stock-gate-card-footer > a { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; gap: 7px; padding: 9px 12px; color: #fff; border-radius: 9px; background: var(--stock-gate-orange); font-size: 11px; font-weight: 900; text-align: center; }
.ek-stock-gate-width-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.ek-stock-gate-width-card { display: grid; overflow: hidden; min-height: 142px; grid-template-columns: 43% minmax(0,1fr) auto; align-items: center; gap: 18px; padding-right: 22px; color: var(--stock-gate-ink); border: 1px solid var(--stock-gate-line); border-radius: 17px; background: #fff; box-shadow: 0 9px 26px rgba(25,29,26,.05); transition: transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.ek-stock-gate-width-card:hover { color: var(--stock-gate-ink); transform: translateY(-3px); border-color: #d7b48f; box-shadow: 0 18px 38px rgba(25,29,26,.1); }
.ek-stock-gate-width-card img { width: 100%; height: 142px; object-fit: cover; }
.ek-stock-gate-width-card span { display: flex; flex-direction: column; }
.ek-stock-gate-width-card small { color: var(--stock-gate-muted); font-size: 10px; font-weight: 700; }
.ek-stock-gate-width-card strong { font-size: 24px; font-weight: 900; }
.ek-stock-gate-width-card > i { color: var(--stock-gate-orange); }
.ek-stock-gate-content { padding: 70px 0; background: var(--stock-gate-canvas); }

/* Detail: živý produktový náhľad a konfigurácia v jednom vizuálnom systéme. */
.ek-stock-gate-product-section { padding: 38px 0 72px; background: var(--stock-gate-canvas); }
.ek-stock-gate-detail-grid { display: grid; grid-template-columns: minmax(0,1.03fr) minmax(450px,.97fr); align-items: start; gap: 28px; }
.ek-stock-gate-detail-media { position: sticky; top: 20px; min-width: 0; }
.ek-stock-gate-gallery, .ek-stock-gate-colors, .ek-stock-gate-purchase { border: 1px solid var(--stock-gate-line); background: #fff; box-shadow: 0 16px 48px rgba(25,29,26,.075); }
.ek-stock-gate-gallery { overflow: hidden; border-radius: 23px; }
.ek-stock-gate-preview-head { display: flex; min-height: 68px; align-items: center; justify-content: space-between; gap: 15px; padding: 0 22px; border-bottom: 1px solid var(--stock-gate-line); }
.ek-stock-gate-preview-head span { display: inline-flex; align-items: center; gap: 9px; color: var(--stock-gate-ink); font-size: 14px; font-weight: 900; }
.ek-stock-gate-preview-head span i { width: 10px; height: 10px; border-radius: 50%; background: var(--stock-gate-green); box-shadow: 0 0 0 7px rgba(47,137,88,.1); }
.ek-stock-gate-preview-head small { color: var(--stock-gate-muted); font-size: 11px; font-weight: 750; text-align: right; }
.ek-stock-gate-gallery-main { overflow: hidden; margin: 0; border: 0; background: #e9ece7; }
.ek-stock-gate-gallery-main .slick-slide > div { height: 100%; }
.ek-stock-gate-gallery-main .slick-slide img, .ek-stock-gate-gallery-main > div > img { display: block; width: 100%; height: clamp(360px,34vw,520px); object-fit: cover; }
.ek-stock-gate-gallery-main .slick-arrow { z-index: 3; width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,.94); box-shadow: 0 8px 22px rgba(20,23,21,.14); }
.ek-stock-gate-gallery-main .slick-prev { left: 18px; }
.ek-stock-gate-gallery-main .slick-next { right: 18px; }
.ek-stock-gate-gallery-thumbs { display: flex; overflow-x: auto; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--stock-gate-line); scrollbar-width: none; }
.ek-stock-gate-gallery-thumbs::-webkit-scrollbar { display: none; }
.ek-stock-gate-gallery-thumb { overflow: hidden; width: 82px; min-width: 82px; height: 56px; padding: 0; border: 2px solid transparent; border-radius: 9px; background: #edf0eb; cursor: pointer; }
.ek-stock-gate-gallery-thumb.is-current { border-color: var(--stock-gate-orange); box-shadow: 0 0 0 2px rgba(239,114,0,.1); }
.ek-stock-gate-gallery-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ek-stock-gate-preview-foot { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--stock-gate-line); background: #fff; }
.ek-stock-gate-preview-foot span { display: flex; min-height: 54px; align-items: center; justify-content: center; gap: 8px; padding: 10px; color: var(--stock-gate-muted); font-size: 11px; font-weight: 800; text-align: center; }
.ek-stock-gate-preview-foot span + span { border-left: 1px solid var(--stock-gate-line); }
.ek-stock-gate-preview-foot i { color: var(--stock-gate-orange); }
.ek-stock-gate-preview-foot b { color: inherit; font: inherit; }
.ek-stock-gate-colors { margin-top: 16px; padding: 20px; border-radius: 18px; box-shadow: 0 10px 30px rgba(25,29,26,.05); }
.ek-stock-gate-colors-heading { display: flex; align-items: end; justify-content: space-between; gap: 15px; margin-bottom: 13px; }
.ek-stock-gate-colors-heading span { color: #c95b00; font-size: 9px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.ek-stock-gate-colors-heading h2 { margin: 3px 0 0; color: var(--stock-gate-ink); font-size: 19px; font-weight: 900; text-transform: none; }
.ek-stock-gate-colors-heading small { color: var(--stock-gate-muted); font-size: 10px; }
.ek-stock-gate-color-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.ek-stock-gate-color { position: relative; overflow: hidden; color: var(--stock-gate-ink); border: 2px solid transparent; border-radius: 11px; background: var(--stock-gate-soft); }
.ek-stock-gate-color:hover { color: var(--stock-gate-ink); border-color: #d7b48f; }
.ek-stock-gate-color.is-current { border-color: var(--stock-gate-orange); box-shadow: 0 0 0 3px rgba(239,114,0,.09); }
.ek-stock-gate-color.is-current::after { position: absolute; top: 6px; right: 6px; display: grid; width: 21px; height: 21px; place-items: center; color: #fff; border-radius: 50%; background: var(--stock-gate-orange); font-family: FontAwesome; font-size: 10px; content: '\f00c'; }
.ek-stock-gate-color img { display: block; width: 100%; aspect-ratio: 1.5/1; object-fit: cover; }
.ek-stock-gate-color span { display: block; overflow: hidden; padding: 8px 6px; font-size: 10px; font-weight: 850; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.ek-stock-gate-purchase { min-width: 0; overflow: hidden; padding: 30px; border-radius: 23px; }
.ek-stock-gate-back { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 20px; color: #626a65; font-size: 11px; font-weight: 800; }
.ek-stock-gate-back:hover { color: #c95b00; }
.ek-stock-gate-product-eyebrow { margin-bottom: 12px; }
.ek-stock-gate-product-header h1 { margin: 0; color: var(--stock-gate-ink); font-size: clamp(30px,2.9vw,44px); font-weight: 900; line-height: 1.02; letter-spacing: -.045em; text-transform: none; }
.ek-stock-gate-product-lead { margin-top: 15px; color: var(--stock-gate-muted); font-size: 15px; line-height: 1.62; }
.ek-stock-gate-product-lead p { margin: 0; color: inherit; font: inherit; }
.ek-stock-gate-product-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 19px 0; }
.ek-stock-gate-product-meta > span { display: flex; min-width: 132px; flex: 1; flex-direction: column; padding: 10px 13px; border: 1px solid var(--stock-gate-line); border-radius: 10px; background: var(--stock-gate-soft); }
.ek-stock-gate-product-meta small { color: var(--stock-gate-muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.ek-stock-gate-product-meta strong { margin-top: 1px; color: var(--stock-gate-ink); font-size: 14px; font-weight: 900; }
.ek-stock-gate-base-price { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; padding: 17px 0 22px; border-top: 1px solid #e9ece8; }
.ek-stock-gate-base-price > span { color: var(--stock-gate-muted); font-size: 12px; font-weight: 700; }
.ek-stock-gate-base-price strong { grid-row: span 2; color: #c95b00; font-size: 32px; font-weight: 900; line-height: 1; }
.ek-stock-gate-base-price small { color: var(--stock-gate-muted); font-size: 10px; }
.ek-stock-gate-builder { margin: 2px -30px -30px; padding: 0; border-top: 1px solid var(--stock-gate-line); }
.ek-stock-gate-builder-header { padding: 23px 30px 18px; }
.ek-stock-gate-builder-header > span { color: #c95b00; font-size: 9px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.ek-stock-gate-builder-header h2 { margin: 4px 0 13px; color: var(--stock-gate-ink); font-size: 23px; font-weight: 900; letter-spacing: -.025em; text-transform: none; }
.ek-stock-gate-progress { --stock-gate-progress: 0%; position: relative; display: flex; align-items: center; justify-content: flex-end; min-height: 20px; padding-bottom: 7px; }
.ek-stock-gate-progress::before, .ek-stock-gate-progress i { position: absolute; right: 0; bottom: 0; left: 0; height: 4px; border-radius: 999px; content: ''; }
.ek-stock-gate-progress::before { background: #e7eae6; }
.ek-stock-gate-progress i { right: auto; width: var(--stock-gate-progress); background: var(--stock-gate-orange); transition: width .28s ease; }
.ek-stock-gate-progress small { color: var(--stock-gate-muted); font-size: 10px; font-weight: 800; }
.ek-stock-gate-builder #messageBox1 { display: none; margin: 0 30px 14px; padding: 11px 14px; color: #9c2926; border: 1px solid #efc5c2; border-radius: 9px; background: #fff3f2; }
.ek-stock-gate-builder #messageBox1 ul { margin: 0; padding: 0; list-style: none; }
.ek-stock-gate-builder #messageBox1 label { margin: 0; color: inherit; }
.ek-stock-gate-options { padding: 0 30px; }
.ek-stock-gate-options .row.product-accordion { margin: 0; }
.ek-stock-gate-options #optaccordion { width: 100%; counter-reset: stock-gate-option; }
.ek-stock-gate-options #optaccordion > .card { overflow: hidden; margin: 0 0 10px; border: 1px solid var(--stock-gate-line); border-radius: 12px; background: #fff; counter-increment: stock-gate-option; transition: border-color .18s ease,box-shadow .18s ease; }
.ek-stock-gate-options #optaccordion > .card.is-complete { border-color: #bcd8c8; }
.ek-stock-gate-options #optaccordion > .card.is-missing { border-color: #dc6d67; box-shadow: 0 0 0 3px rgba(190,55,48,.09); }
.ek-stock-gate-options #optaccordion > .card.is-unavailable { display: none; }
.ek-stock-gate-options .card-header { padding: 0; border: 0; background: #fff; }
.ek-stock-gate-options .card-header h5 { position: relative; margin: 0; }
.ek-stock-gate-options .card-header h5::before { position: absolute; z-index: 2; top: 50%; left: 14px; display: grid; width: 29px; height: 29px; place-items: center; border-radius: 8px; background: #f1f3ef; color: #555d58; font-size: 11px; font-weight: 900; transform: translateY(-50%); content: counter(stock-gate-option); }
.ek-stock-gate-options .card.is-complete .card-header h5::before { color: transparent; background: var(--stock-gate-green); font-family: FontAwesome; content: '\f00c'; }
.ek-stock-gate-options .card-header .btn-link { display: flex !important; min-height: 66px; align-items: center; width: 100%; padding: 15px 175px 15px 55px; color: var(--stock-gate-ink); border: 0; font-size: 14px; font-weight: 900; line-height: 1.25; text-align: left; text-decoration: none; text-transform: none; }
.ek-stock-gate-options .card-header .btn-link::after { position: absolute; top: 50%; right: 15px; color: #747b76; font-family: FontAwesome; font-size: 12px; transform: translateY(-50%); content: '\f078'; }
.ek-stock-gate-options .card-header .btn-link[aria-expanded='true']::after { content: '\f077'; }
.ek-stock-gate-options .card-header .help-block { position: absolute; z-index: 2; top: 50%; right: 40px; overflow: hidden; max-width: 125px; margin: 0; color: #c95b00; font-size: 10px; font-weight: 900; line-height: 1.25; text-align: right; text-overflow: ellipsis; transform: translateY(-50%); white-space: nowrap; pointer-events: none; }
.ek-stock-gate-options .card.is-complete .card-header .help-block { color: var(--stock-gate-green); }
.ek-stock-gate-options .card-header small { display: block; margin: -6px 16px 12px 55px; color: var(--stock-gate-muted); font-size: 10px; }
.ek-stock-gate-options .collapse > .card-body { padding: 11px; border-top: 1px solid #ecefeb; background: var(--stock-gate-soft); }
.ek-stock-gate-options .list-group { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.ek-stock-gate-options .list-group-item { display: block; min-width: 0; margin: 0 !important; padding: 0; color: var(--stock-gate-ink); border: 1px solid #dfe3de; border-radius: 9px !important; background: #fff; cursor: pointer; transition: border-color .16s ease,background .16s ease,box-shadow .16s ease; }
.ek-stock-gate-options .list-group-item:hover { border-color: #d4ad88; background: #fffaf5; }
.ek-stock-gate-options .list-group-item:has(input:checked) { border-color: var(--stock-gate-orange); background: #fff8f1; box-shadow: 0 0 0 2px rgba(239,114,0,.08); }
.ek-stock-gate-options .list-group-item > .row { min-height: 58px; align-items: center; margin: 0; flex-wrap: nowrap; }
.ek-stock-gate-options .list-group-item > .row > [class*='col-md-2'] { width: 40px; flex: 0 0 40px; padding: 0 0 0 12px; }
.ek-stock-gate-options .list-group-item > .row > [class*='col-md-4'] { display: none; }
.ek-stock-gate-options .list-group-item > .row > [class*='col-md-6'], .ek-stock-gate-options .list-group-item > .row > [class*='col-md-10'] { width: auto; min-width: 0; flex: 1 1 auto; padding: 0; }
.ek-stock-gate-options .list-group-item .card-body { padding: 10px 10px 10px 5px; }
.ek-stock-gate-options .list-group-item .fw-bold { font-size: 12px; line-height: 1.35; }
.ek-stock-gate-options .list-group-item .badge { display: inline-block; margin-top: 4px; padding: 4px 7px; color: #4e5551; background: #eef0ec !important; font-size: 9px; font-weight: 800; }
.ek-stock-gate-options input.option_select { width: 19px; height: 19px; margin: 0 !important; border: 2px solid #bfc5c0; cursor: pointer; }
.ek-stock-gate-options input.option_select:checked { border-color: var(--stock-gate-orange); background-color: var(--stock-gate-orange); }
.ek-stock-gate-checkout { margin-top: 20px; padding: 20px 30px 26px; border-top: 1px solid var(--stock-gate-line); border-radius: 0 0 23px 23px; background: #f2f4f0; }
.ek-stock-gate-checkout-grid { display: grid; grid-template-columns: minmax(120px,.7fr) minmax(0,1.3fr); gap: 10px; }
.ek-stock-gate-quantity, .ek-stock-gate-total { padding: 13px; border: 1px solid #dfe3de; border-radius: 10px; background: #fff; }
.ek-stock-gate-quantity label, .ek-stock-gate-total > span { display: block; margin-bottom: 6px; color: var(--stock-gate-muted); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.ek-stock-gate-quantity .form-control { min-height: 43px; font-size: 16px; font-weight: 800; text-align: center; }
.ek-stock-gate-total strong { display: block; color: var(--stock-gate-ink); font-size: 27px; font-weight: 900; line-height: 1; }
.ek-stock-gate-total small { display: block; margin-top: 6px; color: var(--stock-gate-muted); font-size: 9px; }
.ek-stock-gate-checkout .product-buttons { margin-top: 11px; }
.ek-stock-gate-checkout .product-buttons .btn { width: 100%; min-height: 54px; border-radius: 10px; font-size: 13px; font-weight: 900; text-transform: none; }
.ek-stock-gate-product-content { padding: 66px 0 80px; background: #fff; }
.ek-stock-gate-admin-content { max-width: 1120px; margin: 0 auto; padding: clamp(27px,4vw,52px); border: 1px solid var(--stock-gate-line); border-radius: 21px; background: var(--stock-gate-soft); color: #555d58; font-size: 16px; line-height: 1.77; }
.ek-stock-gate-admin-content h2, .ek-stock-gate-admin-content h3 { margin: 27px 0 11px; color: var(--stock-gate-ink); font-weight: 900; letter-spacing: -.025em; text-transform: none; }
.ek-stock-gate-admin-content h2:first-child, .ek-stock-gate-admin-content h3:first-child { margin-top: 0; }
.ek-stock-gate-admin-content p { color: inherit; font: inherit; }
.ek-stock-gate-admin-content p:last-child { margin-bottom: 0; }
.ek-stock-gate-admin-content img, .ek-stock-gate-admin-content iframe { max-width: 100%; height: auto; border-radius: 13px; }

@media (max-width: 1199px) {
    .ek-stock-gate-hero-grid { grid-template-columns: minmax(360px,.92fr) minmax(0,1.08fr); }
    .ek-stock-gate-product-grid, .ek-stock-gate-width-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ek-stock-gate-detail-grid { grid-template-columns: minmax(0,1fr) minmax(410px,.92fr); gap: 20px; }
    .ek-stock-gate-purchase { padding: 25px; }
    .ek-stock-gate-builder { margin-right: -25px; margin-bottom: -25px; margin-left: -25px; }
    .ek-stock-gate-builder-header, .ek-stock-gate-options, .ek-stock-gate-checkout { padding-right: 25px; padding-left: 25px; }
}
@media (max-width: 991px) {
    .ek-stock-gate-hero-grid, .ek-stock-gate-detail-grid { grid-template-columns: minmax(0,1fr); }
    .ek-stock-gate-hero-copy { order: 2; }
    .ek-stock-gate-hero-media { order: 1; min-height: min(58vw,470px); }
    .ek-stock-gate-detail-media { position: static; }
    .ek-stock-gate-gallery-main .slick-slide img, .ek-stock-gate-gallery-main > div > img { height: min(65vw,560px); }
}
@media (max-width: 767px) {
    .ek-stock-gate-breadcrumb { padding: 11px 0; }
    .ek-stock-gate-hero { padding: 18px 0 32px; }
    .ek-stock-gate-hero-grid { border-radius: 19px; }
    .ek-stock-gate-hero-media { min-height: 64vw; }
    .ek-stock-gate-hero-copy { padding: 27px 21px 24px; }
    .ek-stock-gate-hero-copy h1 { font-size: clamp(34px,10.5vw,46px); }
    .ek-stock-gate-lead { margin-top: 16px; font-size: 15px; line-height: 1.56; }
    .ek-stock-gate-facts { margin: 20px 0; }
    .ek-stock-gate-facts span { min-width: 0; flex: 1; padding: 9px 10px; }
    .ek-stock-gate-jump { width: 100%; }
    .ek-stock-gate-hero-note { right: 12px; bottom: 12px; left: 12px; max-width: none; }
    .ek-stock-gate-selection { padding: 44px 0 55px; }
    .ek-stock-gate-product-grid, .ek-stock-gate-width-grid { grid-template-columns: minmax(0,1fr); }
    .ek-stock-gate-card-body { min-height: 215px; }
    .ek-stock-gate-width-card, .ek-stock-gate-width-card img { min-height: 122px; height: 122px; }
    .ek-stock-gate-product-section { padding: 18px 0 48px; }
    .ek-stock-gate-detail-grid { gap: 14px; }
    .ek-stock-gate-gallery, .ek-stock-gate-purchase { border-radius: 17px; }
    .ek-stock-gate-preview-head { min-height: 60px; padding: 0 16px; }
    .ek-stock-gate-gallery-main .slick-slide img, .ek-stock-gate-gallery-main > div > img { height: 64vw; min-height: 250px; max-height: 410px; }
    .ek-stock-gate-preview-foot { grid-template-columns: 1fr; }
    .ek-stock-gate-preview-foot span { min-height: 44px; }
    .ek-stock-gate-preview-foot span + span { border-top: 1px solid var(--stock-gate-line); border-left: 0; }
    .ek-stock-gate-colors { margin-top: 12px; padding: 15px; border-radius: 15px; }
    .ek-stock-gate-color-list { display: flex; overflow-x: auto; gap: 8px; padding: 3px 3px 8px; scroll-snap-type: x mandatory; scrollbar-width: none; }
    .ek-stock-gate-color-list::-webkit-scrollbar { display: none; }
    .ek-stock-gate-color { min-width: 122px; scroll-snap-align: start; }
    .ek-stock-gate-purchase { padding: 21px 16px; }
    .ek-stock-gate-product-header h1 { font-size: clamp(29px,8.8vw,40px); }
    .ek-stock-gate-product-meta > span { min-width: 0; }
    .ek-stock-gate-builder { margin: 2px -16px -21px; }
    .ek-stock-gate-builder-header, .ek-stock-gate-options { padding-right: 16px; padding-left: 16px; }
    .ek-stock-gate-builder #messageBox1 { margin-right: 16px; margin-left: 16px; }
    .ek-stock-gate-options .card-header .btn-link { min-height: 64px; padding-right: 135px; padding-left: 52px; font-size: 13px; }
    .ek-stock-gate-options .card-header .help-block { right: 38px; max-width: 88px; }
    .ek-stock-gate-options .list-group { grid-template-columns: minmax(0,1fr); }
    .ek-stock-gate-options .collapse > .card-body { padding: 8px; }
    .ek-stock-gate-checkout { padding: 17px 16px 21px; border-radius: 0 0 17px 17px; }
    .ek-stock-gate-checkout-grid { grid-template-columns: minmax(0,1fr); }
    .ek-stock-gate-product-content { padding: 46px 0 56px; }
    .ek-stock-gate-admin-content { padding: 23px 19px; border-radius: 15px; font-size: 15px; line-height: 1.68; }
}
@media (max-width: 420px) {
    .ek-stock-gate-card-footer { align-items: stretch; flex-direction: column; }
    .ek-stock-gate-card-footer > a { width: 100%; }
    .ek-stock-gate-base-price strong { font-size: 29px; }
}
@media (prefers-reduced-motion: reduce) {
    .ek-stock-gate-card, .ek-stock-gate-card-media img, .ek-stock-gate-progress i { transition: none; }
}
