/* Static maker directory. Built by tools/build_manufacturers.py from the management sheet. */
.maker-directory { --md-green:#24473f; }
.md-heading { padding-block:52px 30px; }
.md-heading h1 { margin:0; font-size:clamp(1.9rem,3.6vw,3rem); line-height:1.3; font-weight:750; letter-spacing:-.045em; color:var(--ink); }
.md-heading .lead { margin-top:16px; font-size:1rem; }
.md-info-notice { margin:0 0 18px; font-size:.84rem; line-height:1.75; }
.md-info-notice strong { margin-right:8px; color:var(--ink); }
.fd-hub .md-info-notice { margin-top:20px; }
.md-crumb { display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px; font-size:.86rem; color:#53616c; }
.md-crumb-alt { margin-left:auto; padding:6px 14px; border:1px solid #cdd8d0; border-radius:20px; background:#fff; text-decoration:none !important; font-weight:650; }
.md-crumb-alt:hover { border-color:#24473f; }
.md-crumb a { color:#24473f; font-weight:650; text-decoration:underline; text-underline-offset:3px; }
.md-crumb span[aria-hidden] { color:#9aa5ad; }
#catalog.md-catalog { padding-top:64px; }
.mf-catalog-head { margin-bottom:20px; }
.md-catalog { padding:26px 0 72px; }
.md-catalog-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; align-items:start; }
.md-vehicle-card { min-width:0; border:1px solid #d4ded8; border-radius:14px; overflow:hidden; background:#fff; scroll-margin-top:110px; }
.md-vehicle-top { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:22px 20px 0; background:#f2f5f3; }
.md-vehicle-top h2 { margin:0; font-size:1.15rem; letter-spacing:-.035em; }
.md-vehicle-top>span { background:#e0e9e2; color:#24473f; border-radius:20px; padding:2px 10px; font-size:.75rem; white-space:nowrap; }
.md-vehicle-figure { margin:0; background:#f2f5f3; }
.md-vehicle-figure img { display:block; width:100%; height:190px; object-fit:contain; padding:22px 20px 8px; }
.md-vehicle-figure figcaption { color:#56665e; font-size:.67rem; padding:0 20px 14px; text-align:right; min-height:46px; display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:0 10px; }
.md-vehicle-figure .md-image-solati { object-fit:cover; }
.md-vehicle-figure { overflow:hidden; }
.md-tile-figure { overflow:hidden; }
.md-image-zoom { transform:scale(1.4); }
.md-image-zoom-sm { transform:scale(1.2); }
.md-vehicle-figure .md-image-photo { object-fit:cover; object-position:70% 60%; padding:0; }
.md-image-model { font-weight:650; margin-right:auto; }
.md-vehicle-scope { padding:12px 20px; margin:0; border-bottom:1px solid #e1e7e2; background:#fafbf9; color:#53616c; font-size:.7rem; line-height:1.85; word-break:keep-all; }
.md-vehicle-figure a { display:inline-block; padding:5px 0; text-decoration:underline; text-underline-offset:3px; }
.md-maker-list { list-style:none; margin:0; padding:0; }
.md-maker-list li+li { border-top:1px solid #e1e7e2; }
.md-maker-row { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:92px; padding:19px 20px; transition:background .15s; }
.md-maker-row>span:first-child { min-width:0; }
.md-maker-row strong { display:block; font-size:1rem; font-weight:750; color:#183f35; overflow-wrap:anywhere; }
.md-row-model { display:block; font-size:.8rem; color:#53616c; margin-top:5px; overflow-wrap:anywhere; }
.md-row-arrow { display:grid; place-items:center; flex:0 0 28px; height:28px; border:1px solid #cfdbd3; border-radius:50%; color:#24473f; }
.md-maker-row:hover,.md-maker-row:focus-visible { background:#edf4ee; }
.md-maker-row:focus-visible { outline:3px solid #997027; outline-offset:-3px; }
.md-filters { display:grid; gap:12px; margin-bottom:24px; padding:18px 20px; border:1px solid #d4ded8; border-radius:14px; background:#fafbf9; }
.md-filter { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.md-filter-label { flex:0 0 44px; font-size:.8rem; font-weight:700; color:#24473f; }
.md-filter button { min-height:40px; padding:6px 14px; border:1px solid #cdd8d0; border-radius:20px; background:#fff; font:inherit; font-size:.82rem; color:#183f35; cursor:pointer; }
.md-filter button:hover { background:#edf4ee; }
.md-filter button[aria-pressed="true"] { background:#24473f; border-color:#24473f; color:#fff; }
.md-filter button:focus-visible { outline:3px solid #997027; outline-offset:2px; }
.md-views { display:inline-flex; gap:4px; margin-bottom:14px; padding:4px; border:1px solid #cdd8d0; border-radius:12px; background:#fff; }
.md-views button { min-height:44px; padding:8px 18px; border:0; border-radius:9px; background:transparent; font:inherit; font-size:.9rem; font-weight:650; color:#24473f; cursor:pointer; }
.md-views button[aria-pressed="true"] { background:#24473f; color:#fff; }
.md-views button:focus-visible { outline:3px solid #997027; outline-offset:2px; }
.md-tiles { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.md-tile { display:flex; flex-direction:column; border:1px solid #d4ded8; border-radius:14px; overflow:hidden; background:#fff; color:inherit; transition:box-shadow .15s, transform .15s; }
.md-tile:hover { box-shadow:0 10px 28px #10233614; transform:translateY(-2px); }
.md-tile:focus-visible { outline:3px solid #997027; outline-offset:2px; }
.md-tile-figure { display:block; height:170px; background:#f2f5f3; }
.md-tile-figure img { display:block; width:100%; height:100%; object-fit:contain; padding:18px; }
.md-tile-figure .md-image-solati { object-fit:cover; padding:0; }
.md-tile-figure .md-image-photo { object-fit:cover; object-position:70% 60%; padding:0; }
.md-tile-body { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:16px 18px; }
.md-tile-body strong { font-size:1.05rem; color:#183f35; }
.md-tile-body span { padding:2px 10px; border-radius:20px; background:#e0e9e2; color:#24473f; font-size:.75rem; white-space:nowrap; }
.md-back { margin-bottom:16px; min-height:44px; padding:8px 16px; border:1px solid #cdd8d0; border-radius:8px; background:#fff; font:inherit; font-size:.88rem; color:#24473f; cursor:pointer; }
.md-back:hover { background:#edf4ee; }
.md-catalog-grid.is-single { grid-template-columns:minmax(0,1fr); }
.is-single .md-vehicle-card { display:grid; grid-template-columns:minmax(0,340px) minmax(0,1fr); }
.is-single .md-vehicle-top, .is-single .md-vehicle-figure, .is-single .md-vehicle-scope { grid-column:1; }
.is-single .md-vehicle-top { padding-bottom:0; }
.is-single .md-vehicle-card { grid-template-rows:auto auto 1fr; align-items:start; }
.is-single .md-vehicle-lists { grid-column:2; grid-row:1 / span 3; border-left:1px solid #e1e7e2; }
.is-single .md-vehicle-lists .md-group:first-child .md-group-title { border-top:0; }
.is-single .md-maker-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); }
.is-single .md-maker-list li+li { border-top:0; }
.is-single .md-maker-list li { border-bottom:1px solid #e1e7e2; }
.md-region-note { margin:0 0 16px; font-size:.82rem; color:#53616c; }
.md-region-tiles { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.md-region-tile { display:flex; flex-direction:column; gap:12px; min-height:150px; padding:20px 22px; border-top:4px solid var(--maker-accent,#b9c4bd); border-radius:6px 6px 14px 14px; background:var(--maker-tint,#fafbf9); color:inherit; transition:box-shadow .15s, transform .15s; }
a.md-region-tile:hover { box-shadow:0 10px 28px #10233618; transform:translateY(-2px); }
a.md-region-tile:focus-visible { outline:3px solid #997027; outline-offset:2px; }
.md-region-tile-top { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.md-region-tile-top strong { font-size:1.25rem; letter-spacing:-.035em; color:var(--maker-accent,#64707b); }
.md-region-tile-top span { padding:2px 10px; border-radius:20px; background:#fff; color:var(--maker-accent,#64707b); font-size:.75rem; font-weight:650; white-space:nowrap; }
.md-region-cities { color:#53616c; font-size:.84rem; line-height:1.75; word-break:keep-all; }
.md-region-tile.is-empty { background:#f4f5f4; }
.md-region-tile.is-empty .md-region-cities { color:#7a858e; }
.md-region-section+.md-region-section { margin-top:40px; }
.md-region-head { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; margin-bottom:16px; }
.md-region-head h2 { margin:0; font-size:1.4rem; letter-spacing:-.035em; }
.md-region-head>span { padding:2px 10px; border-radius:20px; background:#e0e9e2; color:#24473f; font-size:.75rem; }
.md-region-head p { flex-basis:100%; margin:0; color:#53616c; font-size:.82rem; }
.md-city-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px 18px; align-items:start; }
.md-city { min-width:0; margin:0; padding:14px 14px 16px; border-top:4px solid var(--maker-accent); border-radius:6px 6px 14px 14px; background:var(--maker-tint); }
.md-city-head { display:flex; align-items:baseline; gap:6px; margin:2px 4px 12px; font-size:1.2rem; letter-spacing:-.035em; color:var(--maker-accent); }
.md-city-head small { font-size:.75rem; font-weight:600; color:#64707b; }
.md-city-head em { margin-left:auto; padding:1px 9px; border-radius:20px; background:#fff; font-style:normal; font-size:.72rem; font-weight:650; color:var(--maker-accent); }
.md-region-makers { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
.md-region-makers li { min-width:0; }
.md-region-maker { position:relative; min-width:0; display:flex; flex-direction:column; gap:4px; padding:13px 44px 14px 16px; border:1px solid #ffffff; border-radius:10px; background:#fff; color:inherit; box-shadow:0 1px 2px #10233612; transition:border-color .15s, box-shadow .15s; }
.md-region-maker:hover { border-color:var(--maker-accent); box-shadow:0 6px 16px #10233614; }
.md-region-maker:focus-visible { outline:3px solid #997027; outline-offset:2px; }
.md-region-place { display:flex; align-items:center; gap:4px; color:var(--maker-accent); font-size:.78rem; font-weight:600; line-height:1.5; }
.md-region-place svg { width:14px; height:14px; flex:0 0 14px; }
.md-region-maker strong { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:1.08rem; font-weight:750; letter-spacing:-.03em; color:#17283a; }
.md-region-kinds { display:flex; flex-wrap:wrap; gap:5px; margin:4px 0 0; padding:0; list-style:none; }
.md-region-kinds li { padding:1px 8px; border-radius:6px; background:#f1f3f3; color:#4e5b67; font-size:.72rem; }
.md-region-maker .md-row-arrow { position:absolute; top:13px; right:12px; }
.md-vehicle-empty, .md-no-model { margin:0; padding:20px; color:#64707b; font-size:.85rem; }
.md-no-model { padding:36px; }
.md-group-featured { background:#fbfaf6; }
.md-group-title { margin:0; padding:14px 20px 4px; font-size:.75rem; font-weight:700; color:#785b24; border-top:1px solid #e1e7e2; }
.md-row-meta { margin-left:auto; padding:2px 8px; border-radius:10px; background:#f1f3f3; color:#4e5b67; font-size:.7rem; white-space:nowrap; }
.md-maker-row { min-height:76px; }
.md-models { min-width:0; }
.md-models .md-model + .md-model { border-top:1px solid #e1e7e2; }
.md-profile-label { margin-top:22px; font-size:.75rem; color:#b6d0bf; }
.md-points { margin:8px 0 0; padding-left:18px; color:#d3dfd9; font-size:.84rem; line-height:1.8; }
.md-points li+li { margin-top:6px; }
.md-contacts a { text-decoration:underline; text-underline-offset:4px; }
.md-specs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 24px; margin:22px 0 0; padding:18px 0 0; border-top:1px solid #e1e7e2; }
.md-specs dt { font-size:.72rem; color:#64707b; margin-bottom:3px; }
.md-specs dd { margin:0; font-size:.83rem; line-height:1.7; overflow-wrap:anywhere; }
.md-more { margin-top:8px; font-size:.86rem; }
.md-more summary { cursor:pointer; color:var(--maker-accent,#24473f); font-weight:650; min-height:32px; display:inline-flex; align-items:center; }
.md-more p { margin-top:8px; }
.md-catalog-note { margin-top:22px; font-size:.73rem; color:#64707b; line-height:1.9; }
.md-dialog-open { overflow:hidden; }
.md-modal { width:min(1060px,calc(100% - 32px)); max-width:none; max-height:calc(100dvh - 48px); padding:0; border:1px solid #cad6ce; border-radius:14px; color:#102336; background:#fff; overflow:auto; box-shadow:0 24px 80px #0004; }
.md-modal::backdrop { background:#102336a6; }
.md-modal:not([open]) { display:none; }
.md-modal-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; position:sticky; top:0; z-index:1; padding:10px 20px; border-bottom:1px solid #d4ded8; background:#fff; }
.md-modal-bar>span { color:#53616c; font-size:.8rem; }
.md-close { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:8px 14px; border:1px solid #cdd8d0; border-radius:6px; background:#f2f5f3; font:inherit; font-size:.85rem; color:#102336; cursor:pointer; }
.md-close span { font-size:1.4rem; line-height:1; }
.md-close:hover { background:#e1e9e3; }
.md-close:focus-visible { outline:3px solid #997027; outline-offset:2px; }
.md-modal .md-maker { border:0; border-radius:0; box-shadow:none; }
.md-detail-page { padding-block:40px 72px; }
.md-back-link { display:inline-block; font-size:.9rem; padding-block:12px; margin-bottom:20px; color:#24473f; text-decoration:underline; text-underline-offset:4px; }
.md-tone-green { --maker-accent:#24473f; --maker-tint:#eef4ee; --maker-panel:#102c2a; }
.md-tone-warm { --maker-accent:#785b24; --maker-tint:#f8f3e8; --maker-panel:#3e3427; }
.md-tone-blue { --maker-accent:#284b6a; --maker-tint:#edf3f8; --maker-panel:#172f45; }
.md-maker { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.45fr); border:1px solid #cdd8d0; border-radius:14px; overflow:hidden; background:#fff; box-shadow:0 8px 24px #10233606; }
.md-maker { scroll-margin-top:108px; }
.md-maker+.md-maker { margin-top:28px; }
.md-maker-profile { padding:38px 32px; background:var(--maker-panel,#102c2a); color:#fff; }
.md-region { display:inline-flex; align-items:center; gap:6px; color:#d6e5d9; font-size:.8rem; }
.md-region svg { width:17px; height:17px; }
.md-maker-profile .md-company-name { margin-top:18px; font-size:1.6rem; line-height:1.45; }
.md-maker-profile>p { color:#d3dfd9; font-size:.91rem; line-height:1.9; margin-top:18px; }
.md-tags { display:flex; flex-wrap:wrap; gap:8px; padding:0; margin-top:24px; list-style:none; }
.md-tags li { padding:5px 9px; background:#ffffff0d; border:1px solid #ffffff33; border-radius:5px; color:#edf3ee; font-size:.72rem; }
.md-contacts { border-top:1px solid #ffffff30; margin-top:30px; padding-top:24px; }
.md-contacts>div+div { margin-top:22px; }
.md-contacts dt { color:#b6d0bf; font-size:.75rem; margin-bottom:5px; }
.md-contacts dd { margin:0; font-size:.88rem; }
.md-phone-links { display:flex; flex-wrap:wrap; gap:6px 18px; }
.md-phone-links a { text-decoration:underline; text-underline-offset:4px; white-space:nowrap; padding-block:4px; }
.md-model { padding:36px; min-width:0; }
.md-model-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.md-model-label { font-size:.75rem; font-weight:650; color:#785b24; }
.md-model .md-model-name { margin:8px 0 0; color:#102336; font-size:1.6rem; line-height:1.4; letter-spacing:-.04em; }
.md-base-label { margin-top:4px; padding:5px 10px; background:#f1f3f3; border-radius:5px; color:#4e5b67; font-size:.73rem; flex-shrink:0; }
.md-model-summary { margin-top:20px; font-size:.91rem; }
.md-model-highlights { list-style:none; margin:26px 0 0; padding:0; border-top:1px solid #e1e7e2; }
.md-model-highlights li { display:grid; grid-template-columns:38px minmax(0,1fr); gap:14px; padding:17px 0; border-bottom:1px solid #e1e7e2; }
.md-feature-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:9px; background:var(--maker-tint,#eaf0e9); color:var(--maker-accent,#24473f); }
.md-feature-icon svg { width:22px; height:22px; }
.md-model .md-feature-title { margin:0 0 4px; font-size:.92rem; font-weight:700; color:#17283a; }
.md-model-highlights p { font-size:.82rem; line-height:1.75; }
.md-model-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px 24px; margin-top:26px; }
.md-model-actions .button { font-size:.85rem; }
.md-video-link { display:inline-flex; align-items:center; flex-wrap:wrap; gap:8px; font-size:.86rem; font-weight:650; min-height:44px; }
.md-video-link:hover { text-decoration:underline; text-underline-offset:4px; }
.md-play { display:grid; place-items:center; width:26px; height:26px; background:#f7eeee; color:#8d3530; font-size:.68rem; border-radius:50%; }
.md-video-creator { font-size:.72rem; font-weight:400; color:#64707b; }
.md-spec-note { margin-top:20px; font-size:.75rem; line-height:1.8; color:#64707b; }
.md-source { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px 16px; padding-top:16px; margin-top:18px; border-top:1px solid #e1e7e2; font-size:.69rem; color:#64707b; }
.md-source a { text-decoration:underline; text-underline-offset:3px; }
@media(max-width:1100px) {
  .md-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .md-region-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .md-city-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .md-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:1000px) {
  .md-maker { grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr); }
  .md-maker-profile { padding:30px 24px; }
  .md-model { padding:28px 24px; }
  .md-model-heading { flex-direction:column; gap:12px; }
}
@media(max-width:760px) {
  .is-single .md-vehicle-card { display:block; }
  .md-tile-figure { height:130px; }
  .md-tile-body { flex-direction:column; align-items:flex-start; gap:6px; padding:12px 14px 14px; }
  .md-tile-body strong { font-size:.98rem; white-space:nowrap; }
  .md-region-tiles { gap:12px; }
  .md-region-tile { min-height:0; padding:18px; }
  .md-region-tile-top { flex-direction:column; align-items:flex-start; gap:6px; }
  .md-region-tile-top strong { font-size:1.1rem; white-space:nowrap; }
  .md-region-cities { font-size:.8rem; }
  .md-city-grid { grid-template-columns:minmax(0,1fr); gap:14px; }
  .md-city { padding:12px 12px 14px; }
  .md-city-head { font-size:1.1rem; margin-bottom:10px; }
  .md-filters { padding:14px; }
  .md-filter-label { flex-basis:100%; }
  .md-specs { grid-template-columns:minmax(0,1fr); }
  .md-heading { padding-block:36px 24px; }
  .md-heading .lead { font-size:.9rem; }
  .md-catalog-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  .md-vehicle-figure img { height:210px; }
  .md-catalog { padding:18px 0 44px; }
  #catalog.md-catalog { padding-top:44px; }
  .md-modal { width:calc(100% - 20px); max-height:calc(100dvh - 24px); border-radius:10px; }
  .md-modal-bar { padding:8px 14px; }
  .md-detail-page { padding-block:24px 44px; }
  .md-maker { grid-template-columns:minmax(0,1fr); }
  .md-maker-profile { padding:28px 24px; }
  .md-maker-profile .md-company-name { margin-top:12px; font-size:1.8rem; }
  .md-contacts { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; margin-top:24px; padding-top:20px; }
  .md-contacts>div+div { margin-top:0; }
  .md-model { padding:28px 24px; }
  .md-model .md-model-name { font-size:1.4rem; }
  .md-model-actions { align-items:stretch; flex-direction:column; gap:12px; }
  .md-model-actions .button { justify-content:center; }
  .md-video-link { justify-content:center; border:1px solid #dce1e3; border-radius:5px; padding:8px 12px; }
}
@media(max-width:380px) {
  .md-tiles { grid-template-columns:minmax(0,1fr); }
  .md-region-tiles { grid-template-columns:minmax(0,1fr); }
  .md-contacts { grid-template-columns:minmax(0,1fr); }
  .md-maker-profile,.md-model { padding:24px 20px; }
}
