/* Owner correction: the raster itself is the hit surface, not surrounding buttons. */
.ma-direct-damage-map { position: relative; max-inline-size: 420px; margin: 8px auto 0; padding-block: 28px; background: #fff; border-radius: 20px; }
.ma-direct-damage-map__canvas { display: block; inline-size: 60%; margin-inline: auto; block-size: auto; aspect-ratio: 1 / 2; touch-action: manipulation; }
.ma-direct-damage-map__canvas image { pointer-events: none; }
.ma-assessment-shell .ma-direct-damage-map__canvas path { fill: transparent; stroke: #14203a30; stroke-width: 1; vector-effect: non-scaling-stroke; cursor: pointer; transition: fill .15s, stroke .15s; pointer-events: all; }
.ma-assessment-shell .ma-direct-damage-map__canvas path[aria-pressed="true"] { fill: #00b8a970; stroke: #006f66; stroke-width: 2; }
.ma-assessment-shell .ma-direct-damage-map__canvas path:focus-visible { outline: none; stroke: #14203a; stroke-width: 3; fill: #00b8a942; }
.ma-direct-damage-map__labels { pointer-events: none; font: 12px Vazirmatn, Tahoma, sans-serif; text-anchor: middle; fill: #14203a; paint-order: stroke; stroke: #ffffffcc; stroke-width: 3; stroke-linejoin: round; }
.ma-damage-selection-status { margin: 8px 0 0; min-block-size: 42px; padding: 10px 12px; border-radius: 12px; background: #eff8f5; color: #176451; font-size: 13px; line-height: 1.9; }
@media (hover:hover) { .ma-assessment-shell .ma-direct-damage-map__canvas path:hover { fill: #00b8a940; stroke: #007c70; } }
@media (prefers-reduced-motion:reduce) { .ma-assessment-shell .ma-direct-damage-map__canvas path { transition: none; } }
.ma-map-affordance { display:flex; align-items:center; gap:7px; flex-wrap:wrap; padding:9px 10px; border-radius:12px; background:#eff8f5; color:#145c50; font-size:12px; }
.ma-map-affordance > span:last-child { margin-inline-start:auto; font-size:10px; }
.ma-map-affordance__sample { display:grid; place-items:center; width:23px; height:23px; background:#fff; border:1px dashed #159f8c; border-radius:50%; font-size:19px; }
.ma-map-side { position:absolute; top:6px; font-size:11px; font-weight:700; color:#58657a; }
.ma-map-side--driver { left:0; } .ma-map-side--passenger { right:0; }
.ma-assessment-shell .ma-map-label, .ma-assessment-shell .ma-map-bumper { position:absolute; display:flex; align-items:center; justify-content:center; gap:5px; padding:5px; min-block-size:44px; border:1px solid #c8ded9; background:#f8fcfb; border-radius:10px; color:#183f39; font:inherit; font-size:11px; cursor:pointer; box-shadow:0 3px 9px #14203a08; }
.ma-map-label { top:var(--map-y); transform:translateY(-50%); width:74px; }
.ma-assessment-shell .ma-map-label { white-space:nowrap; padding:4px; gap:3px; }
.ma-map-label .ma-map-label__mark { width:14px; height:14px; font-size:13px; }
.ma-assessment-shell .ma-map-interior { position:absolute; top:var(--map-y); left:50%; transform:translate(-50%,-50%); display:flex; align-items:center; justify-content:center; gap:4px; min-height:44px; padding:3px 5px; border:1px solid #dae8e480; border-radius:9px; color:#14203a; background:#ffffffdb; font:11px Vazirmatn,Tahoma,sans-serif; cursor:pointer; }
.ma-assessment-shell .ma-map-interior[aria-pressed="true"] { background:#c5f2e6; border-color:#159479; }
.ma-map-label--driver { left:0; } .ma-map-label--passenger { right:0; }
.ma-map-label::after { content:''; position:absolute; width:12px; height:1px; background:#54ad9d; top:50%; }
.ma-map-label--driver::after { right:-12px; } .ma-map-label--passenger::after { left:-12px; }
.ma-map-label__mark { display:inline-grid; place-items:center; flex-shrink:0; width:16px; height:16px; border:1px solid #52ac99; border-radius:50%; background:#fff; color:#16836d; font:15px Arial,sans-serif; }
.ma-map-label__mark::before { content:'+'; }
.ma-assessment-shell .ma-map-label[aria-pressed="true"], .ma-assessment-shell .ma-map-bumper[aria-pressed="true"] { background:#d8f4ea; border-color:#159479; box-shadow:inset 0 0 0 1px #159479; }
[aria-pressed="true"] > .ma-map-label__mark::before { content:'✓'; }
.ma-map-bumper { left:50%; transform:translateX(-50%); width:96px; }
.ma-map-bumper--front { top:0; } .ma-map-bumper--rear { bottom:0; }
.ma-map-clear { display:block; margin-inline-start:auto; padding:6px 0; min-block-size:36px; background:none; border:0; color:#65768a; text-decoration:underline; font:inherit; font-size:11px; cursor:pointer; }
.ma-assessment-shell[data-assessment-step="vehicle"] .ma-vehicle-form { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ma-assessment-shell[data-assessment-step="vehicle"] .ma-damage-selector { grid-column:1 / -1; margin:0; min-width:0; }
.ma-assessment-shell[data-assessment-step="vehicle"] .ma-damage-instruction { display:none; }
.ma-assessment-shell[data-assessment-step="vehicle"] .ma-vehicle-model-trigger { padding:8px; min-block-size:50px; font-size:12px; gap:5px; }
.ma-assessment-shell[data-assessment-step="vehicle"] .ma-vehicle-trigger__icon { width:22px; flex-shrink:0; }
.ma-assessment-shell[data-assessment-step="vehicle"] .ma-segmented-control { min-width:0; padding:8px; }
.ma-assessment-shell[data-assessment-step="vehicle"] .ma-segmented-control legend { font-size:12px; }
.ma-assessment-shell[data-assessment-step="vehicle"] .ma-segmented-control__options button { font-size:11px; }
.ma-assessment-shell[data-assessment-step="vehicle"] .ma-assessment-shell__intro { margin-block:12px; }
.ma-assessment-shell[data-assessment-step="vehicle"] .ma-assessment-stepper { margin-block:10px; }
@media(max-width:380px) { .ma-map-label { width:66px; } .ma-assessment-shell .ma-map-label { font-size:10px; gap:3px; } }
