/* FLR Captions — masonry wall + immersive vertical feed.
   Scoped under .flr-feed / .flr-feed-viewer so it never touches the rest of the page. */

.flr-feed{
  --ink:#11070d;--velvet:#180911;--wine:#721835;--wine2:#9c2d4d;--rose:#d16f8d;
  --blush:#f2bdc9;--gold:#d7b878;--gold2:#f1d9a3;--ivory:#fff6ee;--muted:#d8c7bf;
  --line:rgba(215,184,120,.22);
  background:var(--ink);color:var(--ivory);
  font-family:'Cormorant Garamond',Georgia,serif;
  padding:8px 0 60px;margin:0;
}
.flr-feed *{box-sizing:border-box}
.flr-feed .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Intro */
.flr-feed-intro{width:min(1320px,calc(100% - 36px));margin:0 auto;padding:34px 0 0}
.flr-feed-eyebrow{font-family:'Inter',Arial,sans-serif;font-size:12px;letter-spacing:5px;text-transform:uppercase;color:var(--rose);margin:0 0 14px}
.flr-feed-title{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(40px,7vw,76px);line-height:1;font-weight:400;margin:0;color:var(--ivory)}
.flr-feed-title em{color:var(--blush);font-style:italic}
.flr-feed-rule{width:74px;height:1px;background:linear-gradient(90deg,var(--gold),transparent);margin:22px 0}
.flr-feed-lede{font-family:'Inter',Arial,sans-serif;font-size:15px;line-height:1.85;color:var(--muted);max-width:740px;margin:0 0 8px}
.flr-feed-lede-soft{font-size:13.5px;opacity:.82}

