/* Modern Reel – native scroll-snap Reel Viewer (page template) v1.9.0 */
html, body.mrv-body { margin: 0 !important; padding: 0 !important; height: 100%; overflow: hidden !important; background: #000; overscroll-behavior: none; }
body.mrv-body { -webkit-tap-highlight-color: transparent; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: #fff; }
html { margin-top: 0 !important; }
body.mrv-body #wpadminbar, body.mrv-body .udock-root { display: none !important; }

.mrv-root { position: fixed; inset: 0; background: #000; overflow: hidden; }
.mrv-backdrop { position: absolute; inset: -10%; width: 120%; height: 120%; filter: blur(40px) brightness(.45) saturate(1.3); opacity: 0; transition: opacity .6s; pointer-events: none; }

.mrv-feed {
    position: relative; z-index: 1; height: 100vh; height: 100dvh; width: 100%; margin: 0 auto;
    overflow-y: auto; overflow-x: hidden; scroll-snap-type: y mandatory; overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch; scrollbar-width: none; outline: none; background: #000;
}
.mrv-feed::-webkit-scrollbar { display: none; }
.mrv-loader { height: 100%; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.7); font-size: 15px; }

.mrv-slide { position: relative; height: 100vh; height: 100dvh; width: 100%; scroll-snap-align: start; scroll-snap-stop: always; overflow: hidden; background: #000; contain: layout paint; }
.mrv-track { position: absolute; inset: 0; display: flex; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.mrv-track::-webkit-scrollbar { display: none; }
.mrv-item { flex: 0 0 100%; height: 100%; scroll-snap-align: center; scroll-snap-stop: always; position: relative; }
.mrv-item video, .mrv-item img { width: 100%; height: 100%; object-fit: cover; display: block; background: #000; user-select: none; -webkit-user-select: none; }

.mrv-shade { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(to bottom, rgba(0,0,0,.45) 0, rgba(0,0,0,0) 18%, rgba(0,0,0,0) 55%, rgba(0,0,0,.75) 100%); }

.mrv-topbar { position: fixed; z-index: 20; top: 0; left: 50%; transform: translateX(-50%); width: 100%; box-sizing: border-box; display: flex; justify-content: space-between; align-items: center; padding: calc(10px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) 10px calc(12px + env(safe-area-inset-left)); pointer-events: none; }
.mrv-topbar > * { pointer-events: auto; }
.mrv-topbar-right { display: flex; gap: 10px; align-items: center; }
.mrv-back, .mrv-mute { width: 40px; height: 40px; border-radius: 50%; border: 0; display: inline-flex; align-items: center; justify-content: center; color: #fff; background: rgba(0,0,0,.35); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); cursor: pointer; text-decoration: none; padding: 0; }
.mrv-mute .ico-sound { display: none; }
.mrv-mute[data-muted="0"] .ico-sound { display: block; }
.mrv-mute[data-muted="0"] .ico-muted { display: none; }
.mrv-topbar .modern-reel-menu-trigger { position: static !important; margin: 0 !important; }

.mrv-meta { position: absolute; z-index: 5; left: calc(14px + env(safe-area-inset-left)); right: 84px; bottom: calc(26px + env(safe-area-inset-bottom)); text-shadow: 0 1px 3px rgba(0,0,0,.6); }
.mrv-title { font-weight: 700; font-size: 16px; margin-bottom: 4px; }
.mrv-caption { font-size: 14px; line-height: 1.35; opacity: .95; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.mrv-ctas { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.mrv-cta, .mrv-btn { display: inline-flex; align-items: center; padding: 9px 16px; border-radius: 999px; font-size: 14px; font-weight: 600; color: #fff; text-decoration: none; border: 1px solid rgba(255,255,255,.5); background: rgba(255,255,255,.14); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); cursor: pointer; text-shadow: none; }
.mrv-btn-primary { background: #fff; color: #000; border-color: #fff; }
.mrv-btn.modern-reel-add-to-bag { background: rgba(255,255,255,.9); color: #000; border-color: transparent; }
.mrv-btn.modern-reel-add-to-bag:hover { background: #fff; }
.mrv-btn.modern-reel-buy-now,
.mrv-btn-primary.modern-reel-buy-now { background: #ff2d55; color: #fff; border-color: #ff2d55; }
.mrv-btn.modern-reel-buy-now:hover { background: #e0254b; border-color: #e0254b; }
.mrv-btn:disabled { opacity: .7; }

.mrv-actions { position: absolute; z-index: 5; right: calc(10px + env(safe-area-inset-right)); bottom: calc(110px + env(safe-area-inset-bottom)); display: flex; flex-direction: column; gap: 18px; align-items: center; }
.mrv-action { display: flex; flex-direction: column; align-items: center; gap: 4px; font-size: 13px; font-weight: 600; text-shadow: 0 1px 2px rgba(0,0,0,.6); }
.mrv-like { width: 48px; height: 48px; border: 0; border-radius: 50%; background: rgba(0,0,0,.25); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; transition: color .2s; }
.mrv-like.liked { color: #ff2d55; }
.mrv-like.pop { animation: mrvPop .4s ease; }
@keyframes mrvPop { 50% { transform: scale(1.3); } }

.mrv-dots { position: absolute; z-index: 5; left: 0; right: 0; bottom: calc(10px + env(safe-area-inset-bottom)); display: flex; justify-content: center; gap: 6px; pointer-events: none; }
.mrv-dots span { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.45); transition: all .2s; }
.mrv-dots span.active { background: #fff; width: 16px; border-radius: 3px; }

.mrv-progress { position: absolute; z-index: 6; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(255,255,255,.2); pointer-events: none; }
.mrv-progress i { display: block; height: 100%; background: #fff; transform-origin: left; transform: scaleX(0); }

.mrv-tap-icon { position: absolute; z-index: 6; top: 50%; left: 50%; transform: translate(-50%,-50%) scale(.6); font-size: 54px; opacity: 0; pointer-events: none; text-shadow: 0 2px 10px rgba(0,0,0,.5); }
.mrv-tap-icon.show { animation: mrvTap .7s ease forwards; }
@keyframes mrvTap { 20% { opacity: 1; transform: translate(-50%,-50%) scale(1.1); } 100% { opacity: 0; transform: translate(-50%,-50%) scale(1); } }

.mrv-menu-sheet { position: fixed !important; inset: 0 !important; z-index: 2147483000 !important; }

@media (min-width: 768px) {
    .mrv-feed { width: min(56.25dvh, 100vw); box-shadow: 0 0 60px rgba(0,0,0,.6); }
    .mrv-topbar { width: min(56.25dvh, 100vw); }
    .mrv-backdrop { opacity: 1; }
    .mrv-feed, .mrv-slide { border-radius: 0; }
}
@media (prefers-reduced-motion: reduce) { .mrv-tap-icon.show, .mrv-like.pop { animation: none; } }

/* v1.9.2 – Wishlist pill */
.mrv-btn.mrv-wishlist { gap: 6px; background: rgba(0,0,0,.35); border-color: rgba(255,255,255,.55); color: #fff; }
.mrv-btn.mrv-wishlist svg { fill: none; stroke: currentColor; stroke-width: 2; }
.mrv-btn.mrv-wishlist svg path { fill: transparent; transition: fill .2s; }
.mrv-btn.mrv-wishlist.is-active { color: #ff2d55; border-color: #ff2d55; background: rgba(255,255,255,.92); }
.mrv-btn.mrv-wishlist.is-active svg path { fill: #ff2d55; }

/* v1.9.2 – In-reel checkout sheet (3/4 screen) */
.mrv-checkout-sheet { position: fixed; inset: 0; z-index: 2147483600; pointer-events: none; visibility: hidden; transition: visibility 0s .35s; }
.mrv-checkout-sheet.open { pointer-events: auto; visibility: visible; transition: none; }
.mrv-checkout-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.5); opacity: 0; transition: opacity .3s; }
.mrv-checkout-sheet.open .mrv-checkout-backdrop { opacity: 1; }
.mrv-checkout-panel {
    position: absolute; left: 50%; bottom: 0; width: 100%; max-width: 100vw;
    height: 75vh; height: 75dvh; transform: translate(-50%, 100%);
    background: #fff; color: #111; border-radius: 18px 18px 0 0; overflow: hidden;
    display: flex; flex-direction: column; box-shadow: 0 -10px 40px rgba(0,0,0,.35);
    transition: transform .35s cubic-bezier(.2,.8,.2,1); padding-bottom: env(safe-area-inset-bottom);
    box-sizing: border-box;
}
.mrv-checkout-sheet.open .mrv-checkout-panel { transform: translate(-50%, 0); }
.mrv-checkout-header { position: relative; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; padding: 18px 52px 12px; border-bottom: 1px solid #eee; touch-action: none; }
.mrv-checkout-handle { position: absolute; top: 7px; left: 50%; transform: translateX(-50%); width: 40px; height: 5px; border-radius: 3px; background: #d0d0d0; }
.mrv-checkout-title { font-weight: 700; font-size: 16px; }
.mrv-checkout-close { position: absolute; right: 10px; top: 50%; transform: translateY(-40%); width: 36px; height: 36px; border: 0; border-radius: 50%; background: #f2f2f2; color: #111; display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.mrv-checkout-body { position: relative; flex: 1 1 auto; min-height: 0; }
.mrv-checkout-frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; background: #fff; }
.mrv-checkout-loading { position: absolute; inset: 0; display: none; align-items: center; justify-content: center; gap: 10px; font-size: 14px; color: #555; background: #fff; z-index: 2; }
.mrv-checkout-sheet.is-loading .mrv-checkout-loading { display: flex; }
.mrv-spinner { width: 20px; height: 20px; border-radius: 50%; border: 2px solid #ddd; border-top-color: #ff2d55; animation: mrvSpin .8s linear infinite; }
@keyframes mrvSpin { to { transform: rotate(360deg); } }
.mrv-root.mrv-checkout-open .mrv-feed { overflow: hidden; }
@media (min-width: 768px) { .mrv-checkout-panel { width: min(56.25dvh, 100vw); } }

/* v1.10.0 – FluentCart products reel */
.mrv-product-reel-src { display: none !important; }
.mrv-slide-products { background: radial-gradient(120% 80% at 50% 0%, #16294f 0%, #0a1630 55%, #050b1a 100%); color: #fff; }
.mrv-products-inner { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; gap: 14px; padding: calc(64px + env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom)); box-sizing: border-box; overflow: hidden; }
.mrv-products-head { text-align: center; }
.mrv-products-kicker { display: inline-block; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: #ff2d55; font-weight: 700; }
.mrv-products-title { margin: 4px 0 0; font-size: 24px; line-height: 1.15; font-weight: 800; color: #fff; }
.mrv-products-carousel { min-height: 0; flex: 0 1 auto; }
.mrv-products-carousel .fct-product-carousel-wrapper { max-width: 420px; margin: 0 auto; position: relative; }
.mrv-products-carousel .swiper { padding-bottom: 30px; }
.mrv-products-carousel .fct-product-card { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: 18px; padding: 12px; color: #fff; box-sizing: border-box; height: auto; display: flex; flex-direction: column; gap: 8px; backdrop-filter: blur(6px); }
.mrv-products-carousel .fct-product-card img { width: 100%; height: auto; max-height: 46vh; max-height: 46dvh; object-fit: cover; border-radius: 12px; display: block; background: #0a1630; }
.mrv-products-carousel .fct-product-card a, .mrv-products-carousel .fct-product-card h3, .mrv-products-carousel .fct-product-card [class*="title"] { color: #fff !important; text-decoration: none; font-weight: 700; font-size: 16px; }
.mrv-products-carousel .fct-product-card [class*="price"] { color: rgba(255,255,255,.85) !important; font-weight: 600; }
.mrv-products-carousel .fct-product-card button, .mrv-products-carousel .fct-product-card .fct-btn, .mrv-products-carousel .fct-product-card [class*="button"] a, .mrv-products-carousel .fct-product-card a[class*="btn"] { background: #ff2d55 !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; font-weight: 700; }
.mrv-products-carousel .swiper-pagination-bullet { background: rgba(255,255,255,.5); opacity: 1; }
.mrv-products-carousel .swiper-pagination-bullet-active { background: #ff2d55; }
.mrv-products-carousel .swiper-button-next, .mrv-products-carousel .swiper-button-prev { color: #fff; }
.mrv-products-all { align-self: center; color: #fff; font-weight: 700; font-size: 14px; text-decoration: none; padding: 9px 18px; border-radius: 999px; border: 1px solid rgba(255,255,255,.4); background: rgba(0,0,0,.25); }
.mrv-products-hint { text-align: center; font-size: 12px; color: rgba(255,255,255,.55); }
