:root{--bg:#f5f5f7;--surface:#fff;--surface2:#fbfbfd;--text:#1d1d1f;--muted:#6e6e73;--line:#d2d2d7;--line-soft:#e8e8ed;--blue:#0071e3;--blue-hover:#0077ed;--dark:#1d1d1f;--danger:#d70015;--radius:18px;--shadow:0 10px 35px rgba(0,0,0,.06)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}
.topbar{position:sticky;top:0;z-index:100;background:rgba(250,250,252,.86);border-bottom:1px solid rgba(0,0,0,.08);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}.nav{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{font-size:20px;font-weight:700;color:var(--text);letter-spacing:-.55px}.brand span{color:var(--blue)}.nav nav{display:flex;align-items:center;gap:28px}.nav nav a{color:var(--text);font-size:13px;font-weight:500;transition:opacity .2s}.nav nav a:hover{opacity:.55}
.hero{padding:72px 0 38px;text-align:center}.hero h1{margin:0;font-size:clamp(36px,5vw,58px);line-height:1.02;letter-spacing:-2.5px;font-weight:700}.hero p{max-width:650px;margin:16px auto 0;color:var(--muted);font-size:18px;line-height:1.5}
.filters{margin:0 auto 32px;padding:12px;background:rgba(255,255,255,.8);border:1px solid rgba(0,0,0,.07);border-radius:20px;box-shadow:0 4px 22px rgba(0,0,0,.04);display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.filters select,.filters input,.form-control{width:100%;height:44px;padding:0 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s}.filters input:focus,.filters select:focus,.form-control:focus{border-color:#86bff5;box-shadow:0 0 0 4px rgba(0,113,227,.1)}textarea.form-control{height:auto;min-height:120px;padding:12px 13px;resize:vertical}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:60px}.card{overflow:hidden;background:var(--surface);border:1px solid rgba(0,0,0,.07);border-radius:var(--radius);color:var(--text);transition:transform .25s ease,box-shadow .25s ease,border-color .25s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(0,0,0,.1)}.card-img{height:240px;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(180deg,#fff,#fafafa);border-bottom:1px solid var(--line-soft)}.card-img img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .3s ease}.card:hover .card-img img{transform:scale(1.025)}.card-body{padding:18px 18px 20px}.kicker{text-transform:uppercase;font-size:10px;font-weight:700;color:var(--muted);letter-spacing:.8px}.card h3{font-size:18px;line-height:1.2;letter-spacing:-.35px;margin:7px 0 5px}.sensor-generation{font-size:12px;font-weight:600;color:#6e6e73;line-height:1.35;margin:0 0 9px}.meta{font-size:13px;color:var(--muted);line-height:1.45}
.product-head{background:var(--surface);border-bottom:1px solid var(--line-soft)}.crumb{font-size:12px;color:var(--muted);padding-top:18px}.crumb a{color:var(--muted)}.product-main{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:64px;align-items:center;padding:1px 0 1px}.product-gallery{min-width:0}.product-photo{width:100%;border:0;position:relative;cursor:zoom-in;height:440px;display:flex;align-items:center;justify-content:center;background:#fafafa;border-radius:24px;padding:30px}.product-photo img{max-width:100%;max-height:100%;object-fit:contain}.thumb-row{display:flex;gap:9px;overflow-x:auto;padding:12px 2px 3px}.thumb{flex:0 0 70px;width:70px;height:58px;padding:5px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;transition:.2s}.thumb.active{border-color:var(--blue);box-shadow:0 0 0 2px rgba(0,113,227,.13)}.thumb img{width:100%;height:100%;object-fit:contain}.product-info h1{font-size:clamp(38px,5vw,60px);line-height:1.02;letter-spacing:-2.6px;margin:20px 0 18px}.badges{display:flex;gap:7px;flex-wrap:wrap}.badge{background:#f2f2f7;border:0;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:600;color:#515154}.intro{font-size:17px;line-height:1.58;color:#515154}.product-info .meta{margin-top:18px}
.tabs{position:sticky;top:56px;z-index:90;background:rgba(255,255,255,.88);border-bottom:1px solid rgba(0,0,0,.08);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.tabs .wrap{display:flex;gap:26px;overflow-x:auto}.tabs a{white-space:nowrap;color:var(--text);font-size:13px;font-weight:600;padding:14px 0;border-bottom:2px solid transparent}.tabs a:hover{color:var(--blue)}
.product-content,.content{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px;margin-top:30px;margin-bottom:60px}.quick-panel{background:var(--dark);color:#fff;padding:28px;border-radius:22px;margin-bottom:22px;box-shadow:0 14px 38px rgba(0,0,0,.11)}.quick-panel h2{font-size:20px;line-height:1.1;margin:0 0 18px;font-weight:700;letter-spacing:-1px}.quick-rule{height:1px;background:#424245;margin-bottom:10px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.quick-row{min-height:52px;border-bottom:1px solid #38383a;padding:12px 0;display:grid;grid-template-columns:minmax(105px,43%) 1fr;gap:12px;align-items:start}.quick-row span{color:#a1a1a6;text-transform:none;font-size:12px;line-height:1.4}.quick-row strong{text-align:right;text-transform:none;font-size:13px;line-height:1.45;font-weight:600}.quick-button,.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:980px;background:var(--blue);color:#fff;font-weight:600;padding:11px 17px;font-size:13px;cursor:pointer;transition:background .2s,transform .15s}.quick-button{margin-top:18px}.quick-button:hover,.btn:hover{background:var(--blue-hover)}.quick-button:active,.btn:active{transform:scale(.98)}.quick-empty{color:#a1a1a6}.full-specs.is-collapsed{display:none}
.panel,.form-card,.import-card{overflow:hidden;background:var(--surface);border:1px solid rgba(0,0,0,.07);border-radius:18px;margin-bottom:18px;box-shadow:0 2px 12px rgba(0,0,0,.025)}.panel h2,.form-card h2,.import-card h2{font-size:18px;letter-spacing:-.3px;margin:0;padding:17px 19px;border-bottom:1px solid var(--line-soft);background:var(--surface)}.form-card,.import-card{padding:20px}.form-card h2,.import-card h2{padding:0 0 15px;margin-bottom:18px}.spec-table{width:100%;border-collapse:collapse}.spec-table th,.spec-table td{padding:12px 18px;border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top;font-size:13px;line-height:1.45}.spec-table tr:last-child th,.spec-table tr:last-child td{border-bottom:0}.spec-table th{width:37%;background:#fbfbfd;color:var(--muted);font-weight:500}.spec-table td{font-weight:500}.spec-table tr{transition:background-color .16s ease}.spec-table tbody tr:hover th,.spec-table tbody tr:hover td{background:#f2f2f4}.review-link{display:block;padding:14px 17px;border-bottom:1px solid var(--line-soft);transition:background .2s}.review-link:hover{background:#fafafa}.review-link strong{display:block;color:var(--text);font-size:13px}.review-link small{display:block;color:var(--muted);margin-top:3px}.empty-pad{padding:16px 18px;color:var(--muted);font-size:13px}.footer{border-top:1px solid var(--line-soft);background:#f5f5f7;color:#86868b;padding:28px 0;font-size:12px}
.admin-shell{max-width:1180px;margin:32px auto;padding:0 20px}.adminbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.adminbar h1{font-size:32px;letter-spacing:-1px;margin:0}.adminbar>div{display:flex;gap:8px;flex-wrap:wrap}.btn-red{background:var(--danger)}.table{width:100%;background:#fff;border-collapse:separate;border-spacing:0;border:1px solid rgba(0,0,0,.07);border-radius:16px;overflow:hidden}.table th,.table td{padding:13px 14px;border-bottom:1px solid var(--line-soft);text-align:left;font-size:13px}.table th{background:#fafafa;color:var(--muted);font-weight:600}.table tr:last-child td{border-bottom:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1/-1}label{font-size:12px;font-weight:600;display:block;margin-bottom:7px;color:#515154}.notice{padding:13px 15px;background:#f0f7ff;border:1px solid #cce4ff;border-radius:12px;margin-bottom:15px;font-size:13px}.danger{background:#fff1f2;border-color:#ffd0d5}.quick-toggle{display:inline-block;min-width:42px;text-align:center;padding:5px 8px;border-radius:999px;background:#eee;color:#555;font-weight:700;font-size:10px}.quick-toggle.on{background:#e7f6ec;color:#137333}.admin-image-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.admin-image-card{background:#fff;border:1px solid var(--line-soft);border-radius:14px;padding:10px}.admin-image-card img{width:100%;height:170px;object-fit:contain;background:#fafafa;border-radius:9px}.admin-image-card div{font-size:12px;line-height:1.6;margin-top:8px}
@media(max-width:980px){.grid{grid-template-columns:repeat(3,1fr)}.filters{grid-template-columns:repeat(2,1fr)}.filters input{grid-column:1/-1}.product-main{gap:34px}.product-content,.content{grid-template-columns:1fr}.admin-image-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.wrap{width:min(100% - 28px,1180px)}.nav{min-height:52px}.nav nav{gap:16px}.nav nav a{font-size:12px}.hero{padding:48px 0 28px}.hero h1{letter-spacing:-1.7px}.hero p{font-size:16px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card-img{height:190px;padding:18px}.product-main{grid-template-columns:1fr;padding:22px 0 34px}.product-photo{height:340px}.product-info h1{margin-top:16px}.tabs{top:52px}.quick-grid{grid-template-columns:1fr}.adminbar{align-items:flex-start;flex-direction:column}.table{display:block;overflow-x:auto;white-space:nowrap}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.admin-image-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.wrap{width:calc(100% - 24px)}.nav nav{gap:12px}.nav nav a{font-size:11px}.hero{padding-top:38px}.hero h1{font-size:38px}.filters{grid-template-columns:1fr;border-radius:16px}.filters input{grid-column:auto}.grid{grid-template-columns:1fr}.card{border-radius:16px}.card-img{height:235px}.product-photo{height:290px;border-radius:18px}.product-info h1{font-size:39px;letter-spacing:-1.7px}.product-content{margin-top:18px}.quick-panel{padding:22px 17px;border-radius:18px}.quick-row{grid-template-columns:42% 58%;gap:8px}.quick-row strong{font-size:12px}.quick-row span{font-size:11px}.panel{border-radius:15px}.spec-table th,.spec-table td{padding:11px 12px;font-size:12px}.admin-image-grid{grid-template-columns:1fr}}

/* Inline admin editing */
.card-wrap{position:relative;display:flex;flex-direction:column}.card-link{display:flex;flex-direction:column;height:100%;color:inherit}.card-link .card-body{display:flex;flex-direction:column;flex:1}.inline-edit{position:absolute;top:12px;right:12px;z-index:3;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);box-shadow:0 3px 14px rgba(0,0,0,.10);font-size:11px;font-weight:700;color:#0071e3;opacity:0;transform:translateY(-2px);transition:.2s}.card-wrap:hover .inline-edit,.inline-edit:focus{opacity:1;transform:none}.product-title-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.product-title-row h1{margin-right:auto}.product-edit-btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:9px 14px;border-radius:999px;background:#f2f2f7;color:#0071e3;font-size:12px;font-weight:700;transition:.2s}.product-edit-btn:hover{background:#e8e8ed}
@media(max-width:720px){.inline-edit{opacity:1;transform:none}.product-title-row{align-items:flex-start}.product-edit-btn{margin-top:4px}}

/* Inline admin shortcuts */
.inline-admin-actions{position:absolute;top:12px;right:12px;z-index:3;display:flex;gap:7px;opacity:0;transform:translateY(-2px);transition:.2s}.inline-admin-actions .inline-edit{position:static;opacity:1;transform:none}.card-wrap:hover .inline-admin-actions,.inline-admin-actions:focus-within{opacity:1;transform:none}.inline-spec{background:rgba(242,242,247,.94);color:#1d1d1f}.inline-spec:hover{background:rgba(232,232,237,.98);color:#0071e3}.product-admin-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.product-spec-btn{background:#1d1d1f;color:#fff}.product-spec-btn:hover{background:#333336;color:#fff}
@media(max-width:720px){.inline-admin-actions{opacity:1;transform:none}.product-admin-actions{width:100%}.product-admin-actions .product-edit-btn{flex:1;min-width:120px}}

/* Specs photo manager + product lightbox */
.admin-help{margin:0 0 16px;color:var(--muted);font-size:13px;line-height:1.55}.drop-zone{min-height:150px;border:1.5px dashed #b8b8bd;border-radius:18px;background:#fafafa;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;cursor:pointer;transition:.2s;margin-bottom:14px}.drop-zone:hover,.drop-zone.dragging{border-color:var(--blue);background:#f3f8ff;box-shadow:0 0 0 4px rgba(0,113,227,.08)}.drop-zone strong{font-size:14px;color:var(--text);margin:5px 0}.drop-zone small{font-size:11px;font-weight:400;color:var(--muted)}.drop-icon{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line-soft);font-size:24px;color:var(--blue)}.upload-preview{display:flex;gap:8px;overflow:auto;margin:0 0 14px}.upload-preview-item{flex:0 0 72px;width:72px;height:58px;padding:4px;background:#fff;border:1px solid var(--line-soft);border-radius:10px}.upload-preview-item img{width:100%;height:100%;object-fit:contain;border-radius:7px}.spec-image-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:18px}.spec-image-card{border:1px solid var(--line-soft);border-radius:14px;padding:8px;background:#fff}.spec-image-card.is-primary{border-color:#8cc3f5;box-shadow:0 0 0 3px rgba(0,113,227,.08)}.spec-image-preview{height:130px;background:#fafafa;border-radius:9px;display:flex;align-items:center;justify-content:center}.spec-image-preview img{width:100%;height:100%;object-fit:contain}.spec-image-meta{padding:8px 3px 2px;font-size:11px;line-height:1.45}.spec-image-meta strong{display:block;margin-bottom:5px}.spec-image-actions{display:flex;gap:8px;flex-wrap:wrap}.danger-link{color:var(--danger)}
.zoom-hint{position:absolute;right:14px;bottom:14px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 3px 14px rgba(0,0,0,.09);color:var(--text);font-size:15px}.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox-stage{width:min(1180px,calc(100vw - 150px));height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;position:relative;cursor:zoom-out}.lightbox-stage img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 18px 40px rgba(0,0,0,.25))}.lightbox-close,.lightbox-nav{position:absolute;border:0;color:#fff;background:rgba(255,255,255,.13);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;transition:.2s}.lightbox-close:hover,.lightbox-nav:hover{background:rgba(255,255,255,.22)}.lightbox-close{top:20px;right:20px;width:44px;height:44px;border-radius:50%;font-size:30px;font-weight:200}.lightbox-nav{top:50%;transform:translateY(-50%);width:48px;height:68px;border-radius:24px;font-size:44px;font-weight:200}.lightbox-prev{left:22px}.lightbox-next{right:22px}.lightbox-count{position:absolute;bottom:5px;left:50%;transform:translateX(-50%);padding:6px 10px;border-radius:999px;background:rgba(0,0,0,.35);color:#fff;font-size:11px}.lightbox-open{overflow:hidden}
@media(max-width:980px){.spec-image-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.spec-image-grid{grid-template-columns:repeat(2,1fr)}.lightbox{padding:12px}.lightbox-stage{width:100%;height:calc(100vh - 90px)}.lightbox-nav{width:42px;height:58px;font-size:38px}.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox-close{top:12px;right:12px}.zoom-hint{right:10px;bottom:10px}}
@media(max-width:480px){.spec-image-grid{grid-template-columns:1fr 1fr}.spec-image-preview{height:110px}}

.photo-url-divider{display:flex;align-items:center;gap:14px;margin:22px 0 16px;color:var(--muted,#6e6e73);font-size:13px}.photo-url-divider:before,.photo-url-divider:after{content:"";height:1px;background:rgba(0,0,0,.09);flex:1}.photo-url-form .btn{margin-top:12px}.photo-url-form textarea{resize:vertical;min-height:92px}


/* Back to top */
.back-to-top{position:fixed;right:24px;bottom:24px;z-index:90;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-soft);border-radius:980px;padding:10px 15px;background:var(--surface);box-shadow:0 3px 14px rgba(0,0,0,.06);color:var(--text);font:600 12px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI",Roboto,Helvetica,Arial,sans-serif;letter-spacing:-.08px;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease,visibility .2s}.back-to-top.visible{opacity:1;visibility:visible;transform:none}.back-to-top:hover{color:var(--blue);border-color:#b9d8f5;box-shadow:0 5px 18px rgba(0,0,0,.08)}.back-to-top:active{transform:scale(.98)}.back-to-top .back-to-top-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#f2f2f7;color:var(--blue);font-size:14px;font-weight:600;line-height:1}.back-to-top-label{display:inline}.back-to-top-mobile{display:none}@media(max-width:720px){.back-to-top{right:14px;bottom:14px;padding:9px 12px;font-size:11px}.back-to-top .back-to-top-icon{width:20px;height:20px;font-size:13px}.back-to-top-desktop{display:none}.back-to-top-mobile{display:inline}}

/* Specification editor */
.spec-row-actions{display:flex;gap:12px;align-items:center;justify-content:flex-end;white-space:nowrap}
.spec-edit-card{scroll-margin-top:96px}
.spec-edit-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.btn-secondary{background:#fff;color:#1d1d1f;border:1px solid rgba(0,0,0,.12)}
#specs-table tr[id]{scroll-margin-top:96px}
@media (max-width:700px){.spec-row-actions{justify-content:flex-start}.spec-edit-actions{align-items:flex-start;flex-direction:column}}

.filters [hidden]{display:none!important}


/* Film simulation UI */
.film-sim-panel{margin-top:18px;padding:28px}
.film-sim-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.film-sim-heading h2{margin:0}
.film-sim-heading span{font-size:13px;font-weight:600;color:var(--muted,#6e6e73);background:#f5f5f7;border:1px solid rgba(0,0,0,.06);padding:6px 10px;border-radius:999px}
.film-sim-pills{display:flex;flex-wrap:wrap;gap:9px}
.film-sim-pill{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border-radius:999px;background:#f5f5f7;border:1px solid rgba(0,0,0,.07);font-size:13px;font-weight:600;letter-spacing:-.01em;color:#1d1d1f}
.admin-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.admin-section-head h2{margin-top:0;margin-bottom:6px}
.admin-section-head .admin-help{margin:0}
.film-sim-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.film-sim-check{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid rgba(0,0,0,.08);border-radius:12px;background:#fff;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.film-sim-check:hover{background:#f7f7f9;border-color:rgba(0,0,0,.14)}
.film-sim-check input{width:17px;height:17px;margin:0;accent-color:#0071e3}
.film-sim-check span{font-size:13px;font-weight:600;color:#1d1d1f}
@media(max-width:900px){.film-sim-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.film-sim-panel{padding:20px}.film-sim-heading{align-items:flex-start}.film-sim-admin-grid{grid-template-columns:1fr}.admin-section-head{display:block}.admin-section-head .btn{margin-top:12px;width:100%}.film-sim-pill{font-size:12px;padding:6px 10px}}

/* Minimal release year badge on all product cards. It is always the last row. */
.release-year-badge{margin-top:auto;padding-top:10px;display:flex;align-items:center}.release-year-badge span{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:4px 9px;border:1px solid rgba(0,0,0,.07);border-radius:999px;background:#f5f5f7;color:#6e6e73;font-size:11px;font-weight:600;line-height:1;letter-spacing:.1px;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
@media(max-width:480px){.release-year-badge{padding-top:8px}.release-year-badge span{min-height:23px;padding:4px 8px;font-size:10.5px}}

/* External review type */
.review-link small{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.review-type-pill{display:inline-flex;align-items:center;padding:2px 7px;border:1px solid rgba(0,0,0,.08);border-radius:999px;background:rgba(0,0,0,.035);font-size:10px;font-weight:650;letter-spacing:.01em;color:#6e6e73}

/* Latest official Fujifilm firmware */
.firmware-hero{padding:54px 0 30px}.firmware-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}.firmware-eyebrow{display:block;color:var(--blue);font-size:10px;font-weight:700;letter-spacing:.12em;margin-bottom:7px}.firmware-head h1{margin:0;font-size:clamp(30px,4vw,46px);line-height:1.05;letter-spacing:-1.8px}.firmware-all{font-size:12px;font-weight:600;color:var(--blue);white-space:nowrap}.firmware-list{background:rgba(255,255,255,.82);border:1px solid rgba(0,0,0,.08);border-radius:20px;overflow:hidden;box-shadow:0 8px 28px rgba(0,0,0,.035)}.firmware-item{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:16px;padding:12px 16px;color:var(--text);border-bottom:1px solid rgba(0,0,0,.055);transition:background .18s}.firmware-item:last-child{border-bottom:0}.firmware-item:hover{background:rgba(0,113,227,.045)}.firmware-title{font-size:13px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.firmware-item time{font-size:11px;color:var(--muted);white-space:nowrap}.firmware-arrow{color:var(--muted);font-size:12px;text-align:right}.firmware-item:hover .firmware-arrow{color:var(--blue)}
@media(max-width:720px){.firmware-hero{padding:34px 0 22px}.firmware-head{align-items:center}.firmware-head h1{font-size:30px;letter-spacing:-1.2px}.firmware-list{border-radius:16px}.firmware-item{grid-template-columns:minmax(0,1fr) 16px;gap:8px;padding:12px 13px}.firmware-item time{display:none}.firmware-title{font-size:12px}.firmware-all{font-size:11px}}

/* Collapsible firmware panel */
.firmware-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;margin:0 0 14px;padding:10px 14px;border:1px solid rgba(0,0,0,.09);border-radius:999px;background:rgba(255,255,255,.82);color:var(--text);box-shadow:0 3px 14px rgba(0,0,0,.035);font-size:12px;font-weight:600;letter-spacing:-.08px;cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,color .18s ease}.firmware-toggle:hover{background:#fff;border-color:rgba(0,113,227,.22);box-shadow:0 5px 18px rgba(0,0,0,.05);color:var(--blue)}.firmware-toggle:active{transform:scale(.985)}.firmware-toggle-chevron{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#f2f2f7;color:var(--blue);font-size:15px;line-height:1;transition:transform .22s ease}.firmware-toggle[aria-expanded="true"] .firmware-toggle-chevron{transform:rotate(180deg)}.firmware-collapse{overflow:hidden;opacity:1;transform:none;transition:opacity .22s ease,transform .22s ease}.firmware-collapse.is-closing{opacity:0;transform:translateY(-6px)}.firmware-collapse[hidden]{display:none!important}@media(max-width:720px){.firmware-toggle{width:100%;min-height:44px;margin-bottom:12px;padding:11px 14px;font-size:12px}}


/* Firmware list: open by default, compact two-column desktop layout */
.firmware-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden}
.firmware-item{border-bottom:1px solid rgba(0,0,0,.055)}
.firmware-item:nth-child(odd){border-right:1px solid rgba(0,0,0,.055)}
.firmware-item:nth-last-child(-n+2){border-bottom:0}
.firmware-toggle{gap:0}
.firmware-toggle-chevron{display:none!important}
@media(max-width:720px){
  .firmware-list{grid-template-columns:1fr}
  .firmware-item:nth-child(odd){border-right:0}
  .firmware-item:nth-last-child(-n+2){border-bottom:1px solid rgba(0,0,0,.055)}
  .firmware-item:last-child{border-bottom:0}
}

/* Header external links — compact desktop layout, clean wrapping on mobile */
@media (max-width: 860px){
  .nav{flex-wrap:wrap;padding:9px 0 10px;gap:8px 18px}
  .nav nav{width:100%;gap:8px 18px;flex-wrap:wrap}
  .nav nav a{font-size:12px;white-space:nowrap}
}
@media (max-width: 480px){
  .nav{padding:8px 0 10px}
  .nav nav{gap:7px 14px}
  .nav nav a{font-size:11px}
}

/* FujiDB image logo — constrained so the existing 56px header height does not change */
.brand-logo{display:flex;align-items:center;height:56px;flex:0 0 auto;line-height:0}
.brand-logo img{display:block;width:auto;height:30px;max-width:150px;object-fit:contain}
@media(max-width:700px){.brand-logo{height:56px}.brand-logo img{height:25px;max-width:125px}}

/* FujiDB logo: maximum visual size inside the unchanged header height */
.brand-logo{height:56px;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.brand-logo img{height:44px;width:auto;max-width:215px;object-fit:contain;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;pointer-events:auto}
@media(max-width:700px){.brand-logo{height:56px}.brand-logo img{height:38px;max-width:185px}}

/* Review editing */
.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line-soft);background:var(--surface)}
.panel-title-row h2{border-bottom:0!important;flex:1}
.panel-edit-link{margin-right:14px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:7px 11px;border-radius:999px;background:#f2f2f7;color:#0071e3;font-size:11px;font-weight:700;transition:.2s}
.panel-edit-link:hover{background:#e8e8ed}
.review-admin-actions{display:flex;align-items:center;gap:12px}
.review-admin-actions a{font-weight:600}
.review-delete-link{color:var(--danger)!important}
.review-form-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.review-cancel-btn{background:#f2f2f7;color:#0071e3}
.review-cancel-btn:hover{background:#e8e8ed}
@media(max-width:720px){.panel-title-row{align-items:center}.panel-edit-link{margin-right:10px;padding:7px 10px}.review-admin-actions{gap:10px}}

/* Review admin: POST delete button styled like the existing text action. */
.review-delete-button {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  font: inherit;
  cursor: pointer;
}

/* FujiDB beta label — aligned to the logo baseline without changing header height */
.brand-logo{display:flex;align-items:center}
.brand-beta{align-self:flex-end;margin:0 0 8px 6px;font-size:11px;line-height:1;font-weight:500;letter-spacing:.01em;color:rgba(29,29,31,.48);white-space:nowrap}
@media(max-width:700px){.brand-beta{font-size:10px;margin-left:5px;margin-bottom:8px}}


/* Editable site-wide notice */
.site-notice{position:relative;z-index:80;border-bottom:1px solid rgba(0,0,0,.06);background:rgba(245,245,247,.92);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px)}
.site-notice-inner{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:8px;padding-bottom:8px}
.site-notice-copy{display:flex;align-items:center;gap:10px;min-width:0;font-size:13px;line-height:1.45;color:#3a3a3c}
.site-notice-label{flex:0 0 auto;font-size:10px;font-weight:700;letter-spacing:.045em;text-transform:uppercase;padding:4px 7px;border-radius:999px;background:#fff;border:1px solid rgba(0,0,0,.07);color:#6e6e73}
.site-notice-message{min-width:0}
.site-notice-link{flex:0 0 auto;font-size:12px;font-weight:600;color:var(--blue);white-space:nowrap}
.site-notice-link:hover{text-decoration:underline}
/* Site notice tones: soft Apple-like info/warning surfaces. Important stays unchanged. */
.site-notice-info{background:rgba(236,248,239,.96);border-bottom-color:rgba(52,199,89,.14)}
.site-notice-info .site-notice-copy{color:#2f6b3e}
.site-notice-info .site-notice-label{background:rgba(255,255,255,.72);color:#3f7f50;border-color:rgba(52,199,89,.16)}
.site-notice-info .site-notice-link{color:#347a47}
.site-notice-warning{background:rgba(255,247,232,.94);border-bottom-color:rgba(191,111,0,.11)}
.site-notice-warning .site-notice-copy{color:#76541f}
.site-notice-warning .site-notice-label{background:rgba(255,255,255,.62);color:#a66a16;border-color:rgba(166,106,22,.13)}
.site-notice-warning .site-notice-link{color:#9a651b}
.site-notice-important{background:rgba(255,244,244,.94)}
.site-notice-important .site-notice-label{background:#fff;color:#b42318;border-color:rgba(180,35,24,.13)}
.site-notice-admin-form{padding:24px}.notice-enable-row{padding-bottom:4px}.notice-switch{display:flex;align-items:center;gap:10px;cursor:pointer;margin:0;color:var(--text);font-size:14px}.notice-switch input{position:absolute;opacity:0;pointer-events:none}.notice-switch span{width:42px;height:24px;border-radius:999px;background:#d1d1d6;position:relative;transition:.2s}.notice-switch span:after{content:'';position:absolute;width:20px;height:20px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.2s}.notice-switch input:checked+span{background:#34c759}.notice-switch input:checked+span:after{transform:translateX(18px)}
.site-notice-admin-form textarea{width:100%;resize:vertical}.field-help{margin-top:6px;color:var(--muted);font-size:11px}
@media(max-width:720px){.site-notice-inner{align-items:flex-start;flex-direction:column;gap:6px;padding-top:9px;padding-bottom:9px}.site-notice-copy{align-items:flex-start;font-size:12px}.site-notice-link{margin-left:0;padding-left:0}}

/* Public language switch */
.lang-switch{display:inline-flex;align-items:center;gap:2px;margin-left:4px;padding:2px;background:rgba(0,0,0,.035);border:1px solid rgba(0,0,0,.055);border-radius:999px}
.lang-switch a{padding:4px 7px!important;border-radius:999px;font-size:10px!important;font-weight:700!important;letter-spacing:.03em;color:#86868b!important;line-height:1.1}
.lang-switch a.active{background:#fff;color:#1d1d1f!important;box-shadow:0 1px 4px rgba(0,0,0,.08)}
@media(max-width:700px){.lang-switch{margin-left:0}.lang-switch a{padding:4px 6px!important;font-size:9px!important}}


/* Header navigation — Apple-style segmented pill group */
.header-link-group{
  display:inline-flex!important;
  align-items:center;
  gap:2px!important;
  padding:3px;
  border:1px solid rgba(0,0,0,.055);
  border-radius:999px;
  background:rgba(0,0,0,.035);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}
.header-link-group > a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:6px 10px!important;
  border-radius:999px;
  color:#68686d!important;
  font-size:11px!important;
  font-weight:650!important;
  letter-spacing:-.05px;
  line-height:1;
  white-space:nowrap;
  opacity:1!important;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
.header-link-group > a:hover{
  background:rgba(255,255,255,.72);
  color:#1d1d1f!important;
  box-shadow:0 1px 4px rgba(0,0,0,.055);
}
.header-link-group > a:active{
  transform:scale(.985);
}
@media(max-width:860px){
  .nav{flex-wrap:wrap;padding:8px 0 9px;gap:6px 16px}
  .header-link-group{
    width:100%;
    overflow-x:auto;
    justify-content:flex-start;
    flex-wrap:nowrap!important;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  .header-link-group::-webkit-scrollbar{display:none}
  .header-link-group > a{
    flex:0 0 auto;
    min-height:27px;
    padding:6px 9px!important;
    font-size:10.5px!important;
  }
}
@media(max-width:480px){
  .header-link-group{
    margin-top:1px;
    padding:3px;
  }
  .header-link-group > a{
    padding:6px 8px!important;
    font-size:10px!important;
  }
}


/* Footer — matching Apple-style pill design */
.site-footer{
  padding:28px 0 34px;
  text-align:center;
}
.footer-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:0;
  padding:4px;
  border:1px solid rgba(0,0,0,.055);
  border-radius:999px;
  background:rgba(0,0,0,.035);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
  color:#68686d;
  font-size:11px;
  font-weight:650;
  letter-spacing:-.05px;
  line-height:1;
}
.footer-pill span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  white-space:nowrap;
}
.footer-pill span + span::before{
  content:"·";
  margin-right:10px;
  color:#a1a1a6;
}
@media(max-width:640px){
  .site-footer{
    padding:22px 0 28px;
  }
  .footer-pill{
    max-width:100%;
    border-radius:22px;
    font-size:10px;
    line-height:1.2;
  }
  .footer-pill span{
    min-height:24px;
    padding:5px 8px;
  }
  .footer-pill span + span::before{
    margin-right:8px;
  }
}


/* Footer pill hover — match header links */
.footer-pill span{
  transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.footer-pill span:hover{
  background:rgba(255,255,255,.72);
  color:#1d1d1f;
  box-shadow:0 1px 4px rgba(0,0,0,.055);
}
.footer-pill span:active{
  transform:scale(.985);
}


/* Footer separators stay static; only text items receive hover */
.footer-pill .footer-item{
  transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.footer-pill .footer-item:hover{
  background:rgba(255,255,255,.72);
  color:#1d1d1f;
  box-shadow:0 1px 4px rgba(0,0,0,.055);
}
.footer-pill .footer-item:active{
  transform:scale(.985);
}
.footer-pill .footer-separator{
  min-height:auto;
  padding:0 2px;
  color:#a1a1a6;
  pointer-events:none;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  transition:none!important;
}
.footer-pill .footer-item + .footer-separator::before,
.footer-pill .footer-separator + .footer-item::before{
  content:none!important;
}

.footer-pill span + span::before{content:none!important;margin:0!important;}


/* Admin review finder */
.review-finder-head{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.review-finder-head h2{margin:0 0 5px}
.review-finder-help{margin:0;color:#6e6e73;font-size:13px;line-height:1.45}
.review-finder-results{display:grid;gap:8px;margin-top:16px}
.review-found-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid rgba(0,0,0,.08);border-radius:14px;background:rgba(255,255,255,.62);cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.review-found-item:hover{background:#fff;border-color:rgba(0,0,0,.14)}
.review-found-item:active{transform:scale(.997)}
.review-found-item.is-added{opacity:.55;cursor:default}
.review-found-item input{width:17px;height:17px}
.review-found-copy{display:grid;gap:3px;min-width:0}
.review-found-title{font-weight:700;color:#1d1d1f}
.review-found-meta{font-size:11px;color:#6e6e73}
.review-found-snippet{font-size:12px;color:#86868b;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.review-found-item>a{font-size:12px;white-space:nowrap}
.review-finder-actions{margin-top:12px;display:flex;justify-content:flex-end}
.review-finder-message{margin-top:14px;padding:12px 14px;border-radius:12px;background:rgba(0,113,227,.06);color:#515154;font-size:13px;line-height:1.5}
.review-finder-config{margin-top:5px}
.review-finder-config code{font-size:11px}
@media(max-width:680px){.review-found-item{grid-template-columns:auto minmax(0,1fr)}.review-found-item>a{grid-column:2}}

.review-finder-results .review-found-item{grid-template-columns:minmax(0,1fr) auto;}


/* Site notice automatic progress counter */
.site-notice-progress{font-variant-numeric:tabular-nums;font-weight:750;white-space:nowrap}
.notice-progress-settings{margin-top:4px;padding:14px;border:1px solid rgba(0,0,0,.07);border-radius:14px;background:rgba(0,0,0,.018)}
.notice-progress-start{margin-top:14px;max-width:360px}
.notice-progress-input{display:flex;align-items:center;gap:7px}
.notice-progress-input input{max-width:110px}
.notice-progress-input span{font-weight:700;color:#6e6e73}


/* Site notice progress: same typography as the notice message */
.site-notice-progress{
  font:inherit!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  color:inherit!important;
}

.product-hidden{display:none!important}
.load-more-wrap{display:flex;justify-content:center;padding:24px 0 8px}
.load-more-products{min-width:150px}

.totp-input{font-size:22px!important;letter-spacing:.18em;text-align:center;font-variant-numeric:tabular-nums}
.totp-secret{margin:14px 0;padding:14px 16px;border-radius:14px;background:rgba(0,0,0,.04);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:17px;letter-spacing:.08em;word-break:break-all}
.recovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.recovery-grid code{padding:10px;border-radius:10px;background:rgba(0,0,0,.04);text-align:center}.uri-code{display:block;margin-top:8px;word-break:break-all;white-space:normal}
@media(max-width:520px){.recovery-grid{grid-template-columns:1fr}}

.totp-qr-wrap{display:flex;justify-content:center;margin:18px 0 10px}
.totp-qr{width:244px;min-height:244px;display:flex;align-items:center;justify-content:center;padding:12px;border-radius:18px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08),0 8px 28px rgba(0,0,0,.06)}
.totp-qr img,.totp-qr canvas{display:block;max-width:220px;width:100%;height:auto}
.totp-manual{margin-top:16px}


/* Admin visitor statistics */
.stats-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0}
.stats-card{padding:16px;border:1px solid rgba(0,0,0,.07);border-radius:16px;background:rgba(255,255,255,.72)}
.stats-card span{display:block;color:#6e6e73;font-size:11px;margin-bottom:6px}
.stats-card strong{font-size:25px;letter-spacing:-.04em;color:#1d1d1f}
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.stats-list{display:grid;gap:0}
.stats-list>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid rgba(0,0,0,.055);font-size:12px}
.stats-list>div:last-child{border-bottom:0}
.stats-list strong{font-variant-numeric:tabular-nums}
.stats-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:520px}
.stats-log-card{margin-top:14px}
.stats-log-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.table-scroll{overflow:auto;margin-top:12px}
.stats-table{min-width:1000px}
.stats-table td{vertical-align:top;font-size:11px}
.stats-time{white-space:nowrap}
.stats-page{max-width:250px;word-break:break-word}
.stats-wide{max-width:360px;word-break:break-word}
.stats-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:14px;font-size:12px;color:#6e6e73}
.stats-privacy-note{margin-top:14px;font-size:11px}
@media(max-width:900px){.stats-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{grid-template-columns:1fr}}
@media(max-width:520px){.stats-cards{grid-template-columns:1fr 1fr}.stats-card strong{font-size:21px}}

.login-security-cards{grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px}
.login-result{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:700}
.login-result.ok{background:rgba(52,199,89,.12);color:#248a3d}
.login-result.bad{background:rgba(255,59,48,.10);color:#d70015}
@media(max-width:620px){.login-security-cards{grid-template-columns:1fr 1fr}}


/* Public filters — refined Apple-style dropdowns */
.filters select{
  -webkit-appearance:none;
  appearance:none;
  cursor:pointer;
  padding:0 42px 0 14px;
  border:1px solid rgba(0,0,0,.065);
  border-radius:13px;
  background-color:rgba(246,246,248,.92);
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.25 6 6.25 11 1.25' fill='none' stroke='%236e6e73' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),
    linear-gradient(rgba(255,255,255,.58),rgba(255,255,255,.58));
  background-repeat:no-repeat,no-repeat;
  background-position:right 15px center,0 0;
  background-size:12px 8px,100% 100%;
  color:#3a3a3c;
  font-size:12px;
  font-weight:600;
  letter-spacing:-.08px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 1px 2px rgba(0,0,0,.025);
  transition:
    border-color .18s ease,
    background-color .18s ease,
    box-shadow .18s ease,
    transform .18s ease;
}
.filters select:hover{
  border-color:rgba(0,0,0,.11);
  background-color:#fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,1),
    0 2px 7px rgba(0,0,0,.045);
}
.filters select:focus{
  border-color:rgba(0,113,227,.36);
  background-color:#fff;
  box-shadow:
    0 0 0 4px rgba(0,113,227,.085),
    0 2px 8px rgba(0,0,0,.04);
}
.filters select:active{
  transform:scale(.992);
}
.filters select:disabled{
  cursor:default;
  opacity:.45;
}
.filters select option{
  color:#1d1d1f;
  background:#fff;
  font-weight:500;
}
@media(max-width:480px){
  .filters select{
    height:46px;
    border-radius:13px;
    font-size:13px;
    padding-left:15px;
  }
}


/* Fully custom public filter dropdowns */
.filters .custom-native-select{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
  opacity:0!important;
  pointer-events:none!important;
}
.apple-select{
  position:relative;
  min-width:0;
  width:100%;
  z-index:2;
}
.apple-select.is-open{z-index:80}
.apple-select-trigger{
  width:100%;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 13px 0 14px;
  border:1px solid rgba(0,0,0,.065);
  border-radius:13px;
  background:rgba(246,246,248,.92);
  color:#3a3a3c;
  font:inherit;
  font-size:12px;
  font-weight:600;
  letter-spacing:-.08px;
  text-align:left;
  cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 1px 2px rgba(0,0,0,.025);
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.apple-select-trigger:hover{
  background:#fff;
  border-color:rgba(0,0,0,.11);
  box-shadow:inset 0 1px 0 #fff,0 2px 7px rgba(0,0,0,.045);
}
.apple-select.is-open .apple-select-trigger,
.apple-select-trigger:focus-visible{
  outline:none;
  background:#fff;
  border-color:rgba(0,113,227,.30);
  box-shadow:0 0 0 4px rgba(0,113,227,.075),0 2px 8px rgba(0,0,0,.04);
}
.apple-select-trigger:active{transform:scale(.993)}
.apple-select-trigger:disabled{opacity:.45;cursor:default}
.apple-select-value{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.apple-select-chevron{
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-right:1.5px solid #737378;
  border-bottom:1.5px solid #737378;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .20s cubic-bezier(.2,.7,.2,1);
}
.apple-select.is-open .apple-select-chevron{
  transform:rotate(225deg) translate(-1px,-1px);
}
.apple-select-menu{
  position:absolute;
  top:calc(100% + 7px);
  left:0;
  width:100%;
  min-width:max-content;
  max-width:min(360px,calc(100vw - 24px));
  overflow:auto;
  overscroll-behavior:contain;
  padding:5px;
  border:1px solid rgba(0,0,0,.075);
  border-radius:15px;
  background:rgba(252,252,253,.97);
  -webkit-backdrop-filter:saturate(180%) blur(24px);
  backdrop-filter:saturate(180%) blur(24px);
  box-shadow:0 18px 48px rgba(0,0,0,.14),0 3px 10px rgba(0,0,0,.065),inset 0 1px 0 rgba(255,255,255,.9);
  transform-origin:top center;
  animation:appleSelectIn .16s cubic-bezier(.2,.75,.2,1);
  scrollbar-width:thin;
  scrollbar-color:rgba(0,0,0,.18) transparent;
}
.apple-select-menu[hidden]{display:none!important}
@keyframes appleSelectIn{
  from{opacity:0;transform:translateY(-4px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.apple-select-option{
  width:100%;
  min-height:35px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:8px 10px 8px 11px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#2c2c2e;
  font:inherit;
  font-size:12px;
  font-weight:520;
  line-height:1.3;
  text-align:left;
  cursor:pointer;
  white-space:nowrap;
  transition:background .12s ease,color .12s ease;
}
.apple-select-option:hover,
.apple-select-option.is-keyboard-active{
  background:rgba(0,0,0,.055);
}
.apple-select-option.is-selected{
  color:#0071e3;
  font-weight:650;
}
.apple-select-check{
  visibility:hidden;
  color:#0071e3;
  font-size:13px;
  font-weight:800;
  line-height:1;
}
.apple-select-option.is-selected .apple-select-check{visibility:visible}
@media(max-width:720px){
  .apple-select-menu{
    min-width:100%;
    max-width:calc(100vw - 28px);
  }
}
@media(max-width:480px){
  .apple-select-trigger{
    height:46px;
    border-radius:13px;
    padding-left:15px;
    font-size:13px;
  }
  .apple-select-menu{
    top:calc(100% + 6px);
    border-radius:14px;
    padding:5px;
  }
  .apple-select-option{
    min-height:40px;
    font-size:13px;
    padding:9px 11px;
  }
}
@media(prefers-reduced-motion:reduce){
  .apple-select-menu{animation:none}
  .apple-select-chevron,.apple-select-trigger,.apple-select-option{transition:none}
}


/* Search field typography matches the custom filter dropdowns */
.filters input[type="search"],
.filters input[type="text"],
.filters .search-input{
  font-family:inherit;
  font-size:12px;
  font-weight:600;
  letter-spacing:-.08px;
  color:#3a3a3c;
}
.filters input[type="search"]::placeholder,
.filters input[type="text"]::placeholder,
.filters .search-input::placeholder{
  font-family:inherit;
  font-size:12px;
  font-weight:600;
  letter-spacing:-.08px;
  color:#6e6e73;
  opacity:1;
}
@media(max-width:480px){
  .filters input[type="search"],
  .filters input[type="text"],
  .filters .search-input,
  .filters input[type="search"]::placeholder,
  .filters input[type="text"]::placeholder,
  .filters .search-input::placeholder{
    font-size:13px;
  }
}


/* FujiDB search field — exact visual match with custom dropdown trigger */
.filters input[name="q"]{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:100%;
  height:42px!important;
  box-sizing:border-box;
  padding:0 14px!important;
  border:1px solid rgba(0,0,0,.065)!important;
  border-radius:13px!important;
  outline:none!important;
  background:rgba(246,246,248,.92)!important;
  color:#3a3a3c!important;
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:normal!important;
  letter-spacing:-.08px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 1px 2px rgba(0,0,0,.025)!important;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
.filters input[name="q"]::placeholder{
  color:#6e6e73!important;
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:600!important;
  letter-spacing:-.08px!important;
  opacity:1!important;
}
.filters input[name="q"]:hover{
  border-color:rgba(0,0,0,.11)!important;
}
.filters input[name="q"]:focus{
  background:#fff!important;
  border-color:rgba(0,113,227,.30)!important;
  box-shadow:0 0 0 4px rgba(0,113,227,.075),0 2px 8px rgba(0,0,0,.04)!important;
}
@media(max-width:480px){
  .filters input[name="q"]{
    height:46px!important;
    padding:0 15px!important;
    font-size:13px!important;
  }
  .filters input[name="q"]::placeholder{
    font-size:13px!important;
  }
}


/* Filter reset button */
.filter-reset{
  height:42px;
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 16px;
  border:1px solid rgba(0,0,0,.065);
  border-radius:13px;
  background:rgba(246,246,248,.92);
  color:#6e6e73;
  font-size:12px;
  font-weight:600;
  letter-spacing:-.08px;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 1px 2px rgba(0,0,0,.025);
  transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.filter-reset:hover{
  background:#fff;
  border-color:rgba(0,0,0,.11);
  color:#1d1d1f;
  box-shadow:inset 0 1px 0 #fff,0 2px 7px rgba(0,0,0,.045);
}
.filter-reset:active{transform:scale(.985)}
@media(max-width:480px){
  .filter-reset{height:46px;font-size:13px;padding:0 15px}
}


/* Product image surfaces — white JPEG-friendly background with a minimal edge */
.card-img{
  box-sizing:border-box;
  background:#fff!important;
  border:1px solid rgba(0,0,0,.065)!important;
  border-radius:14px 14px 0 0;
}
.product-photo{
  box-sizing:border-box;
  background:#fff!important;
  border:1px solid rgba(0,0,0,.075)!important;
  box-shadow:0 1px 2px rgba(0,0,0,.018);
}
.thumb{
  background:#fff!important;
  border-color:rgba(0,0,0,.08)!important;
}
.admin-image-card img{
  background:#fff!important;
  border:1px solid rgba(0,0,0,.065);
  box-sizing:border-box;
}


/* Fujimeta embedded full-screen utility */
html.fujimeta-active,
body.fujimeta-active{overflow:hidden!important}
.fujimeta-shell{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  grid-template-rows:52px minmax(0,1fr);
  background:#f4f6f8;
}
.fujimeta-shell[hidden]{display:none!important}
.fujimeta-shellbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:0 max(14px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));
  border-bottom:1px solid rgba(0,0,0,.08);
  background:rgba(250,250,252,.94);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  backdrop-filter:saturate(180%) blur(20px);
}
.fujimeta-shell-title{
  color:#1d1d1f;
  font-size:14px;
  font-weight:700;
  letter-spacing:-.15px;
}
.fujimeta-shell-title span{
  margin-left:7px;
  color:#86868b;
  font-size:11px;
  font-weight:500;
}
.fujimeta-close{
  height:32px;
  padding:0 12px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:10px;
  background:#fff;
  color:#3a3a3c;
  font:inherit;
  font-size:12px;
  font-weight:600;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(0,0,0,.025);
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.fujimeta-close:hover{background:#f5f5f7;border-color:rgba(0,0,0,.13)}
.fujimeta-close:active{transform:scale(.97)}
.fujimeta-frame{
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:#f4f6f8;
}
@media(max-width:520px){
  .fujimeta-shell{grid-template-rows:48px minmax(0,1fr)}
  .fujimeta-shell-title span{display:none}
}


/* Fujimeta: keep the normal FujiDB header visible */
.fujimeta-shell{
  position:fixed!important;
  left:0!important;
  right:0!important;
  top:56px!important;
  bottom:0!important;
  z-index:95!important;
  display:block!important;
  background:#f5f5f7!important;
}
.fujimeta-shell[hidden]{display:none!important}
.fujimeta-shellbar{display:none!important}
.fujimeta-frame{
  width:100%!important;
  height:100%!important;
  border:0!important;
  display:block!important;
  background:#f5f5f7!important;
}
body.fujimeta-active .topbar{
  z-index:110!important;
}
body.fujimeta-active .site-notice{
  visibility:hidden!important;
}
@media(max-width:720px){
  .fujimeta-shell{top:52px!important}
}


/* Fujimeta header alignment fix:
   no hard-coded alternate header geometry while the tool is open. */
.fujimeta-shell{
  top:var(--fujidb-header-bottom,56px)!important;
}
body.fujimeta-active .topbar,
body.fujimeta-active .nav,
body.fujimeta-active .wrap,
body.fujimeta-active .brand-logo,
body.fujimeta-active .brand-logo img{
  transform:none!important;
  margin-left:initial;
}
body.fujimeta-active .topbar .wrap{
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:720px){
  .fujimeta-shell{top:var(--fujidb-header-bottom,52px)!important}
}


/* Fujimeta header jump fix — preserve the exact viewport/content width */
html{
  scrollbar-gutter:stable;
}
html.fujimeta-active{
  overflow-y:scroll!important;
  overflow-x:hidden!important;
  scrollbar-gutter:stable!important;
}
body.fujimeta-active{
  overflow:hidden!important;
  padding-right:0!important;
}

/* Never let Fujimeta state alter the FujiDB header geometry */
body.fujimeta-active .topbar{
  width:100%!important;
  left:auto!important;
  right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.fujimeta-active .topbar > .wrap.nav{
  width:min(100% - 40px,1180px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
@media(max-width:720px){
  body.fujimeta-active .topbar > .wrap.nav{
    width:min(100% - 28px,1180px)!important;
  }
}
@media(max-width:480px){
  body.fujimeta-active .topbar > .wrap.nav{
    width:calc(100% - 24px)!important;
  }
}


/* Back to top position: outside, beside the FujiDB content column */
@media(min-width:1280px){
  body > .back-to-top{
    left:calc(50% + 590px + 16px)!important;
    right:auto!important;
  }
}
@media(max-width:1279px){
  body > .back-to-top{
    left:auto!important;
    right:14px!important;
  }
}


/* Prevent Fujimeta iframe scroll chaining into the underlying FujiDB page */
.fujimeta-shell,
.fujimeta-frame{
  overscroll-behavior:contain!important;
}
html.fujimeta-active,
body.fujimeta-active{
  overscroll-behavior:none!important;
}


/* Fujimeta mobile background-scroll guard */
html.fujimeta-active,
body.fujimeta-active{
  overscroll-behavior:none!important;
  touch-action:none;
}
body.fujimeta-active .fujimeta-shell,
body.fujimeta-active .fujimeta-shell *{
  touch-action:auto;
}
body.fujimeta-active .topbar{
  touch-action:manipulation;
}


/* Product gallery — browse images without opening the lightbox */
.product-photo{
  position:relative;
}
.product-inline-nav{
  position:absolute;
  top:50%;
  z-index:4;
  width:38px;
  height:38px;
  padding:0;
  border:1px solid rgba(0,0,0,.075);
  border-radius:50%;
  background:rgba(255,255,255,.90);
  color:#3a3a3c;
  display:flex;
  align-items:center;
  justify-content:center;
  font:400 27px/1 -apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;
  box-shadow:0 3px 14px rgba(0,0,0,.07);
  -webkit-backdrop-filter:saturate(180%) blur(16px);
  backdrop-filter:saturate(180%) blur(16px);
  cursor:pointer;
  transform:translateY(-50%);
  transition:background .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.product-inline-prev{left:13px}
.product-inline-next{right:13px}
.product-inline-nav:hover{
  background:#fff;
  color:#0071e3;
  border-color:#b9d8f5;
  box-shadow:0 5px 18px rgba(0,0,0,.10);
}
.product-inline-nav:active{
  transform:translateY(-50%) scale(.94);
}
.product-inline-count{
  position:absolute;
  left:50%;
  bottom:12px;
  z-index:3;
  transform:translateX(-50%);
  min-height:25px;
  padding:5px 9px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(0,0,0,.055);
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:#6e6e73;
  font-size:10px;
  font-weight:650;
  line-height:1;
  box-shadow:0 2px 10px rgba(0,0,0,.05);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  backdrop-filter:saturate(180%) blur(14px);
  pointer-events:none;
}
@media(max-width:720px){
  .product-inline-nav{
    width:34px;
    height:34px;
    font-size:24px;
  }
  .product-inline-prev{left:9px}
  .product-inline-next{right:9px}
  .product-inline-count{bottom:9px}
}


/* Product gallery arrows — geometrically centered CSS chevrons */
.product-inline-nav{
  padding:0!important;
  line-height:1!important;
}
.product-inline-nav > span{
  display:block;
  width:9px;
  height:9px;
  border-top:1.7px solid currentColor;
  border-right:1.7px solid currentColor;
  box-sizing:border-box;
}
.product-inline-prev > span{
  transform:translateX(1px) rotate(-135deg);
}
.product-inline-next > span{
  transform:translateX(-1px) rotate(45deg);
}
@media(max-width:720px){
  .product-inline-nav > span{
    width:8px;
    height:8px;
    border-top-width:1.6px;
    border-right-width:1.6px;
  }
}


/* Broken-review reporting */
.review-link-wrap{position:relative;border-bottom:1px solid var(--line-soft)}
.review-link-wrap .review-link{border-bottom:0!important;padding-right:42px}
.review-report-toggle{
  position:absolute;
  top:50%;
  right:10px;
  width:26px;
  height:26px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#a1a1a6;
  cursor:pointer;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}
.review-report-toggle:hover,.review-report-toggle.active{background:#f2f2f7;color:#ff9f0a}
.review-report-toggle:active{transform:translateY(-50%) scale(.94)}
.review-report-toggle span{
  width:13px;height:13px;display:block;position:relative;
}
.review-report-toggle span::before,
.review-report-toggle span::after{
  content:"";position:absolute;background:currentColor;border-radius:2px;
}
.review-report-toggle span::before{width:2px;height:9px;left:2px;top:1px}
.review-report-toggle span::after{
  width:8px;height:6px;left:4px;top:1px;
  clip-path:polygon(0 0,100% 0,75% 50%,100% 100%,0 100%);
}
.review-report-form{
  margin:0 10px 10px;
  padding:9px 10px;
  display:flex;
  align-items:center;
  gap:7px;
  border:1px solid rgba(0,0,0,.06);
  border-radius:11px;
  background:#f8f8fa;
  font-size:11px;
}
.review-report-form[hidden]{display:none!important}
.review-report-copy{font-weight:650;color:#515154;margin-right:auto}
.review-captcha-label{font-weight:650;color:#6e6e73;white-space:nowrap}
.review-captcha-input{
  width:47px;height:29px;padding:0 5px;border:1px solid rgba(0,0,0,.09);border-radius:8px;
  background:#fff;color:#1d1d1f;text-align:center;font:600 11px/1 inherit;outline:none;
}
.review-captcha-input:focus{border-color:rgba(0,113,227,.35);box-shadow:0 0 0 3px rgba(0,113,227,.07)}
.review-report-send{
  min-height:29px!important;height:29px!important;padding:0 9px!important;border-radius:8px!important;
  border:1px solid rgba(0,0,0,.07)!important;background:#fff!important;color:#515154!important;
  font-size:10px!important;font-weight:650!important;cursor:pointer;
}
.review-report-send:hover{color:#0071e3!important;border-color:#b9d8f5!important}
.review-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.review-report-status{margin:8px 10px;padding:8px 10px;border-radius:9px;font-size:10px;font-weight:600}
.review-report-status.success{background:rgba(52,199,89,.08);color:#248a3d}
.review-report-status.error{background:rgba(255,59,48,.07);color:#c1271a}
.broken-admin-badge{
  display:inline-flex;align-items:center;gap:5px;min-height:25px;padding:4px 8px;
  border:1px solid rgba(255,159,10,.18);border-radius:999px;background:rgba(255,159,10,.09);
  color:#a85f00;font-size:10px;font-weight:700;
}
.broken-admin-icon{
  width:15px;height:15px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;background:#ff9f0a;color:#fff;font-size:10px;font-weight:800;
}
.broken-admin-none{color:#c7c7cc}
.review-resolve-button{
  border:0;background:transparent;color:#a85f00;font:600 12px/1 inherit;padding:0;cursor:pointer;
}
.review-resolve-button:hover{color:#0071e3}
@media(max-width:520px){
  .review-report-form{flex-wrap:wrap}
  .review-report-copy{width:100%;margin-right:0}
}


/* Global broken-review report admin */
.broken-reports-nav{position:relative;gap:7px}
.broken-reports-nav-count{
  min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;background:#ff9f0a;color:#fff;font-size:9px;font-weight:800;line-height:1;
}
.broken-report-stats{grid-template-columns:repeat(2,minmax(0,210px));margin-bottom:16px}
.broken-report-grid{display:grid;gap:12px}
.broken-report-card{margin:0}
.broken-report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.broken-report-head h2{margin:3px 0 4px;font-size:17px}
.broken-report-product{color:#0071e3;font-size:11px;font-weight:700}
.broken-report-source{color:#86868b;font-size:11px}
.broken-report-url{
  display:block;margin:14px 0 10px;padding:10px 11px;border:1px solid rgba(0,0,0,.055);
  border-radius:10px;background:#f7f7f9;color:#515154;font-size:11px;word-break:break-all;
}
.broken-report-url:hover{color:#0071e3;background:#fff}
.broken-report-meta{display:flex;gap:16px;flex-wrap:wrap;color:#8e8e93;font-size:10px;margin-bottom:14px}
.broken-report-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.broken-report-actions form{display:inline-flex;margin:0}
.broken-empty{text-align:center;padding:42px 20px}
.broken-empty-icon{
  width:44px;height:44px;margin:0 auto 12px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(52,199,89,.09);color:#248a3d;font-size:20px;font-weight:700;
}
.broken-empty h2{margin-bottom:4px}
@media(max-width:620px){
  .broken-report-stats{grid-template-columns:1fr 1fr;max-width:none}
  .broken-report-head{gap:10px}
  .broken-report-actions .btn{font-size:10px;padding-left:10px;padding-right:10px}
}


/* Tablet logo tap-area fix.
   The whole visible FujiDB logo region belongs to the home link, including
   transparent PNG pixels and the beta label. Child elements never steal taps. */
.topbar .brand-logo{
  position:relative!important;
  z-index:20!important;
  isolation:isolate;
  pointer-events:auto!important;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.topbar .brand-logo::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
}
.topbar .brand-logo img,
.topbar .brand-logo .brand-beta{
  position:relative;
  z-index:1;
  pointer-events:none!important;
}

/* Keep neighbouring tablet navigation from overlapping the logo hit box. */
@media(min-width:701px) and (max-width:1024px){
  .topbar .nav{
    position:relative;
  }
  .topbar .brand-logo{
    flex:0 0 auto!important;
    min-width:190px;
    min-height:56px;
  }
  .topbar .header-link-group{
    position:relative;
    z-index:1;
    min-width:0;
  }
}


/* iPad/Safari: create one uninterrupted tap surface over the whole logo link */
.topbar .brand-logo{
  cursor:pointer!important;
}
.topbar .brand-logo::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:30;
  display:block;
  pointer-events:auto;
  background:transparent;
  -webkit-tap-highlight-color:transparent;
}


/* iPad header hit-testing fix.
   Safari can let the horizontally-scrollable nav layer capture touches above
   the visible pills. The nav container itself must not eat taps; only its links do. */
@media(max-width:1366px) and (pointer:coarse){
  .topbar .nav{
    position:relative!important;
    isolation:isolate;
  }

  .topbar .brand-logo{
    position:relative!important;
    z-index:50!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }

  .topbar .brand-logo::after{
    content:none!important;
  }

  .topbar .brand-logo img,
  .topbar .brand-logo .brand-beta{
    pointer-events:none!important;
  }

  .topbar .header-link-group{
    z-index:10!important;
    pointer-events:none!important;
  }

  .topbar .header-link-group > a{
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }
}


/* Fujifilm Mini Guide */
.guide-toggle-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.guide-toggle-row .firmware-toggle{margin-bottom:0}.mini-guide-panel{margin-top:2px}.mini-guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini-guide-card{background:rgba(255,255,255,.82);border:1px solid rgba(0,0,0,.08);border-radius:20px;padding:22px;box-shadow:0 8px 28px rgba(0,0,0,.035)}.mini-guide-series{grid-row:span 2}.mini-guide-kicker{display:block;color:var(--blue);font-size:9px;font-weight:750;letter-spacing:.12em;margin-bottom:7px}.mini-guide-card h2{margin:0 0 16px;font-size:19px;letter-spacing:-.45px}.mini-guide-defs{display:grid;gap:0}.mini-guide-defs>div{padding:11px 0;border-top:1px solid rgba(0,0,0,.055)}.mini-guide-defs>div:first-child{border-top:0;padding-top:0}.mini-guide-defs b,.mini-guide-terms b{font-size:12px;color:var(--text)}.mini-guide-defs p{margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.55}.mini-guide-terms{display:grid;gap:0}.mini-guide-terms>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px;padding:9px 0;border-top:1px solid rgba(0,0,0,.055);align-items:start}.mini-guide-terms>div:first-child{border-top:0;padding-top:0}.mini-guide-terms span{color:var(--muted);font-size:11px;line-height:1.5}.mini-guide-terms a{color:var(--blue);font-weight:600}.mini-guide-terms-two{grid-template-columns:1fr 1fr;column-gap:18px}.mini-guide-terms-two>div:nth-child(2){border-top:0;padding-top:0}.mini-guide-terms-two>div{grid-template-columns:48px minmax(0,1fr)}@media(max-width:820px){.mini-guide-grid{grid-template-columns:1fr}.mini-guide-series{grid-row:auto}.mini-guide-terms-two{grid-template-columns:1fr}.mini-guide-terms-two>div:nth-child(2){border-top:1px solid rgba(0,0,0,.055);padding-top:9px}}@media(max-width:720px){.guide-toggle-row{display:grid;grid-template-columns:1fr;gap:8px}.guide-toggle-row .firmware-toggle{width:100%;margin:0}.mini-guide-card{border-radius:16px;padding:17px}.mini-guide-card h2{font-size:17px}.mini-guide-terms>div{grid-template-columns:82px minmax(0,1fr)}}

.contact-shell{position:fixed;left:0;right:0;bottom:0;top:var(--fujidb-header-bottom,56px);z-index:79;background:#f5f5f7;overscroll-behavior:contain}.contact-shell[hidden]{display:none!important}.contact-frame{width:100%;height:100%;border:0;background:#f5f5f7}.footer-contact-link{color:inherit!important;text-decoration:none!important}.footer-contact-link:hover{background:rgba(255,255,255,.72);color:#1d1d1f!important;box-shadow:0 1px 4px rgba(0,0,0,.055)}
html.contact-active,body.contact-active{overflow:hidden!important;overscroll-behavior:none!important}
.contact-admin-message{margin:14px 0;padding:13px 14px;border:1px solid rgba(0,0,0,.055);border-radius:11px;background:#f7f7f9;color:#3a3a3c;font-size:12px;line-height:1.6}


/* Contact us — identical footer pill behavior */
.footer-pill .footer-contact-link{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:transparent!important;
  color:inherit!important;
  text-decoration:none!important;
  font:inherit!important;
  line-height:inherit!important;
  white-space:nowrap!important;
  box-shadow:none!important;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
.footer-pill .footer-contact-link:hover{
  background:rgba(255,255,255,.72)!important;
  color:#1d1d1f!important;
  box-shadow:0 1px 4px rgba(0,0,0,.055)!important;
}
.footer-pill .footer-contact-link:active{
  transform:scale(.985)!important;
}


/* Contact overlay top alignment
   Cover the full page below the FujiDB header; never expose the underlying grid. */
.contact-shell{
  top:0!important;
  padding-top:var(--fujidb-header-height,56px)!important;
  box-sizing:border-box!important;
  background:#f5f5f7!important;
}
.contact-frame{
  height:calc(100vh - var(--fujidb-header-height,56px))!important;
  min-height:0!important;
  background:#f5f5f7!important;
}
html.contact-active,
body.contact-active{
  overflow:hidden!important;
}
body.contact-active > main,
body.contact-active > .firmware-hero,
body.contact-active > .filters,
body.contact-active > .site-notice{
  pointer-events:none!important;
}
@media(max-width:720px){
  .contact-shell{
    padding-top:var(--fujidb-header-height,56px)!important;
  }
  .contact-frame{
    height:calc(100vh - var(--fujidb-header-height,56px))!important;
  }
}


/* Product page: Film Simulations beside External Reviews */
.film-sim-review-panel{margin-bottom:16px}
.film-sim-count{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:24px;padding:4px 8px;border:1px solid rgba(0,0,0,.065);
  border-radius:999px;background:#f5f5f7;color:#86868b;
  font-size:10px;font-weight:650;white-space:nowrap;
}
.film-sim-review-list{
  display:flex;flex-wrap:wrap;gap:7px;
}
.film-sim-review-bubble{
  display:inline-flex;align-items:center;
  min-height:30px;padding:6px 10px;
  border:1px solid rgba(0,0,0,.065);
  border-radius:999px;background:#f5f5f7;
  color:#3a3a3c;font-size:11px;font-weight:600;line-height:1.2;
}
@media(max-width:820px){
  .film-sim-review-panel{margin-bottom:14px}
}


/* Film Simulations — refined compact list */
.film-sim-review-panel{
  overflow:hidden;
  margin-bottom:16px;
  padding:0!important;
  border:1px solid rgba(0,0,0,.075)!important;
  border-radius:17px!important;
  background:#fff!important;
}
.film-sim-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 17px 14px;
  border-bottom:1px solid rgba(0,0,0,.055);
}
.film-sim-card-head h2{
  margin:0!important;
  font-size:15px!important;
  line-height:1.2!important;
  letter-spacing:-.25px;
}
.film-sim-card-head p{
  margin:4px 0 0;
  color:#8e8e93;
  font-size:9.5px;
  line-height:1.25;
}
.film-sim-count{
  flex:0 0 auto;
  min-width:28px;
  height:28px;
  padding:0 8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(0,0,0,.06);
  border-radius:999px;
  background:#f5f5f7;
  color:#6e6e73;
  font-size:10px;
  font-weight:700;
}
.film-sim-review-list{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:0!important;
  padding:5px 10px 9px!important;
}
.film-sim-review-item{
  min-width:0;
  min-height:34px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 7px;
  border-bottom:1px solid rgba(0,0,0,.045);
}
.film-sim-review-item:nth-child(odd){
  border-right:1px solid rgba(0,0,0,.045);
  padding-right:10px;
}
.film-sim-review-item:nth-child(even){
  padding-left:10px;
}
.film-sim-review-item:nth-last-child(-n+2){
  border-bottom-color:transparent;
}
.film-sim-dot{
  flex:0 0 auto;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#b8b8bd;
}
.film-sim-name{
  min-width:0;
  color:#3a3a3c;
  font-size:10px;
  font-weight:570;
  line-height:1.25;
  overflow-wrap:anywhere;
}
@media(max-width:520px){
  .film-sim-card-head{padding:15px 15px 13px}
  .film-sim-review-list{
    grid-template-columns:1fr;
    padding:5px 12px 9px!important;
  }
  .film-sim-review-item,
  .film-sim-review-item:nth-child(odd),
  .film-sim-review-item:nth-child(even){
    padding:8px 4px;
    border-right:0;
    border-bottom:1px solid rgba(0,0,0,.045);
  }
  .film-sim-review-item:last-child{border-bottom-color:transparent}
  .film-sim-name{font-size:10.5px}
}


/* Full Specifications — two-column layout on wider screens when expanded */
@media(min-width:1100px){
  .full-specs:not(.is-collapsed){
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:16px;
    align-items:start;
  }
  .full-specs:not(.is-collapsed) > .panel{
    margin:0;
    min-width:0;
    height:auto;
  }
  .full-specs:not(.is-collapsed) > .panel:only-child{
    grid-column:1 / -1;
  }
}


/* Full Specifications — joined two-column cards */
@media(min-width:1100px){
  .full-specs:not(.is-collapsed){
    gap:0!important;
    overflow:hidden;
    border-radius:16px;
  }
  .full-specs:not(.is-collapsed) > .panel{
    border-radius:0!important;
    margin:0!important;
    box-shadow:none!important;
  }
  .full-specs:not(.is-collapsed) > .panel:nth-child(odd){
    border-right-width:0!important;
  }
  .full-specs:not(.is-collapsed) > .panel:nth-child(n+3){
    border-top-width:0!important;
  }
  .full-specs:not(.is-collapsed) > .panel:first-child{
    border-top-left-radius:16px!important;
  }
  .full-specs:not(.is-collapsed) > .panel:nth-child(2){
    border-top-right-radius:16px!important;
  }
  .full-specs:not(.is-collapsed) > .panel:nth-last-child(2):nth-child(odd){
    border-bottom-left-radius:16px!important;
  }
  .full-specs:not(.is-collapsed) > .panel:last-child{
    border-bottom-right-radius:16px!important;
  }
  .full-specs:not(.is-collapsed) > .panel:last-child:nth-child(odd){
    grid-column:1 / -1;
    border-right-width:1px!important;
    border-bottom-left-radius:16px!important;
  }
}

/* Film Simulations — improve readability */
.film-sim-card-head h2{
  font-size:16px!important;
}
.film-sim-card-head p{
  font-size:11px!important;
}
.film-sim-count{
  font-size:11px!important;
}
.film-sim-name{
  font-size:12px!important;
  line-height:1.35!important;
}
.film-sim-review-item{
  min-height:38px!important;
}
@media(max-width:520px){
  .film-sim-name{
    font-size:12px!important;
  }
}


/* Full Specifications — one unified card with elegant section dividers */
@media(min-width:1100px){
  .full-specs:not(.is-collapsed){
    display:block!important;
    overflow:hidden;
    border:1px solid rgba(0,0,0,.075);
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 28px rgba(0,0,0,.035);
  }

  .full-specs:not(.is-collapsed) > .panel{
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
  }

  .full-specs:not(.is-collapsed) > .panel + .panel{
    border-top:1px solid rgba(0,0,0,.06)!important;
  }

  .full-specs:not(.is-collapsed) > .panel h2{
    margin:0!important;
    padding:18px 20px 13px!important;
    font-size:16px!important;
    letter-spacing:-.25px;
  }

  .full-specs:not(.is-collapsed) > .panel .spec-table{
    margin:0!important;
  }

  .full-specs:not(.is-collapsed) > .panel .spec-table tr:first-child th,
  .full-specs:not(.is-collapsed) > .panel .spec-table tr:first-child td{
    border-top:1px solid rgba(0,0,0,.045);
  }

  .full-specs:not(.is-collapsed) > .panel .spec-table th{
    padding-left:20px!important;
  }

  .full-specs:not(.is-collapsed) > .panel .spec-table td{
    padding-right:20px!important;
  }

  .full-specs:not(.is-collapsed) > .panel:last-child{
    padding-bottom:2px;
  }
}

/* Keep the same unified-card feel on medium screens too */
@media(min-width:760px) and (max-width:1099px){
  .full-specs:not(.is-collapsed){
    overflow:hidden;
    border:1px solid rgba(0,0,0,.075);
    border-radius:18px;
    background:#fff;
  }
  .full-specs:not(.is-collapsed) > .panel{
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
  }
  .full-specs:not(.is-collapsed) > .panel + .panel{
    border-top:1px solid rgba(0,0,0,.06)!important;
  }
}


/* Full Specifications — one outer bubble, two section columns */
.full-specs:not(.is-collapsed){
  overflow:hidden;
  border:1px solid rgba(0,0,0,.075);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 28px rgba(0,0,0,.035);
}

@media(min-width:760px){
  .full-specs:not(.is-collapsed){
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:0!important;
    align-items:stretch;
  }

  .full-specs:not(.is-collapsed) > .panel{
    margin:0!important;
    min-width:0;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
  }

  /* center divider */
  .full-specs:not(.is-collapsed) > .panel:nth-child(even){
    border-left:1px solid rgba(0,0,0,.06)!important;
  }

  /* horizontal section dividers */
  .full-specs:not(.is-collapsed) > .panel:nth-child(n+3){
    border-top:1px solid rgba(0,0,0,.06)!important;
  }

  .full-specs:not(.is-collapsed) > .panel h2{
    margin:0!important;
    padding:18px 20px 13px!important;
    font-size:16px!important;
    letter-spacing:-.25px;
  }

  .full-specs:not(.is-collapsed) > .panel .spec-table{
    margin:0!important;
  }

  .full-specs:not(.is-collapsed) > .panel .spec-table tr:first-child th,
  .full-specs:not(.is-collapsed) > .panel .spec-table tr:first-child td{
    border-top:1px solid rgba(0,0,0,.045);
  }

  .full-specs:not(.is-collapsed) > .panel .spec-table th{
    padding-left:20px!important;
  }

  .full-specs:not(.is-collapsed) > .panel .spec-table td{
    padding-right:20px!important;
  }

  /* If the number of groups is odd, the last group uses full width. */
  .full-specs:not(.is-collapsed) > .panel:last-child:nth-child(odd){
    grid-column:1 / -1;
    border-left:0!important;
  }
}

@media(max-width:759px){
  .full-specs:not(.is-collapsed){
    display:block!important;
  }
  .full-specs:not(.is-collapsed) > .panel{
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
  }
  .full-specs:not(.is-collapsed) > .panel + .panel{
    border-top:1px solid rgba(0,0,0,.06)!important;
  }
}


/* Film Simulations — same refined hover feedback as specification rows */
.film-sim-review-item{
  position:relative;
  transition:background-color .16s ease,color .16s ease;
}
.film-sim-review-item:hover{
  background:#f5f5f7;
}
.film-sim-review-item:hover .film-sim-name{
  color:#1d1d1f;
}
.film-sim-review-item:hover .film-sim-dot{
  background:#86868b;
}
.film-sim-dot{
  transition:background-color .16s ease,transform .16s ease;
}
.film-sim-review-item:hover .film-sim-dot{
  transform:scale(1.15);
}

/* Oracle Cloud footer link — identical interaction to Contact us */
.footer-pill .footer-oracle-link{
  display:inline-flex!important;align-items:center!important;min-height:28px!important;padding:6px 10px!important;
  border-radius:999px!important;background:transparent!important;color:inherit!important;text-decoration:none!important;
  font:inherit!important;line-height:inherit!important;white-space:nowrap!important;box-shadow:none!important;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
.footer-pill .footer-oracle-link:hover{
  background:rgba(255,255,255,.72)!important;color:#1d1d1f!important;text-decoration:none!important;
  box-shadow:0 1px 4px rgba(0,0,0,.055)!important;
}
.footer-pill .footer-oracle-link:active{transform:scale(.985)!important;}


/* Oracle logo in footer */
.footer-oracle-link{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:28px!important;padding:6px 10px!important;border-radius:999px!important;text-decoration:none!important;transition:background .18s ease,box-shadow .18s ease,transform .18s ease!important}
.footer-oracle-logo{display:block;width:auto;height:12px;max-width:92px}
.footer-oracle-link:hover{background:rgba(255,255,255,.72)!important;box-shadow:0 1px 4px rgba(0,0,0,.055)!important}
.footer-oracle-link:active{transform:scale(.985)!important}

.oracle-footer-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
}
.oracle-powered-label{
  display:inline-block;
  color:inherit;
  font:inherit;
  line-height:1;
  white-space:nowrap;
}

.admin-account-card{margin-bottom:16px}
.admin-account-card h2{margin-bottom:6px}
.admin-account-card > p{margin-top:0;color:#86868b;font-size:12px;line-height:1.5}


/* FujiDB public EN / HU language picker */
.language-picker{
  position:relative;
  flex:0 0 auto;
  margin-left:2px;
}
.language-picker > summary{
  list-style:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:32px;
  padding:0 10px;
  border:1px solid rgba(0,0,0,.065);
  border-radius:999px;
  background:rgba(255,255,255,.6);
  color:#515154;
  font-size:10px;
  font-weight:650;
  line-height:1;
  cursor:pointer;
  user-select:none;
  -webkit-user-select:none;
  -webkit-tap-highlight-color:transparent;
  transition:background .17s ease,color .17s ease,border-color .17s ease,box-shadow .17s ease,transform .17s ease;
}
.language-picker > summary::-webkit-details-marker{display:none}
.language-picker > summary:hover{
  background:#fff;
  color:#1d1d1f;
  border-color:rgba(0,0,0,.11);
  box-shadow:0 4px 14px rgba(0,0,0,.055);
}
.language-picker[open] > summary{
  background:#fff;
  color:#1d1d1f;
  border-color:rgba(0,113,227,.18);
  box-shadow:0 5px 18px rgba(0,0,0,.07);
}
.language-icon{
  width:15px;height:15px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid currentColor;border-radius:50%;
  font-size:7px;opacity:.7;
}
.language-code{min-width:16px;text-align:center}
.language-arrow{font-size:10px;opacity:.5;transform:translateY(-1px);transition:transform .17s ease}
.language-picker[open] .language-arrow{transform:rotate(180deg) translateY(1px)}
.language-menu{
  position:absolute;
  top:calc(100% + 7px);
  right:0;
  z-index:150;
  min-width:148px;
  padding:5px;
  border:1px solid rgba(0,0,0,.07);
  border-radius:14px;
  background:rgba(255,255,255,.97);
  box-shadow:0 14px 38px rgba(0,0,0,.12);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}
.language-menu a{
  display:flex!important;
  align-items:center;
  gap:9px;
  min-height:36px;
  padding:7px 9px!important;
  border-radius:10px!important;
  color:#3a3a3c!important;
  text-decoration:none!important;
  font-size:10.5px!important;
  font-weight:600!important;
  white-space:nowrap;
}
.language-menu a b{
  width:24px;
  color:#8e8e93;
  font-size:9px;
  font-weight:750;
}
.language-menu a:hover{background:#f5f5f7!important;color:#1d1d1f!important}
.language-menu a.active{background:#f1f7fd!important;color:#0071e3!important}
.language-menu a.active b{color:#0071e3!important}
@media(max-width:720px){
  .language-picker > summary{min-height:30px;padding:0 8px}
  .language-menu{right:0;min-width:140px}
}


/* Mini Guide – larger, easier-to-read typography */
.mini-guide-panel .mini-guide-card h2{
  font-size:16px!important;
  line-height:1.25!important;
}
.mini-guide-panel .mini-guide-kicker{
  font-size:12px!important;
  line-height:1.3!important;
}
.mini-guide-panel .mini-guide-defs b,
.mini-guide-panel .mini-guide-terms b{
  font-size:13px!important;
  line-height:1.35!important;
}
.mini-guide-panel .mini-guide-defs p,
.mini-guide-panel .mini-guide-terms span,
.mini-guide-panel .mini-guide-terms p{
  font-size:13px!important;
  line-height:1.55!important;
}
@media(max-width:720px){
  .mini-guide-panel .mini-guide-card h2{
    font-size:20px!important;
  }
  .mini-guide-panel .mini-guide-kicker{
    font-size:11.5px!important;
  }
  .mini-guide-panel .mini-guide-defs b,
  .mini-guide-panel .mini-guide-terms b,
  .mini-guide-panel .mini-guide-defs p,
  .mini-guide-panel .mini-guide-terms span,
  .mini-guide-panel .mini-guide-terms p{
    font-size:11.5px!important;
  }
}

.stats-ip-country{white-space:nowrap}
.visitor-country{color:#6e6e73;font-size:11px;font-weight:600}
.visitor-country-loading{color:#a1a1a6;font-weight:500}

.stats-log-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.stats-log-actions form{margin:0}
@media(max-width:700px){
  .stats-log-actions{justify-content:flex-start;width:100%}
}

.visitor-tabs{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin:0 0 16px;
  padding:4px;
  border:1px solid rgba(0,0,0,.07);
  border-radius:14px;
  background:#f5f5f7;
}
.visitor-tabs a{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:7px 11px;
  border-radius:10px;
  color:#6e6e73;
  font-size:11px;
  font-weight:650;
  text-decoration:none;
  transition:background .16s ease,color .16s ease,box-shadow .16s ease;
}
.visitor-tabs a:hover{color:#1d1d1f;background:rgba(255,255,255,.7)}
.visitor-tabs a.active{
  color:#1d1d1f;
  background:#fff;
  box-shadow:0 1px 5px rgba(0,0,0,.07);
}
.visitor-tabs a strong{
  min-width:22px;
  padding:3px 6px;
  border-radius:999px;
  background:rgba(0,0,0,.055);
  color:#6e6e73;
  font-size:9px;
  line-height:1;
  text-align:center;
}
.visitor-tabs a.active strong{background:#f1f1f3;color:#1d1d1f}
.scanner-reason{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 8px;
  border-radius:999px;
  background:#fff4e5;
  color:#8a5200;
  font-size:10px;
  font-weight:700;
  white-space:nowrap;
}
.stats-empty{padding:24px!important;text-align:center;color:#8e8e93}
@media(max-width:700px){
  .visitor-tabs{display:flex;width:100%}
  .visitor-tabs a{flex:1;justify-content:center}
}

.third-party-import-actions{display:flex;gap:8px;margin-top:10px}
.third-party-preview{margin-top:16px;padding-top:16px;border-top:1px solid rgba(0,0,0,.08)}
.third-party-preview h3{margin:0 0 4px;font-size:16px}
.third-party-preview .table-scroll{margin:10px 0 12px}

.third-party-create-import textarea{
  width:100%;
  min-height:260px;
  resize:vertical;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
  font-size:12px;
  line-height:1.55;
}
.third-party-create-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}
.third-party-create-note{margin:12px 0 0}
.third-party-create-preview{margin-top:16px}
.third-party-preview-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:27px;
  padding:5px 9px;
  border-radius:999px;
  background:#f1f1f3;
  color:#515154;
  font-size:9px;
  font-weight:750;
  letter-spacing:.04em;
}
.third-party-product-preview{
  display:grid;
  gap:3px;
  margin:10px 0 14px;
  padding:12px 14px;
  border:1px solid rgba(0,0,0,.07);
  border-radius:12px;
  background:#f7f7f8;
}
.third-party-product-preview span{
  color:#86868b;
  font-size:10px;
  font-weight:650;
}
.third-party-product-preview strong{
  color:#1d1d1f;
  font-size:15px;
}
.third-party-preview-create{
  display:flex;
  justify-content:flex-end;
  margin-top:12px;
}
@media(max-width:700px){
  .third-party-create-actions .btn,
  .third-party-preview-create .btn{width:100%}
  .third-party-preview-create{display:block}
}

.third-party-image-url-block{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(0,0,0,.07);
}
.third-party-image-url-block label{
  display:block;
  margin-bottom:7px;
  font-weight:650;
}
.third-party-image-url-block textarea{
  min-height:96px;
}

.third-party-bulk-preview-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:12px;
}
.third-party-bulk-preview-card{
  min-width:0;
  padding:12px;
  border:1px solid rgba(0,0,0,.07);
  border-radius:14px;
  background:#fafafa;
}
.third-party-bulk-preview-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:9px;
}
.third-party-bulk-preview-head>div{
  display:grid;
  gap:3px;
}
.third-party-bulk-preview-head>div>span{
  color:#8e8e93;
  font-size:9px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.third-party-bulk-preview-head strong{
  font-size:13px;
  line-height:1.35;
}
.third-party-result-list{
  display:grid;
  gap:7px;
  margin-top:10px;
}
.third-party-result-list>div{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:10px;
  padding:9px 10px;
  border:1px solid rgba(0,0,0,.07);
  border-radius:11px;
}
.third-party-result-list>div>span{
  color:#34a853;
  font-size:9px;
  font-weight:750;
  text-transform:uppercase;
}
@media(max-width:800px){
  .third-party-bulk-preview-grid{grid-template-columns:1fr}
}

.specs-view-live{white-space:nowrap}

/* FujiDB header logo size cap */
.site-logo img,.brand img,.logo img,header .logo img,header .brand img{max-height:48px!important;height:auto!important;width:auto!important;}
/* Header logo: fixed visual cap independent of source image dimensions */
.topbar .brand-logo img{
  height:48px!important;
  max-height:48px!important;
  width:auto!important;
  max-width:215px;
  object-fit:contain;
}
@media(max-width:700px){
  .topbar .brand-logo img{
    height:48px!important;
    max-height:48px!important;
  }
}


/* FujiDB header logo — hard 48px cap */
.site-header .brand-logo,
header .brand-logo{
  height:48px!important;
  max-height:48px!important;
  display:flex!important;
  align-items:center!important;
}
.site-header .brand-logo img,
header .brand-logo img,
.brand-logo img{
  display:block!important;
  height:48px!important;
  max-height:48px!important;
  width:auto!important;
  max-width:100%!important;
  object-fit:contain!important;
}
@media(max-width:900px){
  .site-header .brand-logo,
  header .brand-logo{
    height:48px!important;
    max-height:48px!important;
  }
  .site-header .brand-logo img,
  header .brand-logo img,
  .brand-logo img{
    height:48px!important;
    max-height:48px!important;
    width:auto!important;
  }
}


/* Final FujiDB header sizing: 48px header / 40px logo */
.topbar{
  height:48px!important;
  min-height:48px!important;
}
.topbar .nav{
  height:48px!important;
  min-height:48px!important;
}
.topbar .brand-logo{
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
}
.topbar .brand-logo img{
  height:40px!important;
  max-height:40px!important;
  width:auto!important;
  object-fit:contain!important;
}
@media(max-width:900px){
  .topbar,
  .topbar .nav,
  .topbar .brand-logo{
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
  }
  .topbar .brand-logo img{
    height:40px!important;
    max-height:40px!important;
    width:auto!important;
  }
}


/* Mobile compact header: prevent logo/nav/notice overlap */
@media(max-width:700px){
  .topbar{
    height:38px!important;
    min-height:38px!important;
  }
  .topbar .nav{
    height:38px!important;
    min-height:38px!important;
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:6px!important;
  }
  .topbar .brand-logo{
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    min-width:0!important;
    flex:0 0 auto!important;
  }
  .topbar .brand-logo img{
    height:32px!important;
    max-height:32px!important;
    width:auto!important;
    max-width:150px!important;
  }
  .topbar .brand-beta{
    font-size:8px!important;
    margin-left:3px!important;
    margin-bottom:4px!important;
  }
  .topbar .header-link-group{
    margin-left:auto!important;
    min-width:0!important;
    gap:2px!important;
    white-space:nowrap!important;
  }
  .topbar .header-link-group a{
    font-size:9px!important;
    padding:4px 5px!important;
  }
}

/* Very narrow phones: keep the header on one clean line */
@media(max-width:430px){
  .topbar .brand-logo img{
    height:30px!important;
    max-height:30px!important;
    max-width:138px!important;
  }
  .topbar .header-link-group{
    gap:0!important;
  }
  .topbar .header-link-group a{
    font-size:8px!important;
    padding:3px 4px!important;
  }
}


/* Mobile header: logo first row, navigation links below it */
@media(max-width:700px){
  .topbar{
    height:auto!important;
    min-height:0!important;
  }
  .topbar .nav{
    height:auto!important;
    min-height:0!important;
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:0!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }
  .topbar .brand-logo{
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    flex:0 0 100%!important;
    width:100%!important;
  }
  .topbar .brand-logo img{
    height:32px!important;
    max-height:32px!important;
    width:auto!important;
    max-width:150px!important;
  }
  .topbar .header-link-group{
    order:2!important;
    flex:0 0 100%!important;
    width:100%!important;
    margin:0!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:4px!important;
    min-height:27px!important;
    padding:0 0 3px!important;
    overflow-x:auto!important;
    scrollbar-width:none;
    white-space:nowrap!important;
  }
  .topbar .header-link-group::-webkit-scrollbar{display:none}
  .topbar .header-link-group a{
    flex:0 0 auto!important;
    font-size:11px!important;
    line-height:1!important;
    padding:6px 7px!important;
  }

  /* Less dead space between the notice/header area and firmware controls. */
  .firmware-hero{
    padding-top:8px!important;
  }
  .firmware-head{
    margin-top:0!important;
    padding-top:0!important;
  }
  .firmware-head h1{
    margin-top:0!important;
  }
}

@media(max-width:430px){
  .topbar .brand-logo img{
    height:30px!important;
    max-height:30px!important;
  }
  .topbar .header-link-group a{
    font-size:10.5px!important;
    padding:6px!important;
  }
}


/* Final mobile header layout — two real rows, no overlap */
@media(max-width:700px){
  .topbar{
    height:auto!important;
    min-height:66px!important;
    max-height:none!important;
    position:sticky!important;
  }

  .topbar > .wrap.nav{
    width:calc(100% - 24px)!important;
    height:auto!important;
    min-height:66px!important;
    max-height:none!important;
    padding:0!important;
    margin:0 auto!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:36px 30px!important;
    align-items:center!important;
    gap:0!important;
    overflow:visible!important;
  }

  .topbar .brand-logo{
    grid-row:1!important;
    width:auto!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    min-width:0!important;
    margin:0!important;
    display:inline-flex!important;
    justify-self:start!important;
    align-items:center!important;
    overflow:visible!important;
  }

  .topbar .brand-logo img{
    display:block!important;
    width:auto!important;
    height:30px!important;
    max-height:30px!important;
    max-width:145px!important;
    object-fit:contain!important;
  }

  .topbar .brand-beta{
    font-size:8px!important;
    line-height:1!important;
    margin:0 0 3px 3px!important;
    align-self:end!important;
  }

  .topbar .header-link-group{
    grid-row:2!important;
    width:100%!important;
    min-width:0!important;
    min-height:30px!important;
    height:30px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:3px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    white-space:nowrap!important;
    scrollbar-width:none!important;
    pointer-events:auto!important;
  }

  .topbar .header-link-group::-webkit-scrollbar{display:none!important}

  .topbar .header-link-group > a{
    flex:0 0 auto!important;
    min-height:24px!important;
    padding:5px 7px!important;
    border-radius:999px!important;
    font-size:10.5px!important;
    line-height:1!important;
    pointer-events:auto!important;
  }

  /* Notice must start after the complete two-row header. */
  .site-notice{
    position:relative!important;
    z-index:80!important;
    clear:both!important;
  }

  .site-notice-inner{
    min-height:36px!important;
    padding-top:5px!important;
    padding-bottom:5px!important;
  }

  .site-notice-copy{
    gap:7px!important;
    font-size:11px!important;
    line-height:1.25!important;
  }

  .site-notice-label{
    font-size:8px!important;
    padding:3px 6px!important;
  }

  /* Compact firmware area on phones. */
  .firmware-hero{
    padding:6px 0 18px!important;
  }

  .firmware-head{
    margin:0 0 10px!important;
    align-items:center!important;
  }

  .firmware-head h1{
    margin:0!important;
    font-size:21px!important;
    line-height:1.08!important;
    letter-spacing:-.65px!important;
  }

  .firmware-all{
    font-size:10px!important;
  }

  .guide-toggle-row{
    gap:8px!important;
  }

  .firmware-toggle{
    min-height:42px!important;
    font-size:11px!important;
  }
}

@media(max-width:430px){
  .topbar > .wrap.nav{
    grid-template-rows:34px 29px!important;
    min-height:63px!important;
  }
  .topbar{
    min-height:63px!important;
  }
  .topbar .brand-logo{
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
  }
  .topbar .brand-logo img{
    height:28px!important;
    max-height:28px!important;
    max-width:138px!important;
  }
  .topbar .header-link-group{
    height:29px!important;
    min-height:29px!important;
  }
  .topbar .header-link-group > a{
    font-size:10px!important;
    padding:5px 6px!important;
  }
  .firmware-head h1{
    font-size:20px!important;
  }
}


/* Tighter spacing around firmware / mini guide buttons */
@media(min-width:701px){
  .firmware-hero{
    padding-top:27px!important;
    padding-bottom:15px!important;
  }
}


/* Mobile hamburger navigation */
.mobile-menu-toggle{display:none}
@media(max-width:700px){
  .topbar{
    min-height:38px!important;
    height:auto!important;
  }
  .topbar > .wrap.nav{
    position:relative!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:calc(100% - 24px)!important;
    min-height:38px!important;
    height:38px!important;
    padding:0!important;
    overflow:visible!important;
  }
  .topbar .brand-logo{
    flex:0 0 auto!important;
    width:auto!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
  }
  .topbar .brand-logo img{
    height:30px!important;
    max-height:30px!important;
    width:auto!important;
  }
  .mobile-menu-toggle{
    display:flex!important;
    position:relative!important;
    z-index:120!important;
    flex:0 0 34px!important;
    width:34px!important;
    height:34px!important;
    padding:8px!important;
    margin:0!important;
    border:0!important;
    border-radius:9px!important;
    background:transparent!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:4px!important;
    cursor:pointer!important;
  }
  .mobile-menu-toggle span{
    display:block!important;
    width:18px!important;
    height:1.5px!important;
    border-radius:2px!important;
    background:#1d1d1f!important;
    transition:transform .18s ease,opacity .18s ease!important;
  }
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}

  .topbar .header-link-group{
    display:none!important;
    position:absolute!important;
    z-index:115!important;
    top:5px!important;
    right:0!important;
    left:auto!important;
    width:210px!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:6px!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:2px!important;
    overflow:visible!important;
    white-space:normal!important;
    border:1px solid rgba(0,0,0,.08)!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.97)!important;
    box-shadow:0 12px 35px rgba(0,0,0,.14)!important;
    backdrop-filter:blur(20px)!important;
    -webkit-backdrop-filter:blur(20px)!important;
    pointer-events:auto!important;
  }
  .topbar .header-link-group.mobile-menu-open{
    display:flex!important;
  }
  .topbar .header-link-group > a{
    width:100%!important;
    min-height:36px!important;
    padding:10px 11px!important;
    justify-content:flex-start!important;
    border-radius:9px!important;
    font-size:12px!important;
    line-height:1.2!important;
  }
}


/* Mobile notice: vertically center type badge and notice text */
@media(max-width:700px){
  .site-notice-inner{
    display:flex!important;
    align-items:center!important;
    min-height:36px!important;
  }

  .site-notice-copy{
    display:flex!important;
    align-items:center!important;
    min-height:26px!important;
    line-height:1.25!important;
  }

  .site-notice-label{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    align-self:center!important;
    line-height:1!important;
    margin-top:0!important;
    margin-bottom:0!important;
  }

  .site-notice-message{
    display:flex!important;
    align-items:center!important;
    align-self:center!important;
    min-height:20px!important;
    line-height:1.25!important;
    margin-top:0!important;
    margin-bottom:0!important;
  }

  .site-notice-progress{
    align-self:center!important;
  }
}


/* Fujimeta stays visible in the mobile header, just before the hamburger */
.mobile-fujimeta-link{display:none}
@media(max-width:700px){
  .topbar > .wrap.nav{
    display:grid!important;
    grid-template-columns:auto 1fr auto auto!important;
    align-items:center!important;
    column-gap:7px!important;
  }

  .topbar .brand-logo{
    grid-column:1!important;
  }

  .mobile-fujimeta-link{
    display:inline-flex!important;
    grid-column:3!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:28px!important;
    padding:6px 8px!important;
    border-radius:999px!important;
    color:#68686d!important;
    font-size:11px!important;
    font-weight:650!important;
    line-height:1!important;
    text-decoration:none!important;
    white-space:nowrap!important;
  }

  .mobile-fujimeta-link:hover,
  .mobile-fujimeta-link:active{
    background:rgba(0,0,0,.045)!important;
    color:#1d1d1f!important;
  }

  .mobile-menu-toggle{
    grid-column:4!important;
    justify-self:end!important;
  }

  .topbar .header-link-group{
    right:0!important;
  }

  /* Fujimeta is already visible in the header on mobile, so hide its duplicate in the burger. */
  .topbar .header-link-group .desktop-fujimeta-link{
    display:none!important;
  }
}

@media(min-width:701px){
  .mobile-fujimeta-link{display:none!important}
  .desktop-fujimeta-link{display:inline-flex!important}
}


/* Product page latest firmware card */
.product-firmware-card{
  width:min(390px,100%);
  margin-top:28px;
  padding:15px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border:1px solid rgba(0,0,0,.075);
  border-radius:16px;
  background:#fff;
  box-shadow:0 5px 18px rgba(0,0,0,.035);
}
.product-firmware-copy{
  min-width:0;
  display:grid;
  grid-template-columns:auto auto;
  align-items:baseline;
  column-gap:9px;
  row-gap:3px;
}
.product-firmware-label{
  grid-column:1/-1;
  color:#6e6e73;
  font-size:11px;
  font-weight:650;
  line-height:1.2;
}
.product-firmware-copy strong{
  color:#1d1d1f;
  font-size:15px;
  font-weight:700;
  line-height:1.2;
}
.product-firmware-date{
  color:#86868b;
  font-size:11px;
  line-height:1.2;
}
.product-firmware-download{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-height:34px;
  padding:8px 12px;
  border:1px solid rgba(0,0,0,.075);
  border-radius:999px;
  background:#f5f5f7;
  color:#1d1d1f;
  font-size:11px;
  font-weight:650;
  line-height:1;
  text-decoration:none;
  transition:background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.product-firmware-download:hover{
  background:#fff;
  box-shadow:0 3px 10px rgba(0,0,0,.08);
}
.product-firmware-download:active{transform:scale(.98)}
@media(max-width:700px){
  .product-firmware-card{
    width:100%;
    margin-top:18px;
    padding:13px 14px;
    border-radius:14px;
  }
}


/* Entire latest firmware card is clickable */
a.product-firmware-card{
  color:inherit!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    background .18s ease!important;
}
a.product-firmware-card:hover{
  transform:translateY(-2px)!important;
  background:#fff!important;
  border-color:rgba(0,0,0,.11)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.08)!important;
  text-decoration:none!important;
}
a.product-firmware-card:hover .product-firmware-download{
  background:#fff!important;
  box-shadow:0 3px 10px rgba(0,0,0,.09)!important;
}
a.product-firmware-card:active{
  transform:translateY(0) scale(.995)!important;
}
a.product-firmware-card:focus-visible{
  outline:2px solid rgba(0,113,227,.35)!important;
  outline-offset:3px!important;
}

/* Firmware card is the link itself; no separate Download control */
a.product-firmware-card{
  justify-content:flex-start!important;
}
a.product-firmware-card .product-firmware-copy{
  width:100%!important;
}


/* Firmware card hover matches the simple review-link hover */
a.product-firmware-card{
  transform:none!important;
  box-shadow:0 5px 18px rgba(0,0,0,.035)!important;
  transition:background .16s ease!important;
}
a.product-firmware-card:hover{
  transform:none!important;
  background:#fafafa!important;
  border-color:rgba(0,0,0,.075)!important;
  box-shadow:0 5px 18px rgba(0,0,0,.035)!important;
}
a.product-firmware-card:active{
  transform:none!important;
}

@media(max-width:700px){
  .visitor-tabs{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
  }
  .visitor-tabs a{
    width:100%!important;
    justify-content:space-between!important;
  }
}

/* Product breadcrumb category links */
.crumb a{
  color:inherit;
  text-decoration:none;
  transition:opacity .16s ease;
}
.crumb a:hover{opacity:.55}


/* Compact mobile filters */
@media (max-width:700px){
  #productFilters.filters{
    grid-template-columns:1fr!important;
  }

  #productFilters.filters select,
  #productFilters.filters input[type="search"],
  #productFilters.filters input[name="q"],
  #productFilters.filters button,
  #productFilters.filters .btn{
    height:30px!important;
    min-height:30px!important;
  }

  #productFilters.filters select,
  #productFilters.filters input[type="search"],
  #productFilters.filters input[name="q"]{
    padding-top:0!important;
    padding-bottom:0!important;
  }

  #productFilters.filters button,
  #productFilters.filters .btn{
    padding-top:0!important;
    padding-bottom:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
}


/* Search field with submit button */
.filter-search-wrap{
  display:flex;
  min-width:0;
}
.filter-search-wrap > input{
  flex:1 1 auto;
  min-width:0;
  border-top-right-radius:0!important;
  border-bottom-right-radius:0!important;
}
.filter-search-submit{
  flex:0 0 auto;
  border:1px solid #d2d2d7;
  border-left:0;
  border-radius:0 10px 10px 0;
  background:#f5f5f7;
  color:#1d1d1f;
  font:inherit;
  font-weight:600;
  cursor:pointer;
  padding:0 14px;
  transition:background .16s ease;
}
.filter-search-submit:hover{background:#e8e8ed}

/* Compact controls on mobile: exact 30px height */
@media(max-width:700px){
  #productFilters.filters .filter-search-wrap{
    width:100%!important;
    height:30px!important;
    min-height:30px!important;
  }
  #productFilters.filters .filter-search-wrap > input,
  #productFilters.filters .filter-search-submit,
  #productFilters.filters .filter-reset{
    box-sizing:border-box!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
  }
  #productFilters.filters .filter-search-wrap > input{
    padding-top:0!important;
    padding-bottom:0!important;
  }
  #productFilters.filters .filter-search-submit{
    padding:0 12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  #productFilters.filters .filter-reset{
    padding:0 12px!important;
    line-height:28px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
}


/* Refined compact search + reset */
.filter-search-submit{
  width:42px;
  padding:0!important;
  border-color:#d2d2d7;
  background:#f5f5f7;
  color:#515154;
}
.filter-search-submit svg{
  width:15px;
  height:15px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.filter-search-submit:hover{
  background:#e8e8ed;
  color:#1d1d1f;
}
.filter-search-submit:active{
  background:#dedee3;
}
.filter-search-submit:focus-visible{
  outline:2px solid rgba(0,113,227,.28);
  outline-offset:2px;
}

#productFilters.filters .filter-reset{
  width:auto!important;
  min-width:0!important;
  justify-self:start!important;
  padding-left:12px!important;
  padding-right:12px!important;
}

@media(max-width:700px){
  #productFilters.filters .filter-search-submit{
    width:38px!important;
    flex:0 0 38px!important;
    padding:0!important;
    border-radius:0 9px 9px 0!important;
  }
  #productFilters.filters .filter-search-submit svg{
    width:14px;
    height:14px;
  }
  #productFilters.filters .filter-reset{
    width:auto!important;
    min-width:0!important;
    max-width:max-content!important;
    padding:0 11px!important;
    justify-self:start!important;
  }
}


/* Search / Reset alignment refinement */
#productFilters.filters .filter-search-wrap{
  min-width:0;
}
#productFilters.filters .filter-search-submit{
  width:40px!important;
  flex:0 0 40px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  background:#f5f5f7!important;
  border:1px solid #d2d2d7!important;
  border-left:0!important;
  color:#3a3a3c!important;
  box-shadow:none!important;
}
#productFilters.filters .filter-search-submit svg{
  width:16px!important;
  height:16px!important;
  stroke-width:1.65!important;
}
#productFilters.filters .filter-search-submit:hover{
  background:#ededf0!important;
  color:#1d1d1f!important;
}
#productFilters.filters .filter-search-submit:active{
  background:#e5e5e8!important;
}

/* Let Reset occupy the remaining end position of the filter bar */
#productFilters.filters .filter-reset{
  margin-left:auto!important;
  width:auto!important;
  min-width:0!important;
  flex:0 0 auto!important;
}

@media(max-width:700px){
  #productFilters.filters .filter-reset{
    margin-left:0!important;
  }
  #productFilters.filters .filter-search-submit{
    width:38px!important;
    flex-basis:38px!important;
  }
}


/* Search icon lives inside the search field */
#productFilters.filters .filter-search-wrap{
  position:relative!important;
  display:block!important;
}
#productFilters.filters .filter-search-wrap > input{
  width:100%!important;
  border-radius:10px!important;
  padding-right:38px!important;
}
#productFilters.filters .filter-search-submit{
  position:absolute!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  width:36px!important;
  height:100%!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0 10px 10px 0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#6e6e73!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#productFilters.filters .filter-search-submit:hover{
  background:rgba(0,0,0,.035)!important;
  color:#1d1d1f!important;
}
#productFilters.filters .filter-search-submit:active{
  background:rgba(0,0,0,.06)!important;
}
#productFilters.filters .filter-search-submit svg{
  width:15px!important;
  height:15px!important;
  stroke-width:1.7!important;
}

@media(max-width:700px){
  #productFilters.filters .filter-search-wrap{
    height:30px!important;
  }
  #productFilters.filters .filter-search-wrap > input{
    height:30px!important;
    min-height:30px!important;
    padding-right:34px!important;
  }
  #productFilters.filters .filter-search-submit{
    width:32px!important;
    height:30px!important;
    min-height:30px!important;
  }
  #productFilters.filters .filter-search-submit svg{
    width:14px!important;
    height:14px!important;
  }
}


/* Search + Reset share one row */
#productFilters.filters .filter-search-row{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
#productFilters.filters .filter-search-row .filter-search-wrap{
  flex:1 1 auto;
  min-width:0;
}
#productFilters.filters .filter-search-row .filter-reset{
  flex:0 0 auto!important;
  margin-left:0!important;
}

/* Desktop: keep the combined search/reset group in the same filter slot area */
@media(min-width:701px){
  #productFilters.filters .filter-search-row{
    display:contents;
  }
  #productFilters.filters .filter-search-wrap{
    min-width:0;
  }
  #productFilters.filters .filter-reset{
    margin-left:auto!important;
  }
}

/* Mobile: Search becomes shorter by exactly the space needed by Reset */
@media(max-width:700px){
  #productFilters.filters .filter-search-row{
    grid-column:1 / -1!important;
    width:100%!important;
    display:flex!important;
    gap:8px!important;
    height:30px!important;
  }
  #productFilters.filters .filter-search-row .filter-search-wrap{
    flex:1 1 0!important;
    width:auto!important;
    min-width:0!important;
    height:30px!important;
  }
  #productFilters.filters .filter-search-row .filter-reset{
    flex:0 0 auto!important;
    width:auto!important;
    max-width:none!important;
    height:30px!important;
    min-height:30px!important;
    margin:0!important;
    padding:0 11px!important;
  }
}


/* Mobile experiment: visible dropdown filters in two columns */
@media(max-width:700px){
  #productFilters.filters{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:8px!important;
    align-items:center!important;
  }

  #productFilters.filters > select:not([hidden]){
    width:100%!important;
    min-width:0!important;
    height:30px!important;
    min-height:30px!important;
    margin:0!important;
  }

  #productFilters.filters > select[hidden]{
    display:none!important;
  }

  /* Search + Reset remain together underneath the dropdowns. */
  #productFilters.filters .filter-search-row{
    grid-column:1 / -1!important;
    width:100%!important;
    height:30px!important;
  }
}


/* Mobile: remove the outer filter bubble to maximize two-column width */
@media(max-width:700px){
  #productFilters.filters{
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    padding-left:0!important;
    padding-right:0!important;
  }
}


/* Mobile: white filter control backgrounds */
@media(max-width:700px){
  #productFilters.filters select,
  #productFilters.filters input[name="q"],
  #productFilters.filters input[type="search"],
  #productFilters.filters .filter-search-wrap > input,
  #productFilters.filters .filter-reset{
    background:#fff!important;
  }
}


/* Mobile dropdowns: white by default, including native select rendering */
@media(max-width:700px){
  #productFilters.filters select,
  #productFilters.filters select:not(:focus),
  #productFilters.filters select:focus{
    background-color:#fff!important;
    background:#fff!important;
    color:#1d1d1f!important;
    -webkit-appearance:auto;
    color-scheme:light;
  }

  #productFilters.filters select option{
    background:#fff!important;
    color:#1d1d1f!important;
  }
}


/* Prevent horizontal page movement on mobile */
@media(max-width:700px){
  html,
  body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  *,
  *::before,
  *::after{
    box-sizing:border-box;
  }

  .wrap,
  main,
  section,
  .filters,
  #productFilters,
  .filter-search-row,
  .filter-search-wrap{
    max-width:100%!important;
    min-width:0!important;
  }

  #productFilters.filters{
    width:100%!important;
    max-width:100%!important;
  }

  #productFilters.filters > select,
  #productFilters.filters .filter-search-row{
    min-width:0!important;
    max-width:100%!important;
  }

  #productFilters.filters select{
    width:100%!important;
  }

  #productFilters.filters .filter-search-row{
    overflow:visible!important;
  }

  #productFilters.filters .filter-search-wrap{
    flex:1 1 0!important;
    width:0!important;
    min-width:0!important;
  }

  #productFilters.filters .filter-search-wrap > input{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  img,
  video,
  iframe{
    max-width:100%;
  }
}


/* Public filter dropdowns: white resting background */
#productFilters.filters select{
  background-color:#fff!important;
  color:#1d1d1f!important;
}
#productFilters.filters .custom-select-trigger,
#productFilters.filters .filter-select-trigger,
#productFilters.filters .select-trigger{
  background:#fff!important;
}
#productFilters.filters .custom-select-menu,
#productFilters.filters .filter-select-menu,
#productFilters.filters .select-menu{
  background:#fff!important;
}
#productFilters.filters select option{
  background:#fff!important;
  color:#1d1d1f!important;
}


/* Actual custom public filter controls: solid white interior */
#productFilters.filters .apple-select-trigger,
.filters .apple-select-trigger{
  background:#fff!important;
  background-color:#fff!important;
}
#productFilters.filters .apple-select-trigger:hover,
.filters .apple-select-trigger:hover,
#productFilters.filters .apple-select.is-open .apple-select-trigger,
.filters .apple-select.is-open .apple-select-trigger{
  background:#fff!important;
  background-color:#fff!important;
}
#productFilters.filters .apple-select-menu,
.filters .apple-select-menu{
  background:#fff!important;
  background-color:#fff!important;
}


/* Mobile: firmware/guide buttons and filters use identical typography */
@media(max-width:700px){
  /* Firmware + Mini Guide toggle buttons */
  [data-collapse-toggle],
  [data-collapse-toggle] .firmware-toggle-text,

  /* Custom dropdown filters */
  #productFilters.filters .apple-select-trigger,
  #productFilters.filters .apple-select-value,

  /* Search + Reset */
  #productFilters.filters .filter-search-wrap > input,
  #productFilters.filters .filter-reset{
    font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
    font-size:12px!important;
    font-weight:500!important;
    line-height:1!important;
    letter-spacing:-.08px!important;
  }

  #productFilters.filters .filter-search-wrap > input::placeholder{
    font:inherit!important;
    color:#6e6e73;
  }
}


/* Mobile Mini Guide text sizing matches the opened firmware list */
@media(max-width:720px){
  .mini-guide-defs b,
  .mini-guide-terms b{
    font-size:12px!important;
  }
  .mini-guide-defs p,
  .mini-guide-terms span,
  .mini-guide-terms a{
    font-size:12px!important;
    line-height:1.5!important;
  }
}


/* Mobile Mini Guide opened content */
@media(max-width:720px){
  .mini-guide-defs b,
  .mini-guide-terms b,
  .mini-guide-defs p,
  .mini-guide-terms span,
  .mini-guide-terms a{
    font-size:12.5px!important;
  }
}


/* Camera product page: title/meta above, Film Simulations beside gallery, Quick Specs below */
.camera-product-head .crumb{
  margin-bottom:20px;
}
.camera-product-summary{
  margin-bottom:22px;
}
.camera-product-summary .badges{
  margin-bottom:8px;
}
.camera-product-summary .product-title-row{
  margin-bottom:8px;
}
.camera-product-summary .product-title-row h1{
  margin:0;
}
.camera-product-meta-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.camera-meta-pill,
.camera-fw-pill{
  min-height:32px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 11px;
  border:1px solid rgba(0,0,0,.075);
  border-radius:999px;
  background:#fff;
  color:#6e6e73;
  font-size:11px;
  line-height:1;
  text-decoration:none;
}
.camera-fw-pill{
  transition:background .16s ease;
}
.camera-fw-pill:hover{
  background:#fafafa;
}
.camera-fw-pill strong{
  color:#1d1d1f;
  font-weight:700;
}
.camera-product-head .product-main{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  align-items:start;
  gap:34px;
}
.camera-film-side{
  min-width:0;
}
.camera-film-panel{
  margin:0;
  width:100%;
}
.camera-film-panel .film-sim-card-head{
  padding:18px 20px 14px;
}
.camera-film-panel .film-sim-card-head h2{
  font-size:18px;
}
.camera-film-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0!important;
}
.camera-film-grid .film-sim-review-item{
  min-width:0;
  padding:10px 12px!important;
  border-top:1px solid rgba(0,0,0,.055);
  border-right:1px solid rgba(0,0,0,.045);
}
.camera-film-grid .film-sim-review-item:nth-child(3n){
  border-right:0;
}
.camera-film-grid .film-sim-name{
  font-size:11px;
  line-height:1.25;
}
.camera-product-content{
  display:block!important;
}
.camera-product-content > div{
  width:100%;
}
.camera-product-content .quick-panel{
  width:100%;
}
.camera-product-content > aside{
  margin-top:20px;
}
.camera-product-content > aside #reviews{
  width:100%;
}

/* Reduce the large vertical gaps on camera pages. */
.camera-product-head{
  padding-bottom:34px!important;
}
.camera-product-content{
  padding-top:1px!important;
}
.camera-product-content .quick-panel{
  margin-bottom:18px!important;
}

@media(max-width:980px){
  .camera-product-head .product-main{
    grid-template-columns:1fr;
    gap:20px;
  }
  .camera-film-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:700px){
  .camera-product-head .crumb{
    margin-bottom:12px;
  }
  .camera-product-summary{
    margin-bottom:14px;
  }
  .camera-product-summary .badges{
    margin-bottom:6px;
  }
  .camera-product-summary .product-title-row{
    margin-bottom:6px;
  }
  .camera-product-meta-row{
    gap:6px;
  }
  .camera-meta-pill,
  .camera-fw-pill{
    min-height:28px;
    padding:6px 9px;
    font-size:10.5px;
  }
  .camera-product-head .product-main{
    gap:14px;
  }
  .camera-film-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .camera-film-grid .film-sim-review-item:nth-child(3n){
    border-right:1px solid rgba(0,0,0,.045);
  }
  .camera-film-grid .film-sim-review-item:nth-child(2n){
    border-right:0;
  }
  .camera-product-head{
    padding-bottom:20px!important;
  }
  .camera-product-content{
    padding-top:18px!important;
  }
}


/* Camera title: system/type labels directly beside model name */
.camera-title-with-type{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap;
  gap:10px!important;
}
.camera-title-with-type h1{
  flex:0 0 auto;
}
.camera-title-badges{
  display:flex!important;
  align-items:center;
  gap:6px;
  margin:0!important;
}
.camera-title-badges .badge{
  margin:0!important;
}

/* Camera lower section: Quick Specs / Reviews = 2 / 1 */
.camera-product-content{
  display:grid!important;
  grid-template-columns:minmax(0,2fr) minmax(280px,1fr)!important;
  gap:20px!important;
  align-items:start!important;
}
.camera-product-content > div,
.camera-product-content > aside{
  min-width:0;
}
.camera-product-content > aside{
  margin-top:0!important;
}
.camera-product-content > aside #reviews{
  width:100%!important;
  margin-top:0!important;
}
.camera-product-content .quick-panel{
  width:100%!important;
  margin-top:0!important;
}

@media(max-width:820px){
  .camera-product-content{
    grid-template-columns:1fr!important;
  }
  .camera-product-content > aside{
    margin-top:0!important;
  }
}
@media(max-width:700px){
  .camera-title-with-type{
    gap:7px!important;
  }
  .camera-title-badges{
    gap:5px;
  }
}


/* Camera Film Simulations: collapsed by default, Reviews directly below */
.camera-film-side{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.camera-film-toggle{
  width:100%;
  min-height:46px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 18px;
  align-items:center;
  gap:10px;
  padding:0 16px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  background:#fff;
  color:#1d1d1f;
  font:inherit;
  font-size:14px;
  font-weight:650;
  text-align:left;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease;
}
.camera-film-toggle:hover{
  background:#fafafa;
}
.camera-film-toggle .film-sim-count{
  position:static;
}
.camera-film-chevron{
  width:8px;
  height:8px;
  justify-self:center;
  border-right:1.5px solid #6e6e73;
  border-bottom:1.5px solid #6e6e73;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .18s ease;
}
.camera-film-toggle.is-open .camera-film-chevron{
  transform:rotate(225deg) translate(-2px,-2px);
}
.camera-film-panel{
  overflow:hidden;
  max-height:1000px;
  opacity:1;
  transition:max-height .24s ease,opacity .18s ease,margin .24s ease,border-width .24s ease;
}
.camera-film-panel.is-collapsed{
  max-height:0!important;
  opacity:0;
  margin:0!important;
  border-width:0!important;
  pointer-events:none;
}
.camera-review-under-film{
  width:100%;
}
.camera-review-under-film #reviews{
  width:100%!important;
  margin:0!important;
}

/* With reviews moved beside the gallery, Quick Specs uses the lower width. */
.camera-product-content{
  display:block!important;
}
.camera-product-content > div{
  width:100%!important;
}
.camera-product-content > aside{
  display:none;
}

@media(max-width:700px){
  .camera-film-side{
    gap:8px;
  }
  .camera-film-toggle{
    min-height:38px;
    border-radius:14px;
    padding:0 12px;
    font-size:12.5px;
  }
}


/* Unified camera + Fujifilm/3rd-party lens product layout */
.unified-product-head .product-main{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;
  align-items:start!important;
  gap:34px!important;
}
.lens-review-side{
  min-width:0;
}
.lens-review-side #reviews{
  width:100%!important;
  margin:0!important;
}

/* Quick Specs stays below the gallery/side card at full width for all products. */
.unified-product-content{
  display:block!important;
}
.unified-product-content > div{
  width:100%!important;
}
.unified-product-content .quick-panel{
  width:100%!important;
}
.unified-product-content .product-lower-aside{
  display:none!important;
}

/* Lens metadata/firmware uses the exact same compact pills as cameras. */
.product-unified-summary{
  margin-bottom:22px;
}
.product-unified-summary .camera-product-meta-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}

@media(max-width:980px){
  .unified-product-head .product-main{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
}
@media(max-width:700px){
  .product-unified-summary{
    margin-bottom:14px;
  }
  .unified-product-head .product-main{
    gap:14px!important;
  }
}


/* Mini Guide: more compact typography */
.mini-guide-defs b,
.mini-guide-terms b,
.mini-guide-defs p,
.mini-guide-terms span,
.mini-guide-terms a{
  font-size:11.5px!important;
}
.mini-guide-defs p,
.mini-guide-terms span,
.mini-guide-terms a{
  line-height:1.4!important;
}

@media(max-width:720px){
  .mini-guide-defs b,
  .mini-guide-terms b,
  .mini-guide-defs p,
  .mini-guide-terms span,
  .mini-guide-terms a{
    font-size:11.5px!important;
  }
  .mini-guide-defs p,
  .mini-guide-terms span,
  .mini-guide-terms a{
    line-height:1.4!important;
  }
}


/* Product gallery: paging only, no lightbox / zoom */
.product-photo{
  cursor:default!important;
  touch-action:pan-y!important;
  user-select:none;
  -webkit-user-select:none;
}
.product-photo img{
  cursor:default!important;
  -webkit-user-drag:none;
}
.product-photo .zoom-hint{
  display:none!important;
}
@media(max-width:700px){
  .product-photo{
    touch-action:pan-y!important;
  }
}


/* Admin-only public language preview indicator */
.language-preview-bar{
  background:#fff8d8;
  border-bottom:1px solid rgba(0,0,0,.06);
  color:#6e5a00;
  font-size:11px;
  font-weight:600;
}
.language-preview-inner{
  min-height:28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.language-preview-inner a{
  color:inherit;
  text-decoration:none;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.65);
}
.language-preview-inner a:hover{background:#fff}
@media(max-width:700px){
  .language-preview-inner{
    min-height:26px;
    font-size:10.5px;
  }
}


/* Fujimeta scrolled-page header fix.
   Freeze the underlying page at its current scroll offset and pin the normal
   FujiDB header to the viewport while Fujimeta is open. This prevents product
   cards from showing through in the header band when Fujimeta is opened after
   scrolling down the homepage. */
body.fujimeta-active{
  position:fixed!important;
  left:0!important;
  right:0!important;
  width:100%!important;
}
body.fujimeta-active .topbar{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:110!important;
}
body.fujimeta-active .fujimeta-shell{
  top:var(--fujidb-header-bottom,56px)!important;
}