/* Sticky chip bar */
.flr-feed-bar{position:sticky;top:0;z-index:20;background:linear-gradient(180deg,var(--ink) 74%,rgba(17,7,13,0));padding:16px 0 14px;margin:14px 0 0}
.flr-feed-bar:before{content:"";position:absolute;left:0;right:0;top:0;bottom:0;z-index:-1}
.flr-feed-bar{display:flex}
.flr-feed-bar > .flr-feed-chips,.flr-feed-bar > .flr-feed-shuffle{}
.flr-feed-bar{width:min(1320px,calc(100% - 36px));margin-left:auto;margin-right:auto;align-items:center;gap:10px}
.flr-feed-chips{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;flex:1}
.flr-feed-chips::-webkit-scrollbar{display:none}
.flr-feed-chip,.flr-feed-chip:focus{flex:0 0 auto;font-family:'Inter',Arial,sans-serif;font-size:13px;letter-spacing:.3px;padding:9px 16px !important;border-radius:999px !important;border:1px solid var(--line) !important;background:rgba(255,246,238,.03) !important;color:var(--muted) !important;cursor:pointer;transition:.2s;white-space:nowrap;box-shadow:none !important;outline:0;-webkit-tap-highlight-color:transparent}
.flr-feed-chip:hover{color:var(--ivory) !important;border-color:rgba(215,184,120,.5) !important;background:rgba(255,246,238,.03) !important}
.flr-feed-chip.on,.flr-feed-chip.on:hover,.flr-feed-chip.on:focus{background:linear-gradient(135deg,var(--wine2),var(--wine)) !important;color:var(--ivory) !important;border-color:transparent !important}
/* personal Liked / Saved chips: gold-tinted so they read as "yours" */
.flr-feed-chip-mine,.flr-feed-chip-mine:focus{color:var(--gold2) !important;border-color:rgba(215,184,120,.4) !important;display:inline-flex;align-items:center;gap:6px}
.flr-feed-chip-mine .fbm{width:13px;height:13px}
.flr-feed-chip-mine .fbm path{fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.flr-feed-chip-mine.on,.flr-feed-chip-mine.on:hover,.flr-feed-chip-mine.on:focus{color:var(--ivory) !important}
.flr-feed-chip-n{opacity:.6;font-size:11px}
/* shuffle is a compact icon button so it never eats the space the category chips need */
.flr-feed-shuffle{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(215,184,120,.4);background:rgba(255,246,238,.03);color:var(--gold2);cursor:pointer;transition:.2s;font-size:18px;line-height:1}
.flr-feed-shuffle:hover{border-color:var(--gold2);color:var(--ivory);transform:translateY(-1px)}
/* desktop: let the category chips WRAP so every one is visible (no clipped row) */
@media(min-width:768px){
  .flr-feed-bar{align-items:flex-start}
  .flr-feed-chips{flex-wrap:wrap;overflow:visible}
}

/* Masonry wall */
.flr-feed-wall{width:min(1320px,calc(100% - 36px));margin:8px auto 0;column-width:330px;column-gap:16px}
@media(max-width:560px){.flr-feed-wall{column-width:170px;column-gap:10px}}
.flr-feed-tile{break-inside:avoid;display:block;width:100%;margin:0 0 16px;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;position:relative;cursor:pointer;background:var(--velvet);
  opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease,border-color .3s ease;-webkit-appearance:none;appearance:none;text-align:left;font:inherit;color:inherit}
.flr-feed-tile.in{opacity:1;transform:none}
.flr-feed-tile.flr-hide{display:none}
.flr-feed-tile img{width:100%;display:block;transition:transform .6s ease}
.flr-feed-tile:hover img{transform:scale(1.045)}
.flr-feed-tile:hover{border-color:rgba(215,184,120,.5)}
.flr-feed-tag{position:absolute;left:12px;bottom:12px;font-family:'Inter',Arial,sans-serif;font-size:12px;letter-spacing:.4px;padding:6px 12px;border-radius:999px;background:rgba(17,7,13,.62);backdrop-filter:blur(6px);color:var(--blush);opacity:0;transform:translateY(8px);transition:.25s}
.flr-feed-tile:hover .flr-feed-tag{opacity:1;transform:none}

.flr-feed-note{font-family:'Inter',Arial,sans-serif;font-size:13.5px;color:var(--muted);text-align:center;padding:18px 0 0}
.flr-feed-note a{color:var(--gold2);border-bottom:1px solid rgba(215,184,120,.35)}

/* ===== Immersive vertical feed viewer ===== */
.flr-feed-viewer{position:fixed;inset:0;z-index:99999;background:#000;display:none;scroll-snap-type:y mandatory;overflow-y:scroll;-webkit-overflow-scrolling:touch;
  --rose:#d16f8d;--blush:#f2bdc9;--gold2:#f1d9a3;--ivory:#fff6ee;--muted:#d8c7bf;--ink:#11070d;--wine:#721835;--wine2:#9c2d4d}
.flr-feed-viewer.open{display:block}
body.flr-feed-lock{overflow:hidden}
.flr-feed-slide{position:relative;height:100dvh;scroll-snap-align:start;scroll-snap-stop:always;display:grid;place-items:center;overflow:hidden}
.flr-feed-slide .fbg{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(40px) brightness(.36) saturate(1.15);transform:scale(1.3)}
.flr-feed-slide .fbg:after{content:"";position:absolute;inset:0;background:rgba(17,7,13,.3)}
.flr-feed-slide .fpic{position:relative;height:auto;width:auto;max-height:92dvh;max-width:min(96vw,760px);border-radius:14px;box-shadow:0 34px 90px rgba(0,0,0,.65);display:block;cursor:pointer;user-select:none;-webkit-user-select:none}
.flr-feed-slide .fburst{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(0);font-size:120px;color:var(--rose);pointer-events:none;filter:drop-shadow(0 6px 20px rgba(0,0,0,.5));z-index:6}
.flr-feed-slide .fburst.go{animation:flrburst .8s ease forwards}
@keyframes flrburst{0%{transform:translate(-50%,-50%) scale(0);opacity:0}18%{transform:translate(-50%,-50%) scale(1.15);opacity:1}50%{transform:translate(-50%,-58%) scale(1);opacity:1}100%{transform:translate(-50%,-72%) scale(.9);opacity:0}}
.flr-feed-slide .fmeta{position:absolute;left:0;right:0;bottom:0;padding:26px 22px 30px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.6));pointer-events:none;z-index:4}
.flr-feed-slide .fmeta .fchip{display:inline-block;font-family:'Inter',Arial,sans-serif;font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--blush);border:1px solid rgba(242,189,201,.4);padding:4px 11px;border-radius:999px;margin-bottom:10px}
.flr-feed-slide .fmeta h3{font-family:'Playfair Display',Georgia,serif;font-size:20px;font-weight:500;margin:0;color:var(--ivory);max-width:74%}

