.camera-badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.camera-badge{display:flex;gap:12px;align-items:center;padding:14px 12px;border:1px solid var(--border,#e1e5eb);border-radius:10px;background:white;text-align:left;color:var(--text,#243044);font:500 14px var(--font,Arial);line-height:1.45;min-height:72px;cursor:pointer;min-width:0}.camera-badge img{width:40px;height:40px;flex-shrink:0;object-fit:contain}.camera-badge span{min-width:0;overflow-wrap:anywhere}.camera-badge small{display:block;font-size:12px;color:var(--textMuted,#768293);font-weight:400;margin-top:3px}.camera-badge:hover{border-color:var(--accentSolid,#CD461F)}.camera-badge:focus-visible,.camera-accessory:focus-visible,.camera-label-dialog button:focus-visible{outline:3px solid var(--accentSolid,#CD461F);outline-offset:3px}.camera-tone-hik{filter:url(#camera-hik-orange)}.camera-tone-iflow{filter:url(#camera-iflow-orange)}.camera-badges-compact{grid-template-columns:1fr;width:100%;margin:4px 0 22px;gap:9px}.camera-badges-compact .camera-badge{border:0;background:#f7f8fa;padding:10px 12px;min-height:64px}.camera-label-dialog{border:1px solid var(--border,#e1e5eb);border-radius:16px;padding:32px;max-width:540px;width:calc(100% - 32px);box-sizing:border-box;color:var(--text,#243044);font:14px var(--font,Arial)}.camera-label-dialog::backdrop{background:#15233870}.camera-label-title{font-size:24px;line-height:1.25;margin:8px 35px 18px 0}.camera-label-text{line-height:1.75}.camera-label-close{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;background:transparent;font-size:30px;cursor:pointer}.camera-label-doc,.camera-passport{color:var(--accentSolid,#CD461F);display:inline-flex;align-items:center;min-height:44px;font-size:13px}.camera-accessories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.camera-accessory{display:flex;flex-direction:column;gap:9px;text-decoration:none;padding:20px;border:1px solid var(--border,#e1e5eb);border-radius:12px;color:var(--text,#243044);background:white;min-width:0}.camera-accessory img{width:100%;height:100px;object-fit:contain;margin:0 0 12px}.camera-accessory strong{font-size:16px;overflow-wrap:anywhere}.camera-accessory small,.camera-accessory-role,.camera-accessory-lead{font-size:12px;color:var(--textMuted,#768293);line-height:1.65}.camera-accessory-action{color:var(--accentSolid,#CD461F);display:flex;align-items:center;min-height:44px;margin-top:auto;font-size:13px}.sp-arrow{min-width:44px;min-height:44px}.sp-copy h3{font-size:32px}.sp-reference .sp-copy{padding:30px 32px}@media(max-width:760px){.camera-badges{grid-template-columns:repeat(2,minmax(0,1fr))}.camera-badges-compact{grid-template-columns:1fr}.camera-accessories{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-copy h3{font-size:25px}}@media(max-width:450px){.camera-badges,.camera-accessories{grid-template-columns:1fr}.camera-label-dialog{padding:24px}.sp-reference .sp-copy{padding:24px}.camera-accessory{display:grid;grid-template-columns:75px minmax(0,1fr);gap:5px 15px}.camera-accessory img{grid-row:1/5;height:85px;margin:0}.camera-accessory-action{grid-column:2}}

/* Quiet focus for the showroom; visible keyboard indicators stay on every control. */
#sp-track:focus,#sp-track:focus-visible{outline:none;box-shadow:none}
.spotlight :is(button,a):focus:not(:focus-visible),.camera-label-dialog button:focus:not(:focus-visible){outline:none}
.spotlight :is(button,a):focus-visible,.camera-badge:focus-visible,.camera-accessory:focus-visible{outline:2px solid #667F91;outline-offset:3px}
.camera-label-dialog{animation:camera-dialog-in .2s cubic-bezier(.22,1,.36,1)}
.camera-label-dialog.is-closing{animation:camera-dialog-out .16s ease-in forwards;pointer-events:none}
.camera-label-dialog::backdrop{animation:camera-backdrop-in .2s ease-out}
.camera-label-dialog.is-closing::backdrop{animation:camera-backdrop-out .16s ease-in forwards}
.camera-label-close{top:12px;right:12px;width:44px;height:44px;display:grid;place-items:center;padding:0;border-radius:50%;color:var(--textMuted,#768293);transition:background .18s ease,color .18s ease,transform .18s ease}
.camera-label-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;transition:transform .25s cubic-bezier(.22,1,.36,1)}
.camera-label-close path{stroke-dasharray:18;stroke-dashoffset:0;animation:camera-cross-in .24s ease-out}
.camera-label-close path:nth-child(2){animation-delay:.04s;animation-fill-mode:backwards}
.camera-label-dialog.pointer-open .camera-label-close:focus-visible{outline:none}
.camera-label-dialog .camera-label-close:focus-visible{outline:2px solid #667F91;outline-offset:2px}
.camera-label-close:active{transform:scale(.94)}
@media(hover:hover){.camera-label-close:hover{background:#EDF1F4;color:var(--text,#243044)}.camera-label-close:hover svg{transform:rotate(90deg)}}
@keyframes camera-dialog-in{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
@keyframes camera-dialog-out{to{opacity:0;transform:translateY(4px) scale(.985)}}
@keyframes camera-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes camera-backdrop-out{to{opacity:0}}
@keyframes camera-cross-in{from{stroke-dashoffset:18}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.camera-label-dialog,.camera-label-dialog::backdrop,.camera-label-close path{animation:none!important}.camera-label-close,.camera-label-close svg{transition:none}.camera-label-close:hover svg,.camera-label-close:active{transform:none}}

/* Complete rich specifications replace the old Main/remainder tabs. */
.camera-full-specs .e-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px}
.camera-full-specs .e-grp{min-width:0}.camera-full-specs .e-srow{animation:none}
.camera-accessory img{height:80px;margin-bottom:4px}.camera-accessory{padding:16px;gap:6px}
@media(min-width:1100px){.camera-accessories{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.camera-accessory strong{font-size:14px}}
@media(max-width:760px){.camera-full-specs .e-groups{grid-template-columns:1fr}}
.camera-tone-factory-gray{filter:url("#factory-glyph-orange")}

.camera-badge img.camera-wordmark{width:80px;height:40px}

@media(max-width:450px){.camera-accessory-without-photo{grid-template-columns:minmax(0,1fr)}.camera-accessory-without-photo>*{grid-column:1}.camera-accessory-without-photo .camera-accessory-action{grid-column:1}}

/* Keep original and Russian passports on separate readable lines. */
.camera-document-section .camera-passport{display:flex;max-width:100%;width:fit-content;line-height:1.6;overflow-wrap:anywhere;margin-top:6px}
