.pain-gallery{box-sizing:border-box;width:100%;min-width:0;margin-top:4px;padding:30px 30px 40px;background:#f4f4f4;border-radius:20px;display:flex;flex-direction:column;gap:20px}
.pain-gallery-caption{margin:0;min-height:27px;text-align:center;font-size:20px;line-height:1.35}
.pain-gallery-main{width:100%;min-width:0;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:12px;align-items:center}
.pain-gallery-main>.pain-gallery-prev,.pain-gallery-main>.pain-gallery-next{z-index:2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;border:0;border-radius:50%;background:rgba(0,0,0,.2);cursor:pointer}
.pain-gallery-main>.pain-gallery-prev:hover,.pain-gallery-main>.pain-gallery-next:hover{background:rgba(0,0,0,.35)}
.pain-gallery-main>.pain-gallery-prev img,.pain-gallery-main>.pain-gallery-next img{display:block;flex:none}
.pain-gallery-slides{min-width:0}
.pain-gallery-slide[hidden]{display:none!important}
.pain-gallery-shot{aspect-ratio:2640/1258;overflow:hidden;border-radius:10px}
.pain-gallery-shot .pain-visual{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.pain-gallery-shot .pain-visual img{display:block;width:100%;height:auto;max-width:none;margin-top:-9.09%}
.pain-gallery-slide:nth-child(3) .pain-visual img{margin-top:-14%}
.pain-gallery-dots{display:flex;align-items:center;justify-content:center;gap:20px}
.pain-gallery-dots button{position:relative;width:8px;height:8px;padding:0;border:0;border-radius:99px;background:rgba(15,14,14,.15);cursor:pointer;transition:width .28s ease,background-color .28s ease}
.pain-gallery-dots button::after{content:"";position:absolute;inset:-8px}
.pain-gallery-dots button[aria-current="true"]{width:24px;background:rgba(15,14,14,.3)}
.pain-gallery button:focus-visible,.pain-gallery:focus-visible{outline:2px solid #3039cc;outline-offset:4px}
@media(max-width:767px){.pain-gallery{padding:20px 12px 24px;gap:16px}.pain-gallery-caption{font-size:16px}.pain-gallery-main{grid-template-columns:28px minmax(0,1fr) 28px;gap:6px}.pain-gallery-main>.pain-gallery-prev,.pain-gallery-main>.pain-gallery-next{width:28px;height:28px;padding:2px}.pain-gallery-shot{border-radius:6px}}
@media(prefers-reduced-motion:reduce){.pain-gallery-dots button{transition:none}}
