/* GM catalog page v6: only what the store's own classes (design-system, actual-stock, pid8-site) don't cover. */
.gm-stats{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0;padding:0;list-style:none}
.gm-stats li{background:#fff;border:1px solid var(--ds-line);border-radius:12px;padding:8px 14px;display:flex;flex-direction:column;min-width:130px}
.gm-stats b{font:700 20px/1.3 ui-monospace,monospace;color:var(--ds-green);direction:ltr;text-align:start}
.gm-stats span{font-size:12.5px;color:var(--ds-muted)}
.gm-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.gm-chips button{font:inherit;font-size:14px;border:1px solid var(--ds-line);background:#fff;color:var(--ds-green);border-radius:999px;padding:6px 14px;min-height:36px;cursor:pointer}
.gm-chips button:hover{border-color:var(--ds-gold)}
.gm-total{font:700 1.05em ui-monospace,monospace;color:var(--ds-green)}
.gm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gm-grid .stock-photo{height:200px;padding:12px;background:#fff}
.gm-grid .stock-photo img{filter:contrast(1.05)}
.gm-more-wrap{display:flex;justify-content:center;margin-top:24px}
.gm-more-wrap .ds-button{min-width:220px;justify-content:center}
.gm-nodiag{display:grid;justify-items:center;gap:8px;color:var(--ds-muted);font-size:13px;text-align:center}
.gm-nodiag b{font:600 22px/1.2 ui-monospace,monospace;color:var(--ds-gold);direction:ltr}
.gm-en{direction:ltr;text-align:left;color:var(--ds-muted);font-size:13px;margin:0;overflow-wrap:anywhere}
.gm-tags{display:flex;flex-wrap:wrap;gap:6px}
.gm-tags .ds-badge{font-size:12px}
.gm-tag-gold{background:#f6efe0!important;color:#6d5626!important}
.gm-tag-red{background:#fbebeb!important;color:#8a1c12!important}
.gm-veh{font-size:13px;color:var(--ds-muted);margin:0;direction:ltr;text-align:start}
.gm-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:12px;border-top:1px solid var(--ds-line)}
.gm-actions .ds-button{flex:1;justify-content:center;min-height:44px;font-size:14px;padding:8px 12px}
.gm-wa{background:#1f8f4e!important;border-color:#1f8f4e!important;color:#fff!important}
.gm-note{color:var(--ds-muted);font-size:13px;margin:0}
.gm-pad{padding:18px}
.gm-warn{background:#f6efe0;color:#6d5626;border-radius:10px;padding:8px 12px;margin:0 0 8px}

/* ---- part dialog ---- */
html.gm-lock,html.gm-lock body{overflow:hidden}
.gm-modal{position:fixed;inset:0;z-index:1000;background:rgba(9,32,26,.55);display:flex;align-items:center;justify-content:center;padding:20px}
.gm-modal[hidden]{display:none}
.gm-sheet{background:#fbf9f4;width:min(1320px,100%);height:min(94vh,1000px);border-radius:18px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.28)}
.gm-sheet-head{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-bottom:1px solid var(--ds-line)}
.gm-x{flex:none;width:42px;height:42px;border-radius:999px;border:1px solid var(--ds-line);background:#fff;font-size:18px;cursor:pointer;color:var(--ds-green)}
.gm-ttl{flex:1;min-width:0}
.gm-ttl h2{margin:0;font-size:clamp(17px,2vw,24px);line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gm-sub{margin:2px 0 0;display:flex;gap:10px;align-items:center;font-size:12.5px;color:var(--ds-muted);white-space:nowrap;overflow:hidden}
.gm-sub code{font:600 13px ui-monospace,monospace;color:var(--ds-gold);direction:ltr}
.gm-sub-en{direction:ltr;overflow:hidden;text-overflow:ellipsis}
.gm-wa-sm{flex:none;min-height:42px;padding:6px 18px;font-size:14px}
.gm-seg{display:flex;gap:6px;padding:8px 16px 0;background:#fff;border-bottom:1px solid var(--ds-line)}
.gm-seg button{font:inherit;font-size:14px;border:0;background:none;padding:8px 14px;border-bottom:3px solid transparent;cursor:pointer;color:var(--ds-muted)}
.gm-seg button[aria-pressed=true]{color:var(--ds-green);border-bottom-color:var(--ds-gold);font-weight:700}
.gm-pane{flex:1;min-height:0;display:flex;flex-direction:column}
.gm-pane[hidden]{display:none}
.gm-pane-info{overflow:auto;padding:18px;gap:14px}
.gm-pane-info h3{margin:6px 0 0;font-size:18px}
.gm-pane-info .gm-wa{align-self:flex-start;min-height:44px;padding:8px 22px}
.gm-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.gm-fact{background:#fff;border:1px solid var(--ds-line);border-radius:12px;padding:10px 14px}
.gm-fact span{display:block;font-size:12px;color:var(--ds-muted)}
.gm-fact strong{font-size:16px}
.gm-vlist{display:flex;flex-wrap:wrap;gap:8px}
.gm-vlist span{direction:ltr;background:#fff;border:1px solid var(--ds-line);border-radius:999px;padding:4px 12px;font-size:13px}
.gm-tabs{display:flex;gap:8px;overflow-x:auto;padding:10px 16px;flex:none;scrollbar-width:thin}
.gm-tabs button{font:inherit;white-space:normal;min-width:190px;max-width:260px;line-height:1.4;border:1px solid var(--ds-line);background:#fff;border-radius:10px;padding:6px 10px;cursor:pointer;text-align:left}
.gm-tabs button[aria-pressed=true]{border-color:var(--ds-green);box-shadow:inset 0 0 0 1px var(--ds-green)}
.gm-tabs span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;direction:ltr;font-size:12px}
.gm-tabs small{display:block;color:var(--ds-muted);direction:ltr;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gm-holder{flex:1;min-height:0;display:flex;flex-direction:column;padding:0 16px 16px}
.gm-viewer{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:14px}
.gm-stage-wrap{position:relative;min-height:0}
.gm-stage{position:absolute;inset:0;direction:ltr;border:1px solid var(--ds-line);border-radius:14px;background:#fff;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y}
.gm-canvas{position:relative;width:100%}
.gm-canvas img{display:block;width:100%;height:auto;user-select:none}
.gm-mark{position:absolute;transform:translate(-50%,-50%);width:clamp(16px,2.2vw,28px);height:clamp(16px,2.2vw,28px);border-radius:999px;border:1.5px solid rgba(18,61,50,.2);background:rgba(255,255,255,.01);cursor:pointer;padding:0}
.gm-mark:hover{border-color:var(--ds-gold);background:rgba(184,146,74,.12)}
.gm-mark.on{width:clamp(28px,3vw,40px);height:clamp(28px,3vw,40px);border:3px solid #d4381e;background:rgba(212,56,30,.14);box-shadow:0 0 0 6px rgba(212,56,30,.16);animation:gmPulse 1.4s ease-in-out infinite;z-index:2}
@keyframes gmPulse{50%{box-shadow:0 0 0 12px rgba(212,56,30,.05)}}
.gm-pin{position:absolute;z-index:3;transform:translate(26px,-50%);display:flex;align-items:center;gap:8px;max-width:min(260px,70%);background:#fff;border:2px solid #d4381e;border-radius:10px;padding:5px 10px;box-shadow:0 6px 18px rgba(0,0,0,.18);pointer-events:none;direction:rtl;font-size:13.5px;line-height:1.4}
.gm-pin[hidden]{display:none}
.gm-pin b{flex:none;background:#d4381e;color:#fff;border-radius:6px;padding:0 6px;font:700 13px/1.6 ui-monospace,monospace;direction:ltr}
.gm-pin span{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.gm-pin small{flex:none;color:var(--ds-muted)}
.gm-pin.gm-pin-l{transform:translate(calc(-100% - 26px),-50%)}
.gm-pin.gm-pin-up{transform:translate(26px,calc(-100% - 10px))}
.gm-pin.gm-pin-l.gm-pin-up{transform:translate(calc(-100% - 26px),calc(-100% - 10px))}
html.i18n-en .gm-pin{direction:ltr}
.gm-zoom{position:absolute;top:10px;left:10px;display:flex;gap:6px;z-index:4}
.gm-zoom button{font:600 18px/1 inherit;width:40px;height:40px;border-radius:10px;border:1px solid var(--ds-line);background:#fff;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.gm-list{position:relative;min-height:0;overflow:auto;overscroll-behavior:contain;border:1px solid var(--ds-line);border-radius:14px;background:#fff}
.gm-list-head{margin:0;padding:10px 14px;border-bottom:1px solid var(--ds-line);position:sticky;top:0;background:#fff;z-index:1}
.gm-list-head b{display:block;font-size:14px}
.gm-list-head span{display:block;color:var(--ds-muted);font-size:12px}
.gm-row{display:grid;grid-template-columns:40px 1fr;gap:10px;padding:9px 14px;border-bottom:1px solid var(--ds-line);cursor:pointer;align-items:start}
.gm-row:hover,.gm-row.on{background:#f4f1e8}
.gm-row.on{box-shadow:inset -4px 0 0 #d4381e}
html.i18n-en .gm-row.on{box-shadow:inset 4px 0 0 #d4381e}
.gm-row:focus-visible{outline:2px solid var(--ds-gold);outline-offset:-2px}
.gm-row b{font:600 15px/1.6 ui-monospace,monospace;color:var(--ds-gold);text-align:center}
.gm-row span{display:block;font-size:14px}
.gm-row code{font:13px ui-monospace,monospace;color:var(--ds-green);direction:ltr;display:inline-block}
.gm-row small{display:block;color:var(--ds-muted);direction:ltr;text-align:start;font-size:12px}
.gm-open{font-size:13px;color:var(--ds-green);text-decoration:underline;display:inline-block;margin-inline-start:10px;min-height:24px}

@media(max-width:960px){.gm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .gm-grid{grid-template-columns:1fr;gap:20px}
  .gm-stats li{min-width:0;flex:1 1 40%}
  .gm-modal{padding:0;align-items:stretch}
  .gm-sheet{width:100%;height:100%;height:100dvh;border-radius:0}
  .gm-sheet-head{padding:8px 10px;gap:8px}
  .gm-x{width:40px;height:40px}
  .gm-sub-en{display:none}
  .gm-seg{padding:4px 10px 0}
  .gm-tabs{padding:8px 10px}
  .gm-tabs button{min-width:170px}
  .gm-holder{padding:0 8px 8px}
  .gm-viewer{grid-template-columns:1fr;grid-template-rows:minmax(0,58fr) minmax(0,42fr);gap:8px}
  .gm-pin{font-size:12.5px;max-width:200px}
}
