.zebra-product-card { cursor: pointer; }
.zebra-product-copy h3 > a { color: inherit; text-decoration: none; }
.zebra-product-copy h3 > a:hover { color: var(--primary); }
.zebra-product-image:focus-visible { outline-offset: -4px; }
.zd-hero { padding: 112px 0 65px; background: linear-gradient(135deg, var(--white), var(--soft-pink) 48%, var(--soft-blue)); }
.zd-hero .breadcrumbs { margin-bottom: 32px; flex-wrap: wrap; }
.zd-hero-layout { display: grid; grid-template-columns: 1.12fr .88fr; gap: 60px; align-items: center; }
.zd-hero h1 { color: var(--darker); font-size: clamp(2.1rem, 4.5vw, 3.7rem); line-height: 1.12; font-weight: 900; letter-spacing: -.045em; overflow-wrap: anywhere; }
.zd-hero .page-lead { font-size: 1rem; }
.zd-hero-image { border: 1px solid var(--border); border-radius: var(--radius); padding: 25px; background: rgba(var(--white-rgb), .75); }
.zd-hero-image img { width: 100%; height: 340px; object-fit: contain; mix-blend-mode: multiply; }
.zd-hero-note { margin-top: 25px; color: var(--gray); font-size: .76rem; line-height: 1.8; }
.zd-count { display: inline-grid; place-items: center; min-width: 24px; height: 24px; margin-left: 5px; padding: 0 6px; border-radius: 5px; background: rgba(var(--white-rgb), .2); font-size: .73rem; }
.zd-anchor-bar { position: sticky; top: 72px; z-index: 30; background: var(--white); border-bottom: 1px solid var(--gray-light); box-shadow: 0 3px 12px rgba(var(--ink-rgb), .025); }
.zd-anchor-bar .container { display: flex; gap: 34px; align-items: center; overflow-x: auto; }
.zd-anchor-bar a { display: inline-flex; gap: 10px; align-items: center; flex-shrink: 0; min-height: 54px; color: var(--gray); text-decoration: none; font-size: .82rem; font-weight: 700; white-space: nowrap; }
.zd-anchor-bar a:hover { color: var(--primary-text); }
.zd-anchor-bar a > span { border-radius: 4px; background: var(--soft-pink); padding: 1px 6px; color: var(--primary-text); font-size: .69rem; }
.zebra-detail-page section[id], .zd-model { scroll-margin-top: 150px; }
.zd-model-tools { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; justify-content: space-between; margin: 0 0 25px; }
.zd-model-tools > p { color: var(--gray); font-size: .77rem; }
.zd-model-picker, .zd-accessory-picker { display: flex; align-items: center; gap: 12px; font-size: .8rem; font-weight: 700; color: var(--darker); }
.zd-model-picker select, .zd-accessory-picker select { min-height: 44px; min-width: 180px; max-width: 100%; border: 1px solid var(--border); border-radius: var(--radius); padding: 10px 32px 10px 13px; background: var(--white); color: var(--darker); font: inherit; font-weight: 500; }
.zd-model-picker select:focus-visible, .zd-accessory-picker select:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.zd-model-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 22px; }
.zd-model { min-width: 0; border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); overflow: hidden; }
.zd-model[open] { grid-column: 1 / -1; border-color: rgba(var(--primary-rgb), .35); }
.zd-model > summary { display: flex; align-items: center; gap: 24px; padding: 22px; cursor: pointer; list-style: none; background: linear-gradient(135deg, #fcf7fa, #f5fafb); }
.zd-model > summary::-webkit-details-marker { display: none; }
.zd-model > summary::marker { content: ""; }
.zd-model > summary:focus-visible { outline: 3px solid var(--accent); outline-offset: -4px; }
.zd-model > summary > img { width: 130px; height: 140px; object-fit: contain; mix-blend-mode: multiply; flex-shrink: 0; }
.zd-model-summary { display: block; min-width: 0; flex: 1; }
.zd-model-summary > strong { display: block; color: var(--darker); font-size: 1.23rem; font-weight: 850; line-height: 1.25; }
.zd-model-quick { display: grid; gap: 8px; margin-top: 14px; }
.zd-model-quick > span { display: block; color: var(--gray); font-size: .73rem; line-height: 1.6; overflow-wrap: anywhere; }
.zd-model-quick b { display: block; color: var(--darker); font-size: .65rem; font-weight: 700; }
.zd-model-toggle { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; color: var(--primary-text); font-size: .72rem; font-weight: 750; }
.zd-model-toggle > span { font-size: 1.25rem; transition: transform .2s ease; }
.zd-model[open] .zd-model-toggle > span { transform: rotate(45deg); }
.zd-model[open] > summary > img { width: 180px; }
.zd-model[open] .zd-model-quick { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 23px; }
.zd-model-body { padding: 30px; border-top: 1px solid var(--border); }
.zd-model-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 13px; margin-bottom: 27px; }
.zd-model-actions .btn { font-size: .82rem; }
.zd-pdf-tag { display: inline-flex; align-items: center; width: fit-content; border-radius: 4px; padding: 4px 7px; background: var(--soft-pink); color: var(--primary-text); font-size: .61rem; font-weight: 800; white-space: nowrap; }
.btn-primary .zd-pdf-tag { background: rgba(var(--white-rgb), .18); color: var(--white); }
.zd-table-wrap { overflow-x: auto; }
.zd-spec-table { width: 100%; border-collapse: collapse; table-layout: fixed; text-align: left; font-size: .87rem; }
.zd-spec-table caption { text-align: left; color: var(--darker); font-size: 1.05rem; font-weight: 800; margin-bottom: 15px; }
.zd-spec-table th, .zd-spec-table td { vertical-align: top; border-bottom: 1px solid var(--gray-light); padding: 13px 16px; overflow-wrap: anywhere; line-height: 1.8; }
.zd-spec-table th:first-child { width: 29%; }
.zd-spec-table thead th { color: var(--primary-text); background: var(--soft-pink); font-size: .76rem; }
.zd-spec-table tbody th { color: var(--darker); font-size: .79rem; font-weight: 700; }
.zd-spec-table tbody td { color: var(--gray); }
.zd-spec-table tbody tr:nth-child(even) { background: var(--light); }
.zd-spec-table abbr { text-decoration: none; color: var(--primary); }
.zd-spec-note, .zd-source-note { margin-top: 18px; color: var(--gray); font-size: .72rem; line-height: 1.85; }
.zd-model-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; margin-top: 30px; padding-top: 25px; border-top: 1px solid var(--border); }
.zd-model-bottom h3 { color: var(--darker); font-size: .93rem; margin-bottom: 13px; }
.zd-model-bottom ul { padding-left: 17px; color: var(--gray); font-size: .8rem; line-height: 1.9; margin-bottom: 19px; }
.zd-model-bottom .zebra-text-link { font-size: .78rem; }
.zd-source-links > a { display: block; width: fit-content; min-height: 32px; color: var(--primary-text); font-size: .8rem; line-height: 1.7; margin-bottom: 10px; text-underline-offset: 3px; }
.zd-configuration-note { margin-top: 26px; padding: 22px 25px; border-left: 3px solid var(--primary); border-radius: 0 var(--radius) var(--radius) 0; background: var(--soft-pink); }
.zd-configuration-note strong { color: var(--darker); font-size: .88rem; }
.zd-configuration-note p { color: var(--gray); font-size: .82rem; line-height: 1.85; margin-top: 8px; }
.zd-model-empty { padding: 35px; text-align: center; border-radius: var(--radius); background: var(--soft-pink); color: var(--gray); }
.zd-accessories-section { background: var(--light); }
.zd-compare-section { padding: 80px 0; background: linear-gradient(125deg, var(--soft-blue), var(--white) 65%); }
.zd-compare-section h2 { color: var(--darker); font-size: clamp(1.8rem, 3vw, 2.65rem); line-height: 1.18; }
.zd-compare-choices { display: flex; flex-wrap: wrap; gap: 10px; border: 0; padding: 0; margin: 28px 0 15px; min-width: 0; }
.zd-compare-choices legend { color: var(--darker); font-weight: 700; font-size: .82rem; margin-bottom: 15px; }
.zd-compare-choice { display: inline-flex; align-items: center; gap: 9px; padding: 11px 15px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); font-size: .8rem; cursor: pointer; }
.zd-compare-choice:has(:checked) { border-color: var(--accent); background: var(--soft-blue); color: var(--accent-text); }
.zd-compare-choice:has(:disabled) { opacity: .5; cursor: not-allowed; }
.zd-compare-choice input { width: 17px; height: 17px; accent-color: var(--accent); }
.zd-compare-selection, .zd-compare-count, .zd-accessory-result, .zd-copy-status { color: var(--gray); font-size: .78rem; line-height: 1.7; margin: 12px 0; }
.zd-compare-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 25px; }
.zd-compare-filters button { min-height: 42px; border: 1px solid var(--border); border-radius: 5px; padding: 9px 14px; background: var(--white); color: var(--gray); font: inherit; font-size: .77rem; cursor: pointer; }
.zd-compare-filters [aria-pressed="true"] { border-color: var(--darker); color: var(--white); background: var(--darker); }
.zd-compare-scroll { max-width: 100%; overflow-x: auto; border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); overscroll-behavior-x: contain; }
.zd-compare-table { width: 100%; min-width: calc(185px + var(--compare-columns) * 230px); border-collapse: separate; border-spacing: 0; table-layout: fixed; text-align: left; }
.zd-compare-table caption { text-align: left; padding: 17px 20px; color: var(--darker); font-size: .85rem; font-weight: 700; }
.zd-compare-table th, .zd-compare-table td { padding: 17px; border-bottom: 1px solid var(--border); border-right: 1px solid var(--border); vertical-align: top; overflow-wrap: anywhere; font-size: .8rem; line-height: 1.8; }
.zd-compare-table tr > :first-child { width: 185px; position: sticky; left: 0; z-index: 1; background: var(--white); }
.zd-compare-table thead th { background: var(--light); color: var(--darker); vertical-align: bottom; }
.zd-compare-table thead img { display: block; object-fit: contain; margin-bottom: 12px; mix-blend-mode: multiply; }
.zd-compare-table thead strong { display: block; font-size: 1rem; }
.zd-compare-table thead a { display: block; color: var(--accent-text); font-size: .68rem; margin-top: 8px; text-underline-offset: 3px; }
.zd-compare-table tbody th { font-weight: 700; color: var(--darker); }
.zd-compare-table td { color: var(--darker); }
.zd-compare-table .zd-compare-different > * { background: #fff0f6; }
.zd-compare-table .zd-compare-common > * { background: #eef9fb; }
.zd-compare-table .zd-compare-unverified > * { background: #f8f8f8; }
.zd-compare-badge { display: block; width: fit-content; margin-top: 8px; font-size: .61rem; font-weight: 800; line-height: 1.5; color: var(--gray); }
.zd-compare-different .zd-compare-badge { color: var(--primary-text); }
.zd-compare-common .zd-compare-badge { color: var(--accent-text); }
.zd-compare-provenance { display: block; color: var(--gray); font-size: .63rem; margin-top: 9px; }
.zd-compare-note { max-width: 900px; margin-top: 20px; color: var(--gray); font-size: .78rem; line-height: 1.85; }
.zd-compare-empty { padding: 25px; color: var(--gray); font-size: .85rem; }
.zd-compare-swipe { display: none; }
.zd-accessory-tools { display: flex; flex-wrap: wrap; align-items: end; gap: 20px; margin-bottom: 15px; }
.zd-accessory-tools .zd-accessory-picker { margin-bottom: 0; }
.zd-accessory-tools .zebra-search { flex: 1; min-width: 220px; max-width: 450px; }
.zd-order-code { padding: 13px; border: 1px solid var(--border); border-radius: 5px; background: var(--light); margin-bottom: 18px; }
.zd-order-code > span { display: block; color: var(--gray); font-size: .65rem; margin-bottom: 7px; }
.zd-order-code code { display: block; font-size: .85rem; line-height: 1.5; font-weight: 700; color: var(--darker); overflow-wrap: anywhere; user-select: all; }
.zd-order-code button { border: 0; border-bottom: 1px solid currentColor; padding: 5px 0; margin-top: 8px; background: transparent; color: var(--accent-text); font: inherit; font-size: .68rem; cursor: pointer; min-height: 32px; }
.zd-accessory .zd-accessory-compatibility { font-size: .71rem; line-height: 1.75; margin: 0 0 15px; }
.zd-accessory-source { color: var(--accent-text); font-size: .7rem; margin: auto 0 20px; text-underline-offset: 3px; }
.zd-accessory .zebra-text-link { margin-top: 0; }
.zd-load-more { display: flex; justify-content: center; margin-top: 28px; }
.zd-copy-status:empty { display: none; }
.zd-compare-section :focus-visible, .zd-order-code button:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
.zd-accessory-picker { margin-bottom: 30px; }
.zd-accessory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.zd-accessory { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); padding: 25px; }
.zd-accessory-kicker { color: var(--primary-text); font-size: .65rem; text-transform: uppercase; font-weight: 800; margin-bottom: 12px; }
.zd-accessory-photo { margin: -25px -25px 23px; border-bottom: 1px solid var(--border); border-radius: var(--radius) var(--radius) 0 0; background: #fff; overflow: hidden; }
.zd-accessory-photo a { position: relative; display: grid; place-items: center; min-height: 210px; padding: 20px; background: #fff; }
.zd-accessory-photo img { display: block; width: 100%; height: 180px; object-fit: contain; }
.zd-accessory-photo a:focus-visible { outline: 3px solid var(--accent); outline-offset: -4px; }
.zd-photo-enlarge { position: absolute; right: 12px; bottom: 9px; padding: 4px 7px; border-radius: 4px; background: rgba(255,255,255,.95); color: var(--accent-text); font-size: .64rem; font-weight: 700; }
.zd-accessory-photo figcaption { padding: 8px 15px; color: var(--gray); font-size: .63rem; text-align: center; background: var(--light); }
.zd-photo-notice { grid-column: 1 / -1; margin: 0; color: var(--gray); font-size: .73rem; line-height: 1.8; }
.zd-accessory .zd-photo-unavailable { padding: 11px 13px; margin-bottom: 20px; border-radius: 5px; color: var(--gray); background: var(--light); font-size: .7rem; line-height: 1.6; }
.zd-accessory h3 { color: var(--darker); font-size: 1.04rem; line-height: 1.4; margin-bottom: 13px; }
.zd-accessory p { color: var(--gray); font-size: .86rem; line-height: 1.8; margin-bottom: 24px; }
.zd-accessory .zebra-text-link { margin-top: auto; font-size: .76rem; }
.zd-accessory-empty { border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); padding: 30px; }
.zd-accessory-empty h3 { color: var(--darker); font-size: 1.15rem; }
.zd-accessory-empty p { color: var(--gray); line-height: 1.9; margin: 16px 0 22px; font-size: .9rem; }
.zd-documents-section h2 { color: var(--darker); font-size: clamp(1.8rem, 3vw, 2.65rem); font-weight: 850; line-height: 1.18; }
.zd-documents-lead { max-width: 760px; color: var(--gray); font-size: .94rem; line-height: 1.85; margin-top: 20px; }
.zd-document-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; margin-top: 28px; }
.zd-document { display: grid; gap: 13px; min-width: 0; border: 1px solid var(--border); border-radius: var(--radius); padding: 22px; text-decoration: none; background: var(--white); transition: var(--transition); }
.zd-document:hover { border-color: var(--primary); background: var(--soft-pink); }
.zd-document > strong { font-size: .95rem; color: var(--darker); overflow-wrap: anywhere; }
.zd-document > span:last-child { color: var(--gray); font-size: .77rem; }
.zd-guide-heading { margin-top: 35px; font-size: 1.05rem; color: var(--darker); }
.zd-guide-list { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin-top: 20px; }
.zd-guide-list a { display: block; height: 100%; padding: 20px; border: 1px solid var(--border); border-radius: var(--radius); text-decoration: none; }
.zd-guide-list a:hover { border-color: var(--accent); }
.zd-guide-list a > span { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; font-size: .82rem; font-weight: 700; }
.zd-guide-list b { color: var(--accent-text); font-size: .62rem; background: var(--soft-blue); padding: 4px 6px; border-radius: 4px; }
.zd-guide-list small { display: block; margin-top: 10px; color: var(--gray); font-size: .66rem; overflow-wrap: anywhere; }
.zd-source-note a { color: var(--primary-text); text-underline-offset: 3px; }
.zebra-detail-page .zebra-contact-section { padding-top: 0; }
@media (max-width: 1040px) {
    .zd-hero-layout { grid-template-columns: 1fr; gap: 35px; }
    .zd-hero-image { max-width: 650px; }
    .zd-accessory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .zd-model[open] .zd-model-quick { gap: 15px; }
}
@media (max-width: 768px) {
    .zd-compare-swipe { display: block; margin: 12px 0; color: var(--accent-text); font-size: .73rem; }
    .zd-hero { padding-top: 105px; }
    .zd-model-grid { grid-template-columns: 1fr; }
    .zd-model[open] .zd-model-quick { grid-template-columns: 1fr; gap: 7px; }
    .zd-model[open] > summary > img { width: 130px; }
    .zd-model-bottom { grid-template-columns: 1fr; }
    .zd-document-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .zd-guide-list { grid-template-columns: 1fr; }
    .zd-anchor-bar .container { gap: 24px; }
}
@media (max-width: 540px) {
    .zd-compare-section { padding: 55px 0; }
    .zd-compare-choice { padding: 10px; font-size: .73rem; }
    .zd-compare-table tr > :first-child { width: 125px; }
    .zd-compare-table { min-width: calc(125px + var(--compare-columns) * 200px); }
    .zd-compare-table th, .zd-compare-table td { padding: 13px 10px; font-size: .72rem; }
    .zd-compare-filters button { font-size: .7rem; padding: 9px 10px; }
    .zd-accessory-tools { align-items: stretch; flex-direction: column; }
    .zd-accessory-tools .zebra-search { min-width: 0; width: 100%; }
    .zd-hero-image img { height: 265px; }
    .zd-hero-layout { gap: 25px; }
    .zd-model-tools { align-items: stretch; flex-direction: column; }
    .zd-model-tools .zebra-search { width: 100%; }
    .zd-model-picker { justify-content: space-between; gap: 8px; }
    .zd-model-picker select { min-width: 0; width: 58%; }
    .zd-model > summary { gap: 16px; padding: 18px 15px; }
    .zd-model > summary > img, .zd-model[open] > summary > img { width: 90px; height: 130px; }
    .zd-model-summary > strong { font-size: 1.13rem; }
    .zd-model-quick > span { font-size: .68rem; }
    .zd-model-toggle { font-size: .66rem; }
    .zd-model-body { padding: 20px 15px; }
    .zd-model-actions { flex-direction: column; align-items: stretch; }
    .zd-model-actions .btn { font-size: .76rem; padding: 12px 13px; }
    .zd-spec-table { font-size: .77rem; }
    .zd-spec-table th, .zd-spec-table td { padding: 10px; }
    .zd-spec-table tbody th { font-size: .7rem; }
    .zd-spec-table th:first-child { width: 35%; }
    .zd-accessory-picker { align-items: stretch; flex-direction: column; gap: 10px; }
    .zd-accessory-picker select { width: 100%; }
    .zd-accessory-grid, .zd-document-grid { grid-template-columns: 1fr; }
    .zd-accessory { padding: 22px; }
    .zd-accessory-photo { margin: -22px -22px 22px; }
    .zd-anchor-bar a { font-size: .75rem; }
    .zd-configuration-note { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
    .zebra-detail-page *, .zebra-product-card * { transition: none !important; animation: none !important; }
}