/* right action rail.
   IMPORTANT: these are bare <button>s appended to <body>, so the theme's global
   button / button:hover / button:focus rules (Astra paints them as pink pills)
   bleed in unless every state is hard-reset. Keep the !important resets. */
.flr-feed-rail{position:absolute;right:14px;bottom:120px;display:flex;flex-direction:column;gap:18px;z-index:5}
.flr-feed-act,.flr-feed-act:hover,.flr-feed-act:focus,.flr-feed-act:active{
  display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;color:var(--ivory);
  border:0 !important;background:none !important;padding:0 !important;box-shadow:none !important;
  border-radius:0 !important;outline:0;font:inherit;-webkit-tap-highlight-color:transparent}
.flr-feed-act .fic{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:rgba(17,7,13,.5);backdrop-filter:blur(8px);border:1px solid rgba(255,246,238,.16);font-size:23px;transition:transform .2s,border-color .2s,color .2s}
.flr-feed-act:hover .fic,.flr-feed-act:focus-visible .fic{border-color:var(--gold2);transform:translateY(-2px)}
.flr-feed-act.on .fic{color:var(--rose)}
.flr-feed-act.pop .fic{animation:flrpop .35s ease}
@keyframes flrpop{0%{transform:scale(1)}45%{transform:scale(1.28)}100%{transform:scale(1)}}
.flr-feed-act small{font-family:'Inter',Arial,sans-serif;font-size:11px;color:var(--muted)}
/* save (bookmark): outline glyph that fills gold when saved */
.flr-feed-act .fbm{display:block}
.flr-feed-act .fbm path{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}
.flr-feed-act.act-save.on .fic{color:var(--gold2)}
.flr-feed-act.act-save.on .fbm path{fill:currentColor}

.flr-feed-close{position:fixed;top:16px;right:16px;z-index:120;width:46px;height:46px;border-radius:50%;background:rgba(17,7,13,.55);backdrop-filter:blur(8px);border:1px solid rgba(255,246,238,.2);color:var(--ivory);font-size:20px;cursor:pointer;display:grid;place-items:center}
.flr-feed-count{position:fixed;top:20px;left:20px;z-index:120;font-family:'Inter',Arial,sans-serif;font-size:13px;letter-spacing:1px;color:rgba(255,246,238,.85);background:rgba(17,7,13,.5);backdrop-filter:blur(8px);border:1px solid rgba(255,246,238,.14);padding:7px 13px;border-radius:999px}
.flr-feed-prog{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--wine2),var(--gold2));z-index:121;width:0;transition:width .2s ease}
.flr-feed-hint{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:115;font-family:'Inter',Arial,sans-serif;font-size:12px;letter-spacing:1px;color:rgba(255,246,238,.85);pointer-events:none;animation:flrbob 1.8s ease-in-out infinite}
@keyframes flrbob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-6px)}}
.flr-feed-toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%) translateY(20px);z-index:130;font-family:'Inter',Arial,sans-serif;font-size:13px;color:var(--ink);background:var(--gold2);padding:10px 18px;border-radius:999px;opacity:0;transition:.3s;pointer-events:none;max-width:80vw;text-align:center}
.flr-feed-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.flr-feed-signin{display:inline-block;margin-top:6px;font-family:'Inter',Arial,sans-serif;font-size:12px;color:var(--gold2);text-decoration:underline}

