Ответ 1
Вы можете применять тень выборочно, делая выбор цвета на объекте, который вы хотите теневой, создаете тень и затем объединяете ее под оригинальной графикой. Но вы должны сделать это через фильтр SVG-фильтра в CSS Filters - который не работает в IE. (Итак, хакерский, но возможно)
Spec здесь: w3.org/TR/SVG11/filters.html#feColorMatrixElement
Демо-игрушка здесь:
https://beta.observablehq.com/@gitmullany/filter-effects-using-svg-color-matrices
Эта матрица удваивает непрозрачность всех красных значений, выравнивает непрозрачность всего остального, а затем вычитает 1. Эффект заключается только в том, чтобы оставить объекты со 100% непрозрачностью, которые являются rgb (255,0,0)
#mySVG {
filter: url(#selective-shadow);
}
.shadow {
fill: red;
}
<svg>
<defs>
<filter id="selective-shadow">
<feColorMatrix type="matrix" values="0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
2 0 0 0 -1"/>
<feGaussianBlur stdDeviation="3"/>
<feOffset dy="2" dx="2"/>
<feMerge>
<feMergeNode/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
</defs>
</svg>
<svg height="150" width="150" id="mySVG">
<g>
<path d="M0,0 C-72,132 -72,-26 100,100"></path>
</g>
<g class="shadow" >
<circle class="shadow" cx="100" cy="100" r="20"></circle>
</g>
</svg>