/* Unlock gallery: five complete marketing images and the working video preview.
   The global funnel stylesheet controls the two-column product layout. */
.rf-personal-summary { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 16px; }
.rf-personal-summary > div { min-width:0; }
.rf-personal-summary > div > span { display:block; margin-bottom:4px; color:var(--ec-plum,#5b146f); font:700 12px/1.3 var(--rf-sans); }
.rf-personal-summary strong { display:block; color:var(--ec-ink,#2f124c); font:700 clamp(22px,2vw,30px)/1.1 var(--rf-serif); letter-spacing:-.025em; overflow-wrap:anywhere; }
.rf-personal-summary > a { flex:0 0 auto; display:grid; justify-items:center; gap:4px; min-width:92px; padding:10px 12px; border:1px solid #e2c1dd; border-radius:4px; background:var(--ec-rose,#fce0ee); color:var(--ec-plum,#5b146f); text-decoration:none; }
.rf-personal-summary > a b { font:800 24px/1 var(--rf-sans); }
.rf-personal-summary > a span { display:flex; align-items:center; gap:4px; font:700 11px/1.2 var(--rf-sans); text-decoration:underline; text-underline-offset:3px; }
.rf-personal-summary .rf-ico { width:12px; height:12px; }
.rf-gallery { container-type:inline-size; width:100%; color:var(--ec-ink,#2f124c); }
.rf-gallery__track { display:flex; width:100%; aspect-ratio:1; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:none; border:1px solid #dec9e4; border-radius:4px; background:#fff; }
.rf-gallery__track::-webkit-scrollbar { display:none; }
.rf-gallery__slide { position:relative; isolation:isolate; flex:0 0 100%; width:100%; height:100%; min-width:0; overflow:hidden; scroll-snap-align:start; scroll-snap-stop:always; }
.rf-gallery__asset-link { display:block; width:100%; height:100%; }
.rf-gallery__asset { display:block; width:100%; height:100%; object-fit:contain; background:#fff; }
.rf-gallery__slide--preview { background:var(--ec-lilac,#efe2f8); }
.rf-gallery .rf-player--product { width:100%; height:100%; margin:0; }
.rf-gallery .rf-player__frame { height:100%; aspect-ratio:1; border:0; border-radius:0; box-shadow:none; background:var(--ec-lilac,#efe2f8); }
.rf-gallery .rf-player__video { object-fit:contain; background:var(--ec-lilac,#efe2f8); }
.rf-gallery .rf-play { background:rgba(47,18,76,.06); }
.rf-gallery .rf-play__circle { width:66px; height:66px; font-size:30px; }
.rf-gallery .rf-play__label { border-radius:4px; }
.rf-gallery .rf-player__pill { background:var(--ec-plum,#5b146f); color:#fff; border-radius:3px; max-width:calc(100% - 20px); }
.rf-gallery .rf-player__pill .rf-ico { filter:none; }
.rf-gallery .rf-cut { padding:12px; }
.rf-gallery .rf-cut__card { padding:16px; max-width:340px; border-radius:4px; }
.rf-gallery .rf-cut__lock { width:36px; height:36px; margin-bottom:8px; font-size:17px; }
.rf-gallery .rf-cut__title { font-size:24px; font-weight:700; }
.rf-gallery .rf-cut .rf-btn { min-height:46px; padding:10px 12px; font-size:14px; }
.rf-gallery .rf-cut .rf-link { margin-top:9px; font-size:12px; }
.rf-gallery__caption { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 1px; color:var(--ec-plum,#5b146f); font:600 12px/1.3 var(--rf-sans); }
.rf-gallery__caption > span:first-child { display:flex; align-items:center; gap:8px; }
.rf-gallery__caption [data-gallery-count] { font-weight:700; font-variant-numeric:tabular-nums; }
.rf-gallery__thumbs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.rf-gallery__thumbs button { display:grid; grid-template-rows:auto 1fr; align-items:start; gap:5px; min-width:0; padding:4px; border:1px solid #dcc7e4; border-radius:3px; background:#fff; color:var(--ec-plum,#5b146f); font:700 11px/1.2 var(--rf-sans); cursor:pointer; }
.rf-gallery__thumbs button[aria-pressed="true"] { border-color:var(--ec-cta,#d10c79); box-shadow:inset 0 0 0 1px var(--ec-cta,#d10c79); background:var(--ec-rose,#fce0ee); }
.rf-gallery__thumbs img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; border-radius:0; }
.rf-gallery__thumbs button > span:last-child { display:grid; align-items:center; min-height:2.4em; }
.rf-gallery__thumb-preview { position:relative; display:block; }
.rf-gallery__thumb-preview img { object-fit:contain; background:var(--ec-lilac,#efe2f8); }
.rf-gallery__thumb-preview .rf-ico { position:absolute; left:50%; top:50%; width:28px; height:28px; padding:7px; background:#fff; border-radius:4px; color:var(--ec-plum,#5b146f); transform:translate(-50%,-50%); }
.rf-gallery__reassurance { display:flex; align-items:center; justify-content:center; gap:7px; margin:14px 0 0; font:600 12px/1.4 var(--rf-sans); color:var(--ec-plum,#5b146f); }
.rf-gallery__reassurance .rf-ico { width:17px; height:17px; }
.rf-gallery :focus-visible, .rf-personal-summary a:focus-visible { outline:3px solid var(--ec-cta,#d10c79); outline-offset:3px; }
.rf-page-unlock .rf-product__media { min-width:0; }
.rf-page-unlock .rf-offer-kicker { margin:17px 0 6px; color:var(--ec-plum,#5b146f); font:700 12px/1.3 var(--rf-sans); }
.rf-page-unlock .rf-h1--product { margin:0 0 14px; font-size:clamp(32px,3.2vw,47px); font-weight:700; line-height:1.08; letter-spacing:-.035em; overflow-wrap:anywhere; }
.rf-page-unlock .rf-for { display:flex; flex-wrap:wrap; align-items:center; gap:5px 7px; margin:0 0 16px; padding:12px 14px; border:1px solid #d7b5e4; border-radius:4px; background:var(--ec-lilac,#efe2f8); font-size:13px; }
.rf-page-unlock .rf-for .rf-ico { width:16px; height:16px; }
.rf-page-unlock .rf-for b { font-weight:800; font-size:17px; color:var(--ec-plum,#5b146f); overflow-wrap:anywhere; }
.rf-page-unlock .rf-for > span { margin-left:auto; color:var(--ec-plum,#5b146f); font-size:12px; }
.rf-offer-intro { margin:0 0 18px; max-width:54ch; color:var(--ec-ink,#2f124c); font-size:15px; font-weight:500; line-height:1.55; }
.rf-page-unlock .rf-anniv { gap:6px; font-size:13px; }
.rf-page-unlock .rf-anniv > span { font-weight:500; }
.rf-package-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:5px; margin:0 0 12px; scroll-margin-top:22px; }
.rf-package-heading h2 { margin:0; font:700 18px/1.3 var(--rf-sans); color:var(--ec-ink,#2f124c); }
.rf-package-heading > span { color:var(--ec-plum,#5b146f); font-size:12px; font-weight:600; }
.rf-page-unlock [data-rf-main-cta] { display:flex; align-items:center; justify-content:center; gap:10px; padding-left:12px; padding-right:12px; font-size:18px; font-weight:800; line-height:1.3; }
.rf-cta-total { flex-shrink:0; padding-left:10px; border-left:1px solid rgba(255,255,255,.45); }
.rf-page-unlock .rf-sticky { gap:10px; box-shadow:0 -4px 22px rgba(67,36,63,.08); }
.rf-page-unlock .rf-sticky__price { flex-shrink:0; }
.rf-page-unlock .rf-sticky .rf-btn { flex:1; min-width:0; max-width:340px; padding:11px 10px; font-size:14px; line-height:1.3; overflow-wrap:anywhere; }
.rf-page-unlock .rf-modal__title { padding-right:12px; overflow-wrap:anywhere; }
/* Accessible score matching the 4.8 prototype rating. */
.rf-score-stars { display:inline-grid; align-items:center; vertical-align:middle; line-height:1; }
.rf-score-stars > span { grid-area:1 / 1; display:block; }
.rf-score-stars__base .rf-stars { color:var(--ec-line,#dcc7e4); }
.rf-score-stars__fill { clip-path:inset(0 calc(100% - var(--rating-fill,96%)) 0 0); }
.rf-score-stars__fill .rf-stars { color:var(--ec-brass,#a67d42); }
.rf-page-unlock .rf-prototype-note { display:inline-block; margin-left:6px; font:400 10px/1.5 var(--rf-sans); color:var(--ec-muted,#716776); }
.rf-page-unlock .rf-module__who .rf-prototype-note, .rf-page-unlock .rf-review__name .rf-prototype-note { display:block; margin:3px 0 0; }
.rf-page-unlock .rf-reviews__summary { margin-top:8px; color:var(--ec-muted,#716776); font-size:12px; }
.rf-page-unlock .rf-review__name { color:var(--ec-ink,#2f124c); }
.rf-page-unlock .rf-review__text { color:var(--ec-muted,#716776); }
.rf-page-unlock .rf-review__reply { border-color:var(--ec-line,#dcc7e4); }
@media (max-width:959px) {
  .rf-page-unlock .rf-product { padding-top:15px; }
  .rf-page-unlock .rf-product__media { width:100%; margin-inline:auto; }
  .rf-page-unlock .rf-product__grid { gap:24px; }
  .rf-personal-summary { gap:10px; margin-bottom:12px; }
  .rf-personal-summary strong { font-size:22px; }
  .rf-personal-summary > a { min-width:80px; padding:9px; }
  .rf-personal-summary > a b { font-size:21px; }
  .rf-gallery__thumbs { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:minmax(76px,22%); gap:7px; overflow-x:auto; padding:3px 2px 7px; scroll-snap-type:x proximity; scrollbar-width:thin; scrollbar-color:var(--ec-plum,#5b146f) var(--ec-lilac,#efe2f8); }
  .rf-gallery__thumbs button { min-width:76px; font-size:10px; padding:3px; scroll-snap-align:start; }
  .rf-gallery__caption { font-size:11px; }
  .rf-gallery__reassurance { font-size:11px; }
  .rf-page-unlock .rf-rating { font-size:12px; gap:6px; }
  .rf-page-unlock .rf-rating__watch { font-size:12px; }
  .rf-page-unlock [data-rf-main-cta] { font-size:16px; }
}
@media (max-width:359px) {
  .rf-personal-summary strong { font-size:19px; }
  .rf-personal-summary > a { min-width:72px; padding:8px; }
  .rf-personal-summary > a b { font-size:19px; }
  .rf-gallery .rf-cut__card { padding:12px; }
  .rf-gallery .rf-cut__title { font-size:19px; }
  .rf-gallery .rf-cut .rf-btn { font-size:12px; padding-inline:8px; }
  .rf-page-unlock [data-rf-main-cta] { font-size:14px; }
}
@media (prefers-reduced-motion:reduce) { .rf-gallery__track { scroll-behavior:auto; } }
.rf-page-unlock .rf-topbar .rf-prototype-note { color:#ead6ef; }

/* ?reading=first on mobile: the opening video is taller whenever it is shown; the other
   slides keep the square format. */
@media (max-width:600px) {
  .rf-gallery--reading-first .rf-gallery__track { aspect-ratio:auto; height:100cqw; transition:height .35s ease; }
  .rf-gallery--reading-first.is-tall .rf-gallery__track { height:150cqw; }
  .rf-gallery--reading-first .rf-player__frame { width:100%; aspect-ratio:auto; }
}
@media (max-width:600px) and (prefers-reduced-motion:reduce) {
  .rf-gallery--reading-first .rf-gallery__track { transition:none; }
}