/* comment sheet */
.flr-feed-sheet{position:fixed;left:0;right:0;bottom:0;z-index:140;max-height:74dvh;background:#160a11;border-top:1px solid var(--line);border-radius:18px 18px 0 0;transform:translateY(102%);transition:transform .3s ease;display:flex;flex-direction:column;box-shadow:0 -20px 50px rgba(0,0,0,.55)}
.flr-feed-sheet.open{transform:none}
.flr-feed-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}
.flr-feed-sheet-head h4{margin:0;font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:17px;color:var(--ivory)}
.flr-feed-sheet-x{background:none;border:0;color:var(--muted);font-size:20px;cursor:pointer}
.flr-feed-sheet-body{padding:14px 18px;overflow-y:auto;font-family:'Inter',Arial,sans-serif}
.flr-feed-c-item{padding:10px 0;border-bottom:1px solid rgba(215,184,120,.12)}
.flr-feed-c-alias{font-weight:600;color:var(--blush);font-size:13px;margin-right:8px}
.flr-feed-c-when{color:var(--muted);font-size:11px}
.flr-feed-c-body{margin:5px 0 0;color:var(--ivory);font-size:14px;line-height:1.5}
.flr-feed-c-empty,.flr-feed-c-note,.flr-feed-c-loading{color:var(--muted);font-size:13px;padding:8px 0}
.flr-feed-c-form{padding:6px 0 4px}
.flr-feed-c-aliasline{font-size:12px;color:var(--muted);margin-bottom:8px}
.flr-feed-c-aliasline strong{color:var(--blush)}
.flr-feed-c-aliaschg{background:none;border:0;color:var(--gold2);text-decoration:underline;cursor:pointer;font-size:12px;padding:0 0 0 4px}
.flr-feed-c-ta{width:100%;background:rgba(255,246,238,.05);border:1px solid var(--line);border-radius:10px;color:var(--ivory);padding:10px 12px;font:inherit;font-size:14px;resize:vertical}
.flr-feed-c-send{margin-top:8px;background:linear-gradient(135deg,var(--wine2),var(--wine));color:var(--ivory);border:0;border-radius:999px;padding:9px 20px;font:inherit;font-size:13px;cursor:pointer}
.flr-feed-c-send:disabled{opacity:.5}
.flr-feed-c-msg{font-size:12.5px;color:var(--muted);margin:8px 0 0}
.flr-feed-c-msg.ok{color:var(--gold2)}
.flr-feed-c-signin{padding:10px 0}
.flr-feed-c-signin a{color:var(--gold2);text-decoration:underline}
.flr-feed-c-joinbtn{display:inline-block;margin:6px 0;background:linear-gradient(135deg,var(--wine2),var(--wine));color:var(--ivory);border:0;border-radius:999px;padding:10px 20px;font:inherit;font-size:13px;cursor:pointer}

