/* Shared reel component, scoped to the homepage and personal training scrollers. */
body.df-wordpress-site .social-reels{padding:75px var(--space) 100px;background:#080808;overflow:hidden;border-top:1px solid #221c21}
body.df-wordpress-site .social-reels .video-heading h2{font-size:clamp(28px,3.6vw,51px);line-height:1.12}
body.df-wordpress-site .social-reels .video-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}
body.df-wordpress-site .social-reels .video-controls{display:flex;gap:10px;flex-shrink:0}
body.df-wordpress-site .social-reels .video-card{position:relative;overflow:hidden;border:1px solid #62303d;background:#171214;isolation:isolate}
body.df-wordpress-site .social-reels .video-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
body.df-wordpress-site .social-reels .reel-open{position:absolute;inset:0;width:100%;border:0;color:#fff;text-align:left;display:flex;gap:10px}
body.df-wordpress-site .social-reels .play-icon{display:grid;place-items:center;flex-shrink:0;border-radius:50%;border:1px solid #ffffff70}
body.df-wordpress-site .social-reels .reel-progress{position:absolute;left:18px;right:18px;bottom:12px;height:2px;background:#ffffff30;pointer-events:none}
body.df-wordpress-site .social-reels .reel-progress span{display:block;width:var(--progress,0%);height:100%;background:#ff3459}
body.df-wordpress-site .social-reels .round-button,body.df-wordpress-site .social-reels .rail-pause{display:grid;place-items:center;border:1px solid #7b6a75;border-radius:50%;background:#090909bb;color:#fff;width:40px;height:40px;min-width:40px;padding:0;font-size:19px;cursor:pointer}
body.df-wordpress-site .social-reels .rail-pause{font-size:13px}
body.df-wordpress-site .social-reels .video-controls button:hover,body.df-wordpress-site .social-reels .video-controls button:focus-visible{border-color:#ff526e;background:#30141f}
body.df-wordpress-site .social-reels .video-controls button:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:760px){body.df-wordpress-site .social-reels{padding:58px 24px 65px}}
body.df-wordpress-site .video-dialog{inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:0;border:0;border-radius:0;background:#000;overflow:hidden;color:#fff;overscroll-behavior:none}
body.df-wordpress-site .video-dialog::backdrop{background:#000e;backdrop-filter:blur(10px)}
body.df-wordpress-site .viewer-feed{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior:contain;touch-action:pan-y;outline:none}
body.df-wordpress-site .viewer-feed::-webkit-scrollbar{display:none}
body.df-wordpress-site .viewer-slide{height:100%;width:100%;position:relative;scroll-snap-align:start;scroll-snap-stop:always;display:block;overflow:hidden;background:#000}
body.df-wordpress-site .video-dialog .viewer-slide video{position:absolute;inset:0;min-width:0;min-height:0;display:block;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:contain;background:#000;border-radius:0;touch-action:pan-y}
body.df-wordpress-site .viewer-button{display:grid;place-items:center;width:46px;height:46px;border:1px solid #ffffff60;border-radius:50%;background:#0b090ba6;backdrop-filter:blur(10px);color:#fff;font-size:22px;line-height:1;padding:0;transition:background .2s,border-color .2s,box-shadow .2s;cursor:pointer}
body.df-wordpress-site .viewer-button:hover,body.df-wordpress-site .viewer-button:focus-visible{background:#30141f;border-color:#ff6986;box-shadow:inset 0 0 14px #ed183d40}
body.df-wordpress-site .viewer-button:focus-visible{outline:2px solid #fff;outline-offset:3px}
body.df-wordpress-site .video-dialog #video-close{position:absolute;z-index:4;top:max(20px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));width:46px;height:46px;font-size:31px}
body.df-wordpress-site .viewer-navigation{position:absolute;z-index:3;right:max(20px,env(safe-area-inset-right));top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:12px}
body.df-wordpress-site .viewer-bottom{position:absolute;z-index:3;left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));display:flex;gap:14px;align-items:center;pointer-events:none}
body.df-wordpress-site .viewer-bottom>*{pointer-events:auto}body.df-wordpress-site .viewer-counter{font-size:11px;font-weight:700;letter-spacing:.12em;min-width:44px;text-shadow:0 1px 4px #000}
body.df-wordpress-site .viewer-seek{flex:1;min-width:0;accent-color:#ed183d;height:20px;cursor:pointer;background:transparent}
body.df-wordpress-site .viewer-bottom .viewer-button{width:40px;height:40px;flex-shrink:0;font-size:18px}body.df-wordpress-site .viewer-button svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
body.df-wordpress-site #viewer-mute .sound-off{display:none}body.df-wordpress-site #viewer-mute[aria-pressed="true"] .sound-on{display:none}body.df-wordpress-site #viewer-mute[aria-pressed="true"] .sound-off{display:block}
@media(max-width:600px){body.df-wordpress-site .video-dialog #video-close{top:max(15px,env(safe-area-inset-top));right:15px;width:40px;height:40px}body.df-wordpress-site .viewer-navigation{right:15px;gap:10px}body.df-wordpress-site .viewer-navigation .viewer-button{width:36px;height:36px;font-size:18px}body.df-wordpress-site .viewer-bottom{left:16px;right:16px;gap:9px;bottom:max(15px,env(safe-area-inset-bottom))}body.df-wordpress-site .viewer-counter{font-size:10px;min-width:35px}body.df-wordpress-site .viewer-bottom .viewer-button{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){body.df-wordpress-site .viewer-feed{scroll-behavior:auto}body.df-wordpress-site .viewer-button{transition:none}}

/* One featured reel, followed by the next videos in playback order. */
body.df-wordpress-site .social-reels .video-rail{display:grid;--reel-feature-width:clamp(250px,27vw,340px);--reel-gap:18px;--reel-spacer:10px;grid-template-columns:var(--reel-feature-width) var(--reel-spacer) repeat(var(--reel-columns,4),calc((100% - var(--reel-feature-width) - var(--reel-spacer) - var(--reel-gap)*5)/4));grid-template-rows:1fr auto;gap:18px;overflow-x:clip;overflow-y:visible;padding:8px 1px 14px;scroll-snap-type:none;isolation:isolate}
body.df-wordpress-site .social-reels .video-card{width:100%;min-width:0;aspect-ratio:9/16;grid-row:2;align-self:end;border-radius:14px;transform-origin:top left;transition:border-color .3s,box-shadow .3s}
body.df-wordpress-site .social-reels .video-card.is-featured{grid-column:1!important;grid-row:1/3;border-color:#b62c47;box-shadow:inset 0 0 20px #ed183d13;z-index:2}
body.df-wordpress-site .social-reels .video-card.is-playing{border-color:#ed183d;box-shadow:0 0 26px #ed183d13}
body.df-wordpress-site .reel-feature-copy{grid-column:3/7;grid-row:1;align-self:stretch;display:flex;flex-direction:column;align-items:flex-start;padding:22px 0 0;min-width:0}
body.df-wordpress-site .reel-eyebrow{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#ed183d;margin-bottom:19px}
body.df-wordpress-site .reel-feature-copy h3{font-size:clamp(25px,3vw,40px);font-weight:800;letter-spacing:-.045em;line-height:1.12;text-transform:uppercase;max-width:650px}
body.df-wordpress-site .reel-feature-copy p{font-size:clamp(13px,1.25vw,16px);line-height:1.7;color:#c4bdc1;max-width:580px;margin:18px 0 28px}
body.df-wordpress-site .reel-upcoming{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#a69ca2;margin-top:auto;padding-bottom:4px}
body.df-wordpress-site .social-reels .reel-open{padding:18px;background:linear-gradient(0deg,#000c,transparent 48%);align-items:flex-start;justify-content:flex-end;cursor:pointer}
body.df-wordpress-site .social-reels .reel-open:focus-visible{outline:2px solid #fff;outline-offset:-5px;border-radius:13px}
body.df-wordpress-site .social-reels .reel-open .play-icon{width:30px;height:30px;font-size:14px;background:#09070980;border-color:#ffffff6b}
body.df-wordpress-site .social-reels .reel-open-label{display:none}
body.df-wordpress-site .social-reels .is-featured .reel-open{align-items:flex-end;justify-content:space-between;padding:22px 22px 28px}
body.df-wordpress-site .social-reels .is-featured .reel-open-label{display:block;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;align-self:center;margin-top:auto;margin-bottom:10px}
body.df-wordpress-site .social-reels .is-featured .reel-open .play-icon{width:42px;height:42px;font-size:20px}
body.df-wordpress-site .reel-caption{position:absolute;left:14px;right:14px;bottom:20px;pointer-events:none;z-index:1;text-shadow:0 1px 8px #0008}
body.df-wordpress-site .reel-caption h3{font-size:11px;font-weight:700;line-height:1.4;color:#fff}
body.df-wordpress-site .reel-caption p{display:none}
body.df-wordpress-site .social-reels .is-featured .reel-caption{display:none}
body.df-wordpress-site .social-reels .video-card:not(.is-featured) .reel-progress{display:none}
/* The expanded feed keeps each video's copy on the video, above playback controls. */
body.df-wordpress-site .viewer-slide:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}
body.df-wordpress-site .viewer-caption{position:absolute;z-index:2;left:max(24px,calc((100vw - 56.25dvh)/2 + 24px));right:max(24px,calc((100vw - 56.25dvh)/2 + 24px));bottom:calc(max(22px,env(safe-area-inset-bottom)) + 62px);pointer-events:none;text-shadow:0 2px 12px #000a}
body.df-wordpress-site .viewer-caption h3{font-size:clamp(19px,2.3vw,26px);line-height:1.2;letter-spacing:-.025em;font-weight:800;margin:0 0 10px}
body.df-wordpress-site .viewer-caption p{font-size:13px;line-height:1.6;color:#f1edef;max-width:520px;margin:0}
body.df-wordpress-site .viewer-bottom{left:max(24px,calc((100vw - 56.25dvh)/2 + 24px));right:max(24px,calc((100vw - 56.25dvh)/2 + 24px))}
body.df-wordpress-site .viewer-scroll-hint{position:absolute;z-index:5;left:50%;top:40%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:10px;padding:22px 30px 18px;border:1px solid #ffffff36;border-radius:22px;background:#0d0b11a8;backdrop-filter:blur(8px);pointer-events:none;opacity:0}
body.df-wordpress-site .viewer-scroll-hint[hidden]{display:none}
body.df-wordpress-site .viewer-scroll-hint.is-visible{animation:scroll-hint-fade 4.8s ease both}
body.df-wordpress-site .viewer-scroll-hint svg{width:58px;height:82px;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
body.df-wordpress-site .viewer-scroll-hint .hint-guide{stroke:#ff3459;opacity:.9}
body.df-wordpress-site .viewer-scroll-hint span{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
body.df-wordpress-site .viewer-scroll-hint .hint-finger{animation:scroll-hint-finger 1.4s ease-in-out infinite}
@keyframes scroll-hint-finger{0%,100%{transform:translateY(9px)}50%{transform:translateY(-9px)}}
@keyframes scroll-hint-fade{0%{opacity:0}15%,75%{opacity:1}100%{opacity:0}}
@media(min-width:761px) and (max-width:1000px){body.df-wordpress-site .social-reels .video-rail{--reel-feature-width:250px;--reel-spacer:0px;--reel-gap:12px;gap:12px}body.df-wordpress-site .reel-feature-copy{padding-top:10px}body.df-wordpress-site .reel-feature-copy h3{font-size:26px}body.df-wordpress-site .reel-feature-copy p{font-size:13px;margin:14px 0}body.df-wordpress-site .social-reels .video-card:not(.is-featured) .reel-caption{left:8px;right:8px;bottom:12px}body.df-wordpress-site .social-reels .video-card:not(.is-featured) .reel-caption h3{font-size:9px}body.df-wordpress-site .social-reels .video-card:not(.is-featured) .reel-open{padding:8px}body.df-wordpress-site .social-reels .video-card:not(.is-featured) .play-icon{width:23px;height:23px;font-size:11px}}
@media(max-width:760px){
 body.df-wordpress-site .social-reels .video-controls,body.df-wordpress-site .reel-feature-copy{display:none}
 body.df-wordpress-site .social-reels .video-heading{margin-bottom:22px}
 body.df-wordpress-site .social-reels .video-rail{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:2px 1px 12px;isolation:auto}
 body.df-wordpress-site .social-reels .video-rail::-webkit-scrollbar{display:none}
 body.df-wordpress-site .social-reels .video-card,body.df-wordpress-site .social-reels .video-card.is-featured{flex:0 0 90%;width:90%;max-width:400px;aspect-ratio:9/16;scroll-snap-align:start;border-radius:16px;grid-column:auto;grid-row:auto}
 body.df-wordpress-site .social-reels .video-card .reel-open,body.df-wordpress-site .social-reels .video-card.is-featured .reel-open{align-items:flex-start;justify-content:flex-end;padding:16px;background:linear-gradient(0deg,#000e 0%,#0008 28%,transparent 60%)}
 body.df-wordpress-site .social-reels .video-card .reel-open-label,body.df-wordpress-site .social-reels .is-featured .reel-open-label{display:block;align-self:flex-start;margin:0 auto 0 0;padding:9px 0;font-size:8px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
 body.df-wordpress-site .social-reels .video-card .reel-open .play-icon,body.df-wordpress-site .social-reels .is-featured .reel-open .play-icon{width:32px;height:32px;font-size:16px}
 body.df-wordpress-site .social-reels .video-card .reel-caption,body.df-wordpress-site .social-reels .is-featured .reel-caption{display:block;left:20px;right:20px;bottom:30px}
 body.df-wordpress-site .social-reels .reel-caption h3{font-size:21px;font-weight:800;letter-spacing:-.03em;line-height:1.18;margin-bottom:10px}
 body.df-wordpress-site .social-reels .reel-caption p{display:block;font-size:12px;line-height:1.55;color:#ece5e9;margin:0}
 body.df-wordpress-site .social-reels .video-card .reel-progress{display:block;left:20px;right:20px;bottom:15px}
 body.df-wordpress-site .viewer-caption{left:22px;right:22px;bottom:calc(max(15px,env(safe-area-inset-bottom)) + 65px)}
 body.df-wordpress-site .viewer-caption h3{font-size:22px}
 body.df-wordpress-site .viewer-caption p{font-size:12px;line-height:1.55}
 body.df-wordpress-site .viewer-bottom{left:18px;right:18px;gap:10px;bottom:max(15px,env(safe-area-inset-bottom))}
 body.df-wordpress-site .viewer-bottom .viewer-button{width:34px;height:34px}
 body.df-wordpress-site .viewer-counter{font-size:9px;min-width:32px}
 body.df-wordpress-site .viewer-scroll-hint{top:37%}
}
@media(prefers-reduced-motion:reduce){body.df-wordpress-site .social-reels .video-card{transition:none}body.df-wordpress-site .viewer-scroll-hint.is-visible{animation:none;opacity:1}body.df-wordpress-site .viewer-scroll-hint .hint-finger{animation:none}}

@media(max-width:760px){body.df-wordpress-site .social-reels .video-heading h2{font-size:clamp(25px,7.3vw,38px);line-height:1.12;white-space:normal}}
