/* Owner-approved portrait video carousel, scoped to the homepage. */
body.home-v3.business-home.home-story #patient-stories{background:#E3F3ED;color:#15364A;padding:40px 32px;overflow:hidden;scroll-margin-top:120px}
#patient-stories .patient-stories-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}
#patient-stories .patient-stories-heading h2{margin:0 0 10px;font-size:30px;color:#15364A}
#patient-stories .patient-stories-heading p{margin:0;max-width:700px;color:#60717A;font-size:15px}
#patient-stories .patient-stories-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:2px;overscroll-behavior-x:contain;scrollbar-width:none;direction:ltr;padding:8px 2px 18px;scroll-behavior:smooth}
#patient-stories .patient-stories-track::-webkit-scrollbar{display:none}
#patient-stories .patient-story{flex:0 0 clamp(200px,calc((100% - 60px)/3.3),280px);min-width:0;scroll-snap-align:start;border:1px solid #DCE5E3;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 4px 12px #15364a05,0 14px 28px #15364a07;transition:transform .22s,box-shadow .22s;text-align:start}
#patient-stories .patient-story-cover{display:block;position:relative;aspect-ratio:9/16;width:100%;padding:0;border:0;border-radius:0;background:#15364A;color:#fff;cursor:pointer;overflow:hidden}
#patient-stories .patient-story-cover img{display:block;width:100%;height:100%;object-fit:cover;-webkit-user-drag:none;user-select:none}
#patient-stories .patient-story-cover:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}
#patient-stories .patient-story-play{position:absolute;inset-inline-start:16px;bottom:16px;z-index:1;display:grid;place-items:center;border-radius:50%;width:44px;height:44px;background:#fff;color:#176B60;font-size:20px}
#patient-stories .patient-story-duration{position:absolute;right:14px;bottom:22px;z-index:1;font-size:12px;font-variant-numeric:tabular-nums;direction:ltr;color:#fff}
#patient-stories .patient-story-copy{padding:18px;min-height:146px}
#patient-stories .patient-story-tag{display:inline-block;background:#E3F3ED;color:#176B60;padding:3px 9px;border-radius:20px;font-size:12px;margin-bottom:10px}
#patient-stories .patient-story-copy h3{margin:0 0 10px;color:#15364A;font-size:16px;line-height:1.6;overflow-wrap:anywhere}
#patient-stories .patient-story-copy p{margin:0;color:#60717A;font-size:12px;overflow-wrap:anywhere}
#patient-stories .patient-stories-controls{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:6px;color:#60717A;font-size:13px}
#patient-stories .patient-stories-buttons{display:flex;align-items:center;gap:10px;direction:ltr;flex-shrink:0}
#patient-stories .patient-stories-buttons button{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid #DCE5E3;border-radius:50%;background:#fff;color:#176B60;font:400 24px/1 Arial;cursor:pointer}
#patient-stories .patient-stories-buttons button:disabled{opacity:.4;cursor:default}
#patient-stories .patient-stories-count{min-width:42px;font-size:12px;font-variant-numeric:tabular-nums}
#patient-stories .patient-stories-note{font-size:12px;color:#60717A;margin:18px 0 0;max-width:900px}
#patient-stories :is(button,a):focus-visible{outline:3px solid #b29b55;outline-offset:3px}
.patient-video-dialog{border:1px solid #DCE5E3;border-radius:16px;padding:20px;background:#fff;color:#15364A;width:min(620px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;box-sizing:border-box}
.patient-video-dialog::backdrop{background:#0b202bd9}
.patient-video-dialog .patient-video-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}
.patient-video-dialog h2{font:600 18px/1.6 Arial,sans-serif;color:#15364A;margin:0}
.patient-video-dialog button{min-width:44px;min-height:44px;border:1px solid #DCE5E3;border-radius:8px;background:#fff;color:#15364A;padding:8px 14px;cursor:pointer}
.patient-video-dialog video{display:block;width:100%;height:min(64dvh,640px);background:#15364A;object-fit:contain;border-radius:8px}
.patient-video-dialog .patient-video-source{font:400 13px/1.7 Arial,sans-serif;color:#60717A;margin:14px 0 0;overflow-wrap:anywhere}
.patient-video-dialog a{color:#176B60}
.patient-video-dialog :is(button,a):focus-visible{outline:3px solid #b29b55;outline-offset:3px}
@media(hover:hover){#patient-stories .patient-story:hover{transform:translateY(-4px);box-shadow:0 6px 18px #176b6010,0 18px 36px #15364a0c}}
@media(max-width:1023px){#patient-stories .patient-story{flex-basis:calc((100% - 40px)/2.4)}}
@media(max-width:600px){body.home-v3.business-home.home-story #patient-stories{padding:28px 20px;scroll-margin-top:72px}#patient-stories .patient-stories-heading{display:block}#patient-stories .patient-stories-heading .patient-stories-buttons{margin-top:16px}#patient-stories .patient-stories-heading h2{font-size:25px}#patient-stories .patient-story{flex-basis:78%;max-width:300px}#patient-stories .patient-stories-track{gap:16px}#patient-stories .patient-stories-controls{align-items:flex-start}#patient-stories .patient-story-copy{min-height:142px;padding:16px}.patient-video-dialog{padding:14px}}
@media(prefers-reduced-motion:reduce){#patient-stories .patient-story{transition:none}#patient-stories .patient-stories-track{scroll-behavior:auto}#patient-stories .patient-story:hover{transform:none}}