/* ===== Members-only paywall popup (likes / comments) ===== */
.flr-pw{position:fixed;inset:0;z-index:100002;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(8,3,8,.8);backdrop-filter:blur(7px);
  --wine:#721835;--wine2:#9c2d4d;--rose:#d16f8d;--blush:#f2bdc9;--gold:#d7b878;--gold2:#f1d9a3;--ivory:#fff6ee;--muted:#cdb9c4}
.flr-pw.open{display:flex}
.flr-pw-card{position:relative;max-width:430px;width:100%;background:linear-gradient(180deg,#20101a,#160a11);border:1px solid rgba(215,184,120,.4);border-radius:20px;padding:34px 28px 26px;text-align:center;box-shadow:0 34px 90px rgba(0,0,0,.65);overflow:hidden;animation:flrpwin .28s ease}
.flr-pw-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--wine2),var(--gold2))}
@keyframes flrpwin{from{transform:translateY(14px) scale(.97);opacity:0}to{transform:none;opacity:1}}
.flr-pw-x{position:absolute;top:12px;right:14px;background:none;border:0;color:var(--muted);font-size:20px;cursor:pointer;line-height:1}
.flr-pw-ic{font-size:38px;margin-bottom:8px}
.flr-pw-card h3{font-family:'Playfair Display',Georgia,serif;font-size:23px;font-weight:600;color:var(--ivory);margin:0 0 12px}
.flr-pw-card p{font-family:'Inter',Arial,sans-serif;font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 20px}
.flr-pw-btns{display:flex;flex-direction:column;gap:10px}
.flr-pw-join{display:block;background:linear-gradient(135deg,var(--wine2),var(--wine));color:var(--ivory);text-decoration:none;padding:13px;border-radius:999px;font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:14.5px;transition:.2s}
.flr-pw-join:hover{filter:brightness(1.08)}
.flr-pw-connect{display:block;color:var(--gold2);text-decoration:none;font-family:'Inter',Arial,sans-serif;font-size:13px;padding:4px}
.flr-pw-connect:hover{color:var(--blush)}
.flr-pw-later{background:none;border:0;color:var(--muted);font-size:12.5px;cursor:pointer;margin-top:6px;text-decoration:underline}

@media(max-width:560px){
  .flr-feed-slide .fmeta h3{font-size:17px;max-width:68%}
  .flr-feed-rail{bottom:104px;right:10px}
  .flr-feed-act .fic{width:48px;height:48px;font-size:21px}
}

/* ===== Theme button-style bleed guards =====
   Every interactive element here is a bare <button>; Astra's global
   button:hover/:focus rules repaint them (pink pill) unless each state is
   pinned back to our own design. */
.flr-feed-tile:hover,.flr-feed-tile:focus,.flr-feed-tile:active{
  background:var(--velvet) !important;color:inherit !important;padding:0 !important;box-shadow:none !important;outline:0}
.flr-feed-tile{-webkit-tap-highlight-color:transparent}
.flr-feed-shuffle,.flr-feed-shuffle:hover,.flr-feed-shuffle:focus{
  background:rgba(255,246,238,.03) !important;border:1px solid rgba(215,184,120,.4) !important;
  color:var(--gold2) !important;padding:0 !important;box-shadow:none !important;outline:0;border-radius:50% !important}
.flr-feed-shuffle:hover{border-color:var(--gold2) !important;color:var(--ivory) !important}
.flr-feed-close,.flr-feed-close:hover,.flr-feed-close:focus{
  background:rgba(17,7,13,.55) !important;border:1px solid rgba(255,246,238,.2) !important;
  color:var(--ivory) !important;box-shadow:none !important;outline:0;border-radius:50% !important;padding:0 !important}
.flr-feed-sheet-x,.flr-feed-sheet-x:hover,.flr-feed-sheet-x:focus,
.flr-pw-x,.flr-pw-x:hover,.flr-pw-x:focus,
.flr-pw-later,.flr-pw-later:hover,.flr-pw-later:focus,
.flr-feed-c-aliaschg,.flr-feed-c-aliaschg:hover,.flr-feed-c-aliaschg:focus{
  background:none !important;border:0 !important;box-shadow:none !important;outline:0;padding:0 !important}
.flr-feed-c-send,.flr-feed-c-send:hover,.flr-feed-c-send:focus,
.flr-feed-c-joinbtn,.flr-feed-c-joinbtn:hover,.flr-feed-c-joinbtn:focus{
  background:linear-gradient(135deg,var(--wine2),var(--wine)) !important;color:var(--ivory) !important;
  border:0 !important;border-radius:999px !important;box-shadow:none !important;outline:0}
.flr-feed-c-send,.flr-feed-c-send:hover,.flr-feed-c-send:focus{padding:9px 20px !important}
.flr-feed-c-joinbtn,.flr-feed-c-joinbtn:hover,.flr-feed-c-joinbtn:focus{padding:10px 20px !important}
