/* Reel Product Viewer - mobile only */
@media (max-width:768px){
	.rpv-on .product .woocommerce-product-gallery,
	.rpv-on .product .summary,
	.rpv-on .product .avada-single-product-gallery-wrapper,
	.rpv-on .fusion-woo-product-images,
	.rpv-on .fusion-woo-cart{display:none!important}
}

/* Full-screen reels. The PAGE scrolls (no nested scroller). Snapping is MANDATORY but only switched on (by JS, class
   rpv-snap) while a feed fills the screen, so the header above and the footer below stay freely scrollable.
   Reel height = the REAL visible height (dvh), so one reel exactly fills the screen under the header on iPhone Safari
   and Android Chrome, whether the address bar is showing or hidden. */
html.rpv-snap{scroll-snap-type:y mandatory;overscroll-behavior-y:none}
.rpv-feed{display:block;background:#111}
.rpv-feed .rpv{scroll-snap-align:start;scroll-snap-stop:always}
.rpv-feed[data-snap="off"] .rpv{scroll-snap-align:none}
/* single [reel_product] reels in a grid: full screen, no gaps; the page settles on each one (JS) */
.rpv.rpv-sc:not(.rpv-desk){width:100vw;position:relative;left:50%;margin-left:-50vw;margin-top:0;margin-bottom:0}
.rpv-feed .rpv.rpv-sc{width:100%;left:0;margin-left:0}

.rpv{
	display:block;position:relative;width:100%;clear:both;box-sizing:border-box;overflow:hidden;contain:layout paint;
	height:var(--rpv-h,calc(100vh - var(--rpv-off,0px)));
	background:#1b2a2c;color:#fff;font-family:Georgia,'Times New Roman',serif;
}
@supports (height:100svh){.rpv{height:var(--rpv-h,calc(100svh - var(--rpv-off,0px)))}}
@supports (height:100dvh){.rpv{height:var(--rpv-h,calc(100dvh - var(--rpv-off,0px)))}}
/* iPhone Safari only: the page draws under the floating address bar but dvh is shorter than what is visible, so the
   next reel peeked in. Use the large viewport (full screen) and lift the controls above the bar. */
@supports (-webkit-touch-callout:none){
	.rpv{height:var(--rpv-h,calc(var(--rpv-H,100vh) - var(--rpv-off,0px)))}
	@supports (height:100lvh){.rpv{height:var(--rpv-h,calc(var(--rpv-H,100lvh) - var(--rpv-off,0px)))}}
	.rpv-bar{padding-bottom:calc(14px + env(safe-area-inset-bottom,0px) + var(--rpv-lack,44px))}
	.rpv-foot{bottom:calc(86px + var(--rpv-lack,44px))}
	.rpv-actions{bottom:calc(150px + var(--rpv-lack,45px))}
	/* A snap target taller than the visible area lets Safari stop anywhere inside it (title hidden under the header).
	   So the reel is full-screen height, but the snap point is a hidden marker exactly as tall as the VISIBLE area. */
	.rpv-feed .rpv{scroll-snap-align:none}
	html.rpv-ios{scroll-snap-type:none!important}
}
.rpv-actions,.rpv-foot{transition:bottom .2s ease-out}
.rpv-sa{display:none;position:absolute;left:0;top:0;width:100%;height:calc(100vh - var(--rpv-off,0px));pointer-events:none;visibility:hidden}
@supports (height:100dvh){.rpv-sa{height:calc(100dvh - var(--rpv-off,0px))}}
.rpv *{box-sizing:border-box}
.rpv button{margin:0;text-transform:none;letter-spacing:normal;box-shadow:none}

/* slides */
.rpv-track{display:flex;height:100%;overflow:hidden;touch-action:pan-y;scroll-behavior:smooth;user-select:none;-webkit-user-select:none}
.rpv-slide{flex:0 0 100%;height:100%}
.rpv-slide img,.rpv-slide video{pointer-events:none;-webkit-user-drag:none;width:100%;height:100%;max-width:none;object-fit:cover;display:block}

/* title + price on top */
.rpv-top{position:absolute;top:0;left:0;right:0;z-index:2;padding:16px 0 44px 16px;pointer-events:none;background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0))}
.rpv-name{font:600 16px/1.3 Georgia,'Times New Roman',serif;color:#fff;margin:0;padding:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
.rpv-pr{font:20px/1.2 system-ui,sans-serif;margin-top:4px;color:#fff}
.rpv-pr *{color:#fff!important;background:none!important;text-decoration:none}
.rpv-pr del{opacity:.7;text-decoration:line-through;margin-right:6px}

/* side buttons */
.rpv-actions{position:absolute;right:10px;bottom:150px;z-index:6;display:flex;flex-direction:column;gap:18px;align-items:center}
.rpv-act{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;min-width:60px;max-width:84px;padding:0!important;
	background:none!important;border:0!important;color:#fff!important;font:600 12px/1.1 system-ui,sans-serif!important;text-shadow:0 1px 3px rgba(0,0,0,.6);cursor:pointer}
.rpv-ico{position:relative;width:36px;height:36px;display:grid;place-items:center;font:700 16px system-ui,sans-serif}
.rpv-ico svg{width:30px;height:30px}
.rpv-ico.box{border:1.5px solid #fff;border-radius:9px;background:rgba(0,0,0,.14)}
.rpv-ico.dot i{width:32px;height:32px;border-radius:50%;border:2.5px solid #fff;box-shadow:0 0 0 1.5px rgba(0,0,0,.25);display:block}
.rpv-act.saved svg path{fill:#fff}
.rpv-act.busy{opacity:.55;pointer-events:none}
.rpv-lbl{display:block;max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rpv-cart-n{position:absolute;top:-5px;right:-8px;min-width:17px;padding:2px 4px;border-radius:9px;background:#c0392b;font:700 10px system-ui,sans-serif;text-align:center}

/* dots + arrows + hint */
.rpv-foot{position:absolute;left:0;right:0;bottom:86px;z-index:2;text-align:center;color:#fff;font:13px system-ui,sans-serif;text-shadow:0 1px 3px rgba(0,0,0,.7)}
.rpv-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:8px}
.rpv-arrow{width:36px!important;height:36px!important;padding:0!important;border:0!important;border-radius:50%!important;background:rgba(0,0,0,.28)!important;color:#fff!important;font:700 22px/1 system-ui,sans-serif!important;cursor:pointer;display:grid;place-items:center}
.rpv-arrow[hidden]{visibility:hidden;display:grid}
.rpv-dots{display:flex;justify-content:center;align-items:center;gap:9px}
.rpv-dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.5)}
.rpv-dots i.on{background:#fff}

/* bottom bar */
.rpv-bar{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;align-items:center;justify-content:flex-end;
	padding:30px 16px calc(14px + env(safe-area-inset-bottom,0px));background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.55))}
.rpv-ctl{display:flex;gap:12px}
.rpv-ctl button{width:46px!important;height:46px!important;padding:0!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.8)!important;background:rgba(0,0,0,.22)!important;display:grid;place-items:center;cursor:pointer}
.rpv-ctl svg{width:22px;height:22px}

/* option bar: sits on the icon's row; fades while sliding to / from the button */
.rpv-backdrop{position:absolute;inset:0;z-index:4;display:none;touch-action:pan-y}
.rpv-backdrop.open{display:block}
.rpv-optbar{
	position:absolute;left:12px;right:84px;top:50%;z-index:5;
	opacity:0;visibility:hidden;pointer-events:none;transform:translate(48px,-50%);
	transition:transform .22s ease-in,opacity .22s linear,visibility 0s linear .22s;
}
.rpv-optbar.open{
	opacity:1;visibility:visible;pointer-events:auto;transform:translate(0,-50%);
	transition:transform .26s cubic-bezier(.2,.8,.2,1),opacity .2s ease-out,visibility 0s;
}
.rpv-or{display:flex;gap:10px;width:max-content;max-width:100%;margin-left:auto;padding:10px 9px;overflow-x:auto;scrollbar-width:none}
.rpv-or::-webkit-scrollbar{display:none}
.rpv-opt{flex:none;display:flex;align-items:center;justify-content:center;min-width:48px;height:44px;padding:0 14px!important;
	background:rgba(0,0,0,.4)!important;color:#fff!important;border:1.5px solid rgba(255,255,255,.85)!important;border-radius:12px!important;
	font:600 15px system-ui,sans-serif!important;text-shadow:0 1px 2px rgba(0,0,0,.5);cursor:pointer}
.rpv-opt.on{background:#fff!important;color:#111!important;text-shadow:none}
.rpv-opt:disabled{opacity:.4;text-decoration:line-through;cursor:not-allowed}
.rpv-opt.sw{width:38px;min-width:38px;height:38px;padding:0!important;border-radius:50%!important;background:var(--c,#999)!important;border:2px solid #fff!important;box-shadow:0 0 0 1px rgba(0,0,0,.3)}
.rpv-opt.sw.on{background:var(--c,#999)!important;outline:2px solid #fff;outline-offset:3px}
.rpv-opt.sw:disabled{opacity:.3;text-decoration:none}

.rpv-toast{position:absolute;left:50%;top:70px;z-index:7;transform:translate(-50%,-30px);opacity:0;pointer-events:none;white-space:nowrap;
	background:#fff;color:#111;border-radius:999px;padding:10px 18px;font:500 14px system-ui,sans-serif;box-shadow:0 4px 18px rgba(0,0,0,.25);
	transition:transform .25s,opacity .25s}
.rpv-toast.show{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.rpv-toast a{color:#111;margin-left:10px;text-decoration:underline}

/* MoreConvert wishlist button: kept invisible, the Save button triggers it */
.rpv-wl{position:absolute;left:0;top:0;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none;z-index:-1}

/* layout: full-bleed on phones; hidden on desktop unless desktop="show" */
@media (max-width:768px){
	.rpv-feed{width:100vw;position:relative;left:50%;margin-left:-50vw}
}
@media (min-width:769px){
	.rpv:not(.rpv-desk),.rpv-feed:not(.rpv-feed-desk){display:none!important}
	.rpv-desk,.rpv-feed-desk{max-width:440px;margin-left:auto;margin-right:auto}
}
@media (prefers-reduced-motion:reduce){.rpv-optbar,.rpv-toast,.rpv-track{transition:none;scroll-behavior:auto}}

/* the feed must never trap a swipe: inner scroll + chain to the page at the ends */
.rpv-optbar{pointer-events:none}.rpv-optbar.open{pointer-events:auto}
.rpv-act.active .rpv-ico{filter:drop-shadow(0 0 6px rgba(255,255,255,.9))}

/* small boxed icons (Add to cart, View details) like the Size box */
.rpv-ico.box.sm{width:34px;height:34px;border-radius:9px}
.rpv-ico.sm svg{width:20px;height:20px}
.rpv-vd{text-decoration:none!important;min-width:60px}
.rpv-vd .rpv-ico{margin:0}
.rpv-actions{gap:16px}
