.comparison-library { width:min(560px,calc(100% - 24px)); max-height:85dvh; overflow:auto; padding:24px; border:0; border-radius:20px; background:#fbfcfa; color:#0e291f; }
.comparison-library::backdrop { background:#000b; }
.comparison-library header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.comparison-library h2 { margin:0; font-size:24px; }
.comparison-library label { display:grid; gap:6px; margin-block:12px; }
.comparison-library input,.comparison-library select { width:100%; min-height:44px; }
.comparison-library button { min-height:44px; padding:8px 12px; }
.comparison-library article { display:flex; flex-wrap:wrap; align-items:center; gap:8px; border-top:1px solid #d8ded8; padding-block:12px; }
.comparison-library article [data-select] { flex:1; text-align:left; }
.comparison-library video { width:100%; max-height:45dvh; }
.comparison-library [hidden] { display:none !important; }
.comparison-step { font-size:14px; color:#466052; margin-top:24px; }
.comparison-library h3 { font-size:22px; text-wrap:balance; }
.comparison-choices { display:grid; gap:10px; margin-block:20px; }
.comparison-choices button { width:100%; text-align:left; min-height:52px; border:1px solid #9fab9f; border-radius:12px; background:#fff; color:#0e291f; font-size:17px; }
.comparison-choices button:hover { background:#eaf0e6; }
.comparison-library button:focus-visible { outline:3px solid #32633c; outline-offset:3px; }
.comparison-library article small { flex-basis:100%; color:#466052; }
