.product-grid { align-items: stretch; grid-auto-rows: 1fr; }
.product-card { display: flex; flex-direction: column; height: 100%; }
.product-card .card-body { display: flex; flex: 1; flex-direction: column; }
.product-card h3 { min-height: 5.6em; }
.product-card .tag-row { min-height: 1.65rem; align-items: center; }
.product-card .card-actions { margin-top: auto; }
.product-card > .vehicle-stage.compact { width: 100%; height: auto; aspect-ratio: 4 / 3; }
.product-image { margin: 0; background: #fff; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.product-image.compact { width: 100%; height: auto; aspect-ratio: 4 / 3; }
.product-image img { display: block; width: 100%; height: 100%; max-width: 88%; max-height: 88%; padding: 0; object-fit: contain; object-position: center; }
.product-image.detail { width: 100%; max-width: 600px; height: auto; aspect-ratio: 4 / 3; margin-inline: auto; }
.product-image.detail img { width: min(88%, var(--detail-image-max)); height: min(88%, var(--detail-image-max)); }
.product-image.detail.quality-low img { max-width: min(88%, 300px); max-height: min(88%, 300px); }
.product-image figcaption { position: absolute; left: 12px; bottom: 10px; background: rgba(255,255,255,.9); padding: .2rem .45rem; font-size: .55rem; color: var(--muted); }
.yahoo-credit { grid-column: 1 / -1; margin: 0; }
.yahoo-credit a { text-decoration: underline; }
.offer-list { max-width: var(--max); margin: 0 auto; padding: 35px 24px 90px; }
.offer-list > h2 { margin: .15rem 0 1rem; font: 400 clamp(2.4rem, 4vw, 3.5rem) var(--display); }
.affiliate-notice { max-width: 720px; margin: 0 0 1.5rem; color: var(--muted); font-size: .78rem; }
.affiliate-notice strong { display: inline-block; margin-right: .35rem; padding: .1rem .38rem; border: 1px solid var(--ink); color: var(--ink); font-size: .65rem; }
.offer-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.single-offer .offer-cards { grid-template-columns: minmax(0, 720px); }
.offer-card { position: relative; padding: 1.5rem; border: 1px solid var(--line); background: #fff; }
.offer-card h3 { margin: .8rem 0 1.2rem; font: 500 1.35rem/1.35 var(--display); }
.offer-card .pr-badge, .offer-badge { display: inline-block; margin: 0 .35rem 0 0; vertical-align: middle; }
.offer-badge { padding: .12rem .4rem; background: var(--teal); color: #fff; font-size: .62rem; font-weight: 800; }
.offer-card dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 0 1.25rem; border-top: 1px solid var(--line); }
.offer-card dl div { padding: .75rem 0; border-bottom: 1px solid var(--line); }
.offer-card dl div:nth-child(even) { padding-left: 1rem; border-left: 1px solid var(--line); }
.offer-card dt { color: var(--muted); font-size: .62rem; }
.offer-card dd { margin: .2rem 0 0; font-size: .85rem; font-weight: 800; }
.purchase-cta { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: .45rem; width: 100%; padding: .75rem 1rem; background: var(--ink); border: 1px solid var(--ink); color: #fff; font-size: .78rem; font-weight: 800; }
.purchase-cta:hover { background: var(--teal-dark); border-color: var(--teal-dark); }
.offer-empty > div { max-width: 720px; padding: 2rem; border-left: 4px solid var(--teal); background: #eeece6; }
.offer-empty strong { font: 500 1.25rem var(--display); }
.offer-empty p { margin: .35rem 0 0; color: var(--muted); font-size: .78rem; }
.detail-sections { grid-template-columns: minmax(0, 820px); }
.saved-product-image { width: 72px; height: 72px; object-fit: contain; background: #fff; }
.compare-table .saved-product-image { display: block; width: 120px; height: 90px; margin: 0 auto .75rem; }
.image-quality-review { max-width: 600px; padding: 1rem; background: #ecebe6; }
.image-quality-review > p { font-size: .72rem; color: var(--muted); }
.gallery-thumbnails { display: flex; gap: .6rem; margin-top: .8rem; overflow-x: auto; }
.gallery-thumbnails button { width: 78px; height: 64px; flex: 0 0 auto; padding: .25rem; border: 1px solid var(--line); background: #fff; cursor: pointer; }
.gallery-thumbnails button[aria-current="true"] { border: 2px solid var(--teal); }
.gallery-thumbnails img { width: 100%; height: 100%; object-fit: contain; }
.gallery-open { margin-top: .6rem; border: 0; border-bottom: 1px solid; background: transparent; font-size: .7rem; cursor: pointer; }
.gallery-modal { width: min(760px, calc(100vw - 32px)); border: 0; padding: 2rem; background: #fff; }
.gallery-modal::backdrop { background: rgba(0,0,0,.75); }
.gallery-modal img { display: block; width: 100%; max-height: 75vh; object-fit: contain; }
.gallery-modal button { float: right; margin-bottom: 1rem; }

@media (max-width: 640px) {
  .product-card h3 { min-height: auto; }
  .product-image.detail { max-width: 100%; }
  .offer-list { padding: 25px 16px 70px; }
  .offer-cards { grid-template-columns: 1fr; }
  .offer-card { padding: 1.2rem; }
  .offer-card dl { grid-template-columns: 1fr; }
  .offer-card dl div:nth-child(even) { padding-left: 0; border-left: 0; }
  .garage-list article { grid-template-columns: 42px 64px 1fr; }
  .garage-list article button { grid-column: 3; }
  .saved-product-image { width: 64px; height: 64px; }
}

.catalog-search-bar{display:flex;align-items:end;gap:1rem;margin-bottom:1rem}.catalog-search-bar form{flex:1}.catalog-search-bar form>label{display:block;margin-bottom:.35rem;font-size:.68rem;font-weight:800}.catalog-search-bar form>div{display:grid;grid-template-columns:minmax(180px,1fr) auto auto}.catalog-search-bar input,.catalog-filter-panel select,.catalog-sort select{min-height:48px;border:1px solid var(--line);background:#fff;padding:.65rem .8rem}.catalog-search-bar input{width:100%}.catalog-search-bar .button{white-space:nowrap}.filter-drawer-button{display:none;min-height:48px;border:1px solid var(--ink);background:#fff;padding:.65rem 1rem;font-weight:800}.filter-drawer-button span{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:.35rem;border-radius:50%;background:var(--teal);color:#fff}.catalog-discovery-controls{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:start}.catalog-filter-panel{grid-column:1/-1;padding:1.2rem;background:#ecebe6}.catalog-filter-panel form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.catalog-filter-panel label,.catalog-sort label{font-size:.64rem;font-weight:800}.catalog-filter-panel select,.catalog-sort select{display:block;width:100%;margin-top:.3rem}.catalog-filter-panel .filter-actions{grid-column:1/-1;display:flex;align-items:center;gap:1rem}.filter-drawer-head{display:none}.catalog-sort{grid-column:2;margin-bottom:.5rem}.catalog-sort select{min-width:210px}.catalog-pagination{display:flex;justify-content:center;gap:.4rem;margin-top:2.2rem}.catalog-pagination a{display:inline-grid;place-items:center;min-width:46px;min-height:46px;border:1px solid var(--line);background:#fff;font-weight:800}.catalog-pagination a[aria-current=page]{background:var(--teal-dark);color:#fff}.catalog-pagination a[aria-disabled=true]{opacity:.4;pointer-events:none}.catalog-index-error,.catalog-noscript{padding:1rem;border-left:4px solid var(--copper);background:#fff}.results .result-head:focus{outline:none}
.catalog-search-bar form>small{display:block;margin-top:.4rem;color:var(--muted);font-size:.63rem}.jan-search-announcement{margin:.25rem 0 1rem;padding:.65rem .85rem;border-left:3px solid var(--teal);background:#edf2ef;color:var(--teal);font-size:.72rem;font-weight:800}.jan-search-state{padding-block:48px}
@media(max-width:640px){.catalog-search-bar{display:grid;grid-template-columns:1fr auto;align-items:end}.catalog-search-bar form{grid-column:1/-1}.catalog-search-bar form>div{grid-template-columns:1fr auto}.catalog-search-bar [data-search-clear]{grid-column:1/-1}.filter-drawer-button{display:block;grid-column:1/-1;width:100%}.catalog-discovery-controls{display:block}.catalog-filter-panel{position:fixed;z-index:90;inset:0;display:none;overflow-y:auto;padding:1rem;background:var(--paper)}.catalog-filter-panel.open{display:block}.filter-drawer-head{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;margin:-1rem -1rem 1rem;padding:1rem;background:var(--paper);border-bottom:1px solid var(--line)}.filter-drawer-head strong{font:500 1.5rem var(--display)}.filter-drawer-head button{min-width:48px;min-height:48px;border:1px solid var(--line);background:#fff;font-size:1.5rem}.catalog-filter-panel form{grid-template-columns:1fr}.catalog-filter-panel .filter-actions{position:sticky;bottom:0;display:grid;grid-template-columns:1fr auto;padding:1rem 0;background:var(--paper)}.catalog-sort{margin-bottom:1rem}.catalog-sort select{min-width:0}.catalog-pagination{flex-wrap:wrap}.catalog-pagination a{min-width:44px;min-height:44px}}

/* Collection / My Garage v1 */
[data-collection-count],[data-collection-owned-count],[data-collection-wanted-count]{display:inline-block;min-width:1ch;font-variant-numeric:tabular-nums}
.collection-trigger{min-height:44px;border:1px solid var(--line);background:#fff;padding:.52rem .72rem;color:var(--ink);font-size:.66rem;font-weight:800;cursor:pointer;white-space:nowrap}
.collection-trigger[data-collection-state=owned]{border-color:var(--teal-dark);background:var(--teal-dark);color:#fff}
.collection-trigger[data-collection-state=wanted]{border-color:#8a512b;background:#fff6ee;color:#713f20}
.collection-trigger[data-collection-state=interested]{border-color:var(--teal);background:#edf5f2;color:var(--teal-dark)}
.collection-trigger:disabled{opacity:.45;cursor:not-allowed}
.home-collection-trigger{width:calc(100% - 2rem);margin:0 1rem 1rem}
.collection-inline-note{margin:.65rem 0 0;color:var(--muted);font-size:.68rem}
.collection-dialog{width:min(460px,calc(100vw - 32px));padding:0;border:0;background:#fff;color:var(--ink);box-shadow:0 24px 80px rgba(0,0,0,.3)}
.collection-dialog::backdrop{background:rgba(14,20,18,.72)}
.collection-dialog form{padding:1.35rem}
.collection-dialog header{display:flex;align-items:start;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:1rem}
.collection-dialog h2{margin:.1rem 0;font:500 1.65rem var(--display)}
.collection-dialog header button{min-width:44px;min-height:44px;border:1px solid var(--line);background:#fff;font-size:1.4rem;cursor:pointer}
.collection-state-options{display:grid;gap:.65rem;padding:1rem 0}
.collection-state-options button{min-height:48px;border:1px solid var(--line);background:#fff;text-align:left;padding:.7rem 1rem;font-weight:800;cursor:pointer}
.collection-state-options button[aria-pressed=true]{border:2px solid var(--teal-dark);background:#edf5f2}
.collection-state-options .collection-remove{color:#873b30}
.collection-dialog form>p{margin:.2rem 0 0;color:var(--muted);font-size:.7rem}
.collection-garage{max-width:var(--max)}
.collection-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(230px,1.5fr);margin-bottom:1.5rem;border:1px solid var(--line);background:#fff}
.collection-summary article{min-height:115px;padding:1.2rem;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}
.collection-summary article:last-child{border-right:0}
.collection-summary span{font:500 2.4rem var(--display)}
.collection-summary strong{font:500 1.35rem var(--display)}
.collection-summary p{margin:.2rem 0 0;color:var(--muted);font-size:.63rem}
.collection-tabs{display:flex;gap:.45rem;overflow-x:auto;padding:.25rem 0 1rem}
.collection-tabs button{min-height:44px;padding:.55rem 1rem;border:1px solid var(--line);background:#fff;font-size:.7rem;font-weight:800;white-space:nowrap;cursor:pointer}
.collection-tabs button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.collection-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;padding:1.2rem;background:#ecebe6}
.collection-controls label{font-size:.62rem;font-weight:800}
.collection-controls input,.collection-controls select,.collection-tool-buttons select{display:block;width:100%;min-height:46px;margin-top:.3rem;border:1px solid var(--line);background:#fff;padding:.55rem .7rem;color:var(--ink)}
.collection-controls .button{align-self:end}
.collection-price-note{margin:.65rem 0 2rem;color:var(--muted);font-size:.66rem}
.garage-section-head{display:flex;align-items:end;justify-content:space-between;margin:2rem 0 1rem}
.garage-section-head h2{margin:.1rem 0;font:500 2rem var(--display)}
.collection-list{display:grid;gap:.8rem}
.garage-item{display:grid;grid-template-columns:146px minmax(0,1fr) auto;align-items:center;gap:1.2rem;padding:1rem;border:1px solid var(--line);background:#fff}
.garage-item>img,.garage-image-placeholder{width:146px;height:110px;object-fit:contain;background:#f0efeb}
.garage-image-placeholder{display:grid;place-items:center;color:var(--muted);font-size:.58rem;font-weight:800}
.garage-item>div>p{margin:0;color:var(--teal);font-size:.62rem;font-weight:800}
.garage-item h2{margin:.2rem 0 .6rem;font:500 1.25rem/1.35 var(--display)}
.garage-item dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:.5rem 0}
.garage-item dl div{padding:.4rem .7rem;border-left:1px solid var(--line)}
.garage-item dl div:first-child{padding-left:0;border-left:0}
.garage-item dt{color:var(--muted);font-size:.55rem}.garage-item dd{margin:.15rem 0 0;font-size:.68rem;font-weight:800}
.garage-no-offer{color:var(--muted);font-size:.67rem}
.collection-progress ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.collection-progress li{display:grid;grid-template-columns:1fr auto;gap:.3rem .8rem;padding:.85rem 1rem;border:1px solid var(--line);background:#fff;font-size:.72rem}
.collection-progress progress{grid-column:1/-1;width:100%;accent-color:var(--teal)}
.collection-breakdown{margin-top:1.5rem;border:1px solid var(--line);background:#fff}
.collection-breakdown summary{min-height:48px;padding:.8rem 1rem;font-size:.72rem;font-weight:800;cursor:pointer}
.collection-breakdown>[data-collection-aggregation]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1rem;border-top:1px solid var(--line)}
.collection-breakdown h3{margin:0 0 .5rem;font:500 1.2rem var(--display)}
.collection-breakdown ul{list-style:none;margin:0;padding:0}.collection-breakdown li{display:grid;grid-template-columns:1fr auto;padding:.45rem 0;border-top:1px solid var(--line);font-size:.68rem}.collection-breakdown li small{grid-column:1/-1;color:var(--muted)}
.collection-data-tools{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem;align-items:center;margin-top:3rem;padding:1.4rem;background:#ecebe6}
.collection-data-tools h2{margin:.1rem 0;font:500 2rem var(--display)}
.collection-data-tools p:not(.kicker){color:var(--muted);font-size:.72rem}
.collection-tool-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.collection-import-label{position:relative;overflow:hidden}
.collection-import-label input{position:absolute;inline-size:1px;block-size:1px;opacity:0}
.collection-tool-buttons .danger{grid-column:1/-1;color:#873b30}
@media(max-width:800px){.collection-summary{grid-template-columns:repeat(2,1fr)}.collection-summary article{border-bottom:1px solid var(--line)}.collection-summary .collection-rate{grid-column:1/-1}.collection-controls{grid-template-columns:repeat(2,1fr)}.garage-item{grid-template-columns:110px 1fr}.garage-item>img,.garage-image-placeholder{width:110px;height:90px}.garage-item>.collection-trigger{grid-column:2;justify-self:start}.garage-item dl{grid-template-columns:1fr 1fr}.collection-data-tools{grid-template-columns:1fr}}
@media(max-width:640px){.collection-garage{padding:42px 16px 80px}.collection-summary article{min-height:92px;padding:1rem}.collection-summary span{font-size:2rem}.collection-tabs{margin-inline:-16px;padding-inline:16px}.collection-controls{grid-template-columns:1fr}.garage-item{grid-template-columns:82px minmax(0,1fr);gap:.8rem;padding:.8rem}.garage-item>img,.garage-image-placeholder{width:82px;height:70px}.garage-item h2{font-size:1.05rem}.garage-item dl{grid-column:1/-1}.garage-item>.collection-trigger{grid-column:1/-1;width:100%}.collection-progress ul{grid-template-columns:1fr}.collection-breakdown>[data-collection-aggregation]{grid-template-columns:1fr}.collection-tool-buttons{grid-template-columns:1fr}.collection-data-tools{padding:1rem}.collection-tool-buttons .danger{grid-column:1}.collection-dialog form{padding:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.product-card,.collection-dialog{transition:none!important}}

/* Barcode Scan v1 */
.barcode-open-button{align-self:end;min-height:48px;padding:0 18px;border:1px solid var(--ink,#172019);background:#fff;color:var(--ink,#172019);font:inherit;font-weight:700;white-space:nowrap;cursor:pointer}
.barcode-open-button span{font-size:1.2em;margin-right:6px}
.barcode-scanner{width:min(620px,calc(100% - 32px));max-height:min(860px,calc(100dvh - 32px));padding:0;border:0;background:transparent;color:var(--ink,#172019)}
.barcode-scanner::backdrop{background:rgba(9,20,16,.78);backdrop-filter:blur(5px)}
.barcode-scanner-panel{overflow:auto;max-height:min(860px,calc(100dvh - 32px));padding:24px;background:#f8f7f2;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.28)}
.barcode-scanner-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}
.barcode-scanner-panel>header h2{margin:2px 0 0;font-size:clamp(1.55rem,4vw,2.2rem)}
.barcode-scanner-panel>header .kicker{margin:0}
.barcode-scanner-panel>header button{width:44px;height:44px;border:1px solid #ccd1cc;background:#fff;font-size:1.6rem;line-height:1;cursor:pointer}
.barcode-session{margin:0 0 12px;padding:8px 12px;background:#e7efea;border-left:3px solid #214f40}
.barcode-camera{position:relative;overflow:hidden;aspect-ratio:4/3;background:#0b100e;border-radius:10px}
.barcode-camera video{display:block;width:100%;height:100%;object-fit:cover}
.barcode-guide{position:absolute;inset:18%;display:grid;place-items:center;border:2px solid rgba(255,255,255,.9);border-radius:8px;box-shadow:0 0 0 999px rgba(0,0,0,.18)}
.barcode-guide span{display:block;width:80%;height:2px;background:#d86d51;box-shadow:0 0 12px #d86d51}
.barcode-scanner [data-barcode-view]>p{line-height:1.65}
.barcode-scanner label,.provisional-edit-dialog label{display:block;margin-top:12px;font-size:.72rem;font-weight:700}.barcode-scanner input,.barcode-scanner textarea,.provisional-edit-dialog input,.provisional-edit-dialog textarea{display:block;width:100%;min-height:46px;margin-top:5px;padding:10px 12px;border:1px solid #c9cec9;background:#fff;color:inherit;font:inherit}.barcode-scanner textarea,.provisional-edit-dialog textarea{min-height:86px;resize:vertical}.provisional-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.provisional-badge{display:inline-flex!important;width:max-content;padding:4px 8px;border:1px solid #a7b1a9;border-radius:999px;background:#eef1ed;color:#34453a;font-size:.62rem;font-weight:800;letter-spacing:.08em}.provisional-name-label{margin-top:18px!important;font-size:.82rem!important}.provisional-name-label>span,.provisional-optional summary span,.provisional-edit-dialog label span{margin-left:5px;color:#7c3f2e;font-size:.62rem}.provisional-jan-label input{background:#f0f0eb}.provisional-optional{margin-top:16px;padding:12px;border:1px solid #d8dcd7;background:#fff}.provisional-optional summary,.provisional-edit-dialog summary{cursor:pointer;font-weight:800}.barcode-jan{padding:12px 14px;background:#fff;border:1px solid #dde1dc}.barcode-text-action{display:inline-flex;margin-top:14px;padding:6px 0;border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}.contribution-privacy{padding:10px 12px;background:#eef1ed;font-size:.78rem}.contribution-prefill{display:grid;gap:6px;margin:14px 0;padding:12px;background:#fff;border:1px solid #dde1dc}.contribution-prefill p{display:grid;grid-template-columns:70px 1fr;gap:10px;margin:0}.contribution-prefill span{color:#69716c;font-size:.68rem}.provisional-placeholder{display:grid!important;place-content:center;gap:4px;text-align:center;background:linear-gradient(145deg,#fafafa,#eceeea)!important;color:#68736b}.provisional-placeholder span{font-size:.55rem;letter-spacing:.15em}.provisional-placeholder strong{font:500 1rem var(--display)}.provisional-garage-item{border-style:dashed}.provisional-garage-item h2{font-style:normal}.provisional-garage-item [data-provisional-remove]{color:#8b2d2d}.garage-provisional-section{grid-column:1/-1;display:grid;grid-template-columns:inherit;gap:inherit}.garage-provisional-section>header{grid-column:1/-1;padding:18px 20px;border-left:3px solid #49695c;background:#eef1ed}.garage-provisional-section>header h2{margin:.15rem 0 .3rem;font-size:1.4rem}.garage-provisional-section>header h2 span{font:700 .7rem sans-serif}.garage-provisional-section>header p:last-child{margin:0;color:#59635d}.provisional-edit-dialog{width:min(620px,calc(100% - 32px));padding:24px;border:0;border-radius:16px;background:#f8f7f2}.provisional-edit-dialog::backdrop{background:rgba(9,20,16,.72)}.provisional-edit-dialog header{display:flex;justify-content:space-between;gap:16px}.provisional-edit-dialog header button{width:44px;height:44px;border:1px solid #ccd1cc;background:#fff;font-size:1.5rem}.provisional-edit-dialog h2{margin:.15rem 0}
.barcode-product{display:grid;grid-template-columns:minmax(120px,42%) 1fr;gap:20px;align-items:center;margin:12px 0 16px;padding:16px;background:#fff;border:1px solid #dfe2dd}
.barcode-product-image{display:grid;place-items:center;aspect-ratio:1;background:#fff}
.barcode-product img{max-width:100%;max-height:180px;object-fit:contain}
.barcode-product h3{margin:6px 0;font-size:1.25rem;line-height:1.4}
.barcode-product p{margin:4px 0;color:#57615a}
.barcode-primary-actions,.barcode-secondary-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.barcode-primary-actions>*{flex:1 1 180px;min-height:48px;text-align:center}
.barcode-secondary-actions{align-items:center;justify-content:space-between}
.barcode-secondary-actions button{border:0;background:transparent;text-decoration:underline;cursor:pointer;font:inherit}
.barcode-state-icon{display:grid;place-items:center;width:54px;height:54px;margin:14px 0;border-radius:50%;background:#e7efea;font-size:1.6rem}
body.barcode-open{overflow:hidden}

@media(max-width:767px){
  .provisional-grid{grid-template-columns:1fr}
  .barcode-primary-actions{flex-direction:column}.barcode-primary-actions>*{flex-basis:auto;width:100%}
  .garage-provisional-section{display:block}.garage-provisional-section>.garage-item{margin-top:12px}
  .provisional-edit-dialog{position:fixed;inset:0;width:100%;max-width:none;max-height:100dvh;margin:0;padding:max(18px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom));border-radius:0}
  .catalog-search-bar{grid-template-columns:1fr}
  .barcode-open-button{width:100%}
  .barcode-scanner{position:fixed;inset:0;width:100%;max-width:none;max-height:100dvh;margin:0}
  .barcode-scanner-panel{min-height:100dvh;max-height:100dvh;padding:max(18px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom));border-radius:0}
  .barcode-camera{aspect-ratio:3/4;max-height:52dvh}
  .barcode-product{grid-template-columns:112px 1fr;gap:14px;padding:12px}
  body.barcode-open .mobile-bottom-nav{visibility:hidden}
}

@media(orientation:landscape) and (max-height:520px){
  .barcode-scanner-panel{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);gap:16px}
  .barcode-scanner-panel>header,.barcode-session{grid-column:1/-1;margin-bottom:0}
  .barcode-camera{aspect-ratio:16/9;max-height:58vh}
}
