.iw-opinie { width: 100%; min-width: 0; color: #000; }
.iw-opinie-track { display: flex; align-items: flex-start; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: thin; padding: 2px 0 12px; }
.iw-opinia { box-sizing: border-box; flex: 0 0 calc((100% - 48px) / 3); min-width: 0; margin: 0; padding: 28px; border: 1px solid #dedede; background: #fff; scroll-snap-align: start; }
.iw-opinia-zdjecie { display: flex; justify-content: center; margin: 0 0 20px; }
.iw-opinia-obraz { display: block; width: auto; max-width: 100%; height: auto; max-height: 320px; object-fit: contain; }
.iw-opinia-tresc { border: 0; padding: 0; margin: 0 0 24px; font: inherit; font-size: 16px; line-height: 1.7; color: inherit; overflow-wrap: anywhere; }
.iw-opinia-tresc::before, .iw-opinia-tresc::after { content: none; }
.iw-opinia-podpis { font-family: 'Cinzel', serif; font-size: 16px; color: inherit; }
.iw-opinie-controls { display: flex; justify-content: flex-end; gap: 12px; margin-top: 12px; }
.iw-opinie-controls button { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: 44px; height: 44px; padding: 0; margin: 0; border: 1px solid #000; border-radius: 0; background: #fff; color: #000; font-size: 24px; cursor: pointer; }
.iw-opinie-controls button:disabled { opacity: .35; cursor: default; }
.iw-opinie-controls button:focus-visible, .iw-opinie-track:focus-visible { outline: 2px solid #000; outline-offset: 2px; }
@media (max-width: 1024px) { .iw-opinia { flex-basis: calc((100% - 24px) / 2); } }
@media (max-width: 767px) { .iw-opinie-track { gap: 16px; } .iw-opinia { flex-basis: 88%; padding: 22px; } }
@media (prefers-reduced-motion: reduce) { .iw-opinie-track { scroll-behavior: auto; } }
