/*
Theme Name: PassionFairy Theme
Theme URI: https://passionfairy.local
Author: PassionFairy / Ringa fork
Description: Mobile-first 18+ social discovery theme for PassionFairy: discovery cards, 9:16 media, filters, and app-style navigation.
Version: 0.2.46
Text Domain: passionfairy-theme
*/

:root{
  --ringa-bg: #0b0d12;
  --ringa-surface: #111521;
  --ringa-surface-2: #151a2a;
  --ringa-border: rgba(255,255,255,0.08);
  --ringa-text: rgba(255,255,255,0.92);
  --ringa-muted: rgba(255,255,255,0.65);
  --ringa-accent: #ff6120;
  --ringa-accent-2: #ff8a48;

  /* Feed media ratio (change to 1/1, 4/5, 9/16, etc) */
  --ringa-feed-post-ratio: 4 / 5;

  /* Reel video area uses full viewport minus footer */
  --ringa-footer-h: 64px;
  --ringa-radius: 16px;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  background: var(--ringa-bg);
  color: var(--ringa-text);
}
a{ color: inherit; text-decoration:none; }
a:active{ opacity:0.9; }

.ringa-app{
  min-height:100vh;
  width:100%;
  padding-bottom: var(--ringa-footer-h);
}

.ringa-topbar{
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(11,13,18,0.78);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--ringa-border);
  padding: 10px 12px;
  display:flex;
	/* Stretch children so each tab has a full-height tap target on mobile. */
	/* Center the logo/actions vertically so the title doesn't look "pushed up" on some pages */
	align-items:center;
  justify-content: space-between;
  gap: 10px;
}

/* Give the brand a predictable tap target and vertical centering */
.ringa-brand{
	display:flex;
	align-items:center;
	height:38px;
}

.ringa-brand{
  font-weight: 800;
  letter-spacing: 0.3px;
}
.ringa-top-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.ringa-icon-btn{
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid var(--ringa-border);
  background: rgba(255,255,255,0.02);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.ringa-icon-btn:active{ transform: scale(0.98); }
.ringa-content{ padding: 0; }

.ringa-feed{
  display:flex;
  flex-direction: column;
  gap: 14px;
  padding: 12px 0 18px;
}

.ringa-card{
  width: 100%;
  background: var(--ringa-surface);
  border-top: 1px solid var(--ringa-border);
  border-bottom: 1px solid var(--ringa-border);
}

.ringa-card-header{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
}

.ringa-userline{
  display:flex;
  align-items:center;
  gap: 10px;
  min-width: 0;
}
.ringa-avatar{
  width: 38px;
  height: 38px;
  border-radius: 999px;
	position: relative;
  overflow:hidden;
  border: 1px solid rgba(255,255,255,0.10);
  flex: 0 0 auto;
}
.ringa-avatar img{ width:100%; height:100%; object-fit: cover; display:block; }

.ringa-user-meta{
  display:flex;
  flex-direction: column;
  min-width: 0;
}
.ringa-username{
  font-weight: 700;
  font-size: 14px;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ringa-subline{
  font-size: 12px;
  color: var(--ringa-muted);
}

.ringa-pill{
  border: 1px solid var(--ringa-border);
  background: rgba(255,255,255,0.02);
  color: var(--ringa-text);
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 13px;
  font-weight: 700;
  cursor:pointer;
}
.ringa-pill.is-primary{
  border: none;
  background: linear-gradient(135deg, var(--ringa-accent-2), var(--ringa-accent));
}
.ringa-pill.is-ghost{
  border: 1px solid var(--ringa-border);
  background: transparent;
}
.ringa-menu{
  position: relative;
}
.ringa-menu-panel{
  position: absolute;
  right: 0;
  top: 44px;
  background: #0d1018;
  border: 1px solid var(--ringa-border);
  border-radius: 14px;
  min-width: 180px;
  overflow:hidden;
  display:none;
  z-index: 50;
}
.ringa-menu-panel button{
  width:100%;
  text-align:left;
  padding: 12px 12px;
  border: none;
  background: transparent;
  color: var(--ringa-text);
  cursor:pointer;
  font-size: 14px;
}
.ringa-menu-panel button:hover{ background: rgba(255,255,255,0.06); }

.ringa-media{
  width: 100%;
  background: #000;
  position: relative;
  aspect-ratio: var(--ringa-feed-post-ratio);
  overflow:hidden;
}
.ringa-media img,
.ringa-media video{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}

.ringa-carousel{
  width:100%;
  height:100%;
  display:flex;
  overflow-x:auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.ringa-carousel::-webkit-scrollbar{ display:none; }
.ringa-carousel > *{
  width:100%;
  height:100%;
  flex: 0 0 100%;
  scroll-snap-align: start;
}

.ringa-dots{
  position:absolute;
  left: 0;
  right: 0;
  bottom: 10px;
  display:flex;
  justify-content:center;
  gap: 6px;
  pointer-events:none;
}
.ringa-dot{
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,0.35);
}
.ringa-dot.is-active{ background: rgba(255,255,255,0.95); }

.ringa-card-body{
  padding: 10px 12px 12px;
}

.ringa-actions{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 8px;
}

.ringa-actions-left{
  display:flex;
  align-items:center;
  gap: 10px;
}
.ringa-action-btn{
  border:none;
  background: transparent;
  color: var(--ringa-text);
  display:flex;
  align-items:center;
  gap: 6px;
  cursor:pointer;
  padding: 6px 6px;
  border-radius: 10px;
}
.ringa-action-btn:hover{ background: rgba(255,255,255,0.06); }
.ringa-action-btn .count{
  font-size: 13px;
  color: var(--ringa-muted);
}
.ringa-action-btn.is-on{
  color: var(--ringa-accent-2);
}
.ringa-caption{
  margin-top: 10px;
  font-size: 14px;
  color: var(--ringa-text);
  line-height: 1.35;
}
.ringa-caption .muted{ color: var(--ringa-muted); }

.ringa-reactions-picker{
  position:absolute;
  left: 12px;
  bottom: 58px;
  background: rgba(13,16,24,0.96);
  border: 1px solid var(--ringa-border);
  border-radius: 999px;
  padding: 8px 10px;
  display:none;
  gap: 10px;
  z-index: 30;
}
.ringa-reactions-picker button{
  border:none;
  background: transparent;
  font-size: 18px;
  cursor:pointer;
}
.ringa-reactions-picker button:active{ transform: scale(0.95); }

.ringa-bottom-nav{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--ringa-footer-h);
  background: rgba(13,16,24,0.92);
  backdrop-filter: blur(10px);
  border-top: 1px solid var(--ringa-border);
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 2px;
  padding-bottom: env(safe-area-inset-bottom);
  padding-left: 6px;
  padding-right: 6px;
	/* Keep footer above reels overlays and any other fixed UI layers on mobile. */
	z-index: 999999;
}
.ringa-bottom-nav a{
  touch-action: manipulation;
  flex: 1 1 0;
  min-width: 0;
  -webkit-tap-highlight-color: transparent;
  text-align:center;
  /* Make the entire icon area clickable and consistently sized everywhere. */
  display:flex;
  align-items:center;
  justify-content:center;
  height: 100%;
  padding: 0;
  color: rgba(255,255,255,0.70);
  font-size: 22px;
  line-height: 1;
  position: relative;
  z-index: 1000000;
}
.ringa-bottom-nav a.is-active{ color: #fff; font-weight: 800; }

/* Active-tab indicator (requested): orange line under the current page icon */
.ringa-bottom-nav a.is-active::after{
  content: "";
  position: absolute;
  left: 22%;
  right: 22%;
  bottom: 8px;
  height: 3px;
  border-radius: 999px;
  background: var(--ringa-accent);
}

/* Do not show the underline on the floating + button even if classes change */
.ringa-bottom-nav a.plus::after{ display:none !important; }

/* Emoji tabs: keep a full-height, centered tap target. */
.ringa-bottom-nav a.navitem{
  /* Back-compat: some builds still add .navitem. */
  font-size: 22px;
}

/* Keep the plus button centered even though the nav bar uses align-items:stretch. */
.ringa-bottom-nav .plus{ align-self: center; }
.ringa-bottom-nav .plus{
  flex: 0 0 56px;
  width: 50px;
  height: 50px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--ringa-accent-2), var(--ringa-accent));
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:-18px;
  box-shadow: 0 12px 26px rgba(0,0,0,0.45);
  color:#fff;
  font-size: 26px;
}

/* Ensure the floating + button stays above adjacent icons. */
.ringa-bottom-nav a.plus{ position: relative; z-index: 1000001; }

/* Reels */
.ringa-reels{
  padding: 0;
}
.ringa-reel{
  height: calc(100vh - var(--ringa-footer-h));
  position: relative;
  scroll-snap-align: start;
  background: #000;
}
.ringa-reels-snap{
  height: calc(100vh - var(--ringa-footer-h));
  overflow-y: auto;
  scroll-snap-type: y mandatory;
}
.ringa-reel video{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Reels: disable native video controls (we use custom gestures) and reduce double-tap zoom/fullscreen quirks. */
.ringa-reel video{
  touch-action: manipulation;
}
.ringa-reel video::-webkit-media-controls,
.ringa-reel video::-webkit-media-controls-panel,
.ringa-reel video::-webkit-media-controls-enclosure,
.ringa-reel video::-webkit-media-controls-overlay-play-button{
  display: none !important;
  -webkit-appearance: none;
}
.ringa-reel-overlay{
  position: absolute;
  left: 12px;
  right: 78px;
  bottom: 16px;
  z-index: 10;
}
.ringa-reel-title{
  font-weight: 800;
  font-size: 14px;
  line-height: 1.2;
  text-shadow: 0 8px 22px rgba(0,0,0,0.65);
}
.ringa-reel-user{
  display:flex;
  align-items:center;
  gap: 10px;
  margin-top: 10px;
}
.ringa-reel-user .ringa-avatar{ width: 40px; height: 40px; }
.ringa-reel-user .ringa-pill{ padding: 7px 12px; }


/* Fullscreen reels: floating search icon (top-right) */
.ringa-reel-search-toggle{
  position: fixed;
  top: 12px;
  right: 12px;
  z-index: 30;
  width: 44px;
  height: 44px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size: 18px;
  line-height: 1;
}
body.ringa-no-topbar .ringa-searchbar{ top: 0; }

.ringa-reel-actions{
  position:absolute;
  right: 10px;
  bottom: calc(var(--ringa-footer-h) + 18px);
  display:flex;
  flex-direction: column;
  gap: 12px;
  z-index: 12;
}
.ringa-reel-actions .ringa-action-btn{
  background: rgba(13,16,24,0.45);
  border: 1px solid rgba(255,255,255,0.10);
  padding: 10px 10px;
  border-radius: 999px;
  flex-direction: column;
  gap: 4px;
}
.ringa-reel-actions .ringa-action-btn .count{
  font-size: 12px;
  color: rgba(255,255,255,0.82);
}

/* Forms */
.ringa-center{
  padding: 18px 12px;
}
.ringa-form{
  background: var(--ringa-surface);
  border: 1px solid var(--ringa-border);
  border-radius: 18px;
  padding: 14px;
}
.ringa-form label{ display:block; font-size: 13px; color: var(--ringa-muted); margin: 10px 0 6px; }
.ringa-form input[type="text"],
.ringa-form input[type="password"],
.ringa-form textarea{
  width:100%;
  border-radius: 14px;
  border: 1px solid var(--ringa-border);
  background: rgba(255,255,255,0.02);
  color: var(--ringa-text);
  padding: 12px 12px;
  outline: none;
}
.ringa-form textarea{ min-height: 120px; resize: vertical; }
.ringa-form input[type="file"]{ width:100%; color: var(--ringa-muted); }
.ringa-form .row{ display:flex; gap: 10px; }
.ringa-form .row > *{ flex: 1; }

.ringa-profile{
  padding: 14px 0 24px;
}
.ringa-profile-header{
  padding: 12px 12px 0;
}
.ringa-profile-top{
  display:flex;
  gap: 12px;
  align-items:center;
}
.ringa-profile-top .ringa-avatar{ width: 96px; height:96px; }
.ringa-profile-stats{
  display:flex;
  gap: 10px;
  margin-top: 12px;
}
.ringa-stat{
  flex: 1;
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--ringa-border);
  border-radius: 16px;
  padding: 10px;
  text-align:center;
}
.ringa-stat .n{ font-weight: 900; font-size: 16px; }
.ringa-stat .l{ font-size: 12px; color: var(--ringa-muted); }

.ringa-divider{
  height: 10px;
  background: transparent;
}
.ringa-empty{
  color: var(--ringa-muted);
  padding: 30px 12px;
  text-align:center;
}

/* Desktop: keep content centered, and keep the header aligned (no huge viewport-based padding). */
@media(min-width: 900px){
  .ringa-feed{ max-width: 680px; margin: 0 auto; }
  .ringa-topbar{ padding-left: 12px; padding-right: 12px; }
}

.plus-inner{line-height:1;}

body.ringa-no-topbar{ --ringa-topbar-h: 0px; }
body.ringa-no-topbar .ringa-topbar{ display:none; }
:root{ --ringa-topbar-h: 58px; }

.ringa-brand-link{ cursor:pointer; }

/* Search bar */
.ringa-searchbar{
  position: sticky;
  top: 0;
  z-index: 39;
  background: rgba(11,13,18,0.88);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--ringa-border);
  padding: 8px 12px;
  display:none;
}
body.ringa-search-open .ringa-searchbar{ display:block; }
.ringa-search-form{
  display:flex;
  align-items:center;
  gap:10px;
}
.ringa-search-form input{
  flex: 1;
  height: 40px;
  border-radius: 999px;
  border: 1px solid var(--ringa-border);
  background: rgba(255,255,255,0.02);
  color: var(--ringa-text);
  padding: 0 14px;
  outline: none;
}
.ringa-search-form input::placeholder{ color: rgba(255,255,255,0.55); }

.ringa-search-hint{
  padding: 10px 12px;
  font-size: 13px;
  color: var(--ringa-muted);
}
.ringa-muted-link{
  color: var(--ringa-muted);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Comments modal */
.ringa-modal{
  position: fixed;
  inset: 0;
  z-index: 120;
  display: none;
}
.ringa-modal.is-open{ display:block; }
.ringa-modal-backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,0.55);
}
.ringa-modal-sheet{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(13,16,24,0.98);
  border-top: 1px solid var(--ringa-border);
  border-radius: 18px 18px 0 0;
  max-height: calc(100vh - 80px);
  display:flex;
  flex-direction: column;
  overflow: hidden;
}
.ringa-modal-head{
  padding: 12px 12px 10px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  border-bottom: 1px solid var(--ringa-border);
}
.ringa-modal-title{ font-weight: 900; }
.ringa-modal-body{
  padding: 10px 12px;
  overflow:auto;
  -webkit-overflow-scrolling: touch;
}
.ringa-comments-list{ display:flex; flex-direction: column; gap: 12px; }
.ringa-comment{
  display:flex;
  gap: 10px;
  align-items:flex-start;
}
.ringa-comment .avatar img{ border-radius: 999px; }
.ringa-comment .meta{ font-size: 13px; color: var(--ringa-muted); }
.ringa-comment .bubble{
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--ringa-border);
  border-radius: 14px;
  padding: 8px 10px;
}
.ringa-comment .name{ font-weight: 800; color: var(--ringa-text); }
.ringa-comment .text{ font-size: 14px; line-height: 1.3; }

.ringa-comment-form{
  padding: 10px 12px calc(10px + var(--ringa-footer-h));
  display:flex;
  gap: 10px;
  align-items:flex-end;
  border-top: 1px solid var(--ringa-border);
}
.ringa-comment-form textarea{
  flex:1;
  resize: none;
  border-radius: 14px;
  border: 1px solid var(--ringa-border);
  background: rgba(255,255,255,0.02);
  color: var(--ringa-text);
  padding: 10px 12px;
  min-height: 44px;
  outline: none;
}

.ringa-muted{ color: var(--ringa-muted); font-size: 13px; }



/* Floating search button on the full-screen Videos page */
.ringa-videos-search-toggle{
  position: fixed;
  top: 14px;
  right: 14px;
  z-index: 90;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  font-size: 18px;
  background: rgba(13,16,24,0.45);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 999px;
  color: rgba(255,255,255,0.92);
}


/* Create composer */
.ringa-kind-row{
  display:flex;
  gap: 10px;
  margin: 6px 0 12px;
}
.ringa-kind-pill{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid var(--ringa-border);
  border-radius: 999px;
  background: rgba(255,255,255,0.04);
  cursor: pointer;
  user-select: none;
}
.ringa-kind-pill input{ margin:0; }
.ringa-kind-pill.is-active{
  border-color: rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.08);
}
.ringa-create-media .muted{ color: rgba(255,255,255,0.55); font-size: 12px; }
.ringa-media-preview{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}
.ringa-media-preview img,
.ringa-media-preview video{
  width:100%;
  height:90px;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.08);
  background: #000;
}

/* Avatar upload */
.ringa-avatar-wrap{
	/* Needed so the camera overlay positions on top of the profile picture */
	position: relative;
	width: 96px;
	height: 96px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,.12);
	background: rgba(255,255,255,.03);
	overflow: hidden;
	flex: 0 0 auto;
}

.ringa-avatar-wrap .ringa-avatar{
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 999px;
	display: block;
}

.ringa-avatar-upload{
  display:flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items:center;
  justify-content:center;
}

/* Hide the actual file input (we trigger it via the camera button). */
.ringa-avatar-input{ display:none; }

/* Overlay the avatar-change control on top of the profile picture. */
.ringa-avatar-upload.ringa-avatar-overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  padding: 6px;
  gap:0;
  /* Ensure the camera button is always visible/clickable above the avatar image. */
  z-index: 10;
  pointer-events: none;
}
.ringa-avatar-upload.ringa-avatar-overlay .ringa-avatar-pick{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(0,0,0,0.55);
  color: #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor: pointer;
  box-shadow: 0 10px 22px rgba(0,0,0,0.45);
  pointer-events: auto;
}
.ringa-avatar-upload.ringa-avatar-overlay .ringa-avatar-pick .ringa-icon{
  width: 20px;
  height: 20px;
  fill: currentColor;
  opacity: 0.95;
}
/* Desktop: keep a clean phone-like column */
@media (min-width: 900px){
  .ringa-app{
    max-width: 560px;
    margin: 0 auto;
    border-left: 1px solid var(--ringa-border);
    border-right: 1px solid var(--ringa-border);
  }
  .ringa-topbar{
    max-width: 560px;
    margin: 0 auto;
  }
  .ringa-bottom-nav{
    max-width: 560px;
    left: 50%;
    transform: translateX(-50%);
    border-left: 1px solid var(--ringa-border);
    border-right: 1px solid var(--ringa-border);
  }
}

/* ===== Notifications ===== */
.ringa-profile-actions{display:flex;gap:10px;align-items:center;}
.ringa-notif-bell{position:relative;}
.ringa-badge{
  position:absolute;
  top:-4px;
  right:-4px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background: var(--ringa-accent);
  color:#fff;
  font-size:11px;
  line-height:18px;
  font-weight:900;
  text-align:center;
  box-shadow: 0 10px 18px rgba(0,0,0,.35);
}

.ringa-page-head{padding:8px 0 14px;display:flex;align-items:center;justify-content:space-between;}
.ringa-page-title{margin:0;font-size:18px;font-weight:900;}

.ringa-notifs-wrap{margin-top:6px;}
.ringa-notifs-head{display:flex;justify-content:flex-end;margin-bottom:10px;}
.ringa-notifs-list{display:flex;flex-direction:column;gap:10px;}
.ringa-notif-item{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:16px;border:1px solid var(--ringa-border);background: var(--ringa-surface);text-decoration:none;color:var(--ringa-text);}
.ringa-notif-item.is-unread{border-color: rgba(255,122,26,.55);box-shadow: 0 10px 26px rgba(0,0,0,.25);}
.ringa-notif-avatar{width:40px;height:40px;border-radius:999px;overflow:hidden;flex:0 0 40px;position:relative;}
.ringa-notif-avatar img{width:100%;height:100%;object-fit:cover;}
.ringa-notif-plus{
  position:absolute;
  right:-6px;
  bottom:-6px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:900;
  background:rgba(255,122,26,.95);
  color:#0b0f19;
  border:2px solid var(--ringa-surface);
  box-shadow:0 8px 18px rgba(0,0,0,.35);
  line-height:1;
}

.ringa-notif-body{flex:1;min-width:0;}
.ringa-notif-text{font-weight:800;line-height:1.25;}
.ringa-notif-time{margin-top:4px;font-size:12px;color:var(--ringa-muted);}

.ringa-notif-settings .ringa-toggle{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--ringa-border);}
.ringa-notif-settings .ringa-toggle:first-of-type{border-top:0;}
.ringa-notif-settings input[type="checkbox"]{width:18px;height:18px;}


/* Video upload overlay */
.ringa-upload-overlay{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,0.55);
  z-index:9999;
  padding:18px;
}
.ringa-upload-card{
  width:min(520px, 100%);
  background:rgba(13,16,24,0.96);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:18px;
  padding:16px;
  box-shadow:0 20px 60px rgba(0,0,0,0.45);
}
.ringa-upload-title{
  font-size:16px;
  font-weight:700;
  margin-bottom:6px;
}
.ringa-upload-sub{
  font-size:13px;
  color:rgba(255,255,255,0.72);
  margin-bottom:12px;
  line-height:1.35;
}
.ringa-upload-bar{
  height:10px;
  border-radius:999px;
  background:rgba(255,255,255,0.12);
  overflow:hidden;
}
.ringa-upload-bar-inner{
  height:100%;
  background:rgba(255,124,124,0.95);
  width:0%;
  border-radius:999px;
}
.ringa-upload-meta{
  margin-top:10px;
  display:flex;
  justify-content:space-between;
  font-size:12px;
  color:rgba(255,255,255,0.76);
}

/* Feed banner when processing */
.ringa-processing-banner{
  margin:10px 0 14px;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.10);
  color:rgba(255,255,255,0.86);
  font-size:13px;
}


/* Reels: keep scrubber clear of caption text */
.page-template-page-videos .ringa-reel-overlay{
  bottom: 32px;
}


/* ==========================================================
   PassionFairy v0.1.0 discovery UI
   ========================================================== */
:root{
  --pf-bg: #07040d;
  --pf-bg-2: #12091f;
  --pf-panel: rgba(25, 14, 39, 0.88);
  --pf-panel-2: rgba(43, 22, 68, 0.72);
  --pf-border: rgba(255,255,255,.10);
  --pf-text: #fff7ff;
  --pf-muted: rgba(255,247,255,.70);
  --pf-pink: #ff4fb8;
  --pf-pink-2: #ff7acf;
  --pf-gold: #ffd36b;
  --pf-purple: #8b5cf6;
  --pf-green: #31d48b;
  --pf-shadow: 0 24px 70px rgba(0,0,0,.45);
}

body{
  background:
    radial-gradient(circle at 20% 0%, rgba(255,79,184,.16), transparent 34%),
    radial-gradient(circle at 78% 12%, rgba(139,92,246,.18), transparent 30%),
    linear-gradient(180deg, var(--pf-bg), #0b0713 55%, #050308);
}

.ringa-topbar{
  background: rgba(7,4,13,.78);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--pf-border);
}

.ringa-brand,
.ringa-brand-link{
  color: var(--pf-text) !important;
  letter-spacing: -.02em;
  font-weight: 900;
}
.ringa-brand:before{
  content: "🧚‍♀️";
  margin-right: 8px;
}
.ringa-pill.is-primary,
.pf-btn-primary{
  background: linear-gradient(135deg, var(--pf-pink), var(--pf-purple)) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 12px 30px rgba(255,79,184,.22);
}

.pf-home{
  width: min(1440px, calc(100% - 24px));
  margin: 0 auto;
  padding: 18px 0 96px;
}
.pf-hero{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  margin: 8px 0 18px;
}
.pf-eyebrow{
  color: var(--pf-gold);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .18em;
  font-weight: 800;
}
.pf-title{
  font-size: clamp(28px, 4vw, 48px);
  line-height: .96;
  margin: 6px 0 8px;
  color: var(--pf-text);
  letter-spacing: -.05em;
}
.pf-subtitle{
  color: var(--pf-muted);
  max-width: 640px;
  line-height: 1.55;
}
.pf-hero-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.pf-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height: 42px;
  padding: 10px 15px;
  border-radius: 999px;
  border:1px solid var(--pf-border);
  background: rgba(255,255,255,.06);
  color: var(--pf-text);
  text-decoration:none;
  cursor:pointer;
  font-weight:800;
}
.pf-btn:hover{ transform: translateY(-1px); }
.pf-btn-ghost{ background: rgba(255,255,255,.06); }

.pf-discover-shell{
  display:grid;
  grid-template-columns: minmax(190px, 250px) minmax(320px, 560px) minmax(190px, 250px);
  gap: 18px;
  align-items:start;
  justify-content:center;
}
.pf-panel{
  background: var(--pf-panel);
  border: 1px solid var(--pf-border);
  border-radius: 26px;
  box-shadow: var(--pf-shadow);
  padding: 16px;
}
.pf-panel h3{
  margin: 0 0 12px;
  color: var(--pf-text);
  font-size: 16px;
}
.pf-field{ margin-bottom: 12px; }
.pf-label{
  display:block;
  font-size: 12px;
  color: var(--pf-muted);
  margin-bottom: 6px;
  font-weight: 800;
}
.pf-input,
.pf-select,
.pf-textarea{
  width:100%;
  border:1px solid var(--pf-border);
  border-radius: 14px;
  padding: 11px 12px;
  background: rgba(255,255,255,.07);
  color: var(--pf-text);
  outline: none;
}
.pf-textarea{ min-height: 110px; resize: vertical; }
.pf-select option{ color:#1b1128; }
.pf-chip-row{ display:flex; flex-wrap:wrap; gap:8px; }
.pf-chip{
  border:1px solid var(--pf-border);
  background: rgba(255,255,255,.06);
  color: var(--pf-muted);
  border-radius:999px;
  padding:8px 10px;
  font-size:12px;
  font-weight:800;
}
.pf-chip.is-hot{
  color:#fff;
  background: rgba(255,79,184,.16);
  border-color: rgba(255,79,184,.38);
}
.pf-card-stack{ display:grid; gap: 16px; }
.pf-discover-card{
  overflow:hidden;
  background: linear-gradient(180deg, rgba(39,19,60,.94), rgba(13,8,22,.98));
  border:1px solid rgba(255,255,255,.12);
  border-radius: 34px;
  box-shadow: var(--pf-shadow);
}
.pf-card-top{
  display:flex;
  gap:12px;
  align-items:center;
  padding: 14px 14px 10px;
}
.pf-avatar{
  width:48px;
  height:48px;
  border-radius:50%;
  object-fit:cover;
  background: rgba(255,255,255,.08);
  border:2px solid rgba(255,255,255,.20);
}
.pf-card-name{
  color:var(--pf-text);
  font-size: 17px;
  font-weight: 900;
  line-height: 1.1;
}
.pf-card-meta{
  color:var(--pf-muted);
  font-size: 12px;
  margin-top:4px;
}
.pf-online-dot{
  width:9px; height:9px;
  background: var(--pf-green);
  border-radius:50%;
  display:inline-block;
  margin-right:5px;
  box-shadow: 0 0 12px rgba(49,212,139,.9);
}
.pf-tier-badge{
  margin-left:auto;
  border-radius: 999px;
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 900;
  color:#2a1740;
  background: linear-gradient(135deg, var(--pf-gold), #fff0b4);
}
.pf-media{
  position:relative;
  width:100%;
  aspect-ratio: 9 / 16;
  background:
    radial-gradient(circle at 50% 25%, rgba(255,79,184,.18), transparent 40%),
    linear-gradient(180deg, #241435, #09050f);
  overflow:hidden;
}
.pf-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.pf-media-placeholder{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding: 24px;
  color: var(--pf-muted);
}
.pf-rating{
  position:absolute;
  top:12px;
  right:12px;
  padding:8px 10px;
  border-radius:999px;
  background: rgba(0,0,0,.56);
  color:#fff;
  backdrop-filter: blur(10px);
  font-weight:900;
}
.pf-offer{
  padding: 12px 14px;
  color: var(--pf-muted);
  border-top:1px solid var(--pf-border);
}
.pf-offer strong{ color: var(--pf-text); }
.pf-card-actions{
  display:grid;
  grid-template-columns: 1fr 1.25fr 1fr;
  gap:10px;
  padding: 14px;
}
.pf-action{
  border:0;
  border-radius: 18px;
  min-height: 48px;
  font-weight: 900;
  cursor:pointer;
}
.pf-action-pass{ background: rgba(255,255,255,.08); color:#fff; }
.pf-action-match{ background: linear-gradient(135deg, var(--pf-pink), var(--pf-purple)); color:#fff; }
.pf-action-gift{ background: linear-gradient(135deg, #ffd36b, #ff92d5); color:#241435; }
.pf-lock{
  padding: 14px;
  border-top: 1px solid var(--pf-border);
  color: var(--pf-muted);
  background: rgba(0,0,0,.18);
}
.pf-empty{
  padding: 24px;
  text-align:center;
  color: var(--pf-muted);
  border:1px dashed var(--pf-border);
  border-radius:24px;
}
.pf-bottom-tools{
  display:none;
  gap:10px;
  margin-bottom:12px;
}
.ringa-bottom-nav{
  background: rgba(7,4,13,.80);
  backdrop-filter: blur(18px);
  border-top: 1px solid var(--pf-border);
}
.ringa-bottom-nav .navitem.plus{
  background: linear-gradient(135deg, var(--pf-pink), var(--pf-purple));
}

.pf-wallet-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap:14px;
}
.pf-wallet-balance{
  font-size:36px;
  font-weight: 950;
  color: var(--pf-text);
}
.pf-gift-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
  gap:10px;
}
.pf-gift-card{
  border:1px solid var(--pf-border);
  border-radius: 20px;
  padding:14px;
  background: rgba(255,255,255,.06);
  color: var(--pf-text);
}
.pf-gift-icon{ font-size:30px; }
.pf-gift-name{ font-weight:900; margin-top:6px; }
.pf-gift-cost{ color:var(--pf-muted); font-size:12px; margin-top:4px; }

@media (max-width: 980px){
  .pf-hero{ align-items:flex-start; flex-direction:column; }
  .pf-hero-actions{ justify-content:flex-start; }
  .pf-discover-shell{
    grid-template-columns: 1fr;
    max-width: 560px;
    margin: 0 auto;
  }
  .pf-sidebar{ display:none; }
  .pf-bottom-tools{ display:flex; }
  .pf-home{ width:min(100% - 18px, 620px); padding-top:10px; }
  .pf-discover-card{ border-radius: 30px; }
  .pf-media{ aspect-ratio: 9 / 16; }
}
@media (max-width: 520px){
  .pf-title{ font-size: 34px; }
  .pf-card-actions{ grid-template-columns: 1fr 1fr 1fr; gap:8px; padding:12px; }
  .pf-action{ min-height:46px; font-size:13px; }
  .pf-card-top{ padding:12px; }
}


/* ==========================================================
   PassionFairy v0.1.3 desktop layout fixes
   The original Ringa fork forced a 560px phone column on desktop.
   PassionFairy uses a wide discovery stage with left filters, center card, right sort panel.
   ========================================================== */
@media (min-width: 900px){
  .ringa-app{
    max-width: none !important;
    margin: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
  }
  .ringa-topbar{
    max-width: none !important;
    margin: 0 !important;
    padding-left: max(18px, calc((100vw - 1320px) / 2)) !important;
    padding-right: max(18px, calc((100vw - 1320px) / 2)) !important;
  }
  .ringa-bottom-nav{
    max-width: 620px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    border-left: 1px solid var(--ringa-border);
    border-right: 1px solid var(--ringa-border);
    border-radius: 26px 26px 0 0;
  }
  .pf-home{
    width: min(1320px, calc(100% - 36px)) !important;
  }
  .pf-discover-shell{
    grid-template-columns: minmax(220px, 300px) minmax(360px, 540px) minmax(220px, 300px);
  }
}
.pf-media video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.pf-rate-row{
  display:flex;
  gap:8px;
  padding:0 14px 14px;
}
.pf-rate-row .pf-action{
  min-height:40px;
  flex:1;
  border-radius:14px;
}
.pf-small-note{
  color:var(--pf-muted);
  font-size:13px;
  line-height:1.5;
}


/* ==========================================================
   PassionFairy v0.1.4: desktop viewport-fit discovery layout
   Goal: one full discovery post visible without needing to scroll,
   closer to the user's desktop sketch.
   Mobile still keeps the portrait-first 9:16 card behavior.
   ========================================================== */

@media (min-width: 900px){
  .ringa-app{
    max-width: none !important;
    margin: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    min-height: 100dvh;
    padding-bottom: 0 !important;
  }

  .ringa-topbar{
    max-width: none !important;
    margin: 0 !important;
    min-height: 58px;
    padding: 9px 18px !important;
  }

  .pf-home{
    width: 100% !important;
    max-width: none !important;
    height: calc(100dvh - 58px);
    margin: 0 !important;
    padding: 14px 18px 78px !important;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }

  .pf-hero{
    width: min(1360px, 100%);
    margin: 0 auto 10px !important;
    padding: 0 !important;
    min-height: 74px;
    flex: 0 0 auto;
    align-items: center !important;
  }

  .pf-title{
    font-size: clamp(30px, 3vw, 42px) !important;
    line-height: .98;
    margin: 4px 0 6px !important;
  }

  .pf-subtitle{
    max-width: 610px;
    line-height: 1.35;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .pf-hero-actions .pf-btn{
    min-height: 40px;
    padding: 8px 14px;
  }

  .pf-bottom-tools{
    display: none !important;
  }

  .pf-discover-shell{
    width: min(1360px, 100%);
    margin: 0 auto !important;
    flex: 1 1 auto;
    height: auto;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(250px, 300px) minmax(420px, 540px) minmax(250px, 300px) !important;
    gap: 18px;
    align-items: stretch !important;
    justify-content: center;
  }

  .pf-sidebar,
  .pf-panel[data-pf-panel="filters"],
  .pf-panel[data-pf-panel="sort"]{
    align-self: start;
    max-height: 100%;
    overflow: auto;
    border-radius: 22px;
  }

  .pf-card-stack{
    height: 100%;
    min-height: 0;
    overflow: hidden;
    display: flex;
    align-items: stretch;
    justify-content: center;
  }

  .pf-discover-card{
    width: 100%;
    height: 100%;
    max-height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    border-radius: 28px;
  }

  .pf-card-top{
    flex: 0 0 auto;
    padding: 10px 14px 8px !important;
  }

  .pf-avatar{
    width: 42px;
    height: 42px;
  }

  .pf-card-name{
    font-size: 16px;
  }

  .pf-tier-badge{
    padding: 7px 10px;
  }

  .pf-media{
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
    aspect-ratio: auto !important;
  }

  .pf-media img,
  .pf-media video{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .pf-media-placeholder{
    position: absolute;
    inset: 0;
  }

  .pf-rating{
    top: 10px;
    right: 10px;
    padding: 7px 10px;
  }

  .pf-offer{
    flex: 0 0 auto;
    max-height: 60px;
    overflow: hidden;
    padding: 10px 14px !important;
    line-height: 1.35;
  }

  .pf-rate-row{
    flex: 0 0 auto;
    padding: 0 12px 8px !important;
  }

  .pf-rate-row .pf-action{
    min-height: 38px;
  }

  .pf-card-actions{
    flex: 0 0 auto;
    padding: 10px 12px 12px !important;
    gap: 10px;
  }

  .pf-action{
    min-height: 44px !important;
    border-radius: 16px;
  }

  .ringa-bottom-nav{
    max-width: 620px !important;
    left: 50% !important;
    right: auto !important;
    width: min(620px, calc(100vw - 32px)) !important;
    transform: translateX(-50%) !important;
    border-left: 1px solid var(--ringa-border);
    border-right: 1px solid var(--ringa-border);
    border-radius: 24px 24px 0 0;
  }
}

/* Smaller laptop screens, including 1366 x 768, get an even tighter top section. */
@media (min-width: 900px) and (max-height: 790px){
  .pf-home{
    padding-top: 10px !important;
    padding-bottom: 74px !important;
  }

  .pf-hero{
    min-height: 54px;
    margin-bottom: 8px !important;
  }

  .pf-eyebrow{
    font-size: 11px;
    letter-spacing: .16em;
  }

  .pf-title{
    font-size: clamp(26px, 2.4vw, 34px) !important;
    margin: 2px 0 0 !important;
  }

  .pf-subtitle{
    display: none !important;
  }

  .pf-hero-actions .pf-btn{
    min-height: 36px;
    padding: 7px 13px;
  }

  .pf-discover-shell{
    grid-template-columns: minmax(230px, 300px) minmax(390px, 540px) minmax(230px, 300px) !important;
    gap: 16px;
  }

  .pf-panel{
    padding: 14px !important;
  }

  .pf-panel h3{
    margin-bottom: 8px;
  }

  .pf-field{
    margin-bottom: 8px;
  }

  .pf-input,
  .pf-select,
  .pf-textarea{
    padding: 9px 11px;
  }

  .pf-chip{
    padding: 7px 9px;
  }

  .pf-card-top{
    padding: 8px 14px 7px !important;
  }

  .pf-avatar{
    width: 38px;
    height: 38px;
  }

  .pf-media-placeholder{
    padding: 18px;
  }

  .pf-offer{
    max-height: 52px;
    padding: 8px 14px !important;
  }

  .pf-card-actions{
    padding: 8px 12px 10px !important;
  }

  .pf-action{
    min-height: 40px !important;
  }
}

/* Very wide screens can breathe without making the center card too tall. */
@media (min-width: 1500px){
  .pf-discover-shell{
    grid-template-columns: 330px 560px 330px !important;
  }
}


/* ==========================================================
   PassionFairy v0.1.5 page polish: profile + inbox
   ========================================================== */

.pf-page{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
  padding:18px 0 110px;
}

@media (min-width:900px){
  .pf-page,
  .pf-profile-page{
    height:auto !important;
    min-height:calc(100dvh - 58px);
    overflow:visible !important;
    padding-bottom:110px !important;
  }
}

.pf-profile-hero{
  display:flex;
  align-items:center;
  gap:18px;
  padding:28px 0 22px;
}

.pf-profile-avatar{
  width:104px;
  height:104px;
  border-radius:999px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 24px 60px rgba(215,67,255,.18);
  flex:0 0 auto;
}

.pf-profile-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.pf-profile-main{
  flex:1;
  min-width:0;
}

.pf-profile-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-bottom:16px;
}

.pf-stat-line{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.pf-stat-line:last-child{ border-bottom:0; }

.pf-saved{
  border-color:rgba(46,245,159,.25) !important;
  color:#b8ffde;
  margin-bottom:14px;
}

.pf-error{
  border-color:rgba(255,120,120,.35) !important;
  color:#ffb4a5;
  margin-bottom:14px;
}

.pf-thread-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.pf-thread-card{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:rgba(255,255,255,.035);
}

.pf-thread-card img{
  width:52px;
  height:52px;
  border-radius:999px;
  object-fit:cover;
  flex:0 0 auto;
}

.pf-thread-card > div{
  flex:1;
  min-width:0;
}

@media (max-width:760px){
  .pf-profile-hero{
    align-items:flex-start;
    flex-direction:column;
  }
  .pf-profile-grid{
    grid-template-columns:1fr;
  }
}


/* ==========================================================
   PassionFairy v0.1.6: scrollable utility pages
   The Discover page uses .pf-home for viewport-fit mode.
   Create/Profile/Inbox must scroll normally so the bottom form controls
   are reachable above the fixed app navigation.
   ========================================================== */

@media (min-width:900px){
  .pf-create-page,
  .pf-inbox-page,
  .pf-profile-page{
    width:min(1180px, calc(100% - 32px)) !important;
    max-width:1180px !important;
    height:auto !important;
    min-height:calc(100dvh - 58px);
    margin:0 auto !important;
    padding:18px 0 140px !important;
    overflow:visible !important;
    display:block !important;
  }

  .pf-create-page .pf-hero,
  .pf-inbox-page .pf-hero,
  .pf-profile-page .pf-hero{
    width:100% !important;
    margin:8px 0 18px !important;
    min-height:auto !important;
    display:flex;
  }

  .pf-create-page .pf-subtitle,
  .pf-inbox-page .pf-subtitle,
  .pf-profile-page .pf-subtitle{
    display:block !important;
  }
}

.pf-create-page .pf-panel{
  margin-bottom:32px;
}

.pf-create-form{
  padding-bottom:36px;
}

@media (max-width:899px){
  .pf-create-page,
  .pf-inbox-page,
  .pf-profile-page{
    padding-bottom:130px !important;
  }
}


/* ==========================================================
   PassionFairy v0.1.8 visual polish
   - Crisp SVG footer icons
   - Higher-quality FairyDust gift art
   ========================================================== */

.ringa-bottom-nav a.navitem{
  font-size: 0;
}

.pf-nav-icon,
.pf-nav-plus-icon{
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.pf-nav-icon svg,
.pf-nav-plus-icon svg{
  width: 100%;
  height: 100%;
  display: block;
}

.ringa-bottom-nav a.plus .pf-nav-plus-icon{
  width: 22px;
  height: 22px;
}

.ringa-bottom-nav a.plus{
  font-size: 0;
}

.plus-inner svg{
  width: 22px;
  height: 22px;
  display: block;
}

.pf-wallet-balance{
  display:flex;
  align-items:center;
  gap:12px;
}

.pf-wallet-balance-number{
  display:inline-block;
}

.pf-wallet-balance-icon{
  width: 34px;
  height: 34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  filter: drop-shadow(0 8px 18px rgba(255, 117, 204, .22));
}

.pf-wallet-balance-icon svg{
  width:100%;
  height:100%;
  display:block;
}

.pf-gift-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap:12px;
}

.pf-gift-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px;
  padding:12px;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.07), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.035));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 10px 26px rgba(0,0,0,.20);
}

.pf-gift-card::after{
  content:"";
  position:absolute;
  inset:auto -30px -35px auto;
  width:86px;
  height:86px;
  border-radius:999px;
  background: rgba(255,255,255,.04);
  filter: blur(8px);
}

.pf-gift-art{
  height:84px;
  border-radius:18px;
  margin-bottom:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 22% 18%, rgba(255,255,255,.22), transparent 26%),
    linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.07);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

.pf-gift-art svg{
  width:64px;
  height:64px;
  display:block;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.16));
}

.pf-gift-name{
  font-weight:900;
  margin-top:2px;
  font-size: 15px;
  line-height:1.2;
}

.pf-gift-cost{
  color:var(--pf-muted);
  font-size:13px;
  margin-top:5px;
}

.pf-gift-card[data-pf-gift="rose"] .pf-gift-art{
  background: linear-gradient(135deg, rgba(255,100,146,.22), rgba(94,34,74,.18));
}
.pf-gift-card[data-pf-gift="heart_glow"] .pf-gift-art{
  background: linear-gradient(135deg, rgba(255,120,185,.24), rgba(166,49,114,.18));
}
.pf-gift-card[data-pf-gift="butterfly_kiss"] .pf-gift-art{
  background: linear-gradient(135deg, rgba(111,225,255,.20), rgba(158,112,255,.20));
}
.pf-gift-card[data-pf-gift="moon_charm"] .pf-gift-art{
  background: linear-gradient(135deg, rgba(255,221,116,.24), rgba(146,88,36,.18));
}
.pf-gift-card[data-pf-gift="fairy_spark"] .pf-gift-art{
  background: linear-gradient(135deg, rgba(255,212,101,.24), rgba(180,88,255,.18));
}
.pf-gift-card[data-pf-gift="crown_moment"] .pf-gift-art{
  background: linear-gradient(135deg, rgba(255,212,101,.24), rgba(255,132,182,.18));
}
.pf-gift-card[data-pf-gift="passion_flame"] .pf-gift-art{
  background: linear-gradient(135deg, rgba(255,139,77,.24), rgba(152,39,0,.18));
}
.pf-gift-card[data-pf-gift="angel_wings"] .pf-gift-art{
  background: linear-gradient(135deg, rgba(227,238,255,.24), rgba(102,132,188,.18));
}
.pf-gift-card[data-pf-gift="fairy_universe"] .pf-gift-art{
  background: linear-gradient(135deg, rgba(99,80,255,.28), rgba(25,12,57,.28));
}


/* ==========================================================
   PassionFairy v0.1.11 polish
   - Larger discovery media area by compacting the card footer
   - Better portrait crop positioning for phone photos
   - Extra safe scrolling space above the fixed footer nav
   ========================================================== */

.pf-media img,
.pf-media video{
  object-position:center 38%;
}

.pf-lock{
  padding: 8px 12px !important;
}
.pf-lock .pf-btn{
  min-height: 34px !important;
  padding: 7px 14px !important;
  font-size: 13px;
}

.pf-create-page,
.pf-profile-page,
.pf-inbox-page,
.pf-page{
  padding-bottom: 190px !important;
}

@media (min-width:900px){
  .pf-home{
    padding-bottom: 82px !important;
  }

  .pf-discover-card{
    min-height: 0;
  }

  .pf-media{
    flex: 1 1 auto;
    min-height: 250px;
  }

  .pf-offer{
    max-height: 50px !important;
    padding: 8px 14px !important;
    font-size: 14px;
  }

  .pf-rate-row{
    padding: 0 12px 7px !important;
    gap: 8px !important;
  }

  .pf-rate-row .pf-action{
    min-height: 34px !important;
    border-radius: 14px !important;
    font-size: 13px;
  }

  .pf-card-actions{
    padding: 7px 12px 8px !important;
    gap: 9px !important;
  }

  .pf-card-actions .pf-action{
    min-height: 36px !important;
    border-radius: 15px !important;
    font-size: 13px;
  }

  .pf-lock{
    padding: 6px 12px 8px !important;
  }

  .pf-lock .pf-btn{
    min-height: 30px !important;
    padding: 6px 13px !important;
  }
}

@media (min-width:900px) and (max-height:790px){
  .pf-home{
    padding-top: 8px !important;
  }

  .pf-hero{
    min-height: 46px !important;
  }

  .pf-discover-shell{
    grid-template-columns: minmax(230px, 300px) minmax(390px, 540px) minmax(230px, 300px) !important;
  }

  .pf-card-top{
    padding: 7px 14px 6px !important;
  }

  .pf-media{
    min-height: 270px;
  }

  .pf-offer{
    max-height: 44px !important;
    padding: 7px 14px !important;
  }

  .pf-rate-row{
    padding-bottom: 6px !important;
  }

  .pf-card-actions{
    padding-bottom: 7px !important;
  }

  .pf-lock{
    padding-top: 5px !important;
    padding-bottom: 7px !important;
  }
}

@media (max-width:899px){
  .pf-create-page,
  .pf-profile-page,
  .pf-inbox-page,
  .pf-page{
    padding-bottom: 180px !important;
  }

  .pf-media img,
  .pf-media video{
    object-position:center center;
  }
}


/* ==========================================================
   PassionFairy v0.1.12 polish
   - Removes the desktop card-bottom profile row for unlocked users
   - Makes the avatar/name area open the Fairy profile
   - Gives the media area more breathing room so one post fits the viewport
   ========================================================== */

.pf-card-identity-link{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  flex:1 1 auto;
  color:inherit;
  text-decoration:none;
}
.pf-card-identity-link:hover .pf-card-name{
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.pf-card-identity-link > span{
  min-width:0;
  display:block;
}
.pf-card-identity-link .pf-card-name,
.pf-card-identity-link .pf-card-meta{
  display:block;
}

@media (min-width:900px){
  .pf-card-top{
    min-height: 50px;
  }

  .pf-discover-card.pf-has-post .pf-media{
    min-height: 300px;
  }

  .pf-discover-card.pf-has-post .pf-offer{
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .pf-discover-card.pf-has-post .pf-card-actions{
    padding-bottom: 10px !important;
  }

  .pf-discover-card.pf-has-post{
    overflow:hidden;
  }
}

@media (min-width:900px) and (max-height:790px){
  .pf-home{
    padding-top: 8px !important;
    padding-bottom: 72px !important;
  }

  .pf-hero{
    min-height: 42px !important;
    margin-bottom: 8px !important;
  }

  .pf-discover-card.pf-has-post .pf-media{
    min-height: 292px !important;
  }

  .pf-discover-card.pf-has-post .pf-rate-row .pf-action,
  .pf-discover-card.pf-has-post .pf-card-actions .pf-action{
    min-height: 34px !important;
  }
}

@media (min-width:1200px) and (max-height:790px){
  .pf-discover-shell{
    grid-template-columns: minmax(250px, 300px) minmax(500px, 540px) minmax(250px, 300px) !important;
  }
}


/* ==========================================================
   PassionFairy v0.1.13 card-fit polish
   - Moves reaction/match/gift controls onto the media like the sketch
   - Gives the portrait media area more room while keeping one post in view
   - Keeps profile opening on avatar/name from v0.1.12
   ========================================================== */

.pf-media{
  position:relative;
  overflow:hidden;
}

.pf-media:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:46%;
  background:linear-gradient(to top, rgba(5,0,10,.88), rgba(5,0,10,.48) 48%, rgba(5,0,10,0));
  pointer-events:none;
  z-index:1;
}

.pf-media-action-deck{
  position:absolute;
  left:12px;
  right:12px;
  bottom:12px;
  z-index:2;
  display:grid;
  gap:8px;
}

.pf-media-action-deck .pf-rate-row,
.pf-media-action-deck .pf-card-actions{
  padding:0 !important;
  margin:0 !important;
  position:relative;
  z-index:2;
}

.pf-media-action-deck .pf-rate-row{
  display:grid !important;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.pf-media-action-deck .pf-card-actions{
  display:grid !important;
  grid-template-columns:1fr 1.22fr 1fr;
  gap:8px;
}

.pf-media-action-deck .pf-action{
  min-height:38px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 14px 30px rgba(0,0,0,.32);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.pf-action-like{
  background:linear-gradient(135deg, #ffd26f, #ee46c4) !important;
  color:#160619 !important;
}

.pf-action-dislike,
.pf-media-action-deck .pf-action-pass{
  background:rgba(15,9,22,.78) !important;
  color:#fff !important;
}

.pf-media-action-deck .pf-action-match{
  background:linear-gradient(135deg, #ef47c0, #9b56f3) !important;
  color:#fff !important;
}

.pf-media-action-deck .pf-action-gift{
  background:linear-gradient(135deg, #ffd36f, #ff82bd) !important;
  color:#180515 !important;
}

.pf-has-post .pf-offer,
.pf-no-post .pf-offer{
  border-top:1px solid rgba(255,255,255,.08);
}

@media (min-width:900px){
  .pf-discover-card{
    overflow:hidden;
  }

  .pf-has-post .pf-media{
    min-height:360px !important;
  }

  .pf-no-post .pf-media{
    min-height:360px !important;
  }

  .pf-has-post .pf-media img,
  .pf-has-post .pf-media video{
    object-position:center 42%;
  }

  .pf-has-post .pf-offer,
  .pf-no-post .pf-offer{
    max-height:56px !important;
    padding:10px 14px !important;
  }

  .pf-has-post .pf-card-actions,
  .pf-no-post .pf-card-actions{
    padding:0 !important;
  }
}

@media (min-width:900px) and (max-height:790px){
  .pf-has-post .pf-media,
  .pf-no-post .pf-media{
    min-height:330px !important;
  }

  .pf-media-action-deck{
    left:12px;
    right:12px;
    bottom:10px;
    gap:7px;
  }

  .pf-media-action-deck .pf-action{
    min-height:35px !important;
    font-size:13px;
  }

  .pf-has-post .pf-offer,
  .pf-no-post .pf-offer{
    max-height:50px !important;
    padding:8px 14px !important;
    font-size:14px;
  }
}

@media (max-width:899px){
  .pf-media-action-deck{
    left:10px;
    right:10px;
    bottom:10px;
    gap:8px;
  }

  .pf-media-action-deck .pf-action{
    min-height:42px !important;
  }

  .pf-media-action-deck .pf-rate-row,
  .pf-media-action-deck .pf-card-actions{
    gap:8px;
  }

  .pf-offer{
    padding-bottom:12px !important;
  }
}


/* ==========================================================
   PassionFairy v0.1.14 media polish
   - Phone-first media frame: full photo/video is shown with less harsh crop
   - Blurred backdrop fills the card when portrait media does not fill the frame
   - Action controls are slightly slimmer so they block less of the photo/video
   ========================================================== */

.pf-photo-stage,
.pf-video-stage{
  position:relative;
  width:100%;
  height:100%;
  min-height:inherit;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#07000d;
}

.pf-photo-stage::before{
  content:"";
  position:absolute;
  inset:-24px;
  background-image:var(--pf-media-url);
  background-size:cover;
  background-position:center;
  filter:blur(20px) brightness(.42) saturate(1.15);
  transform:scale(1.08);
  z-index:0;
}

.pf-photo-stage img,
.pf-video-stage video{
  position:relative;
  z-index:1;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}

.pf-video-stage video{
  background:#000;
}

.pf-media:after{
  height:34% !important;
  background:linear-gradient(to top, rgba(5,0,10,.84), rgba(5,0,10,.42) 52%, rgba(5,0,10,0)) !important;
}

.pf-media-action-deck{
  bottom:9px !important;
  gap:6px !important;
}

.pf-media-action-deck .pf-action{
  min-height:34px !important;
  font-size:13px !important;
  letter-spacing:-.01em;
}

.pf-media-action-deck .pf-rate-row,
.pf-media-action-deck .pf-card-actions{
  gap:7px !important;
}

.pf-has-post .pf-offer{
  line-height:1.25;
}

@media (min-width:900px){
  .pf-has-post .pf-media,
  .pf-no-post .pf-media{
    min-height:350px !important;
  }

  .pf-discover-card.pf-has-post .pf-media{
    background:#07000d;
  }

  .pf-media-action-deck{
    left:13px !important;
    right:13px !important;
  }
}

@media (min-width:900px) and (max-height:790px){
  .pf-has-post .pf-media,
  .pf-no-post .pf-media{
    min-height:338px !important;
  }

  .pf-media-action-deck .pf-action{
    min-height:32px !important;
    font-size:12.5px !important;
  }

  .pf-has-post .pf-offer,
  .pf-no-post .pf-offer{
    max-height:44px !important;
    padding:7px 14px !important;
  }
}

@media (max-width:899px){
  .pf-photo-stage img,
  .pf-video-stage video{
    object-fit:cover !important;
  }

  .pf-media-action-deck .pf-action{
    min-height:40px !important;
  }
}


/* ==========================================================
   PassionFairy v0.1.15 media correction
   - Desktop/laptop cards fill the post frame again, closer to the sketch
   - Removes the grey side-bar look caused by full-contain desktop media
   - Keeps a softer blurred backdrop only as a hidden safety layer
   ========================================================== */

.pf-photo-stage,
.pf-video-stage{
  background:#09000f !important;
}

.pf-photo-stage::before{
  opacity:.18 !important;
  filter:blur(18px) brightness(.34) saturate(1.12) !important;
}

@media (min-width:900px){
  .pf-has-post .pf-media,
  .pf-no-post .pf-media{
    min-height:390px !important;
    max-height:calc(100vh - 335px);
  }

  .pf-photo-stage img,
  .pf-video-stage video{
    object-fit:cover !important;
    object-position:center 38% !important;
  }

  .pf-media-action-deck{
    bottom:10px !important;
  }

  .pf-media:after{
    height:40% !important;
    background:linear-gradient(to top, rgba(5,0,10,.88), rgba(5,0,10,.38) 55%, rgba(5,0,10,0)) !important;
  }

  .pf-has-post .pf-offer,
  .pf-no-post .pf-offer{
    max-height:42px !important;
    padding:7px 14px !important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}

@media (min-width:900px) and (max-height:790px){
  .pf-has-post .pf-media,
  .pf-no-post .pf-media{
    min-height:365px !important;
    max-height:365px !important;
  }

  .pf-photo-stage img,
  .pf-video-stage video{
    object-position:center 36% !important;
  }

  .pf-media-action-deck .pf-action{
    min-height:32px !important;
  }
}

@media (min-width:1200px) and (max-height:790px){
  .pf-discover-shell{
    grid-template-columns:minmax(260px, 300px) minmax(500px, 540px) minmax(260px, 300px) !important;
  }
}

@media (max-width:899px){
  .pf-has-post .pf-media,
  .pf-no-post .pf-media{
    aspect-ratio:9 / 16;
    min-height:auto !important;
  }

  .pf-photo-stage img,
  .pf-video-stage video{
    object-fit:cover !important;
    object-position:center 38% !important;
  }
}


/* ==========================================================
   PassionFairy v0.1.16 desktop action-deck refinement
   - Keeps one post visible on laptop/desktop
   - Changes the media controls from two chunky rows into one slim desktop tray
   - Gives more of the photo/video back to the user while preserving all actions
   ========================================================== */

@media (min-width:900px){
  .pf-media-action-deck{
    display:grid !important;
    grid-template-columns:1fr 1.55fr !important;
    align-items:center !important;
    gap:8px !important;
    left:13px !important;
    right:13px !important;
    bottom:10px !important;
  }

  .pf-media-action-deck .pf-rate-row{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:7px !important;
  }

  .pf-media-action-deck .pf-card-actions{
    display:grid !important;
    grid-template-columns:.9fr 1.18fr .9fr !important;
    gap:7px !important;
  }

  .pf-media-action-deck .pf-action{
    min-height:30px !important;
    padding:5px 8px !important;
    font-size:12.5px !important;
    line-height:1 !important;
    box-shadow:0 10px 22px rgba(0,0,0,.34) !important;
  }

  .pf-media:after{
    height:26% !important;
    background:linear-gradient(to top, rgba(5,0,10,.78), rgba(5,0,10,.28) 58%, rgba(5,0,10,0)) !important;
  }

  .pf-has-post .pf-media,
  .pf-no-post .pf-media{
    min-height:405px !important;
    max-height:calc(100vh - 318px) !important;
  }

  .pf-photo-stage img,
  .pf-video-stage video{
    object-fit:cover !important;
    object-position:center 41% !important;
  }

  .pf-has-post .pf-offer,
  .pf-no-post .pf-offer{
    max-height:38px !important;
    min-height:38px !important;
    padding:7px 14px !important;
    display:flex !important;
    align-items:center !important;
  }
}

@media (min-width:900px) and (max-height:790px){
  .pf-has-post .pf-media,
  .pf-no-post .pf-media{
    min-height:382px !important;
    max-height:382px !important;
  }

  .pf-media-action-deck .pf-action{
    min-height:28px !important;
    padding:4px 7px !important;
    font-size:12px !important;
  }

  .pf-has-post .pf-offer,
  .pf-no-post .pf-offer{
    max-height:34px !important;
    min-height:34px !important;
    padding:6px 14px !important;
  }
}

@media (max-width:899px){
  .pf-media-action-deck{
    bottom:12px !important;
  }

  .pf-media-action-deck .pf-action{
    min-height:38px !important;
  }
}


/* ==========================================================
   PassionFairy v0.1.18 emergency correction
   Design language lock:
   - Main discovery label is Discover Fairies.
   - This build rolls back the v0.1.17 desktop experiment.
   - Do not rename the discovery surface away from Discover Fairies.
   ========================================================== */


/* =========================================================
   PassionFairy v0.1.19: desktop sketch-lock layout
   Keeps the title as “Discover Fairies” and fits one card in view.
   ========================================================= */
@media (min-width: 1024px) {
  body.home,
  body.front-page {
    overflow-x: hidden;
  }

  .pf-home {
    --pf-sketch-left: 300px;
    --pf-sketch-center: 600px;
    --pf-sketch-right: 300px;
    --pf-sketch-gap: 16px;
    max-width: none !important;
    width: 100%;
    min-height: calc(100vh - 58px);
    padding: 10px 18px 88px !important;
  }

  .pf-home .pf-hero {
    width: min(100%, calc(var(--pf-sketch-left) + var(--pf-sketch-center) + var(--pf-sketch-right) + (var(--pf-sketch-gap) * 2)));
    margin: 0 auto 10px !important;
    padding: 0 !important;
    min-height: 56px;
    display: grid !important;
    grid-template-columns: var(--pf-sketch-left) var(--pf-sketch-center) var(--pf-sketch-right);
    column-gap: var(--pf-sketch-gap);
    align-items: center;
  }

  .pf-home .pf-hero > div:first-child {
    grid-column: 2;
    text-align: center;
    justify-self: stretch;
    min-width: 0;
  }

  .pf-home .pf-hero .pf-eyebrow {
    margin: 0 0 3px;
    font-size: 11px;
    letter-spacing: 0.14em;
  }

  .pf-home .pf-title {
    margin: 0 !important;
    font-size: clamp(30px, 3vw, 38px) !important;
    line-height: 1.02;
  }

  .pf-home .pf-subtitle {
    display: none !important;
  }

  .pf-home .pf-hero-actions {
    grid-column: 3;
    justify-self: end;
    align-self: center;
    display: flex !important;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
  }

  .pf-home .pf-hero-actions .pf-btn {
    min-height: 40px;
    padding: 0 18px;
    white-space: nowrap;
  }

  .pf-discover-shell {
    width: min(100%, calc(var(--pf-sketch-left) + var(--pf-sketch-center) + var(--pf-sketch-right) + (var(--pf-sketch-gap) * 2)));
    max-width: none !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: var(--pf-sketch-left) var(--pf-sketch-center) var(--pf-sketch-right) !important;
    gap: var(--pf-sketch-gap) !important;
    align-items: start;
  }

  .pf-filter-panel,
  .pf-sort-panel {
    margin-top: 0 !important;
    max-height: calc(100vh - 180px);
    overflow: auto;
  }

  .pf-discover-main {
    width: var(--pf-sketch-center) !important;
    max-width: var(--pf-sketch-center) !important;
    justify-self: center;
  }

  .pf-discover-card {
    width: var(--pf-sketch-center) !important;
    max-width: var(--pf-sketch-center) !important;
    margin: 0 auto !important;
    overflow: hidden;
    border-radius: 0 0 26px 26px;
  }

  .pf-card-top {
    height: 52px !important;
    min-height: 52px !important;
    padding: 8px 14px !important;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }

  .pf-avatar {
    width: 38px !important;
    height: 38px !important;
  }

  .pf-card-name {
    font-size: 17px !important;
    line-height: 1.05;
  }

  .pf-card-meta {
    font-size: 12px !important;
    line-height: 1.2;
  }

  .pf-tier-badge {
    padding: 7px 14px !important;
    font-size: 12px !important;
  }

  .pf-media {
    height: clamp(350px, calc(100vh - 340px), 410px) !important;
    min-height: 350px !important;
    background: #0a0710;
  }

  .pf-photo-stage,
  .pf-photo-stage img,
  .pf-media-placeholder,
  .pf-video-stage,
  .pf-media video {
    height: 100% !important;
    min-height: 0 !important;
  }

  .pf-photo-stage img,
  .pf-video-stage video,
  .pf-media video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 36% !important;
  }

  .pf-rating {
    top: 10px !important;
    right: 10px !important;
    font-size: 15px !important;
    padding: 8px 12px !important;
  }

  .pf-media-action-deck {
    position: absolute !important;
    z-index: 5;
    left: 14px !important;
    right: 14px !important;
    bottom: 12px !important;
    display: flex !important;
    align-items: center;
    gap: 10px !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .pf-media-action-deck::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -18px;
    right: -18px;
    bottom: -18px;
    height: 118px;
    background: linear-gradient(0deg, rgba(0,0,0,0.72), rgba(0,0,0,0.0));
    pointer-events: none;
  }

  .pf-rate-row,
  .pf-card-actions {
    display: contents !important;
  }

  .pf-action {
    min-height: 42px !important;
    border-radius: 999px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.22);
  }

  .pf-action-pass {
    display: none !important;
  }

  .pf-action-dislike {
    order: 1;
    flex: 0 0 72px;
    width: 72px;
    max-width: 72px;
    padding: 0 !important;
    font-size: 0 !important;
    background: rgba(10, 7, 16, 0.76) !important;
    color: #ff334c !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
  }

  .pf-action-dislike::before {
    content: "×";
    font-size: 38px;
    line-height: 1;
    font-weight: 950;
  }

  .pf-action-match {
    order: 2;
    flex: 1 1 auto;
    min-width: 190px;
    max-width: none !important;
    font-size: 14px !important;
    letter-spacing: 0.02em;
  }

  .pf-action-gift {
    order: 3;
    flex: 0 0 80px;
    width: 80px;
    max-width: 80px;
    padding: 0 10px !important;
    font-size: 13px !important;
  }

  .pf-action-like {
    order: 4;
    flex: 0 0 72px;
    width: 72px;
    max-width: 72px;
    padding: 0 !important;
    font-size: 0 !important;
    background: linear-gradient(135deg, #ff4fc4, #ff8fb8) !important;
    border: 0 !important;
  }

  .pf-action-like::before {
    content: "♥";
    font-size: 34px;
    line-height: 1;
    color: #fff;
    text-shadow: 0 3px 18px rgba(0,0,0,0.35);
  }

  .pf-offer {
    min-height: 48px;
    max-height: 58px;
    overflow: hidden;
    padding: 10px 14px 12px !important;
    font-size: 15px !important;
    line-height: 1.28 !important;
    border-top: 1px solid rgba(255,255,255,0.08);
    background: rgba(8,5,14,0.98) !important;
  }

  .pf-lock {
    display: none !important;
  }
}

@media (min-width: 1180px) and (max-height: 760px) {
  .pf-home {
    padding-top: 6px !important;
  }

  .pf-home .pf-hero {
    min-height: 48px;
    margin-bottom: 6px !important;
  }

  .pf-home .pf-hero .pf-eyebrow {
    display: none !important;
  }

  .pf-home .pf-title {
    font-size: 34px !important;
  }

  .pf-media {
    height: clamp(330px, calc(100vh - 320px), 388px) !important;
    min-height: 330px !important;
  }

  .pf-filter-panel,
  .pf-sort-panel {
    max-height: calc(100vh - 160px);
  }
}

@media (min-width: 1024px) and (max-width: 1260px) {
  .pf-home {
    --pf-sketch-left: 270px;
    --pf-sketch-center: 560px;
    --pf-sketch-right: 270px;
    --pf-sketch-gap: 12px;
  }

  .pf-action-match {
    min-width: 160px;
  }

  .pf-action-dislike,
  .pf-action-like {
    flex-basis: 64px;
    width: 64px;
  }

  .pf-action-gift {
    flex-basis: 70px;
    width: 70px;
  }
}


/* PassionFairy v0.1.20: sketch-correct discover layout
   Fixes the marked homepage issues:
   A/B: remove empty desktop gutters by letting side columns fill the viewport.
   C: remove the small 18+ eyebrow from the discover homepage.
   D: remove duplicate Wallet/Profile hero pills from the discover homepage. */
.pf-home {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 10px 0 96px !important;
}

.pf-home .pf-hero,
.pf-home .pf-discover-shell {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

.pf-home .pf-hero {
  display: grid !important;
  grid-template-columns: minmax(270px, 1fr) minmax(520px, 600px) minmax(270px, 1fr) !important;
  gap: 16px !important;
  align-items: end !important;
  padding: 8px 0 6px !important;
}

.pf-home .pf-hero-copy {
  grid-column: 2 !important;
  text-align: center !important;
  min-width: 0 !important;
}

.pf-home .pf-eyebrow,
.pf-home .pf-hero-copy > p,
.pf-home .pf-hero-actions {
  display: none !important;
}

.pf-home .pf-title {
  margin: 0 !important;
  font-size: clamp(28px, 3vw, 38px) !important;
  line-height: 1 !important;
}

.pf-home .pf-discover-shell {
  display: grid !important;
  grid-template-columns: minmax(270px, 1fr) minmax(520px, 600px) minmax(270px, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;
  padding: 0 !important;
}

.pf-home .pf-side,
.pf-home .pf-filter-panel,
.pf-home .pf-sort-panel,
.pf-home .pf-card {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

.pf-home .pf-filter-panel {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

.pf-home .pf-sort-panel {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.pf-home .pf-card {
  grid-column: auto !important;
  justify-self: stretch !important;
  border-radius: 0 0 20px 20px !important;
}

.pf-home .pf-card-head {
  border-radius: 0 !important;
}

.pf-home .pf-card-media {
  height: clamp(330px, calc(100vh - 355px), 430px) !important;
  min-height: 0 !important;
  border-radius: 0 !important;
}

.pf-home .pf-card-offer {
  border-radius: 0 0 20px 20px !important;
}

/* Keep the sketch-style overlay controls, but remove the accidental text echo. */
.pf-home .pf-action-dislike,
.pf-home .pf-action-like {
  color: transparent !important;
  text-shadow: none !important;
  overflow: hidden !important;
}

.pf-home .pf-action-dislike::before,
.pf-home .pf-action-like::before {
  color: #fff !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.45) !important;
}

.pf-home .pf-action-dislike::before {
  color: #ff2d44 !important;
}

.pf-home .pf-action-match,
.pf-home .pf-action-gift {
  min-width: 118px !important;
}

@media (max-width: 1100px) {
  .pf-home {
    padding: 14px 14px 96px !important;
  }

  .pf-home .pf-hero,
  .pf-home .pf-discover-shell {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    max-width: 640px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .pf-home .pf-hero-copy {
    grid-column: 1 !important;
    text-align: center !important;
  }

  .pf-home .pf-filter-panel,
  .pf-home .pf-sort-panel,
  .pf-home .pf-card {
    border-radius: 20px !important;
  }

  .pf-home .pf-card-head {
    border-radius: 20px 20px 0 0 !important;
  }

  .pf-home .pf-card-media {
    height: min(62vh, 520px) !important;
  }
}

@media (max-width: 640px) {
  .pf-home {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .pf-home .pf-title {
    font-size: 28px !important;
  }

  .pf-home .pf-discover-shell,
  .pf-home .pf-hero {
    gap: 10px !important;
  }

  .pf-home .pf-filter-panel,
  .pf-home .pf-sort-panel,
  .pf-home .pf-card {
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
  }

  .pf-home .pf-card-media {
    height: min(68vh, 560px) !important;
  }
}


/* PassionFairy v0.1.26 - desktop sketch-fit refinement
   Goals from testing: smaller title block, no wasted space above the heading,
   wider centre post that touches the side widgets, and a taller post card that
   lands just above the footer nav on desktop. */
@media (min-width: 1024px) {
  body.pf-page-discover .pf-home {
    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 76px !important;
    min-height: calc(100dvh - 58px) !important;
    display: flex !important;
    flex-direction: column !important;
  }

  body.pf-page-discover .pf-home .pf-hero {
    min-height: 38px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(240px, 1fr) minmax(540px, 46vw) minmax(240px, 1fr) !important;
    gap: 0 !important;
    align-items: center !important;
    width: 100% !important;
    max-width: none !important;
  }

  body.pf-page-discover .pf-home .pf-hero-copy {
    grid-column: 2 !important;
    text-align: center !important;
    justify-self: stretch !important;
    min-width: 0 !important;
  }

  body.pf-page-discover .pf-home .pf-title {
    font-size: clamp(25px, 2.25vw, 32px) !important;
    line-height: 1 !important;
    margin: 0 !important;
    letter-spacing: -0.04em !important;
  }

  body.pf-page-discover .pf-home .pf-eyebrow,
  body.pf-page-discover .pf-home .pf-copy,
  body.pf-page-discover .pf-home .pf-hero-actions {
    display: none !important;
  }

  body.pf-page-discover .pf-home .pf-discover-shell {
    flex: 1 1 auto !important;
    display: grid !important;
    grid-template-columns: minmax(240px, 1fr) minmax(540px, 46vw) minmax(240px, 1fr) !important;
    gap: 0 !important;
    align-items: start !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.pf-page-discover .pf-home .pf-side,
  body.pf-page-discover .pf-home .pf-discover-main,
  body.pf-page-discover .pf-home .pf-card-wrap {
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
  }

  body.pf-page-discover .pf-home .pf-discover-main {
    justify-self: stretch !important;
  }

  body.pf-page-discover .pf-home .pf-filter-panel,
  body.pf-page-discover .pf-home .pf-sort-panel {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
  }

  body.pf-page-discover .pf-home .pf-filter-panel {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
  }

  body.pf-page-discover .pf-home .pf-sort-panel {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
  }

  body.pf-page-discover .pf-home .pf-card {
    width: 100% !important;
    max-width: none !important;
    height: calc(100dvh - 178px) !important;
    min-height: 500px !important;
    max-height: 650px !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border-radius: 0 0 22px 22px !important;
  }

  body.pf-page-discover .pf-home .pf-card-head {
    flex: 0 0 50px !important;
    min-height: 50px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    border-radius: 0 !important;
  }

  body.pf-page-discover .pf-home .pf-card-media {
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    border-radius: 0 !important;
  }

  body.pf-page-discover .pf-home .pf-card-media .pf-photo-stage,
  body.pf-page-discover .pf-home .pf-card-media .pf-demo-photo {
    height: 100% !important;
    min-height: 0 !important;
  }

  body.pf-page-discover .pf-home .pf-card-offer {
    flex: 0 0 48px !important;
    min-height: 48px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    border-radius: 0 0 22px 22px !important;
  }

  body.pf-page-discover .pf-home .pf-media-action-deck {
    bottom: 18px !important;
  }
}

@media (min-width: 1024px) and (max-height: 760px) {
  body.pf-page-discover .pf-home .pf-hero {
    min-height: 34px !important;
  }

  body.pf-page-discover .pf-home .pf-title {
    font-size: clamp(24px, 2.05vw, 30px) !important;
  }

  body.pf-page-discover .pf-home .pf-card {
    height: calc(100dvh - 166px) !important;
    min-height: 492px !important;
  }
}


/* ------------------------------------------------------------
   PassionFairy v0.1.26 desktop sketch alignment lock
   ------------------------------------------------------------
   Fixes the visible v0.1.20/0.1.26 issues:
   A: reduce heading air above Discover Fairies
   B: make Discover Fairies smaller
   C: stretch the active card down toward the footer
   D: widen the center card so it meets the side panels cleanly
*/
body.pf-page-discover .ringa-content,
body.home .ringa-content,
body.front-page .ringa-content {
  padding-top: 0 !important;
  padding-bottom: 84px !important;
  overflow-x: hidden;
}

body.pf-page-discover .pf-home,
body.home .pf-home,
body.front-page .pf-home {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
}

body.pf-page-discover .pf-hero,
body.home .pf-hero,
body.front-page .pf-hero {
  max-width: none !important;
  width: 100% !important;
  padding: 8px 0 0 !important;
  margin: 0 !important;
}

body.pf-page-discover .pf-hero .pf-kicker,
body.home .pf-hero .pf-kicker,
body.front-page .pf-hero .pf-kicker {
  display: none !important;
}

body.pf-page-discover .pf-hero .pf-title,
body.home .pf-hero .pf-title,
body.front-page .pf-hero .pf-title {
  font-size: clamp(1.45rem, 2.05vw, 1.95rem) !important;
  line-height: 1.05 !important;
  text-align: center !important;
  margin: 8px auto 10px !important;
  letter-spacing: -0.035em !important;
}

body.pf-page-discover .pf-discover-shell,
body.home .pf-discover-shell,
body.front-page .pf-discover-shell {
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 calc(50% - 50vw) !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(280px, 28vw) minmax(560px, 44vw) minmax(280px, 28vw) !important;
  gap: 0 !important;
  align-items: start !important;
}

body.pf-page-discover .pf-filter-panel,
body.pf-page-discover .pf-side-panel,
body.home .pf-filter-panel,
body.home .pf-side-panel,
body.front-page .pf-filter-panel,
body.front-page .pf-side-panel {
  width: 100% !important;
  max-width: none !important;
  border-radius: 22px !important;
}

body.pf-page-discover .pf-card-stack,
body.home .pf-card-stack,
body.front-page .pf-card-stack {
  width: 100% !important;
  max-width: none !important;
  align-self: stretch !important;
}

body.pf-page-discover .pf-card,
body.home .pf-card,
body.front-page .pf-card {
  width: 100% !important;
  max-width: none !important;
  min-height: calc(100dvh - 242px) !important;
  border-radius: 0 0 24px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

body.pf-page-discover .pf-card-head,
body.home .pf-card-head,
body.front-page .pf-card-head {
  flex: 0 0 52px !important;
  min-height: 52px !important;
  padding: 8px 14px !important;
}

body.pf-page-discover .pf-photo-stage,
body.home .pf-photo-stage,
body.front-page .pf-photo-stage {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  border-radius: 0 !important;
}

body.pf-page-discover .pf-photo-stage img,
body.home .pf-photo-stage img,
body.front-page .pf-photo-stage img,
body.pf-page-discover .pf-photo-stage video,
body.home .pf-photo-stage video,
body.front-page .pf-photo-stage video {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center 34% !important;
}

body.pf-page-discover .pf-media-action-deck,
body.home .pf-media-action-deck,
body.front-page .pf-media-action-deck {
  left: 14px !important;
  right: 14px !important;
  bottom: 16px !important;
  gap: 10px !important;
}

body.pf-page-discover .pf-offer-bar,
body.home .pf-offer-bar,
body.front-page .pf-offer-bar {
  flex: 0 0 auto !important;
  min-height: 40px !important;
  padding: 8px 14px 10px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body.pf-page-discover .pf-action-pass,
body.home .pf-action-pass,
body.front-page .pf-action-pass {
  display: none !important;
}

@media (min-width: 1200px) and (max-height: 820px) {
  body.pf-page-discover .pf-hero,
  body.home .pf-hero,
  body.front-page .pf-hero {
    padding-top: 4px !important;
  }

  body.pf-page-discover .pf-hero .pf-title,
  body.home .pf-hero .pf-title,
  body.front-page .pf-hero .pf-title {
    font-size: 1.65rem !important;
    margin: 4px auto 8px !important;
  }

  body.pf-page-discover .pf-card,
  body.home .pf-card,
  body.front-page .pf-card {
    min-height: calc(100dvh - 214px) !important;
  }
}

@media (min-width: 1024px) and (max-width: 1399px) {
  body.pf-page-discover .pf-discover-shell,
  body.home .pf-discover-shell,
  body.front-page .pf-discover-shell {
    grid-template-columns: minmax(285px, 29vw) minmax(560px, 42vw) minmax(285px, 29vw) !important;
  }
}

@media (max-width: 900px) {
  body.pf-page-discover .pf-hero,
  body.home .pf-hero,
  body.front-page .pf-hero {
    padding: 12px 14px 0 !important;
  }

  body.pf-page-discover .pf-hero .pf-title,
  body.home .pf-hero .pf-title,
  body.front-page .pf-hero .pf-title {
    text-align: left !important;
    font-size: clamp(1.8rem, 8vw, 2.6rem) !important;
    margin: 8px 0 14px !important;
  }

  body.pf-page-discover .pf-discover-shell,
  body.home .pf-discover-shell,
  body.front-page .pf-discover-shell {
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 14px 100px !important;
    display: block !important;
  }

  body.pf-page-discover .pf-card,
  body.home .pf-card,
  body.front-page .pf-card {
    min-height: auto !important;
    border-radius: 24px !important;
  }

  body.pf-page-discover .pf-photo-stage,
  body.home .pf-photo-stage,
  body.front-page .pf-photo-stage {
    aspect-ratio: 9 / 16 !important;
  }
}

/* v0.1.26 desktop sketch fit pass
   Goals from the red-marked screenshots:
   A: less air above Discover Fairies
   B: smaller Discover Fairies heading
   C: card stretches down close to footer
   D: centre post sits tighter against left/right widgets */
@media (min-width: 1024px) {
  body.passionfairy-home .pf-shell,
  body.home .pf-shell,
  .pf-discover-shell {
    --pf-footer-clearance: 72px;
  }

  body.passionfairy-home .pf-main,
  body.home .pf-main,
  .pf-discover-shell {
    padding-top: 8px !important;
  }

  body.passionfairy-home .pf-page-kicker,
  body.home .pf-page-kicker,
  .pf-discover-shell .pf-page-kicker {
    display: none !important;
  }

  body.passionfairy-home .pf-hero,
  body.home .pf-hero,
  .pf-discover-shell .pf-hero {
    margin: 0 0 7px !important;
    padding: 0 !important;
    min-height: 0 !important;
    text-align: center !important;
  }

  body.passionfairy-home .pf-hero h1,
  body.home .pf-hero h1,
  .pf-discover-shell .pf-hero h1 {
    margin: 0 !important;
    font-size: clamp(23px, 2.05vw, 30px) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.04em !important;
  }

  body.passionfairy-home .pf-layout,
  body.home .pf-layout,
  .pf-discover-shell .pf-layout {
    width: 100vw !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    gap: 8px !important;
    grid-template-columns: minmax(0, 27.4vw) minmax(600px, 44.4vw) minmax(0, 27.4vw) !important;
    align-items: start !important;
  }

  body.passionfairy-home .pf-card,
  body.home .pf-card,
  .pf-discover-shell .pf-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: clamp(492px, calc(100dvh - 162px), 622px) !important;
    min-height: 492px !important;
    max-height: 622px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }

  body.passionfairy-home .pf-card-inner,
  body.home .pf-card-inner,
  .pf-discover-shell .pf-card-inner {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
  }

  body.passionfairy-home .pf-card-profile,
  body.home .pf-card-profile,
  .pf-discover-shell .pf-card-profile {
    flex: 0 0 48px !important;
    min-height: 48px !important;
    padding: 7px 14px !important;
  }

  body.passionfairy-home .pf-card-media,
  body.home .pf-card-media,
  .pf-discover-shell .pf-card-media {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    display: flex !important;
    position: relative !important;
    overflow: hidden !important;
    background: #05020b !important;
  }

  body.passionfairy-home .pf-photo-stage,
  body.home .pf-photo-stage,
  .pf-discover-shell .pf-photo-stage {
    flex: 1 1 auto !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    display: block !important;
    overflow: hidden !important;
  }

  body.passionfairy-home .pf-photo-stage img,
  body.home .pf-photo-stage img,
  .pf-discover-shell .pf-photo-stage img,
  body.passionfairy-home .pf-photo-stage video,
  body.home .pf-photo-stage video,
  .pf-discover-shell .pf-photo-stage video {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center 45% !important;
  }

  body.passionfairy-home .pf-media-action-deck,
  body.home .pf-media-action-deck,
  .pf-discover-shell .pf-media-action-deck {
    position: absolute !important;
    left: 16px !important;
    right: 16px !important;
    bottom: 14px !important;
    display: grid !important;
    grid-template-columns: 72px 72px minmax(120px, 1fr) minmax(112px, 0.7fr) !important;
    gap: 10px !important;
    align-items: end !important;
    z-index: 5 !important;
  }

  body.passionfairy-home .pf-action,
  body.home .pf-action,
  .pf-discover-shell .pf-action {
    min-height: 36px !important;
    border-radius: 999px !important;
    padding: 0 14px !important;
    font-size: 12.5px !important;
  }

  body.passionfairy-home .pf-action-like,
  body.home .pf-action-like,
  .pf-discover-shell .pf-action-like {
    width: 72px !important;
    height: 60px !important;
    min-height: 60px !important;
    font-size: 0 !important;
  }

  body.passionfairy-home .pf-action-like::before,
  body.home .pf-action-like::before,
  .pf-discover-shell .pf-action-like::before {
    font-size: 28px !important;
  }

  body.passionfairy-home .pf-action-dislike,
  body.home .pf-action-dislike,
  .pf-discover-shell .pf-action-dislike {
    width: 72px !important;
    height: 60px !important;
    min-height: 60px !important;
    font-size: 0 !important;
  }

  body.passionfairy-home .pf-action-dislike::before,
  body.home .pf-action-dislike::before,
  .pf-discover-shell .pf-action-dislike::before {
    font-size: 34px !important;
  }

  body.passionfairy-home .pf-offer-strip,
  body.home .pf-offer-strip,
  .pf-discover-shell .pf-offer-strip {
    flex: 0 0 48px !important;
    min-height: 48px !important;
    height: 48px !important;
    padding: 10px 16px !important;
    overflow: hidden !important;
    display: block !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
  }

  body.passionfairy-home .pf-panel,
  body.home .pf-panel,
  .pf-discover-shell .pf-panel {
    margin-top: 0 !important;
  }

  body.passionfairy-home .pf-side-actions,
  body.home .pf-side-actions,
  .pf-discover-shell .pf-side-actions {
    position: absolute !important;
    right: 14px !important;
    top: 14px !important;
    z-index: 3 !important;
    gap: 8px !important;
  }

  body.passionfairy-home .pf-top-actions,
  body.home .pf-top-actions,
  .pf-discover-shell .pf-top-actions {
    display: contents !important;
  }

  body.passionfairy-home .pf-top-actions a,
  body.home .pf-top-actions a,
  .pf-discover-shell .pf-top-actions a {
    white-space: nowrap !important;
  }
}

@media (min-width: 1024px) and (max-height: 720px) {
  body.passionfairy-home .pf-card,
  body.home .pf-card,
  .pf-discover-shell .pf-card {
    height: calc(100dvh - 150px) !important;
    min-height: 455px !important;
  }

  body.passionfairy-home .pf-card-profile,
  body.home .pf-card-profile,
  .pf-discover-shell .pf-card-profile {
    flex-basis: 44px !important;
    min-height: 44px !important;
  }

  body.passionfairy-home .pf-offer-strip,
  body.home .pf-offer-strip,
  .pf-discover-shell .pf-offer-strip {
    flex-basis: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
  }

  body.passionfairy-home .pf-media-action-deck,
  body.home .pf-media-action-deck,
  .pf-discover-shell .pf-media-action-deck {
    bottom: 10px !important;
  }
}

@media (min-width: 1280px) {
  body.passionfairy-home .pf-layout,
  body.home .pf-layout,
  .pf-discover-shell .pf-layout {
    grid-template-columns: minmax(0, 27.4vw) minmax(620px, 44.4vw) minmax(0, 27.4vw) !important;
  }
}

/* ============================================================
   PassionFairy v0.1.26 - desktop post-frame correction
   Goal: use the lower empty part of the card as real post space,
   keep a small clearance above the footer, and keep Discover Fairies.
   ============================================================ */
@media (min-width: 1025px) {
  body.pf-page-discover,
  body.pf-page-discover .ringa-app,
  body.pf-page-discover .pf-page,
  body.pf-page-discover .pf-discover-shell {
    overflow-x: hidden !important;
  }

  body.pf-page-discover .pf-discover-shell,
  body.pf-page-discover .pf-sketch-home {
    --pf-footer-clearance: 12px;
    --pf-desktop-title-height: 36px;
    --pf-card-target-height: min(515px, calc(100dvh - var(--ringa-topbar-height) - var(--ringa-nav-height) - 56px));
    width: 100% !important;
    max-width: none !important;
    padding: 8px 0 calc(var(--ringa-nav-height) + var(--pf-footer-clearance)) !important;
    margin: 0 !important;
  }

  body.pf-page-discover .pf-discover-title {
    display: block !important;
    width: 100% !important;
    height: var(--pf-desktop-title-height) !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    text-align: center !important;
    font-size: clamp(22px, 2vw, 28px) !important;
    line-height: var(--pf-desktop-title-height) !important;
    letter-spacing: -0.05em !important;
  }

  body.pf-page-discover .pf-layout,
  body.pf-page-discover .pf-sketch-grid {
    width: 100vw !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns:
      minmax(300px, 27vw)
      minmax(600px, 44vw)
      minmax(300px, 29vw) !important;
    gap: 14px !important;
    align-items: start !important;
    justify-content: center !important;
  }

  body.pf-page-discover .pf-panel,
  body.pf-page-discover .pf-side-card {
    margin-top: 0 !important;
  }

  body.pf-page-discover .pf-center {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.pf-page-discover .pf-card-stack {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.pf-page-discover .pf-discover-card,
  body.pf-page-discover .pf-card-profile {
    width: 100% !important;
    max-width: none !important;
    height: var(--pf-card-target-height) !important;
    min-height: 480px !important;
    max-height: 535px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border-radius: 0 0 22px 22px !important;
  }

  body.pf-page-discover .pf-card-top,
  body.pf-page-discover .pf-card-profile__head {
    flex: 0 0 52px !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 8px 14px !important;
  }

  body.pf-page-discover .pf-card-media,
  body.pf-page-discover .pf-card-profile__media {
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    position: relative !important;
    overflow: hidden !important;
  }

  body.pf-page-discover .pf-card-media img,
  body.pf-page-discover .pf-card-profile__media img,
  body.pf-page-discover .pf-card-media video,
  body.pf-page-discover .pf-card-profile__media video {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center 42% !important;
  }

  body.pf-page-discover .pf-media-placeholder {
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
  }

  body.pf-page-discover .pf-action-rail,
  body.pf-page-discover .pf-card-actions-overlay,
  body.pf-page-discover .pf-actions-overlay {
    position: absolute !important;
    left: 18px !important;
    right: 18px !important;
    bottom: 12px !important;
    z-index: 6 !important;
    display: grid !important;
    grid-template-columns: 72px 72px minmax(120px, 1fr) 116px !important;
    gap: 10px !important;
    align-items: center !important;
  }

  body.pf-page-discover .pf-dislike,
  body.pf-page-discover .pf-like,
  body.pf-page-discover .pf-pass,
  body.pf-page-discover .pf-match,
  body.pf-page-discover .pf-gift,
  body.pf-page-discover .pf-card-actions-overlay .pf-pill,
  body.pf-page-discover .pf-actions-overlay .pf-pill {
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 12px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  body.pf-page-discover .pf-dislike,
  body.pf-page-discover .pf-like {
    width: 72px !important;
    min-width: 72px !important;
  }

  body.pf-page-discover .pf-offer-bottom,
  body.pf-page-discover .pf-card-profile__offer,
  body.pf-page-discover .pf-offer-strip {
    flex: 0 0 48px !important;
    min-height: 48px !important;
    height: 48px !important;
    padding: 8px 14px !important;
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
    background: rgba(7, 3, 15, .96) !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
  }

  body.pf-page-discover .pf-offer-bottom strong,
  body.pf-page-discover .pf-card-profile__offer strong,
  body.pf-page-discover .pf-offer-strip strong {
    margin-right: .25em !important;
    white-space: nowrap !important;
  }

  body.pf-page-discover .pf-bottom-nav,
  body.pf-page-discover .ringa-bottom-nav {
    margin-top: 0 !important;
  }
}

@media (min-width: 1025px) and (max-height: 720px) {
  body.pf-page-discover .pf-discover-shell,
  body.pf-page-discover .pf-sketch-home {
    --pf-card-target-height: calc(100dvh - var(--ringa-topbar-height) - var(--ringa-nav-height) - 46px);
    --pf-desktop-title-height: 30px;
    padding-top: 6px !important;
  }

  body.pf-page-discover .pf-discover-title {
    font-size: 24px !important;
    margin-bottom: 6px !important;
  }

  body.pf-page-discover .pf-card-top,
  body.pf-page-discover .pf-card-profile__head {
    flex-basis: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
  }

  body.pf-page-discover .pf-offer-bottom,
  body.pf-page-discover .pf-card-profile__offer,
  body.pf-page-discover .pf-offer-strip {
    flex-basis: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
  }
}

/* v0.1.26 actual Discover Fairies desktop correction */
@media (min-width: 1024px) {
  .pf-discover-shell {
    padding-top: 4px !important;
    padding-bottom: calc(var(--ringa-nav-height) + 8px) !important;
  }

  .pf-discover-shell .pf-discover-title,
  body.home .pf-discover-title,
  body.passionfairy-home .pf-discover-title {
    margin: 0 0 7px !important;
    padding: 0 !important;
    font-size: clamp(22px, 1.85vw, 26px) !important;
    line-height: 1.08 !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .pf-discover-shell .pf-layout,
  body.home .pf-layout,
  body.passionfairy-home .pf-layout {
    grid-template-columns: minmax(0, 26.45vw) minmax(610px, 45.2vw) minmax(0, 26.45vw) !important;
    gap: 14px !important;
    align-items: start !important;
  }

  .pf-discover-shell .pf-card,
  body.home .pf-card,
  body.passionfairy-home .pf-card {
    height: calc(100dvh - 118px) !important;
    min-height: 470px !important;
    max-height: 620px !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  .pf-discover-shell .pf-card-profile,
  body.home .pf-card-profile,
  body.passionfairy-home .pf-card-profile {
    flex: 0 0 44px !important;
    min-height: 44px !important;
    height: 44px !important;
    padding: 6px 14px !important;
  }

  .pf-discover-shell .pf-card-media,
  body.home .pf-card-media,
  body.passionfairy-home .pf-card-media {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important;
  }

  .pf-discover-shell .pf-photo-stage,
  body.home .pf-photo-stage,
  body.passionfairy-home .pf-photo-stage {
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .pf-discover-shell .pf-photo-stage img,
  body.home .pf-photo-stage img,
  body.passionfairy-home .pf-photo-stage img,
  .pf-discover-shell .pf-photo-stage video,
  body.home .pf-photo-stage video,
  body.passionfairy-home .pf-photo-stage video {
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center 46% !important;
  }

  .pf-discover-shell .pf-offer-strip,
  body.home .pf-offer-strip,
  body.passionfairy-home .pf-offer-strip {
    flex: 0 0 34px !important;
    min-height: 34px !important;
    height: 34px !important;
    padding: 6px 14px !important;
    display: flex !important;
    align-items: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: 14px !important;
    line-height: 1.1 !important;
  }

  .pf-discover-shell .pf-offer-strip strong,
  body.home .pf-offer-strip strong,
  body.passionfairy-home .pf-offer-strip strong {
    margin-right: .25em !important;
    flex: 0 0 auto !important;
  }

  .pf-discover-shell .pf-offer-strip .pf-offer-text,
  body.home .pf-offer-strip .pf-offer-text,
  body.passionfairy-home .pf-offer-strip .pf-offer-text {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .pf-discover-shell .pf-media-action-deck,
  body.home .pf-media-action-deck,
  body.passionfairy-home .pf-media-action-deck {
    bottom: 12px !important;
  }
}

@media (min-width: 1024px) and (max-height: 720px) {
  .pf-discover-shell .pf-card,
  body.home .pf-card,
  body.passionfairy-home .pf-card {
    height: calc(100dvh - 118px) !important;
    min-height: 430px !important;
    max-height: none !important;
  }

  .pf-discover-shell .pf-discover-title,
  body.home .pf-discover-title,
  body.passionfairy-home .pf-discover-title {
    font-size: 24px !important;
    margin-bottom: 6px !important;
  }
}

/* v0.1.26 final live selectors: stretch the real Discover Fairy card into the unused lower area */
@media (min-width: 1024px) {
  .pf-home,
  .pf-page-discover .pf-home {
    padding-top: 6px !important;
  }

  .pf-home .pf-hero {
    margin: 0 0 8px !important;
    padding: 0 !important;
    min-height: 0 !important;
    display: block !important;
    text-align: center !important;
  }

  .pf-home .pf-eyebrow,
  .pf-home .pf-subtitle {
    display: none !important;
  }

  .pf-home .pf-title {
    margin: 0 !important;
    padding: 0 !important;
    font-size: clamp(23px, 2vw, 28px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.05em !important;
  }

  .pf-home .pf-hero-actions {
    position: absolute !important;
    right: 16px !important;
    top: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    align-items: flex-end !important;
    margin: 0 !important;
    z-index: 5 !important;
  }

  .pf-home .pf-discover-shell {
    width: 100vw !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 0 calc(var(--ringa-nav-height) + 10px) !important;
    grid-template-columns: minmax(0, 26.5vw) minmax(610px, 45vw) minmax(0, 26.5vw) !important;
    gap: 14px !important;
    align-items: start !important;
    justify-content: center !important;
  }

  .pf-home .pf-card-stack {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .pf-home .pf-discover-card {
    width: 100% !important;
    max-width: none !important;
    height: calc(100dvh - 118px) !important;
    min-height: 465px !important;
    max-height: 620px !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  .pf-home .pf-card-top {
    flex: 0 0 44px !important;
    min-height: 44px !important;
    height: 44px !important;
    padding: 6px 14px !important;
  }

  .pf-home .pf-media {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: auto !important;
    max-height: none !important;
    overflow: hidden !important;
  }

  .pf-home .pf-photo-stage,
  .pf-home .pf-video-stage,
  .pf-home .pf-media-placeholder {
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .pf-home .pf-photo-stage img,
  .pf-home .pf-video-stage video {
    height: 100% !important;
    width: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center 45% !important;
  }

  .pf-home .pf-offer {
    flex: 0 0 34px !important;
    min-height: 34px !important;
    height: 34px !important;
    padding: 6px 14px !important;
    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
  }

  .pf-home .pf-offer strong {
    margin-right: .25em !important;
  }

  .pf-home .pf-media-action-deck {
    bottom: 12px !important;
    left: 18px !important;
    right: 18px !important;
    gap: 10px !important;
  }

  .pf-home .pf-rate-row,
  .pf-home .pf-card-actions {
    gap: 10px !important;
  }
}

@media (min-width: 1024px) and (max-height: 720px) {
  .pf-home .pf-title {
    font-size: 24px !important;
  }

  .pf-home .pf-hero {
    margin-bottom: 6px !important;
  }

  .pf-home .pf-discover-card {
    height: calc(100dvh - 114px) !important;
    min-height: 430px !important;
    max-height: none !important;
  }
}


/* PassionFairy v0.1.26
   Desktop discovery tightening: keep the card above the app footer, reclaim the
   bottom clearance, and lock the action deck into clean sketch-style controls. */
@media (min-width: 980px){
  body.home .ringa-content,
  body.passionfairy-page .ringa-content{
    padding-bottom: 0 !important;
  }

  .pf-home{
    --pf-desktop-footer-clearance: 66px;
    padding-top: 6px !important;
    padding-bottom: var(--pf-desktop-footer-clearance) !important;
    overflow: hidden !important;
  }

  .pf-hero{
    margin: 0 auto 5px !important;
    padding: 0 !important;
    min-height: 28px !important;
  }

  .pf-title{
    font-size: clamp(22px, 2.15vw, 28px) !important;
    line-height: 1 !important;
    margin: 0 !important;
  }

  .pf-discover-shell,
  .pf-home .pf-discover-shell{
    width: 100vw !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .pf-layout,
  .pf-home .pf-layout{
    width: 100vw !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(368px, 27vw) minmax(590px, 46vw) minmax(368px, 27vw) !important;
    gap: 14px !important;
    align-items: start !important;
  }

  .pf-left,
  .pf-right,
  .pf-center{
    min-width: 0 !important;
  }

  .pf-panel,
  .pf-side-card{
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .pf-center{
    display: flex !important;
    justify-content: stretch !important;
    align-items: flex-start !important;
  }

  .pf-card,
  .pf-discover-card,
  .pf-center .pf-card,
  .pf-center .pf-discover-card{
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: calc(100dvh - 162px) !important;
    min-height: 500px !important;
    max-height: 560px !important;
    display: grid !important;
    grid-template-rows: 48px minmax(0, 1fr) 50px !important;
    overflow: hidden !important;
  }

  .pf-card-head,
  .pf-discover-card .pf-card-head{
    height: 48px !important;
    min-height: 48px !important;
    padding: 6px 14px !important;
  }

  .pf-media-window,
  .pf-discover-card .pf-media-window{
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
  }

  .pf-media-frame,
  .pf-media,
  .pf-discover-card .pf-media-frame,
  .pf-discover-card .pf-media{
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
  }

  .pf-media img,
  .pf-media video,
  .pf-discover-card .pf-media img,
  .pf-discover-card .pf-media video{
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .pf-media-action-deck,
  .pf-discover-card .pf-media-action-deck{
    position: absolute !important;
    left: 16px !important;
    right: 16px !important;
    bottom: 16px !important;
    z-index: 8 !important;
    display: grid !important;
    grid-template-columns: 64px 70px minmax(120px, 1fr) minmax(110px, .8fr) !important;
    gap: 10px !important;
    align-items: center !important;
    pointer-events: none !important;
  }

  .pf-media-action-deck .pf-rate-row,
  .pf-media-action-deck .pf-card-actions{
    display: contents !important;
  }

  .pf-media-action-deck .pf-action,
  .pf-media-action-deck button,
  .pf-media-action-deck a{
    pointer-events: auto !important;
  }

  .pf-media-action-deck .pf-action-pass{
    display: none !important;
  }

  .pf-media-action-deck .pf-action-dislike{
    grid-column: 1 !important;
    width: 64px !important;
    height: 54px !important;
    min-width: 0 !important;
    padding: 0 !important;
    border-radius: 999px !important;
    font-size: 0 !important;
    background: rgba(12, 8, 18, .84) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    box-shadow: 0 16px 34px rgba(0,0,0,.45) !important;
  }

  .pf-media-action-deck .pf-action-dislike::before{
    content: "×" !important;
    font-size: 38px !important;
    line-height: 1 !important;
    color: #ff3358 !important;
    font-weight: 1000 !important;
  }

  .pf-media-action-deck .pf-action-like{
    grid-column: 2 !important;
    width: 70px !important;
    height: 58px !important;
    min-width: 0 !important;
    padding: 0 !important;
    border-radius: 999px !important;
    font-size: 0 !important;
    background: linear-gradient(135deg, #ff4fc9, #ff87aa) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 16px 34px rgba(255,79,201,.22) !important;
    transform: translateY(-2px) !important;
  }

  .pf-media-action-deck .pf-action-like::before{
    content: "♥" !important;
    font-size: 30px !important;
    line-height: 1 !important;
    color: #fff !important;
    text-shadow: 0 2px 8px rgba(0,0,0,.25) !important;
  }

  .pf-media-action-deck .pf-action-match{
    grid-column: 3 !important;
  }

  .pf-media-action-deck .pf-action-gift{
    grid-column: 4 !important;
  }

  .pf-media-action-deck .pf-action-match,
  .pf-media-action-deck .pf-action-gift{
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    line-height: 36px !important;
    white-space: nowrap !important;
    box-shadow: 0 14px 28px rgba(0,0,0,.28) !important;
  }

  .pf-offer,
  .pf-discover-card .pf-offer{
    height: 50px !important;
    min-height: 50px !important;
    padding: 8px 14px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
    background: rgba(13, 7, 22, .98) !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
  }

  .pf-offer strong{
    margin-right: 3px !important;
    flex: 0 0 auto !important;
  }

  .pf-empty-media{
    min-height: 0 !important;
    height: 100% !important;
  }

  .ringa-bottom-nav,
  .pf-bottom-nav{
    z-index: 80 !important;
  }
}

@media (min-width: 980px) and (max-height: 720px){
  .pf-card,
  .pf-discover-card,
  .pf-center .pf-card,
  .pf-center .pf-discover-card{
    height: calc(100dvh - 162px) !important;
    min-height: 470px !important;
    max-height: calc(100dvh - 162px) !important;
  }

  .pf-media-action-deck,
  .pf-discover-card .pf-media-action-deck{
    bottom: 14px !important;
    gap: 9px !important;
  }

  .pf-media-action-deck .pf-action-dislike{
    width: 58px !important;
    height: 50px !important;
  }

  .pf-media-action-deck .pf-action-like{
    width: 64px !important;
    height: 54px !important;
  }
}

@media (min-width: 980px) and (max-width: 1240px){
  .pf-layout,
  .pf-home .pf-layout{
    grid-template-columns: minmax(320px, 27vw) minmax(560px, 46vw) minmax(320px, 27vw) !important;
    gap: 12px !important;
  }

  .pf-media-action-deck,
  .pf-discover-card .pf-media-action-deck{
    grid-template-columns: 58px 64px minmax(110px, 1fr) minmax(96px, .8fr) !important;
    left: 14px !important;
    right: 14px !important;
  }
}

@media (max-width: 979px){
  .pf-media-action-deck .pf-action-dislike,
  .pf-media-action-deck .pf-action-like,
  .pf-media-action-deck .pf-action-match,
  .pf-media-action-deck .pf-action-gift{
    position: relative !important;
    z-index: 2 !important;
  }
}


/* PassionFairy v0.1.26: desktop discovery layout lock
   Goal: desktop post sits between the left/right widgets, uses the available height,
   and stops just above the fixed footer with a thin green-line-sized breathing gap. */
@media (min-width: 1000px) {
  body.pf-page-home {
    overflow-x: hidden;
  }

  .pf-page-main.pf-home {
    --pf-post-width: clamp(600px, 46vw, 628px);
    --pf-desktop-footer-clearance: 72px;
    --pf-desktop-edge-gap: 0px;
    padding-top: 8px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: calc(var(--pf-desktop-footer-clearance) + 8px) !important;
    min-height: calc(100dvh - var(--pf-header-height, 58px)) !important;
  }

  .pf-page-main.pf-home .pf-home-hero {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    min-height: 28px !important;
    text-align: center !important;
  }

  .pf-page-main.pf-home .pf-home-eyebrow,
  .pf-page-main.pf-home .pf-home-hero p {
    display: none !important;
  }

  .pf-page-main.pf-home .pf-home-title {
    display: block !important;
    margin: 0 !important;
    font-size: clamp(24px, 2.05vw, 30px) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.035em !important;
  }

  .pf-page-main.pf-home .pf-discover-shell {
    width: 100vw !important;
    max-width: none !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(330px, 1fr) minmax(590px, var(--pf-post-width)) minmax(330px, 1fr) !important;
    gap: 0 !important;
    align-items: start !important;
  }

  .pf-page-main.pf-home .pf-filter-panel,
  .pf-page-main.pf-home .pf-side-panel {
    margin-top: 0 !important;
    align-self: start !important;
  }

  .pf-page-main.pf-home .pf-card-stack {
    width: var(--pf-post-width) !important;
    max-width: var(--pf-post-width) !important;
    margin: 0 auto !important;
    align-self: start !important;
    overflow: visible !important;
  }

  .pf-page-main.pf-home .pf-discover-card {
    width: 100% !important;
    max-width: none !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    height: calc(100dvh - 170px) !important;
    max-height: calc(100dvh - 170px) !important;
    min-height: 0 !important;
    margin-bottom: 8px !important;
  }

  .pf-page-main.pf-home .pf-card-top,
  .pf-page-main.pf-home .pf-card-profile__head {
    flex: 0 0 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
  }

  .pf-page-main.pf-home .pf-card-tier {
    top: 10px !important;
    right: 14px !important;
  }

  .pf-page-main.pf-home .pf-media,
  .pf-page-main.pf-home .pf-photo-stage {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
  }

  .pf-page-main.pf-home .pf-photo-stage {
    display: block !important;
    overflow: hidden !important;
  }

  .pf-page-main.pf-home .pf-photo-stage img,
  .pf-page-main.pf-home .pf-photo-stage video {
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center 37% !important;
    display: block !important;
  }

  .pf-page-main.pf-home .pf-offer {
    flex: 0 0 40px !important;
    min-height: 40px !important;
    height: 40px !important;
    max-height: 40px !important;
    padding: 8px 14px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    border-top: 1px solid rgba(255,255,255,0.08) !important;
  }

  .pf-page-main.pf-home .pf-media-action-deck {
    position: absolute !important;
    left: 16px !important;
    right: 16px !important;
    bottom: 14px !important;
    z-index: 12 !important;
    display: grid !important;
    grid-template-columns: 72px 72px minmax(150px, 1fr) minmax(110px, 0.55fr) !important;
    gap: 10px !important;
    align-items: center !important;
    pointer-events: auto !important;
  }

  .pf-page-main.pf-home .pf-media-action-deck .pf-action {
    margin: 0 !important;
    min-width: 0 !important;
    min-height: 44px !important;
    height: 44px !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    transform: none !important;
  }

  .pf-page-main.pf-home .pf-media-action-deck .pf-action-dislike,
  .pf-page-main.pf-home .pf-media-action-deck .pf-action-like {
    width: 72px !important;
    height: 60px !important;
    min-height: 60px !important;
    border-radius: 999px !important;
    font-size: 0 !important;
    text-indent: -999em !important;
    position: relative !important;
  }

  .pf-page-main.pf-home .pf-media-action-deck .pf-action-dislike::before,
  .pf-page-main.pf-home .pf-media-action-deck .pf-action-like::before {
    position: absolute !important;
    inset: 0 !important;
    display: grid !important;
    place-items: center !important;
    text-indent: 0 !important;
    line-height: 1 !important;
  }

  .pf-page-main.pf-home .pf-media-action-deck .pf-action-dislike::before {
    content: '×' !important;
    font-size: 46px !important;
    color: #ff304c !important;
    font-weight: 900 !important;
  }

  .pf-page-main.pf-home .pf-media-action-deck .pf-action-like::before {
    content: '♥' !important;
    font-size: 34px !important;
    color: #fff !important;
    font-weight: 900 !important;
  }

  .pf-page-main.pf-home .pf-media-action-deck .pf-action-match,
  .pf-page-main.pf-home .pf-media-action-deck .pf-action-gift {
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-indent: 0 !important;
  }

  .pf-page-main.pf-home .pf-bottom-nav,
  body.pf-page-home .pf-bottom-nav {
    bottom: 0 !important;
    height: 64px !important;
  }
}

@media (min-width: 1000px) and (max-height: 720px) {
  .pf-page-main.pf-home {
    padding-top: 6px !important;
  }

  .pf-page-main.pf-home .pf-home-hero {
    margin-bottom: 5px !important;
    min-height: 24px !important;
  }

  .pf-page-main.pf-home .pf-home-title {
    font-size: 24px !important;
  }

  .pf-page-main.pf-home .pf-discover-card {
    height: calc(100dvh - 168px) !important;
    max-height: calc(100dvh - 168px) !important;
  }

  .pf-page-main.pf-home .pf-offer {
    flex-basis: 38px !important;
    min-height: 38px !important;
    height: 38px !important;
    max-height: 38px !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
  }

  .pf-page-main.pf-home .pf-media-action-deck {
    bottom: 12px !important;
  }
}

@media (min-width: 1000px) and (min-height: 800px) {
  .pf-page-main.pf-home .pf-discover-card {
    height: min(640px, calc(100dvh - 178px)) !important;
    max-height: min(640px, calc(100dvh - 178px)) !important;
  }
}


/* PassionFairy 0.1.27 precise desktop lock
   Desktop Discover must behave like the sketch: left widget, one central post, right widget,
   and a small visible clearance above the fixed footer. This block is intentionally last. */
@media (min-width: 1100px) {
  body.home,
  body.home .site,
  body.home .pf-page-main,
  body.home .pf-discover-shell {
    overflow-x: hidden !important;
  }

  body.home .pf-page-main.pf-home {
    min-height: calc(100dvh - 58px) !important;
    height: calc(100dvh - 58px) !important;
    overflow: hidden !important;
    padding: 6px 0 76px !important;
  }

  body.home .pf-home-hero {
    margin: 0 0 6px !important;
    padding: 0 !important;
    min-height: 27px !important;
  }

  body.home .pf-home-title {
    font-size: clamp(22px, 2vw, 26px) !important;
    line-height: 1.05 !important;
    margin: 0 !important;
    letter-spacing: -0.03em !important;
  }

  body.home .pf-discover-shell {
    width: 100vw !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.home .pf-discover-grid {
    width: 100vw !important;
    max-width: none !important;
    height: calc(100dvh - 258px) !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 27vw minmax(560px, 46vw) 27vw !important;
    gap: 0 !important;
    align-items: start !important;
    justify-items: stretch !important;
  }

  body.home .pf-card-stack {
    width: 100% !important;
    max-width: none !important;
    height: calc(100dvh - 258px) !important;
    min-height: 0 !important;
    align-self: start !important;
    justify-self: stretch !important;
  }

  body.home .pf-discover-card {
    width: 100% !important;
    max-width: none !important;
    height: calc(100dvh - 258px) !important;
    min-height: 0 !important;
    max-height: none !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 0 0 18px 18px !important;
    overflow: hidden !important;
  }

  body.home .pf-card-top {
    flex: 0 0 48px !important;
    min-height: 48px !important;
    height: 48px !important;
    padding: 7px 14px !important;
  }

  body.home .pf-media {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    position: relative !important;
    overflow: hidden !important;
  }

  body.home .pf-photo-stage,
  body.home .pf-media-placeholder {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  body.home .pf-photo-stage::before {
    background-size: cover !important;
    background-position: center 38% !important;
    filter: blur(18px) saturate(1.05) brightness(0.58) !important;
    opacity: 0.8 !important;
    transform: scale(1.08) !important;
  }

  body.home .pf-photo-stage img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 36% !important;
    border-radius: 0 !important;
  }

  body.home .pf-media::after {
    height: 44% !important;
    background: linear-gradient(180deg, rgba(4, 0, 10, 0) 0%, rgba(4, 0, 10, 0.38) 52%, rgba(4, 0, 10, 0.9) 100%) !important;
    pointer-events: none !important;
  }

  body.home .pf-offer {
    flex: 0 0 39px !important;
    min-height: 39px !important;
    height: 39px !important;
    padding: 9px 14px !important;
    margin: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    border-top: 1px solid rgba(255,255,255,0.09) !important;
    background: rgba(8, 1, 18, 0.96) !important;
    font-size: 14px !important;
    line-height: 20px !important;
    position: relative !important;
    z-index: 3 !important;
  }

  body.home .pf-filter-panel,
  body.home .pf-side-panel {
    align-self: start !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    max-height: calc(100dvh - 258px) !important;
    overflow: hidden !important;
    border-radius: 0 18px 18px 0 !important;
  }

  body.home .pf-side-panel {
    border-radius: 18px 0 0 18px !important;
  }

  body.home .pf-bottom-nav {
    height: 65px !important;
    max-height: 65px !important;
    bottom: 0 !important;
    z-index: 50 !important;
  }

  body.home .pf-media-action-deck {
    position: absolute !important;
    left: 16px !important;
    right: 16px !important;
    bottom: 17px !important;
    z-index: 6 !important;
    display: grid !important;
    grid-template-columns: 64px 72px minmax(130px, 1fr) 120px !important;
    gap: 10px !important;
    align-items: center !important;
  }

  body.home .pf-media-action-deck .pf-rate-row,
  body.home .pf-media-action-deck .pf-card-actions {
    display: contents !important;
  }

  body.home .pf-action,
  body.home .pf-action:hover,
  body.home .pf-action:focus {
    position: relative !important;
    inset: auto !important;
    margin: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
  }

  body.home .pf-action-pass {
    display: none !important;
  }

  body.home .pf-action-dislike {
    grid-column: 1 !important;
    width: 64px !important;
    height: 56px !important;
    min-width: 64px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    font-size: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(20, 16, 28, 0.92) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
  }

  body.home .pf-action-dislike::before {
    content: '✕' !important;
    color: #ff355f !important;
    font-size: 33px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
  }

  body.home .pf-action-like {
    grid-column: 2 !important;
    width: 72px !important;
    height: 60px !important;
    min-width: 72px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    font-size: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: linear-gradient(135deg, #ff82bd, #ef43ac) !important;
    border: 0 !important;
  }

  body.home .pf-action-like::before {
    content: '♥' !important;
    color: #fff !important;
    font-size: 32px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
  }

  body.home .pf-action-like::after {
    content: '' !important;
    position: absolute !important;
    bottom: 9px !important;
    left: 50% !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 999px !important;
    background: #e72a5f !important;
    transform: translateX(-50%) !important;
  }

  body.home .pf-action-match {
    grid-column: 3 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 34px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.home .pf-action-gift {
    grid-column: 4 !important;
    width: 120px !important;
    min-width: 120px !important;
    height: 34px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }
}

@media (min-width: 1100px) and (max-width: 1220px) {
  body.home .pf-discover-grid {
    grid-template-columns: 26.5vw minmax(540px, 47vw) 26.5vw !important;
  }
  body.home .pf-media-action-deck {
    grid-template-columns: 60px 68px minmax(120px, 1fr) 112px !important;
    gap: 8px !important;
  }
}
/* End PassionFairy 0.1.27 precise desktop lock */

/* PassionFairy v0.1.28 final desktop lock
   Purpose: keep the Discover Fairies desktop page aligned with the approved layout:
   side panels touch the central post, post stretches down to a small footer clearance,
   and media action icons stay clean instead of exploding into oversized emoji art. */
@media (min-width: 1024px) {
  body.home .pf-page-main.pf-home {
    height: calc(100dvh - 58px) !important;
    min-height: 0 !important;
    padding: 8px 0 74px !important;
    overflow: hidden !important;
  }

  body.home .pf-hero {
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.home .pf-hero-kicker {
    display: none !important;
  }

  body.home .pf-hero-title,
  body.home .pf-hero h1 {
    font-size: clamp(22px, 2vw, 28px) !important;
    line-height: 1 !important;
    margin: 0 !important;
    letter-spacing: -0.03em !important;
    text-align: center !important;
  }

  body.home .pf-layout {
    width: 100vw !important;
    max-width: none !important;
    height: calc(100dvh - 154px) !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 27vw 46vw 27vw !important;
    gap: 0 !important;
    align-items: start !important;
  }

  body.home .pf-panel,
  body.home .pf-sidebar {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  body.home .pf-card-stack {
    width: 100% !important;
    max-width: none !important;
    height: calc(100dvh - 173px) !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.home .pf-discover-card {
    width: 100% !important;
    max-width: none !important;
    height: calc(100dvh - 173px) !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border-radius: 0 0 18px 18px !important;
  }

  body.home .pf-card-top {
    flex: 0 0 48px !important;
    min-height: 48px !important;
    height: 48px !important;
    padding: 7px 14px !important;
    box-sizing: border-box !important;
  }

  body.home .pf-media {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
  }

  body.home .pf-photo-stage,
  body.home .pf-video-stage,
  body.home .pf-media-placeholder {
    height: 100% !important;
    min-height: 0 !important;
  }

  body.home .pf-photo-stage img,
  body.home .pf-video-stage video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  body.home .pf-offer {
    flex: 0 0 38px !important;
    min-height: 38px !important;
    height: 38px !important;
    padding: 8px 14px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    line-height: 1.25 !important;
  }

  body.home .pf-lock {
    display: none !important;
  }

  body.home .pf-media-action-deck {
    left: 16px !important;
    right: 16px !important;
    bottom: 16px !important;
    width: auto !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: 60px 64px minmax(160px, 1fr) 124px !important;
    gap: 10px !important;
    align-items: center !important;
    justify-content: stretch !important;
    transform: none !important;
    z-index: 8 !important;
    pointer-events: none !important;
  }

  body.home .pf-media-action-deck .pf-rate-row,
  body.home .pf-media-action-deck .pf-card-actions {
    display: contents !important;
  }

  body.home .pf-media-action-deck .pf-action {
    pointer-events: auto !important;
    height: 38px !important;
    min-height: 0 !important;
    margin: 0 !important;
    transform: none !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.30) !important;
  }

  body.home .pf-action-pass {
    display: none !important;
  }

  body.home .pf-action-dislike {
    order: 1 !important;
    width: 60px !important;
    height: 60px !important;
    border-radius: 999px !important;
    padding: 0 !important;
    font-size: 0 !important;
    color: transparent !important;
    background: rgba(18, 13, 26, .86) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
  }

  body.home .pf-action-dislike::before {
    content: '×' !important;
    display: block !important;
    font-size: 42px !important;
    line-height: 56px !important;
    font-weight: 900 !important;
    color: #ff3157 !important;
  }

  body.home .pf-action-dislike::after,
  body.home .pf-action-like::after,
  body.home .pf-action-match::before,
  body.home .pf-action-match::after {
    content: none !important;
    display: none !important;
  }

  body.home .pf-action-like {
    order: 2 !important;
    width: 64px !important;
    height: 64px !important;
    border-radius: 999px !important;
    padding: 0 !important;
    font-size: 0 !important;
    color: transparent !important;
    background: linear-gradient(135deg, #ff8ad8, #ff3fa1) !important;
    border: 0 !important;
  }

  body.home .pf-action-like::before {
    content: '♥' !important;
    display: block !important;
    font-size: 34px !important;
    line-height: 62px !important;
    font-weight: 900 !important;
    color: #fff !important;
  }

  body.home .pf-action-match {
    order: 3 !important;
    width: 100% !important;
    min-width: 0 !important;
    border-radius: 999px !important;
    padding: 0 16px !important;
    font-size: 13px !important;
    line-height: 38px !important;
    text-align: center !important;
    color: #fff !important;
    background: linear-gradient(135deg, #ec45bf, #964ff1) !important;
  }

  body.home .pf-action-gift {
    order: 4 !important;
    width: 100% !important;
    min-width: 0 !important;
    border-radius: 999px !important;
    padding: 0 14px !important;
    font-size: 0 !important;
    line-height: 38px !important;
    text-align: center !important;
    color: #160619 !important;
    background: linear-gradient(135deg, #ffd071, #ff8bb7) !important;
  }

  body.home .pf-action-gift::before {
    content: 'Gift' !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    color: #160619 !important;
  }

  body.home .pf-action-gift::after {
    content: ' ✦' !important;
    display: inline !important;
    font-size: 13px !important;
    color: #fff1a7 !important;
  }

  body.home .pf-bottom-nav {
    height: 66px !important;
    bottom: 0 !important;
    z-index: 50 !important;
  }
}

/* PassionFairy v0.1.29: surgical feed lock fixes from v0.1.28 baseline.
   A: remove on-image action buttons. B: let media cover the What I Offer strip.
   C: restore rounded top post corners. */
@media (min-width: 1100px) {
  body.home .pf-discover-card,
  body.page-template-page-feed .pf-discover-card {
    position: relative !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }

  body.home .pf-card-top,
  body.page-template-page-feed .pf-card-top {
    border-radius: 18px 18px 0 0 !important;
    overflow: hidden !important;
  }

  body.home .pf-media,
  body.page-template-page-feed .pf-media {
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body.home .pf-media-action-deck,
  body.home .pf-action-burst,
  body.page-template-page-feed .pf-media-action-deck,
  body.page-template-page-feed .pf-action-burst {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.home .pf-offer,
  body.page-template-page-feed .pf-offer {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 7 !important;
    flex: none !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 14px !important;
    margin: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.10) !important;
    background: linear-gradient(180deg, rgba(7, 2, 12, 0.10) 0%, rgba(7, 2, 12, 0.72) 54%, rgba(7, 2, 12, 0.95) 100%) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body.home .pf-photo-stage,
  body.home .pf-video-stage,
  body.page-template-page-feed .pf-photo-stage,
  body.page-template-page-feed .pf-video-stage {
    height: 100% !important;
  }

  body.home .pf-photo-stage img,
  body.home .pf-video-stage video,
  body.page-template-page-feed .pf-photo-stage img,
  body.page-template-page-feed .pf-video-stage video {
    min-height: 100% !important;
  }
}



/* v0.1.30 locked feed refinement: slimmer footer and lower card edge */
@media (min-width: 1000px) {
  body.home .pf-bottom-nav,
  body.pf-page-home .pf-bottom-nav,
  .pf-page-main.pf-home .pf-bottom-nav,
  body.pf-page-discover .pf-bottom-nav,
  body.pf-page-discover .ringa-bottom-nav {
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    bottom: 0 !important;
  }

  body.home .pf-bottom-nav a,
  body.pf-page-home .pf-bottom-nav a,
  .pf-page-main.pf-home .pf-bottom-nav a,
  body.home .pf-nav-link,
  body.pf-page-home .pf-nav-link,
  .pf-page-main.pf-home .pf-nav-link {
    min-height: 42px !important;
    height: 42px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }

  body.home .pf-bottom-nav .pf-nav-create,
  body.pf-page-home .pf-bottom-nav .pf-nav-create,
  .pf-page-main.pf-home .pf-bottom-nav .pf-nav-create,
  body.home .pf-bottom-action,
  body.pf-page-home .pf-bottom-action,
  .pf-page-main.pf-home .pf-bottom-action {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
    transform: translateY(-10px) !important;
  }

  body.home .pf-home-grid,
  body.pf-page-home .pf-home-grid,
  .pf-page-main.pf-home .pf-home-grid,
  body.home .pf-discover-grid,
  body.pf-page-home .pf-discover-grid,
  .pf-page-main.pf-home .pf-discover-grid {
    align-items: start !important;
  }

  body.home .pf-discover-card,
  body.pf-page-home .pf-discover-card,
  .pf-page-main.pf-home .pf-discover-card,
  body.home .pf-card-shell,
  body.pf-page-home .pf-card-shell,
  .pf-page-main.pf-home .pf-card-shell {
    height: calc(100dvh - 150px) !important;
    max-height: calc(100dvh - 150px) !important;
    min-height: 500px !important;
  }

  body.home .pf-card-media,
  body.pf-page-home .pf-card-media,
  .pf-page-main.pf-home .pf-card-media,
  body.home .pf-card-profile__media,
  body.pf-page-home .pf-card-profile__media,
  .pf-page-main.pf-home .pf-card-profile__media {
    min-height: 0 !important;
  }

  body.home .pf-offer,
  body.pf-page-home .pf-offer,
  .pf-page-main.pf-home .pf-offer,
  body.home .pf-card-profile__offer,
  body.pf-page-home .pf-card-profile__offer,
  .pf-page-main.pf-home .pf-card-profile__offer {
    flex-basis: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    display: flex !important;
    align-items: center !important;
  }
}

@media (min-width: 1000px) and (max-height: 720px) {
  body.home .pf-discover-card,
  body.pf-page-home .pf-discover-card,
  .pf-page-main.pf-home .pf-discover-card,
  body.home .pf-card-shell,
  body.pf-page-home .pf-card-shell,
  .pf-page-main.pf-home .pf-card-shell {
    height: calc(100dvh - 134px) !important;
    max-height: calc(100dvh - 134px) !important;
    min-height: 480px !important;
  }
}


/* PassionFairy v0.1.31: footer clearance + global bottom nav alignment
   Locked from v0.1.28 feed display, with only spacing/nav refinements. */
:root {
  --pf-nav-h: 52px;
}

/* Apply the footer/nav sizing to every page, not only Discover Fairies. */
.ringa-bottom-nav {
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 32px !important;
  align-items: center !important;
  bottom: 0 !important;
}

.ringa-bottom-nav .navitem {
  height: 52px !important;
  min-height: 52px !important;
  align-items: center !important;
  justify-content: center !important;
}

.ringa-bottom-nav .navitem.plus {
  width: 50px !important;
  height: 50px !important;
  min-height: 50px !important;
  margin-top: 0 !important;
  transform: translateY(0) !important;
  align-self: center !important;
}

.ringa-bottom-nav .navitem.plus svg {
  width: 24px !important;
  height: 24px !important;
}

.ringa-app-main,
.pf-page-main,
.pf-view,
.pf-main,
.site-main {
  padding-bottom: calc(52px + 4px + env(safe-area-inset-bottom, 0px)) !important;
}

@media (min-width: 900px) {
  .pf-page-main {
    padding-bottom: calc(52px + 4px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.home .pf-discover-card,
  body.home .pf-card-shell,
  .home .pf-discover-card,
  .home .pf-card-shell {
    height: calc(100dvh - 132px) !important;
    min-height: 450px !important;
    max-height: 740px !important;
  }
}

@media (min-width: 900px) and (max-height: 720px) {
  body.home .pf-discover-card,
  body.home .pf-card-shell,
  .home .pf-discover-card,
  .home .pf-card-shell {
    height: calc(100dvh - 116px) !important;
    min-height: 450px !important;
    max-height: 660px !important;
  }
}


/* PassionFairy v0.1.33 — surgical desktop feed alignment
   Locked to the v0.1.28 display baseline: keep “Discover Fairies”, keep the three-column desktop feed,
   only tighten the post/footer fit and edge alignment. */
@media (min-width: 1024px){
  :root{
    --pf-desktop-stage: 620px;
    --pf-bottom-nav-h: 52px;
    --pf-bottom-nav-gap: 8px;
  }

  body.home .pf-home-grid,
  body.pf-page-home .pf-home-grid,
  .pf-page-main.pf-home .pf-home-grid{
    --pf-stage: var(--pf-desktop-stage);
    grid-template-columns: minmax(300px, 1fr) var(--pf-stage) minmax(300px, 1fr) !important;
    gap: 0 !important;
    align-items: start !important;
  }

  body.home .pf-card-stack,
  body.pf-page-home .pf-card-stack,
  .pf-page-main.pf-home .pf-card-stack{
    width: var(--pf-stage) !important;
    max-width: var(--pf-stage) !important;
    justify-self: center !important;
  }

  body.home .pf-card-shell,
  body.home .pf-discover-card,
  body.pf-page-home .pf-card-shell,
  body.pf-page-home .pf-discover-card,
  .pf-page-main.pf-home .pf-card-shell,
  .pf-page-main.pf-home .pf-discover-card{
    width: var(--pf-stage) !important;
    max-width: var(--pf-stage) !important;
    min-height: 520px !important;
    height: clamp(520px, calc(100dvh - 132px), 690px) !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }

  body.home .pf-card-profile__header,
  body.pf-page-home .pf-card-profile__header,
  .pf-page-main.pf-home .pf-card-profile__header{
    flex: 0 0 48px !important;
    min-height: 48px !important;
    border-radius: 18px 18px 0 0 !important;
    overflow: hidden !important;
  }

  body.home .pf-card-profile__media,
  body.pf-page-home .pf-card-profile__media,
  .pf-page-main.pf-home .pf-card-profile__media{
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    border-radius: 0 0 18px 18px !important;
    overflow: hidden !important;
  }

  body.home .pf-card-profile__media img,
  body.pf-page-home .pf-card-profile__media img,
  .pf-page-main.pf-home .pf-card-profile__media img{
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
    object-position: center 47% !important;
    border-radius: 0 0 18px 18px !important;
  }

  body.home .pf-card-profile__offer,
  body.pf-page-home .pf-card-profile__offer,
  .pf-page-main.pf-home .pf-card-profile__offer{
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 6 !important;
    min-height: 40px !important;
    padding: 11px 14px 12px !important;
    background: linear-gradient(180deg, rgba(7,2,14,0), rgba(7,2,14,.76) 28%, rgba(7,2,14,.95) 100%) !important;
    border-radius: 0 0 18px 18px !important;
  }

  body.home .ringa-bottom-nav,
  body.pf-page-home .ringa-bottom-nav,
  .pf-page-main.pf-home ~ .ringa-bottom-nav,
  .ringa-bottom-nav{
    max-width: var(--pf-desktop-stage) !important;
    width: var(--pf-desktop-stage) !important;
    height: var(--pf-bottom-nav-h) !important;
    min-height: var(--pf-bottom-nav-h) !important;
    padding: 5px 52px max(5px, env(safe-area-inset-bottom)) !important;
    border-radius: 18px 18px 0 0 !important;
  }

  .ringa-bottom-nav .navitem,
  .ringa-bottom-nav .navitem--plus{
    height: 42px !important;
    min-height: 42px !important;
  }

  .ringa-bottom-nav .navitem--plus{
    width: 54px !important;
    height: 54px !important;
    min-height: 54px !important;
    margin-top: -15px !important;
    margin-bottom: 0 !important;
  }

  .ringa-bottom-nav .navitem--plus svg,
  .ringa-bottom-nav .navitem--plus .ringa-icon{
    width: 24px !important;
    height: 24px !important;
  }
}

@media (min-width: 1024px) and (max-height: 760px){
  body.home .pf-card-shell,
  body.home .pf-discover-card,
  body.pf-page-home .pf-card-shell,
  body.pf-page-home .pf-discover-card,
  .pf-page-main.pf-home .pf-card-shell,
  .pf-page-main.pf-home .pf-discover-card{
    height: clamp(510px, calc(100dvh - 118px), 670px) !important;
  }
}

@media (min-width: 1024px) and (max-width: 1250px){
  :root{ --pf-desktop-stage: min(620px, calc(100vw - 670px)); }
}

/* PassionFairy v0.1.33 surgical feed lock
   Keeps the v0.1.28 desktop feed direction, removes the action buttons,
   makes the media continue behind What I Offer, rounds the card, and aligns
   the card with the bottom navigation. */
:root{
  --ringa-footer-h: 52px;
  --pf-feed-stage: clamp(600px, 46vw, 640px);
  --pf-feed-side: minmax(300px, 27vw);
  --pf-feed-clearance: 10px;
}

.ringa-shell{
  min-height: 100dvh;
  padding-bottom: calc(var(--ringa-footer-h) + 8px);
}

.ringa-bottom-nav{
  width: var(--pf-feed-stage) !important;
  max-width: var(--pf-feed-stage) !important;
  height: var(--ringa-footer-h) !important;
  min-height: var(--ringa-footer-h) !important;
  padding: 4px 48px 6px !important;
  gap: 34px !important;
  border-radius: 18px 18px 0 0 !important;
  left: 50% !important;
  right: auto !important;
  bottom: 0 !important;
  transform: translateX(-50%) !important;
}

.ringa-bottom-nav a{
  min-height: 38px !important;
  height: 38px !important;
  padding: 0 10px !important;
}

.ringa-bottom-nav a.plus{
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  min-height: 52px !important;
  margin-top: 0 !important;
  transform: translateY(-4px) !important;
  border-radius: 999px !important;
}

body.home .pf-home{
  padding: 8px 0 calc(var(--ringa-footer-h) + var(--pf-feed-clearance)) !important;
}

body.home .pf-hero{
  margin: 0 0 6px !important;
}

body.home .pf-title{
  margin: 0 !important;
  font-size: clamp(22px, 2.25vw, 28px) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.03em !important;
}

body.home .pf-layout{
  display: grid !important;
  grid-template-columns: var(--pf-feed-side) var(--pf-feed-stage) var(--pf-feed-side) !important;
  gap: 0 !important;
  align-items: start !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
}

body.home .pf-card-stack{
  width: var(--pf-feed-stage) !important;
  max-width: var(--pf-feed-stage) !important;
  min-width: 0 !important;
  margin: 0 !important;
  align-self: start !important;
  justify-self: center !important;
}

body.home .pf-discover-card{
  width: 100% !important;
  max-width: none !important;
  height: calc(100dvh - 158px) !important;
  min-height: 500px !important;
  max-height: 560px !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  background: #09030f !important;
}

body.home .pf-card-top{
  flex: 0 0 48px !important;
  min-height: 48px !important;
  padding: 7px 14px !important;
  border-radius: 18px 18px 0 0 !important;
}

body.home .pf-media{
  position: relative !important;
  flex: 1 1 auto !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
  border-radius: 0 0 18px 18px !important;
  background: #050208 !important;
}

body.home .pf-media img,
body.home .pf-media video{
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 0 0 18px 18px !important;
}

body.home .pf-media-placeholder{
  height: 100% !important;
  border-radius: 0 0 18px 18px !important;
}

body.home .pf-media::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 32%;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(8,2,12,0) 0%, rgba(8,2,12,.66) 52%, rgba(8,2,12,.96) 100%);
  z-index: 2;
}

body.home .pf-offer,
body.home .pf-offer-overlay{
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 3 !important;
  min-height: 42px !important;
  padding: 12px 16px 13px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 0 18px 18px !important;
  background: transparent !important;
  color: #fff !important;
}

body.home .pf-media-action-deck,
body.home .pf-rate-row,
body.home .pf-card-actions{
  display: none !important;
}

body.home .pf-side-panel,
body.home .pf-sort-panel{
  width: 100% !important;
  max-width: none !important;
  margin-top: 12px !important;
}

@media (min-width: 1180px){
  body.home .pf-layout{
    grid-template-columns: minmax(300px, calc((100vw - var(--pf-feed-stage)) / 2)) var(--pf-feed-stage) minmax(300px, calc((100vw - var(--pf-feed-stage)) / 2)) !important;
  }
}

@media (max-width: 980px){
  :root{ --pf-feed-stage: min(94vw, 640px); }
  body.home .pf-layout{
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding: 0 12px !important;
  }
  body.home .pf-card-stack{
    width: 100% !important;
    max-width: var(--pf-feed-stage) !important;
    margin: 0 auto !important;
  }
  body.home .pf-discover-card{
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  body.home .pf-media{
    aspect-ratio: 4 / 5 !important;
  }
  .ringa-bottom-nav{
    width: min(94vw, 620px) !important;
    max-width: min(94vw, 620px) !important;
  }
}


/* PassionFairy v0.1.34: surgical feed polish from locked v0.1.33 baseline */
:root{
  --pf-feed-gap: 8px;
  --pf-footer-active-purple: #c84dff;
  --pf-action-rail-width: 58px;
}

/* Keep a slim, visible gap between the side widgets and the center post. */
@media (min-width: 1180px){
  body.home .pf-layout,
  body.front-page .pf-layout{
    gap: var(--pf-feed-gap) !important;
    grid-template-columns:
      minmax(300px, calc((100vw - var(--pf-feed-stage, 628px) - (2 * var(--pf-feed-gap))) / 2))
      var(--pf-feed-stage, 628px)
      minmax(300px, calc((100vw - var(--pf-feed-stage, 628px) - (2 * var(--pf-feed-gap))) / 2)) !important;
  }
}

/* Round the full post shell, including the lower edge. */
body.home .pf-discover-card,
body.front-page .pf-discover-card{
  border-radius: 18px !important;
  overflow: hidden !important;
}
body.home .pf-card-top,
body.front-page .pf-card-top{
  border-radius: 18px 18px 0 0 !important;
}
body.home .pf-media,
body.front-page .pf-media{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) var(--pf-action-rail-width) !important;
  align-items: stretch !important;
  border-radius: 0 0 18px 18px !important;
  overflow: hidden !important;
}
body.home .pf-media::after,
body.front-page .pf-media::after{
  right: var(--pf-action-rail-width) !important;
  pointer-events: none !important;
}
body.home .pf-media > img,
body.home .pf-media > video,
body.home .pf-media > .pf-media-placeholder,
body.front-page .pf-media > img,
body.front-page .pf-media > video,
body.front-page .pf-media > .pf-media-placeholder{
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  border-radius: 0 0 0 18px !important;
}

/* Right-side post function rail: its own background, not over the image. */
body.home .pf-card-action-rail,
body.front-page .pf-card-action-rail{
  grid-column: 2 !important;
  grid-row: 1 !important;
  position: relative !important;
  z-index: 4 !important;
  min-width: var(--pf-action-rail-width) !important;
  width: var(--pf-action-rail-width) !important;
  height: 100% !important;
  padding: 8px 7px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  background: linear-gradient(180deg, rgba(27,9,41,.98), rgba(8,2,14,.98)) !important;
  border-left: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: inset 10px 0 18px rgba(0,0,0,.22) !important;
  border-radius: 0 0 18px 0 !important;
}
body.home .pf-post-action,
body.home a.pf-post-action,
body.front-page .pf-post-action,
body.front-page a.pf-post-action{
  width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  background: rgba(255,255,255,.08) !important;
  box-shadow: 0 12px 24px rgba(0,0,0,.30) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
body.home .pf-post-action--match,
body.front-page .pf-post-action--match{ background: linear-gradient(135deg, #d34dff, #9c45ff) !important; }
body.home .pf-post-action--like,
body.front-page .pf-post-action--like{ background: linear-gradient(135deg, #ff5cc8, #ff2f86) !important; }
body.home .pf-post-action--message,
body.front-page .pf-post-action--message{ background: rgba(255,255,255,.10) !important; }
body.home .pf-post-action--gift,
body.front-page .pf-post-action--gift{ background: linear-gradient(135deg, #ffd17a, #ff8fc9) !important; color:#241032 !important; }
body.home .pf-post-action--pass,
body.front-page .pf-post-action--pass{ background: rgba(255,255,255,.07) !important; color:#ff4c72 !important; }
body.home .pf-post-action--scroll,
body.front-page .pf-post-action--scroll{
  width: 30px !important;
  height: 26px !important;
  min-height: 26px !important;
  font-size: 16px !important;
  opacity: .82 !important;
}
body.home .pf-card-action-rail .pf-post-action:hover,
body.front-page .pf-card-action-rail .pf-post-action:hover{
  transform: translateY(-1px) !important;
  filter: brightness(1.08) !important;
}

/* Tier name removed from the top-right of the post. */
body.home .pf-card-tier,
body.front-page .pf-card-tier{
  display: none !important;
}

/* Active footer underline now matches the purple PassionFairy theme instead of orange. */
.ringa-bottom-nav a.is-active::after{
  background: linear-gradient(90deg, #d94dff, var(--pf-footer-active-purple), #9d55ff) !important;
  box-shadow: 0 0 14px rgba(200,77,255,.55) !important;
}
.ringa-bottom-nav a.is-active{
  color: #fff !important;
}

@media (max-width: 920px){
  body.home .pf-media,
  body.front-page .pf-media{
    grid-template-columns: minmax(0, 1fr) 52px !important;
  }
  body.home .pf-media::after,
  body.front-page .pf-media::after{
    right: 52px !important;
  }
  body.home .pf-card-action-rail,
  body.front-page .pf-card-action-rail{
    width: 52px !important;
    min-width: 52px !important;
    padding-inline: 6px !important;
  }
  body.home .pf-post-action,
  body.home a.pf-post-action,
  body.front-page .pf-post-action,
  body.front-page a.pf-post-action{
    width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    font-size: 18px !important;
  }
}

body.home .pf-tier-badge, body.front-page .pf-tier-badge{display:none!important;}

/* v0.1.34 correction: current core wraps media in photo/video stage elements. */
body.home .pf-photo-stage,
body.home .pf-video-stage,
body.front-page .pf-photo-stage,
body.front-page .pf-video-stage{
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  border-radius: 0 0 0 18px !important;
}
body.home .pf-photo-stage img,
body.home .pf-video-stage video,
body.front-page .pf-photo-stage img,
body.front-page .pf-video-stage video{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 0 0 18px !important;
}
body.home .pf-media-placeholder,
body.front-page .pf-media-placeholder{
  grid-column: 1 !important;
  grid-row: 1 !important;
  border-radius: 0 0 0 18px !important;
}
body.home .pf-offer,
body.home .pf-offer-overlay,
body.front-page .pf-offer,
body.front-page .pf-offer-overlay{
  right: var(--pf-action-rail-width) !important;
  border-radius: 0 0 0 18px !important;
}


/* PassionFairy v0.1.35: cleaner right action icons and integrated offer strip */
.pf-discover .pf-card {
  overflow: hidden !important;
  border-radius: 20px !important;
}

.pf-discover .pf-media {
  --pf-action-rail-width: 58px;
  position: relative !important;
  overflow: hidden !important;
  border-bottom-left-radius: 20px !important;
  border-bottom-right-radius: 20px !important;
  background: #05020b !important;
}

.pf-discover .pf-photo-stage {
  inset: 0 var(--pf-action-rail-width) 0 0 !important;
  overflow: hidden !important;
  border-bottom-left-radius: 20px !important;
}

.pf-discover .pf-photo-stage img,
.pf-discover .pf-photo-stage video {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.pf-discover .pf-offer {
  left: 0 !important;
  right: var(--pf-action-rail-width) !important;
  bottom: 0 !important;
  min-height: 58px !important;
  height: auto !important;
  padding: 22px 16px 10px !important;
  display: flex !important;
  align-items: flex-end !important;
  border: 0 !important;
  border-top: 0 !important;
  border-radius: 0 0 0 20px !important;
  background: linear-gradient(180deg, rgba(5, 2, 10, 0) 0%, rgba(5, 2, 10, 0.58) 38%, rgba(5, 2, 10, 0.92) 100%) !important;
  box-shadow: none !important;
  z-index: 4 !important;
}

.pf-discover .pf-offer span {
  position: relative !important;
  z-index: 2 !important;
  line-height: 1.25 !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.7) !important;
}

.pf-discover .pf-card-action-rail {
  width: var(--pf-action-rail-width) !important;
  top: var(--pf-card-topbar-height) !important;
  bottom: 0 !important;
  right: 0 !important;
  padding: 10px 6px !important;
  gap: 7px !important;
  align-items: center !important;
  justify-content: center !important;
  border-left: 1px solid rgba(255, 255, 255, .10) !important;
  background: linear-gradient(180deg, rgba(16, 7, 28, .96) 0%, rgba(8, 2, 15, .98) 100%) !important;
  border-bottom-right-radius: 20px !important;
  z-index: 6 !important;
}

.pf-discover .pf-post-action {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  border-radius: 999px !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.18) !important;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease !important;
}

.pf-discover .pf-post-action:hover,
.pf-discover .pf-post-action:focus-visible {
  transform: translateY(-1px) scale(1.04) !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.42), 0 0 0 3px rgba(203, 70, 255, .16), inset 0 1px 0 rgba(255,255,255,.22) !important;
  outline: none !important;
}

.pf-discover .pf-action-svg {
  width: 21px !important;
  height: 21px !important;
  display: block !important;
  pointer-events: none !important;
}

.pf-discover .pf-post-action-match {
  background: linear-gradient(135deg, #f048d6 0%, #8f4df5 100%) !important;
}

.pf-discover .pf-post-action-like {
  background: linear-gradient(135deg, #ff6db7 0%, #f32f8a 100%) !important;
}

.pf-discover .pf-post-action-message {
  background: rgba(255,255,255,.08) !important;
  color: #f2ebff !important;
}

.pf-discover .pf-post-action-gift {
  background: linear-gradient(135deg, #ffd28a 0%, #ff8db7 100%) !important;
  color: #160619 !important;
}

.pf-discover .pf-post-action-pass {
  background: rgba(255,255,255,.08) !important;
  color: #ff4b75 !important;
}

.pf-discover .pf-post-action-scroll {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
  color: #cbb8da !important;
  background: rgba(255,255,255,.055) !important;
  border-color: rgba(255,255,255,.12) !important;
}

.pf-discover .pf-post-action-scroll .pf-action-svg {
  width: 17px !important;
  height: 17px !important;
}

@media (max-width: 760px) {
  .pf-discover .pf-media {
    --pf-action-rail-width: 50px;
  }
  .pf-discover .pf-card-action-rail {
    width: var(--pf-action-rail-width) !important;
    padding-inline: 5px !important;
  }
  .pf-discover .pf-post-action {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
  }
  .pf-discover .pf-action-svg {
    width: 19px !important;
    height: 19px !important;
  }
}


/* PassionFairy v0.1.35 icon class correction */
.pf-discover .pf-post-action--match { background: linear-gradient(135deg, #f048d6 0%, #8f4df5 100%) !important; }
.pf-discover .pf-post-action--like { background: linear-gradient(135deg, #ff6db7 0%, #f32f8a 100%) !important; }
.pf-discover .pf-post-action--message { background: rgba(255,255,255,.08) !important; color: #f2ebff !important; }
.pf-discover .pf-post-action--gift { background: linear-gradient(135deg, #ffd28a 0%, #ff8db7 100%) !important; color: #160619 !important; }
.pf-discover .pf-post-action--pass { background: rgba(255,255,255,.08) !important; color: #ff4b75 !important; }
.pf-discover .pf-post-action--scroll { width: 30px !important; height: 30px !important; min-width: 30px !important; min-height: 30px !important; color: #cbb8da !important; background: rgba(255,255,255,.055) !important; border-color: rgba(255,255,255,.12) !important; }
.pf-discover .pf-post-action--scroll .pf-action-svg { width: 17px !important; height: 17px !important; }

/* PassionFairy v0.1.36 - post-bottom lock and action icon polish */
.pf-discover .pf-discover-card,
body.home .pf-discover-card,
body.front-page .pf-discover-card,
body.pf-page-home .pf-discover-card {
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #05000c !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.24) !important;
}

.pf-discover .pf-card-top,
body.home .pf-card-top,
body.front-page .pf-card-top,
body.pf-page-home .pf-card-top {
  border-radius: 18px 18px 0 0 !important;
  overflow: hidden !important;
}

.pf-discover .pf-media,
body.home .pf-media,
body.front-page .pf-media,
body.pf-page-home .pf-media {
  border-radius: 0 0 18px 18px !important;
  overflow: hidden !important;
  background: #05000c !important;
  margin-bottom: 0 !important;
  isolation: isolate !important;
}

.pf-discover .pf-media > img,
.pf-discover .pf-media > video,
body.home .pf-media > img,
body.home .pf-media > video,
body.front-page .pf-media > img,
body.front-page .pf-media > video,
body.pf-page-home .pf-media > img,
body.pf-page-home .pf-media > video {
  border-radius: 0 0 0 18px !important;
  display: block !important;
  height: 100% !important;
  width: calc(100% - 56px) !important;
  object-fit: cover !important;
}

.pf-discover .pf-media::after,
body.home .pf-media::after,
body.front-page .pf-media::after,
body.pf-page-home .pf-media::after {
  right: 56px !important;
  bottom: 0 !important;
  height: 37% !important;
  border-radius: 0 0 0 18px !important;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(8,1,13,.54) 48%, rgba(8,1,13,.94) 100%) !important;
  pointer-events: none !important;
  z-index: 3 !important;
}

.pf-discover .pf-offer,
.pf-discover .pf-offer-overlay,
body.home .pf-offer,
body.home .pf-offer-overlay,
body.front-page .pf-offer,
body.front-page .pf-offer-overlay,
body.pf-page-home .pf-offer,
body.pf-page-home .pf-offer-overlay {
  left: 0 !important;
  right: 56px !important;
  bottom: 0 !important;
  min-height: 48px !important;
  padding: 18px 16px 12px !important;
  border-top: 0 !important;
  border-radius: 0 0 0 18px !important;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(6,0,10,.50) 28%, rgba(6,0,10,.88) 100%) !important;
  z-index: 6 !important;
}

.pf-discover .pf-offer span,
body.home .pf-offer span,
body.front-page .pf-offer span,
body.pf-page-home .pf-offer span {
  line-height: 1.2 !important;
}

.pf-discover .pf-card-action-rail,
body.home .pf-card-action-rail,
body.front-page .pf-card-action-rail,
body.pf-page-home .pf-card-action-rail {
  width: 56px !important;
  right: 0 !important;
  bottom: 0 !important;
  border-radius: 0 0 18px 0 !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, rgba(11,2,18,.95) 0%, rgba(14,4,23,.92) 42%, rgba(8,1,13,.98) 100%) !important;
  z-index: 8 !important;
}

.pf-discover .pf-post-action,
.pf-discover a.pf-post-action,
body.home .pf-post-action,
body.home a.pf-post-action,
body.front-page .pf-post-action,
body.front-page a.pf-post-action,
body.pf-page-home .pf-post-action,
body.pf-page-home a.pf-post-action {
  width: 41px !important;
  height: 41px !important;
  min-width: 41px !important;
  min-height: 41px !important;
  border-width: 1px !important;
  box-shadow: 0 10px 18px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.16) !important;
}

.pf-discover .pf-post-action .pf-action-svg,
body.home .pf-post-action .pf-action-svg,
body.front-page .pf-post-action .pf-action-svg,
body.pf-page-home .pf-post-action .pf-action-svg {
  width: 24px !important;
  height: 24px !important;
  display: block !important;
}

.pf-discover .pf-post-action--gift .pf-action-svg,
body.home .pf-post-action--gift .pf-action-svg,
body.front-page .pf-post-action--gift .pf-action-svg,
body.pf-page-home .pf-post-action--gift .pf-action-svg {
  width: 26px !important;
  height: 26px !important;
}

.pf-discover .pf-post-action--scroll,
body.home .pf-post-action--scroll,
body.front-page .pf-post-action--scroll,
body.pf-page-home .pf-post-action--scroll {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  background: rgba(255,255,255,.085) !important;
  color: #eadcff !important;
  opacity: 1 !important;
}

.pf-discover .pf-post-action--scroll .pf-action-svg,
body.home .pf-post-action--scroll .pf-action-svg,
body.front-page .pf-post-action--scroll .pf-action-svg,
body.pf-page-home .pf-post-action--scroll .pf-action-svg {
  width: 20px !important;
  height: 20px !important;
}

.pf-discover .pf-post-action--gift,
body.home .pf-post-action--gift,
body.front-page .pf-post-action--gift,
body.pf-page-home .pf-post-action--gift {
  background: linear-gradient(135deg, #ffd78e 0%, #ff9ecf 100%) !important;
  color: #1b0620 !important;
}

/* Keep the post-bottom clearance snug without letting the floating footer cover the rounded media edge. */
@media (min-width: 900px){
  .pf-discover .pf-main,
  body.home .pf-main,
  body.front-page .pf-main,
  body.pf-page-home .pf-main {
    padding-bottom: 58px !important;
  }

  .pf-discover .ringa-bottom-nav,
  body.home .ringa-bottom-nav,
  body.front-page .ringa-bottom-nav,
  body.pf-page-home .ringa-bottom-nav {
    height: 54px !important;
    min-height: 54px !important;
  }
}

.pf-discover .pf-post-action--up,
.pf-discover .pf-post-action--down,
body.home .pf-post-action--up,
body.home .pf-post-action--down,
body.front-page .pf-post-action--up,
body.front-page .pf-post-action--down,
body.pf-page-home .pf-post-action--up,
body.pf-page-home .pf-post-action--down {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  background: rgba(255,255,255,.085) !important;
  color: #eadcff !important;
  opacity: 1 !important;
}

.pf-discover .pf-post-action--up .pf-action-svg,
.pf-discover .pf-post-action--down .pf-action-svg,
body.home .pf-post-action--up .pf-action-svg,
body.home .pf-post-action--down .pf-action-svg,
body.front-page .pf-post-action--up .pf-action-svg,
body.front-page .pf-post-action--down .pf-action-svg,
body.pf-page-home .pf-post-action--up .pf-action-svg,
body.pf-page-home .pf-post-action--down .pf-action-svg {
  width: 20px !important;
  height: 20px !important;
}

/* v0.1.36 final rail width alignment */
:root{ --pf-action-rail-width: 56px; }
.pf-discover .pf-media > img,
.pf-discover .pf-media > video,
body.home .pf-media > img,
body.home .pf-media > video,
body.front-page .pf-media > img,
body.front-page .pf-media > video,
body.pf-page-home .pf-media > img,
body.pf-page-home .pf-media > video {
  grid-column: 1 !important;
  width: 100% !important;
}

/* PassionFairy v0.1.37: lock post bottom, cleaner action rail, themed controls */
@media (min-width: 901px) {
  :root{
    --pf-post-rail-w: 56px;
    --pf-post-radius: 18px;
    --pf-action-size: 42px;
  }

  .pf-discover-card{
    border-radius: var(--pf-post-radius) !important;
    overflow: hidden !important;
    background: #05000c !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.09), 0 18px 40px rgba(0,0,0,.36) !important;
  }

  .pf-card-top{
    border-radius: var(--pf-post-radius) var(--pf-post-radius) 0 0 !important;
    overflow: hidden !important;
  }

  .pf-card-top .pf-tier-badge{
    display: none !important;
  }

  .pf-media{
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) var(--pf-post-rail-w) !important;
    align-items: stretch !important;
    border-radius: 0 0 var(--pf-post-radius) var(--pf-post-radius) !important;
    overflow: hidden !important;
    background: #05000c !important;
    min-height: min(58vh, 458px) !important;
  }

  .pf-media img,
  .pf-media video{
    grid-column: 1 / 2 !important;
    grid-row: 1 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: min(58vh, 458px) !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 0 0 0 var(--pf-post-radius) !important;
  }

  .pf-media::after{
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: var(--pf-post-rail-w) !important;
    top: auto !important;
    bottom: 0 !important;
    height: 40% !important;
    pointer-events: none !important;
    z-index: 1 !important;
    border-radius: 0 0 0 var(--pf-post-radius) !important;
    background: linear-gradient(180deg, rgba(5,0,12,0) 0%, rgba(5,0,12,.58) 46%, rgba(5,0,12,.96) 100%) !important;
  }

  .pf-offer-overlay{
    position: absolute !important;
    left: 0 !important;
    right: var(--pf-post-rail-w) !important;
    bottom: 0 !important;
    z-index: 3 !important;
    min-height: 44px !important;
    padding: 17px 16px 11px !important;
    border-radius: 0 0 0 var(--pf-post-radius) !important;
    background: linear-gradient(180deg, rgba(5,0,12,0) 0%, rgba(5,0,12,.74) 62%, rgba(5,0,12,.98) 100%) !important;
    border: 0 !important;
    box-shadow: inset 0 -1px 0 rgba(255,255,255,.08) !important;
  }

  .pf-card-action-rail{
    grid-column: 2 / 3 !important;
    grid-row: 1 !important;
    position: relative !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: var(--pf-post-rail-w) !important;
    min-width: var(--pf-post-rail-w) !important;
    height: 100% !important;
    align-self: stretch !important;
    padding: 84px 7px 14px !important;
    gap: 8px !important;
    border-left: 1px solid rgba(255,255,255,.09) !important;
    border-radius: 0 0 var(--pf-post-radius) 0 !important;
    background: linear-gradient(180deg, rgba(15,3,26,.98), rgba(9,1,17,.98)) !important;
    overflow: hidden !important;
    z-index: 4 !important;
  }

  .pf-post-action{
    width: var(--pf-action-size) !important;
    height: var(--pf-action-size) !important;
    min-width: var(--pf-action-size) !important;
    min-height: var(--pf-action-size) !important;
    max-width: var(--pf-action-size) !important;
    max-height: var(--pf-action-size) !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .pf-post-action svg,
  .pf-post-action .pf-action-svg{
    width: 24px !important;
    height: 24px !important;
    display: block !important;
  }

  .pf-post-action--scroll{
    opacity: 1 !important;
    color: #f7ecff !important;
    background: rgba(24,14,36,.86) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), 0 8px 18px rgba(0,0,0,.24) !important;
  }

  .pf-post-action--scroll svg,
  .pf-post-action--scroll .pf-action-svg{
    width: 23px !important;
    height: 23px !important;
  }

  .pf-post-action--gift{
    color: #fff8ff !important;
    background: radial-gradient(circle at 30% 22%, rgba(255,255,255,.4), rgba(255,255,255,0) 34%), linear-gradient(135deg, #ff4fc6 0%, #c24bff 54%, #8f4cff 100%) !important;
    border: 1px solid rgba(255,255,255,.25) !important;
    box-shadow: 0 8px 22px rgba(199,72,255,.34), inset 0 0 0 1px rgba(255,255,255,.12) !important;
  }

  .pf-post-action--gift svg,
  .pf-post-action--gift .pf-action-svg{
    width: 24px !important;
    height: 24px !important;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,.35)) !important;
  }

  .pf-bottom-nav{
    height: 56px !important;
    max-height: 56px !important;
    padding: 5px 22px 6px !important;
  }

  .pf-bottom-nav__item{
    min-height: 42px !important;
  }
}

/* PassionFairy v0.1.38: real full-ZIP visual hotfix from v0.1.37
   - Keeps the locked v0.1.33 Discover Fairies baseline.
   - Forces the media, offer strip, and action rail to share one rounded bottom edge.
   - Keeps a visible breathing gap between the post and fixed footer.
   - Makes scroll up/down controls the same size as the rest of the action rail. */
:root{
  --pf-v138-post-radius: 18px;
  --pf-v138-rail-w: 56px;
  --pf-v138-action-size: 42px;
  --pf-v138-footer-gap: 12px;
}

@media (min-width: 901px){
  body.home .pf-home,
  body.front-page .pf-home,
  body.page-template-page-feed .pf-home,
  .pf-home{
    padding-top: 8px !important;
    padding-bottom: calc(var(--ringa-footer-h, 56px) + var(--pf-v138-footer-gap) + env(safe-area-inset-bottom, 0px)) !important;
    box-sizing: border-box !important;
  }

  body.home .pf-hero,
  body.front-page .pf-hero,
  body.page-template-page-feed .pf-hero,
  .pf-home .pf-hero{
    margin-bottom: 6px !important;
  }

  body.home .pf-discover-shell,
  body.front-page .pf-discover-shell,
  body.page-template-page-feed .pf-discover-shell,
  .pf-home .pf-discover-shell{
    align-items: start !important;
  }

  body.home .pf-card-stack,
  body.front-page .pf-card-stack,
  body.page-template-page-feed .pf-card-stack,
  .pf-discover-shell .pf-card-stack{
    padding-bottom: calc(var(--pf-v138-footer-gap) + 2px) !important;
    scroll-padding-bottom: calc(var(--ringa-footer-h, 56px) + 22px) !important;
  }

  body.home .pf-discover-card,
  body.front-page .pf-discover-card,
  body.page-template-page-feed .pf-discover-card,
  .pf-discover-shell .pf-discover-card{
    border-radius: var(--pf-v138-post-radius) !important;
    overflow: hidden !important;
    background: #05000c !important;
    display: flex !important;
    flex-direction: column !important;
    height: min(690px, calc(100dvh - var(--ringa-topbar-h, 0px) - var(--ringa-footer-h, 56px) - 86px)) !important;
    min-height: 500px !important;
    margin-bottom: var(--pf-v138-footer-gap) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.09), 0 20px 44px rgba(0,0,0,.38) !important;
  }

  body.home .pf-card-top,
  body.front-page .pf-card-top,
  body.page-template-page-feed .pf-card-top,
  .pf-discover-shell .pf-card-top{
    flex: 0 0 62px !important;
    min-height: 62px !important;
    border-radius: var(--pf-v138-post-radius) var(--pf-v138-post-radius) 0 0 !important;
    overflow: hidden !important;
  }

  body.home .pf-media,
  body.front-page .pf-media,
  body.page-template-page-feed .pf-media,
  .pf-discover-shell .pf-media{
    position: relative !important;
    isolation: isolate !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) var(--pf-v138-rail-w) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    align-items: stretch !important;
    overflow: hidden !important;
    border-radius: 0 0 var(--pf-v138-post-radius) var(--pf-v138-post-radius) !important;
    background: #05000c !important;
  }

  body.home .pf-photo-stage,
  body.home .pf-video-stage,
  body.home .pf-media-placeholder,
  body.front-page .pf-photo-stage,
  body.front-page .pf-video-stage,
  body.front-page .pf-media-placeholder,
  body.page-template-page-feed .pf-photo-stage,
  body.page-template-page-feed .pf-video-stage,
  body.page-template-page-feed .pf-media-placeholder,
  .pf-discover-shell .pf-photo-stage,
  .pf-discover-shell .pf-video-stage,
  .pf-discover-shell .pf-media-placeholder{
    grid-column: 1 / 2 !important;
    grid-row: 1 / 2 !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border-radius: 0 0 0 var(--pf-v138-post-radius) !important;
  }

  body.home .pf-photo-stage img,
  body.home .pf-video-stage video,
  body.home .pf-media > img,
  body.home .pf-media > video,
  body.front-page .pf-photo-stage img,
  body.front-page .pf-video-stage video,
  body.front-page .pf-media > img,
  body.front-page .pf-media > video,
  body.page-template-page-feed .pf-photo-stage img,
  body.page-template-page-feed .pf-video-stage video,
  body.page-template-page-feed .pf-media > img,
  body.page-template-page-feed .pf-media > video,
  .pf-discover-shell .pf-photo-stage img,
  .pf-discover-shell .pf-video-stage video,
  .pf-discover-shell .pf-media > img,
  .pf-discover-shell .pf-media > video{
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 0 0 0 var(--pf-v138-post-radius) !important;
  }

  body.home .pf-media::after,
  body.front-page .pf-media::after,
  body.page-template-page-feed .pf-media::after,
  .pf-discover-shell .pf-media::after{
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: var(--pf-v138-rail-w) !important;
    top: auto !important;
    bottom: 0 !important;
    height: 48% !important;
    z-index: 1 !important;
    pointer-events: none !important;
    border-radius: 0 0 0 var(--pf-v138-post-radius) !important;
    background: linear-gradient(180deg, rgba(5,0,12,0) 0%, rgba(5,0,12,.52) 45%, rgba(5,0,12,.98) 100%) !important;
  }

  body.home .pf-offer-overlay,
  body.front-page .pf-offer-overlay,
  body.page-template-page-feed .pf-offer-overlay,
  .pf-discover-shell .pf-offer-overlay{
    position: absolute !important;
    left: 0 !important;
    right: var(--pf-v138-rail-w) !important;
    bottom: 0 !important;
    z-index: 3 !important;
    min-height: 46px !important;
    max-height: 94px !important;
    padding: 18px 16px 12px !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 0 0 var(--pf-v138-post-radius) !important;
    background: linear-gradient(180deg, rgba(5,0,12,0) 0%, rgba(5,0,12,.80) 58%, rgba(5,0,12,.99) 100%) !important;
    box-shadow: inset 0 -1px 0 rgba(255,255,255,.08) !important;
  }

  body.home .pf-card-action-rail,
  body.front-page .pf-card-action-rail,
  body.page-template-page-feed .pf-card-action-rail,
  .pf-discover-shell .pf-card-action-rail{
    grid-column: 2 / 3 !important;
    grid-row: 1 / 2 !important;
    position: relative !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: var(--pf-v138-rail-w) !important;
    min-width: var(--pf-v138-rail-w) !important;
    height: 100% !important;
    min-height: 0 !important;
    align-self: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 7px 12px !important;
    gap: 8px !important;
    border-left: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 0 0 var(--pf-v138-post-radius) 0 !important;
    overflow: hidden !important;
    z-index: 4 !important;
    background: linear-gradient(180deg, rgba(20,6,34,.98) 0%, rgba(11,2,20,.99) 100%) !important;
    box-shadow: inset 10px 0 18px rgba(0,0,0,.22) !important;
  }

  body.home .pf-card-action-rail .pf-post-action,
  body.home .pf-card-action-rail a.pf-post-action,
  body.front-page .pf-card-action-rail .pf-post-action,
  body.front-page .pf-card-action-rail a.pf-post-action,
  body.page-template-page-feed .pf-card-action-rail .pf-post-action,
  body.page-template-page-feed .pf-card-action-rail a.pf-post-action,
  .pf-discover-shell .pf-card-action-rail .pf-post-action,
  .pf-discover-shell .pf-card-action-rail a.pf-post-action,
  .pf-discover .pf-card-action-rail .pf-post-action--up,
  .pf-discover .pf-card-action-rail .pf-post-action--down,
  .pf-discover-shell .pf-card-action-rail .pf-post-action--up,
  .pf-discover-shell .pf-card-action-rail .pf-post-action--down{
    width: var(--pf-v138-action-size) !important;
    height: var(--pf-v138-action-size) !important;
    min-width: var(--pf-v138-action-size) !important;
    min-height: var(--pf-v138-action-size) !important;
    max-width: var(--pf-v138-action-size) !important;
    max-height: var(--pf-v138-action-size) !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 var(--pf-v138-action-size) !important;
    padding: 0 !important;
  }

  body.home .pf-card-action-rail .pf-post-action .pf-action-svg,
  body.front-page .pf-card-action-rail .pf-post-action .pf-action-svg,
  body.page-template-page-feed .pf-card-action-rail .pf-post-action .pf-action-svg,
  .pf-discover-shell .pf-card-action-rail .pf-post-action .pf-action-svg{
    width: 24px !important;
    height: 24px !important;
    display: block !important;
  }

  body.home .pf-card-action-rail .pf-post-action--scroll .pf-action-svg,
  body.front-page .pf-card-action-rail .pf-post-action--scroll .pf-action-svg,
  body.page-template-page-feed .pf-card-action-rail .pf-post-action--scroll .pf-action-svg,
  .pf-discover-shell .pf-card-action-rail .pf-post-action--scroll .pf-action-svg{
    width: 24px !important;
    height: 24px !important;
  }

  body.home .pf-card-action-rail .pf-post-action--gift,
  body.front-page .pf-card-action-rail .pf-post-action--gift,
  body.page-template-page-feed .pf-card-action-rail .pf-post-action--gift,
  .pf-discover-shell .pf-card-action-rail .pf-post-action--gift{
    color: #fff8ff !important;
    background:
      radial-gradient(circle at 30% 20%, rgba(255,255,255,.38), rgba(255,255,255,0) 36%),
      linear-gradient(135deg, #ff4fc6 0%, #c24bff 55%, #8f4cff 100%) !important;
    border-color: rgba(255,255,255,.25) !important;
    box-shadow: 0 8px 22px rgba(199,72,255,.36), inset 0 0 0 1px rgba(255,255,255,.13) !important;
  }

  body.home .ringa-bottom-nav,
  body.front-page .ringa-bottom-nav,
  body.page-template-page-feed .ringa-bottom-nav,
  .ringa-bottom-nav{
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    bottom: 0 !important;
    z-index: 9990 !important;
  }
}

@media (min-width: 901px) and (max-height: 720px){
  body.home .pf-discover-card,
  body.front-page .pf-discover-card,
  body.page-template-page-feed .pf-discover-card,
  .pf-discover-shell .pf-discover-card{
    height: calc(100dvh - var(--ringa-footer-h, 56px) - 72px) !important;
    min-height: 460px !important;
  }

  body.home .pf-card-action-rail,
  body.front-page .pf-card-action-rail,
  body.page-template-page-feed .pf-card-action-rail,
  .pf-discover-shell .pf-card-action-rail{
    gap: 6px !important;
  }
}

@media (max-width: 900px){
  .pf-home{
    padding-bottom: calc(var(--ringa-footer-h, 56px) + 16px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .pf-discover-shell .pf-card-action-rail .pf-post-action--up,
  .pf-discover-shell .pf-card-action-rail .pf-post-action--down,
  .pf-discover .pf-card-action-rail .pf-post-action--up,
  .pf-discover .pf-card-action-rail .pf-post-action--down{
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
  }
}



/* PassionFairy v0.1.40: final card-bottom rounding lock.
   Removes the Discover-card What I Offer strip from the visual flow and clips
   the media/action rail as one rounded post bottom, leaving a clear footer gap. */
:root{
  --pf-v139-post-radius: 20px;
  --pf-v139-rail-w: 56px;
  --pf-v139-footer-gap: 16px;
  --pf-v139-action-size: 42px;
}

.pf-discover-shell .pf-offer-overlay,
.pf-discover-shell .pf-offer,
body.home .pf-offer-overlay,
body.home .pf-offer,
body.front-page .pf-offer-overlay,
body.front-page .pf-offer,
body.page-template-page-feed .pf-offer-overlay,
body.page-template-page-feed .pf-offer{
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
}

@media (min-width: 901px){
  html,
  body{
    --ringa-footer-h: 56px;
  }

  body.home .pf-home,
  body.front-page .pf-home,
  body.page-template-page-feed .pf-home,
  .pf-home{
    padding-bottom: calc(var(--ringa-footer-h, 56px) + var(--pf-v139-footer-gap) + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.home .pf-card-stack,
  body.front-page .pf-card-stack,
  body.page-template-page-feed .pf-card-stack,
  .pf-discover-shell .pf-card-stack{
    padding-bottom: calc(var(--ringa-footer-h, 56px) + var(--pf-v139-footer-gap)) !important;
    scroll-padding-bottom: calc(var(--ringa-footer-h, 56px) + var(--pf-v139-footer-gap) + 18px) !important;
  }

  body.home .pf-discover-card,
  body.front-page .pf-discover-card,
  body.page-template-page-feed .pf-discover-card,
  .pf-discover-shell .pf-discover-card{
    border-radius: var(--pf-v139-post-radius) !important;
    overflow: hidden !important;
    clip-path: inset(0 round var(--pf-v139-post-radius)) !important;
    contain: paint !important;
    isolation: isolate !important;
    height: min(674px, calc(100dvh - var(--ringa-footer-h, 56px) - 102px)) !important;
    margin-bottom: var(--pf-v139-footer-gap) !important;
    background: #05000c !important;
  }

  body.home .pf-media,
  body.front-page .pf-media,
  body.page-template-page-feed .pf-media,
  .pf-discover-shell .pf-media{
    border-radius: 0 0 var(--pf-v139-post-radius) var(--pf-v139-post-radius) !important;
    clip-path: inset(0 round 0 0 var(--pf-v139-post-radius) var(--pf-v139-post-radius)) !important;
    overflow: hidden !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) var(--pf-v139-rail-w) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    background: #05000c !important;
  }

  body.home .pf-photo-stage,
  body.home .pf-video-stage,
  body.home .pf-media-placeholder,
  body.front-page .pf-photo-stage,
  body.front-page .pf-video-stage,
  body.front-page .pf-media-placeholder,
  body.page-template-page-feed .pf-photo-stage,
  body.page-template-page-feed .pf-video-stage,
  body.page-template-page-feed .pf-media-placeholder,
  .pf-discover-shell .pf-photo-stage,
  .pf-discover-shell .pf-video-stage,
  .pf-discover-shell .pf-media-placeholder{
    grid-column: 1 / 2 !important;
    grid-row: 1 / 2 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    border-radius: 0 0 0 var(--pf-v139-post-radius) !important;
    clip-path: inset(0 round 0 0 0 var(--pf-v139-post-radius)) !important;
    overflow: hidden !important;
  }

  body.home .pf-photo-stage img,
  body.home .pf-video-stage video,
  body.home .pf-media > img,
  body.home .pf-media > video,
  body.front-page .pf-photo-stage img,
  body.front-page .pf-video-stage video,
  body.front-page .pf-media > img,
  body.front-page .pf-media > video,
  body.page-template-page-feed .pf-photo-stage img,
  body.page-template-page-feed .pf-video-stage video,
  body.page-template-page-feed .pf-media > img,
  body.page-template-page-feed .pf-media > video,
  .pf-discover-shell .pf-photo-stage img,
  .pf-discover-shell .pf-video-stage video,
  .pf-discover-shell .pf-media > img,
  .pf-discover-shell .pf-media > video{
    border-radius: 0 0 0 var(--pf-v139-post-radius) !important;
    clip-path: inset(0 round 0 0 0 var(--pf-v139-post-radius)) !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
  }

  body.home .pf-media::after,
  body.front-page .pf-media::after,
  body.page-template-page-feed .pf-media::after,
  .pf-discover-shell .pf-media::after{
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: var(--pf-v139-rail-w) !important;
    bottom: 0 !important;
    top: auto !important;
    height: 26% !important;
    z-index: 1 !important;
    pointer-events: none !important;
    border-radius: 0 0 0 var(--pf-v139-post-radius) !important;
    background: linear-gradient(180deg, rgba(5,0,12,0) 0%, rgba(5,0,12,.46) 100%) !important;
  }

  body.home .pf-card-action-rail,
  body.front-page .pf-card-action-rail,
  body.page-template-page-feed .pf-card-action-rail,
  .pf-discover-shell .pf-card-action-rail{
    grid-column: 2 / 3 !important;
    grid-row: 1 / 2 !important;
    height: 100% !important;
    width: var(--pf-v139-rail-w) !important;
    min-width: var(--pf-v139-rail-w) !important;
    border-radius: 0 0 var(--pf-v139-post-radius) 0 !important;
    clip-path: inset(0 round 0 0 var(--pf-v139-post-radius) 0) !important;
    overflow: hidden !important;
    align-self: stretch !important;
  }

  body.home .pf-card-action-rail .pf-post-action,
  body.home .pf-card-action-rail a.pf-post-action,
  body.front-page .pf-card-action-rail .pf-post-action,
  body.front-page .pf-card-action-rail a.pf-post-action,
  body.page-template-page-feed .pf-card-action-rail .pf-post-action,
  body.page-template-page-feed .pf-card-action-rail a.pf-post-action,
  .pf-discover-shell .pf-card-action-rail .pf-post-action,
  .pf-discover-shell .pf-card-action-rail a.pf-post-action{
    width: var(--pf-v139-action-size) !important;
    height: var(--pf-v139-action-size) !important;
    min-width: var(--pf-v139-action-size) !important;
    min-height: var(--pf-v139-action-size) !important;
    max-width: var(--pf-v139-action-size) !important;
    max-height: var(--pf-v139-action-size) !important;
    flex: 0 0 var(--pf-v139-action-size) !important;
  }

  body.home .ringa-bottom-nav,
  body.front-page .ringa-bottom-nav,
  body.page-template-page-feed .ringa-bottom-nav,
  .ringa-bottom-nav{
    height: var(--ringa-footer-h, 56px) !important;
    min-height: var(--ringa-footer-h, 56px) !important;
    max-height: var(--ringa-footer-h, 56px) !important;
  }
}

@media (min-width: 901px) and (max-height: 720px){
  body.home .pf-discover-card,
  body.front-page .pf-discover-card,
  body.page-template-page-feed .pf-discover-card,
  .pf-discover-shell .pf-discover-card{
    height: calc(100dvh - var(--ringa-footer-h, 56px) - 106px) !important;
    min-height: 446px !important;
  }
}

/* PassionFairy v0.1.40: shorter desktop post-bottom crop + hard round-off lock.
   The v0.1.39 card was still letting older media min-heights keep the image too tall,
   so the rounded bottom could sit behind/against the footer. This block trims the card
   slightly and removes inherited media min-heights so the bottom curve is visible. */
:root{
  --pf-v140-post-radius: 20px;
  --pf-v140-rail-w: 56px;
  --pf-v140-footer-gap: 22px;
  --pf-v140-card-cut: 142px;
}

.pf-discover-shell .pf-offer,
.pf-discover-shell .pf-offer-overlay,
body.home .pf-offer,
body.home .pf-offer-overlay,
body.front-page .pf-offer,
body.front-page .pf-offer-overlay,
body.page-template-page-feed .pf-offer,
body.page-template-page-feed .pf-offer-overlay{
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
}

@media (min-width:901px){
  html, body{
    --ringa-footer-h:56px;
  }

  body.home .pf-home,
  body.front-page .pf-home,
  body.page-template-page-feed .pf-home,
  .pf-home{
    padding-bottom:calc(var(--ringa-footer-h,56px) + var(--pf-v140-footer-gap) + env(safe-area-inset-bottom,0px)) !important;
    overflow:hidden !important;
  }

  body.home .pf-card-stack,
  body.front-page .pf-card-stack,
  body.page-template-page-feed .pf-card-stack,
  .pf-discover-shell .pf-card-stack{
    padding-bottom:calc(var(--ringa-footer-h,56px) + var(--pf-v140-footer-gap)) !important;
  }

  body.home .pf-discover-card,
  body.front-page .pf-discover-card,
  body.page-template-page-feed .pf-discover-card,
  .pf-discover-shell .pf-discover-card{
    height:min(632px, calc(100dvh - var(--ringa-footer-h,56px) - var(--pf-v140-card-cut))) !important;
    min-height:420px !important;
    max-height:min(632px, calc(100dvh - var(--ringa-footer-h,56px) - var(--pf-v140-card-cut))) !important;
    margin-bottom:var(--pf-v140-footer-gap) !important;
    border-radius:var(--pf-v140-post-radius) !important;
    overflow:hidden !important;
    clip-path:inset(0 round var(--pf-v140-post-radius)) !important;
    display:flex !important;
    flex-direction:column !important;
    background:#05000c !important;
    contain:paint !important;
    isolation:isolate !important;
  }

  body.home .pf-card-top,
  body.front-page .pf-card-top,
  body.page-template-page-feed .pf-card-top,
  .pf-discover-shell .pf-card-top{
    flex:0 0 48px !important;
    height:48px !important;
    min-height:48px !important;
    max-height:48px !important;
    border-radius:var(--pf-v140-post-radius) var(--pf-v140-post-radius) 0 0 !important;
    overflow:hidden !important;
  }

  body.home .pf-media,
  body.front-page .pf-media,
  body.page-template-page-feed .pf-media,
  .pf-discover-shell .pf-media{
    flex:1 1 auto !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    overflow:hidden !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) var(--pf-v140-rail-w) !important;
    grid-template-rows:minmax(0,1fr) !important;
    border-radius:0 0 var(--pf-v140-post-radius) var(--pf-v140-post-radius) !important;
    clip-path:inset(0 round 0 0 var(--pf-v140-post-radius) var(--pf-v140-post-radius)) !important;
    background:#05000c !important;
  }

  body.home .pf-photo-stage,
  body.home .pf-video-stage,
  body.home .pf-media-placeholder,
  body.front-page .pf-photo-stage,
  body.front-page .pf-video-stage,
  body.front-page .pf-media-placeholder,
  body.page-template-page-feed .pf-photo-stage,
  body.page-template-page-feed .pf-video-stage,
  body.page-template-page-feed .pf-media-placeholder,
  .pf-discover-shell .pf-photo-stage,
  .pf-discover-shell .pf-video-stage,
  .pf-discover-shell .pf-media-placeholder{
    grid-column:1 / 2 !important;
    grid-row:1 / 2 !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:hidden !important;
    border-radius:0 0 0 var(--pf-v140-post-radius) !important;
    clip-path:inset(0 round 0 0 0 var(--pf-v140-post-radius)) !important;
  }

  body.home .pf-photo-stage img,
  body.home .pf-video-stage video,
  body.home .pf-media > img,
  body.home .pf-media > video,
  body.front-page .pf-photo-stage img,
  body.front-page .pf-video-stage video,
  body.front-page .pf-media > img,
  body.front-page .pf-media > video,
  body.page-template-page-feed .pf-photo-stage img,
  body.page-template-page-feed .pf-video-stage video,
  body.page-template-page-feed .pf-media > img,
  body.page-template-page-feed .pf-media > video,
  .pf-discover-shell .pf-photo-stage img,
  .pf-discover-shell .pf-video-stage video,
  .pf-discover-shell .pf-media > img,
  .pf-discover-shell .pf-media > video{
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    display:block !important;
    overflow:hidden !important;
    border-radius:0 0 0 var(--pf-v140-post-radius) !important;
    clip-path:inset(0 round 0 0 0 var(--pf-v140-post-radius)) !important;
  }

  body.home .pf-card-action-rail,
  body.front-page .pf-card-action-rail,
  body.page-template-page-feed .pf-card-action-rail,
  .pf-discover-shell .pf-card-action-rail{
    grid-column:2 / 3 !important;
    grid-row:1 / 2 !important;
    width:var(--pf-v140-rail-w) !important;
    min-width:var(--pf-v140-rail-w) !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    align-self:stretch !important;
    border-radius:0 0 var(--pf-v140-post-radius) 0 !important;
    clip-path:inset(0 round 0 0 var(--pf-v140-post-radius) 0) !important;
    overflow:hidden !important;
  }

  body.home .pf-media::after,
  body.front-page .pf-media::after,
  body.page-template-page-feed .pf-media::after,
  .pf-discover-shell .pf-media::after{
    right:var(--pf-v140-rail-w) !important;
    bottom:0 !important;
    height:24% !important;
    border-radius:0 0 0 var(--pf-v140-post-radius) !important;
  }

  body.home .ringa-bottom-nav,
  body.front-page .ringa-bottom-nav,
  body.page-template-page-feed .ringa-bottom-nav,
  .ringa-bottom-nav{
    height:var(--ringa-footer-h,56px) !important;
    min-height:var(--ringa-footer-h,56px) !important;
    max-height:var(--ringa-footer-h,56px) !important;
    z-index:9990 !important;
  }
}

@media (min-width:901px) and (max-height:720px){
  body.home .pf-discover-card,
  body.front-page .pf-discover-card,
  body.page-template-page-feed .pf-discover-card,
  .pf-discover-shell .pf-discover-card{
    height:calc(100dvh - var(--ringa-footer-h,56px) - 150px) !important;
    max-height:calc(100dvh - var(--ringa-footer-h,56px) - 150px) !important;
    min-height:408px !important;
  }
}

/* PassionFairy v0.1.41: precision footer-gap tune.
   v0.1.40 fixed the bottom rounding, but left too much space above the bottom nav.
   This keeps the rounded post bottom visible while lowering the card closer to the footer. */
:root{
  --pf-v141-post-radius:20px;
  --pf-v141-footer-gap:12px;
  --pf-v141-card-cut:118px;
  --pf-v141-card-cut-short:122px;
  --pf-v141-card-max:656px;
}

@media (min-width:901px){
  html, body{
    --ringa-footer-h:56px;
  }

  body.home .pf-home,
  body.front-page .pf-home,
  body.page-template-page-feed .pf-home,
  .pf-home{
    padding-bottom:calc(var(--ringa-footer-h,56px) + var(--pf-v141-footer-gap) + env(safe-area-inset-bottom,0px)) !important;
  }

  body.home .pf-card-stack,
  body.front-page .pf-card-stack,
  body.page-template-page-feed .pf-card-stack,
  .pf-discover-shell .pf-card-stack{
    padding-bottom:calc(var(--ringa-footer-h,56px) + var(--pf-v141-footer-gap)) !important;
    scroll-padding-bottom:calc(var(--ringa-footer-h,56px) + var(--pf-v141-footer-gap) + 10px) !important;
  }

  body.home .pf-discover-card,
  body.front-page .pf-discover-card,
  body.page-template-page-feed .pf-discover-card,
  .pf-discover-shell .pf-discover-card{
    height:min(var(--pf-v141-card-max), calc(100dvh - var(--ringa-footer-h,56px) - var(--pf-v141-card-cut))) !important;
    max-height:min(var(--pf-v141-card-max), calc(100dvh - var(--ringa-footer-h,56px) - var(--pf-v141-card-cut))) !important;
    margin-bottom:var(--pf-v141-footer-gap) !important;
    border-radius:var(--pf-v141-post-radius) !important;
    overflow:hidden !important;
    clip-path:inset(0 round var(--pf-v141-post-radius)) !important;
  }

  body.home .pf-media,
  body.front-page .pf-media,
  body.page-template-page-feed .pf-media,
  .pf-discover-shell .pf-media{
    border-radius:0 0 var(--pf-v141-post-radius) var(--pf-v141-post-radius) !important;
    clip-path:inset(0 round 0 0 var(--pf-v141-post-radius) var(--pf-v141-post-radius)) !important;
    overflow:hidden !important;
  }

  body.home .pf-photo-stage,
  body.home .pf-video-stage,
  body.home .pf-media-placeholder,
  body.front-page .pf-photo-stage,
  body.front-page .pf-video-stage,
  body.front-page .pf-media-placeholder,
  body.page-template-page-feed .pf-photo-stage,
  body.page-template-page-feed .pf-video-stage,
  body.page-template-page-feed .pf-media-placeholder,
  .pf-discover-shell .pf-photo-stage,
  .pf-discover-shell .pf-video-stage,
  .pf-discover-shell .pf-media-placeholder,
  body.home .pf-photo-stage img,
  body.home .pf-video-stage video,
  body.home .pf-media > img,
  body.home .pf-media > video,
  body.front-page .pf-photo-stage img,
  body.front-page .pf-video-stage video,
  body.front-page .pf-media > img,
  body.front-page .pf-media > video,
  body.page-template-page-feed .pf-photo-stage img,
  body.page-template-page-feed .pf-video-stage video,
  body.page-template-page-feed .pf-media > img,
  body.page-template-page-feed .pf-media > video,
  .pf-discover-shell .pf-photo-stage img,
  .pf-discover-shell .pf-video-stage video,
  .pf-discover-shell .pf-media > img,
  .pf-discover-shell .pf-media > video{
    border-radius:0 0 0 var(--pf-v141-post-radius) !important;
    clip-path:inset(0 round 0 0 0 var(--pf-v141-post-radius)) !important;
    overflow:hidden !important;
  }

  body.home .pf-card-action-rail,
  body.front-page .pf-card-action-rail,
  body.page-template-page-feed .pf-card-action-rail,
  .pf-discover-shell .pf-card-action-rail{
    border-radius:0 0 var(--pf-v141-post-radius) 0 !important;
    clip-path:inset(0 round 0 0 var(--pf-v141-post-radius) 0) !important;
    overflow:hidden !important;
  }
}

@media (min-width:901px) and (max-height:720px){
  body.home .pf-discover-card,
  body.front-page .pf-discover-card,
  body.page-template-page-feed .pf-discover-card,
  .pf-discover-shell .pf-discover-card{
    height:calc(100dvh - var(--ringa-footer-h,56px) - var(--pf-v141-card-cut-short)) !important;
    max-height:calc(100dvh - var(--ringa-footer-h,56px) - var(--pf-v141-card-cut-short)) !important;
    min-height:418px !important;
    margin-bottom:var(--pf-v141-footer-gap) !important;
  }
}
/* END PassionFairy v0.1.41 */



/* PassionFairy v0.1.42: desktop post/footer edge alignment.
   The post bottom and the fixed footer now share the same stage width and center line,
   so the post edge (A) lands on the footer edge (B) instead of drifting by a few pixels. */
@media (min-width: 1180px){
  :root{
    --pf-v142-stage: 620px;
    --pf-feed-stage: var(--pf-v142-stage);
    --pf-v142-radius: 20px;
  }

  body.home .pf-layout,
  body.front-page .pf-layout,
  body.page-template-page-feed .pf-layout,
  .pf-discover-shell .pf-layout{
    grid-template-columns:
      minmax(300px, calc((100vw - var(--pf-v142-stage) - (2 * var(--pf-feed-gap, 8px))) / 2))
      var(--pf-v142-stage)
      minmax(300px, calc((100vw - var(--pf-v142-stage) - (2 * var(--pf-feed-gap, 8px))) / 2)) !important;
    gap: var(--pf-feed-gap, 8px) !important;
  }

  body.home .pf-card-stack,
  body.front-page .pf-card-stack,
  body.page-template-page-feed .pf-card-stack,
  .pf-discover-shell .pf-card-stack{
    width: var(--pf-v142-stage) !important;
    min-width: var(--pf-v142-stage) !important;
    max-width: var(--pf-v142-stage) !important;
    justify-self: center !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.home .pf-discover-card,
  body.front-page .pf-discover-card,
  body.page-template-page-feed .pf-discover-card,
  .pf-discover-shell .pf-discover-card{
    width: var(--pf-v142-stage) !important;
    min-width: var(--pf-v142-stage) !important;
    max-width: var(--pf-v142-stage) !important;
    border-radius: var(--pf-v142-radius) !important;
    clip-path: inset(0 round var(--pf-v142-radius)) !important;
  }

  body.home .ringa-bottom-nav,
  body.front-page .ringa-bottom-nav,
  body.page-template-page-feed .ringa-bottom-nav,
  body.pf-page-home .ringa-bottom-nav,
  .ringa-bottom-nav{
    width: var(--pf-v142-stage) !important;
    min-width: var(--pf-v142-stage) !important;
    max-width: var(--pf-v142-stage) !important;
    left: 50% !important;
    right: auto !important;
    transform: translate3d(-50%, 0, 0) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    border-radius: var(--pf-v142-radius) var(--pf-v142-radius) 0 0 !important;
  }
}

@media (min-width: 981px) and (max-width: 1179px){
  :root{
    --pf-v142-stage: min(620px, 94vw);
    --pf-feed-stage: var(--pf-v142-stage);
    --pf-v142-radius: 20px;
  }

  body.home .pf-card-stack,
  body.front-page .pf-card-stack,
  body.page-template-page-feed .pf-card-stack,
  .pf-discover-shell .pf-card-stack,
  body.home .pf-discover-card,
  body.front-page .pf-discover-card,
  body.page-template-page-feed .pf-discover-card,
  .pf-discover-shell .pf-discover-card,
  body.home .ringa-bottom-nav,
  body.front-page .ringa-bottom-nav,
  body.page-template-page-feed .ringa-bottom-nav,
  body.pf-page-home .ringa-bottom-nav,
  .ringa-bottom-nav{
    width: var(--pf-v142-stage) !important;
    min-width: 0 !important;
    max-width: var(--pf-v142-stage) !important;
    box-sizing: border-box !important;
  }

  body.home .ringa-bottom-nav,
  body.front-page .ringa-bottom-nav,
  body.page-template-page-feed .ringa-bottom-nav,
  body.pf-page-home .ringa-bottom-nav,
  .ringa-bottom-nav{
    left: 50% !important;
    right: auto !important;
    transform: translate3d(-50%, 0, 0) !important;
    border-radius: var(--pf-v142-radius) var(--pf-v142-radius) 0 0 !important;
  }
}
/* END PassionFairy v0.1.42 */

/* PassionFairy v0.1.44: media-first card with transparent identity overlay.
   The post media now fills the full rounded green-block area. The Fairy avatar,
   name, and city sit in a compact glass overlay instead of a solid header bar. */
:root{
  --pf-v144-post-radius: 20px;
  --pf-v144-rail-w: 56px;
  --pf-v144-overlay-top: 7px;
  --pf-v144-overlay-left: 8px;
}

@media (min-width: 901px){
  body.home .pf-discover-card,
  body.front-page .pf-discover-card,
  body.page-template-page-feed .pf-discover-card,
  body.pf-page-home .pf-discover-card,
  .pf-discover-shell .pf-discover-card,
  .pf-discover .pf-discover-card{
    position: relative !important;
    border-radius: var(--pf-v144-post-radius) !important;
    clip-path: inset(0 round var(--pf-v144-post-radius)) !important;
    overflow: hidden !important;
    isolation: isolate !important;
    background: #05000c !important;
  }

  /* Pull the identity header out of the document flow so the media can start at the very top. */
  body.home .pf-card-top,
  body.front-page .pf-card-top,
  body.page-template-page-feed .pf-card-top,
  body.pf-page-home .pf-card-top,
  .pf-discover-shell .pf-card-top,
  .pf-discover .pf-card-top{
    position: absolute !important;
    top: var(--pf-v144-overlay-top) !important;
    left: var(--pf-v144-overlay-left) !important;
    right: auto !important;
    z-index: 10 !important;
    width: max-content !important;
    max-width: calc(100% - var(--pf-v144-rail-w) - 22px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    padding: 6px 10px 6px 8px !important;
    margin: 0 !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    background: linear-gradient(135deg, rgba(6,0,12,.66), rgba(23,8,34,.42)) !important;
    box-shadow: 0 14px 28px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.12) !important;
    backdrop-filter: blur(12px) saturate(1.05) !important;
    -webkit-backdrop-filter: blur(12px) saturate(1.05) !important;
    overflow: hidden !important;
  }

  body.home .pf-card-identity-link,
  body.front-page .pf-card-identity-link,
  body.page-template-page-feed .pf-card-identity-link,
  body.pf-page-home .pf-card-identity-link,
  .pf-discover-shell .pf-card-identity-link,
  .pf-discover .pf-card-identity-link{
    gap: 9px !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
  }

  body.home .pf-card-top .pf-avatar,
  body.front-page .pf-card-top .pf-avatar,
  body.page-template-page-feed .pf-card-top .pf-avatar,
  body.pf-page-home .pf-card-top .pf-avatar,
  .pf-discover-shell .pf-card-top .pf-avatar,
  .pf-discover .pf-card-top .pf-avatar{
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    flex: 0 0 40px !important;
    border-width: 2px !important;
    border-color: rgba(255,255,255,.64) !important;
    box-shadow: 0 5px 14px rgba(0,0,0,.34) !important;
  }

  body.home .pf-card-name,
  body.front-page .pf-card-name,
  body.page-template-page-feed .pf-card-name,
  body.pf-page-home .pf-card-name,
  .pf-discover-shell .pf-card-name,
  .pf-discover .pf-card-name{
    color: #fff !important;
    font-size: 17px !important;
    line-height: 1.05 !important;
    font-weight: 950 !important;
    letter-spacing: -.02em !important;
    text-shadow: 0 2px 8px rgba(0,0,0,.62) !important;
    max-width: 220px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.home .pf-card-meta,
  body.front-page .pf-card-meta,
  body.page-template-page-feed .pf-card-meta,
  body.pf-page-home .pf-card-meta,
  .pf-discover-shell .pf-card-meta,
  .pf-discover .pf-card-meta{
    color: rgba(255,255,255,.84) !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
    margin-top: 2px !important;
    text-shadow: 0 2px 8px rgba(0,0,0,.66) !important;
    max-width: 250px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  /* Media now owns the whole card height, including where the old black header used to sit. */
  body.home .pf-media,
  body.front-page .pf-media,
  body.page-template-page-feed .pf-media,
  body.pf-page-home .pf-media,
  .pf-discover-shell .pf-media,
  .pf-discover .pf-media{
    flex: 1 1 100% !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) var(--pf-v144-rail-w) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    border-radius: var(--pf-v144-post-radius) !important;
    clip-path: inset(0 round var(--pf-v144-post-radius)) !important;
    overflow: hidden !important;
    background: #05000c !important;
  }

  body.home .pf-photo-stage,
  body.home .pf-video-stage,
  body.home .pf-media-placeholder,
  body.front-page .pf-photo-stage,
  body.front-page .pf-video-stage,
  body.front-page .pf-media-placeholder,
  body.page-template-page-feed .pf-photo-stage,
  body.page-template-page-feed .pf-video-stage,
  body.page-template-page-feed .pf-media-placeholder,
  body.pf-page-home .pf-photo-stage,
  body.pf-page-home .pf-video-stage,
  body.pf-page-home .pf-media-placeholder,
  .pf-discover-shell .pf-photo-stage,
  .pf-discover-shell .pf-video-stage,
  .pf-discover-shell .pf-media-placeholder,
  .pf-discover .pf-photo-stage,
  .pf-discover .pf-video-stage,
  .pf-discover .pf-media-placeholder{
    grid-column: 1 / 2 !important;
    grid-row: 1 / 2 !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    border-radius: var(--pf-v144-post-radius) 0 0 var(--pf-v144-post-radius) !important;
    clip-path: inset(0 round var(--pf-v144-post-radius) 0 0 var(--pf-v144-post-radius)) !important;
    overflow: hidden !important;
  }

  body.home .pf-photo-stage img,
  body.home .pf-video-stage video,
  body.home .pf-media > img,
  body.home .pf-media > video,
  body.front-page .pf-photo-stage img,
  body.front-page .pf-video-stage video,
  body.front-page .pf-media > img,
  body.front-page .pf-media > video,
  body.page-template-page-feed .pf-photo-stage img,
  body.page-template-page-feed .pf-video-stage video,
  body.page-template-page-feed .pf-media > img,
  body.page-template-page-feed .pf-media > video,
  body.pf-page-home .pf-photo-stage img,
  body.pf-page-home .pf-video-stage video,
  body.pf-page-home .pf-media > img,
  body.pf-page-home .pf-media > video,
  .pf-discover-shell .pf-photo-stage img,
  .pf-discover-shell .pf-video-stage video,
  .pf-discover-shell .pf-media > img,
  .pf-discover-shell .pf-media > video,
  .pf-discover .pf-photo-stage img,
  .pf-discover .pf-video-stage video,
  .pf-discover .pf-media > img,
  .pf-discover .pf-media > video{
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: var(--pf-v144-post-radius) 0 0 var(--pf-v144-post-radius) !important;
    clip-path: inset(0 round var(--pf-v144-post-radius) 0 0 var(--pf-v144-post-radius)) !important;
    display: block !important;
  }

  body.home .pf-card-action-rail,
  body.front-page .pf-card-action-rail,
  body.page-template-page-feed .pf-card-action-rail,
  body.pf-page-home .pf-card-action-rail,
  .pf-discover-shell .pf-card-action-rail,
  .pf-discover .pf-card-action-rail{
    grid-column: 2 / 3 !important;
    grid-row: 1 / 2 !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: var(--pf-v144-rail-w) !important;
    min-width: var(--pf-v144-rail-w) !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    border-radius: 0 var(--pf-v144-post-radius) var(--pf-v144-post-radius) 0 !important;
    clip-path: inset(0 round 0 var(--pf-v144-post-radius) var(--pf-v144-post-radius) 0) !important;
    overflow: hidden !important;
    align-self: stretch !important;
    z-index: 5 !important;
  }

  body.home .pf-media::after,
  body.front-page .pf-media::after,
  body.page-template-page-feed .pf-media::after,
  body.pf-page-home .pf-media::after,
  .pf-discover-shell .pf-media::after,
  .pf-discover .pf-media::after{
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: var(--pf-v144-rail-w) !important;
    top: 0 !important;
    bottom: 0 !important;
    height: auto !important;
    z-index: 1 !important;
    pointer-events: none !important;
    border-radius: var(--pf-v144-post-radius) 0 0 var(--pf-v144-post-radius) !important;
    background:
      linear-gradient(180deg, rgba(5,0,12,.36) 0%, rgba(5,0,12,0) 22%, rgba(5,0,12,0) 66%, rgba(5,0,12,.28) 100%) !important;
  }

  body.home .pf-rating,
  body.front-page .pf-rating,
  body.page-template-page-feed .pf-rating,
  body.pf-page-home .pf-rating,
  .pf-discover-shell .pf-rating,
  .pf-discover .pf-rating{
    top: 12px !important;
    right: calc(var(--pf-v144-rail-w) + 12px) !important;
    z-index: 7 !important;
    background: rgba(6,0,12,.52) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
  }
}

@media (max-width: 900px){
  body.home .pf-card-top,
  body.front-page .pf-card-top,
  body.page-template-page-feed .pf-card-top,
  body.pf-page-home .pf-card-top,
  .pf-discover-shell .pf-card-top,
  .pf-discover .pf-card-top{
    background: rgba(7,1,14,.64) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
  }
}
/* END PassionFairy v0.1.44 */

/* PassionFairy v0.1.46: desktop Discover viewport scroll lock.
   The right-side browser scrollbar was caused by the app shell/padded feed being a few pixels taller
   than the viewport. On desktop Discover, the feed should behave like a fitted app screen, not a web
   article page, so lock the outer page and let only panels scroll internally when needed. */
@media (min-width: 901px){
  body.home,
  body.front-page,
  body.pf-page-home,
  body.page-template-page-feed,
  body.pf-page-discover{
    height: 100dvh !important;
    min-height: 100dvh !important;
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  body.home .ringa-app,
  body.front-page .ringa-app,
  body.pf-page-home .ringa-app,
  body.page-template-page-feed .ringa-app,
  body.pf-page-discover .ringa-app{
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
    padding-bottom: 0 !important;
  }

  body.home .pf-home,
  body.front-page .pf-home,
  body.pf-page-home .pf-home,
  body.page-template-page-feed .pf-home,
  body.pf-page-discover .pf-home,
  body.home .pf-page-main.pf-home,
  body.front-page .pf-page-main.pf-home,
  body.pf-page-home .pf-page-main.pf-home,
  body.page-template-page-feed .pf-page-main.pf-home,
  body.pf-page-discover .pf-page-main.pf-home{
    height: calc(100dvh - 58px) !important;
    max-height: calc(100dvh - 58px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding-bottom: calc(var(--ringa-footer-h, 56px) + 10px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.home .pf-discover-shell,
  body.front-page .pf-discover-shell,
  body.pf-page-home .pf-discover-shell,
  body.page-template-page-feed .pf-discover-shell,
  body.pf-page-discover .pf-discover-shell,
  body.home .pf-layout,
  body.front-page .pf-layout,
  body.pf-page-home .pf-layout,
  body.page-template-page-feed .pf-layout,
  body.pf-page-discover .pf-layout{
    overflow: visible !important;
  }

  body.home .pf-filter-panel,
  body.home .pf-sort-panel,
  body.front-page .pf-filter-panel,
  body.front-page .pf-sort-panel,
  body.pf-page-home .pf-filter-panel,
  body.pf-page-home .pf-sort-panel,
  body.page-template-page-feed .pf-filter-panel,
  body.page-template-page-feed .pf-sort-panel,
  body.pf-page-discover .pf-filter-panel,
  body.pf-page-discover .pf-sort-panel{
    max-height: calc(100dvh - 170px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-width: thin;
  }
}
/* END PassionFairy v0.1.46 */


/* PassionFairy v0.1.46: richer Discover identity glass + top-right post options.
   The old top-right rating chip moved into the identity overlay. The top-right corner now hosts
   a vertical dots menu for report/delete controls. */
@media (min-width: 901px){
  body.home .pf-card-top,
  body.front-page .pf-card-top,
  body.page-template-page-feed .pf-card-top,
  body.pf-page-home .pf-card-top,
  .pf-discover-shell .pf-card-top,
  .pf-discover .pf-card-top{
    align-items: center !important;
    gap: 10px !important;
    padding: 8px 12px 8px 9px !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, rgba(44,12,10,.66), rgba(22,5,24,.42)) !important;
    max-width: calc(100% - var(--pf-v144-rail-w, 56px) - 74px) !important;
  }

  body.home .pf-card-info,
  body.front-page .pf-card-info,
  body.page-template-page-feed .pf-card-info,
  body.pf-page-home .pf-card-info,
  .pf-discover-shell .pf-card-info,
  .pf-discover .pf-card-info{
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
  }

  body.home .pf-card-identity-link,
  body.front-page .pf-card-identity-link,
  body.page-template-page-feed .pf-card-identity-link,
  body.pf-page-home .pf-card-identity-link,
  .pf-discover-shell .pf-card-identity-link,
  .pf-discover .pf-card-identity-link{
    align-items: center !important;
    text-decoration: none !important;
  }

  body.home .pf-card-top .pf-avatar,
  body.front-page .pf-card-top .pf-avatar,
  body.page-template-page-feed .pf-card-top .pf-avatar,
  body.pf-page-home .pf-card-top .pf-avatar,
  .pf-discover-shell .pf-card-top .pf-avatar,
  .pf-discover .pf-card-top .pf-avatar{
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    flex-basis: 46px !important;
  }

  body.home .pf-card-meta,
  body.front-page .pf-card-meta,
  body.page-template-page-feed .pf-card-meta,
  body.pf-page-home .pf-card-meta,
  .pf-discover-shell .pf-card-meta,
  .pf-discover .pf-card-meta{
    margin-top: 3px !important;
    font-size: 13px !important;
    color: rgba(255,255,255,.88) !important;
  }

  body.home .pf-card-tier-row,
  body.front-page .pf-card-tier-row,
  body.page-template-page-feed .pf-card-tier-row,
  body.pf-page-home .pf-card-tier-row,
  .pf-discover-shell .pf-card-tier-row,
  .pf-discover .pf-card-tier-row{
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 4px !important;
    min-width: 0 !important;
    color: rgba(255,255,255,.90) !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    font-weight: 850 !important;
    text-shadow: 0 2px 8px rgba(0,0,0,.66) !important;
  }

  body.home .pf-tier-status,
  body.front-page .pf-tier-status,
  body.page-template-page-feed .pf-tier-status,
  body.pf-page-home .pf-tier-status,
  .pf-discover-shell .pf-tier-status,
  .pf-discover .pf-tier-status{
    display: inline-flex !important;
    align-items: center !important;
    min-height: 20px !important;
    padding: 3px 8px !important;
    border-radius: 999px !important;
    color: rgba(255,255,255,.94) !important;
    background: rgba(255,255,255,.10) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
  }

  body.home .pf-card-top .pf-rating,
  body.front-page .pf-card-top .pf-rating,
  body.page-template-page-feed .pf-card-top .pf-rating,
  body.pf-page-home .pf-card-top .pf-rating,
  .pf-discover-shell .pf-card-top .pf-rating,
  .pf-discover .pf-card-top .pf-rating{
    position: static !important;
    inset: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    min-height: 20px !important;
    padding: 3px 8px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    color: #fff !important;
    background: rgba(0,0,0,.28) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important;
  }

  body.home .pf-media > .pf-rating,
  body.front-page .pf-media > .pf-rating,
  body.page-template-page-feed .pf-media > .pf-rating,
  body.pf-page-home .pf-media > .pf-rating,
  .pf-discover-shell .pf-media > .pf-rating,
  .pf-discover .pf-media > .pf-rating{
    display: none !important;
  }

  body.home .pf-post-options,
  body.front-page .pf-post-options,
  body.page-template-page-feed .pf-post-options,
  body.pf-page-home .pf-post-options,
  .pf-discover-shell .pf-post-options,
  .pf-discover .pf-post-options{
    position: absolute !important;
    top: 12px !important;
    right: calc(var(--pf-v144-rail-w, 56px) + 12px) !important;
    z-index: 12 !important;
  }

  body.home .pf-post-options-toggle,
  body.front-page .pf-post-options-toggle,
  body.page-template-page-feed .pf-post-options-toggle,
  body.pf-page-home .pf-post-options-toggle,
  .pf-discover-shell .pf-post-options-toggle,
  .pf-discover .pf-post-options-toggle{
    width: 42px !important;
    height: 42px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    background: rgba(6,0,12,.52) !important;
    color: rgba(255,255,255,.92) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.30) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    cursor: pointer !important;
  }

  body.home .pf-post-options-toggle .pf-action-svg,
  body.front-page .pf-post-options-toggle .pf-action-svg,
  body.page-template-page-feed .pf-post-options-toggle .pf-action-svg,
  body.pf-page-home .pf-post-options-toggle .pf-action-svg,
  .pf-discover-shell .pf-post-options-toggle .pf-action-svg,
  .pf-discover .pf-post-options-toggle .pf-action-svg{
    width: 22px !important;
    height: 22px !important;
  }

  body.home .pf-post-options-menu,
  body.front-page .pf-post-options-menu,
  body.page-template-page-feed .pf-post-options-menu,
  body.pf-page-home .pf-post-options-menu,
  .pf-discover-shell .pf-post-options-menu,
  .pf-discover .pf-post-options-menu{
    position: absolute !important;
    top: 48px !important;
    right: 0 !important;
    min-width: 142px !important;
    padding: 7px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    background: rgba(12,4,20,.86) !important;
    box-shadow: 0 20px 46px rgba(0,0,0,.42) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    display: none !important;
  }

  body.home .pf-post-options.is-open .pf-post-options-menu,
  body.front-page .pf-post-options.is-open .pf-post-options-menu,
  body.page-template-page-feed .pf-post-options.is-open .pf-post-options-menu,
  body.pf-page-home .pf-post-options.is-open .pf-post-options-menu,
  .pf-discover-shell .pf-post-options.is-open .pf-post-options-menu,
  .pf-discover .pf-post-options.is-open .pf-post-options-menu{
    display: grid !important;
    gap: 4px !important;
  }

  body.home .pf-post-options-menu button,
  body.front-page .pf-post-options-menu button,
  body.page-template-page-feed .pf-post-options-menu button,
  body.pf-page-home .pf-post-options-menu button,
  .pf-discover-shell .pf-post-options-menu button,
  .pf-discover .pf-post-options-menu button{
    width: 100% !important;
    min-height: 34px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: rgba(255,255,255,.92) !important;
    text-align: left !important;
    padding: 8px 10px !important;
    font-weight: 850 !important;
    cursor: pointer !important;
  }

  body.home .pf-post-options-menu button:hover,
  body.front-page .pf-post-options-menu button:hover,
  body.page-template-page-feed .pf-post-options-menu button:hover,
  body.pf-page-home .pf-post-options-menu button:hover,
  .pf-discover-shell .pf-post-options-menu button:hover,
  .pf-discover .pf-post-options-menu button:hover{
    background: rgba(255,255,255,.09) !important;
  }

  body.home .pf-post-options-menu button.is-danger,
  body.front-page .pf-post-options-menu button.is-danger,
  body.page-template-page-feed .pf-post-options-menu button.is-danger,
  body.pf-page-home .pf-post-options-menu button.is-danger,
  .pf-discover-shell .pf-post-options-menu button.is-danger,
  .pf-discover .pf-post-options-menu button.is-danger{
    color: #ff8baa !important;
  }
}

@media (max-width: 900px){
  .pf-card-top .pf-rating{
    position: static !important;
    display: inline-flex !important;
    padding: 3px 8px !important;
    font-size: 12px !important;
    background: rgba(0,0,0,.28) !important;
  }
  .pf-card-tier-row{
    display: flex !important;
    gap: 8px !important;
    margin-top: 4px !important;
  }
  .pf-media > .pf-rating{ display: none !important; }
  .pf-post-options{
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    z-index: 12 !important;
  }
}
/* END PassionFairy v0.1.46 */

/* PassionFairy v0.1.47: natural media fit inside the locked 9:8-style Discover stage.
   Uploaded photos/videos now keep their original aspect ratio instead of being cropped, zoomed,
   or stretched to fill the media block. The card size, overlay, rail, footer, and v0.1.46 menu stay locked. */
:root{
  --pf-v147-post-radius: var(--pf-v144-post-radius, 20px);
  --pf-v147-rail-w: var(--pf-v144-rail-w, 56px);
  --pf-v147-media-bg: #05000c;
}

@media (min-width: 901px){
  body.home .pf-photo-stage,
  body.home .pf-video-stage,
  body.front-page .pf-photo-stage,
  body.front-page .pf-video-stage,
  body.page-template-page-feed .pf-photo-stage,
  body.page-template-page-feed .pf-video-stage,
  body.pf-page-home .pf-photo-stage,
  body.pf-page-home .pf-video-stage,
  body.pf-page-discover .pf-photo-stage,
  body.pf-page-discover .pf-video-stage,
  .pf-discover-shell .pf-photo-stage,
  .pf-discover-shell .pf-video-stage,
  .pf-discover .pf-photo-stage,
  .pf-discover .pf-video-stage{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background:
      radial-gradient(circle at center, rgba(126, 50, 158, .16), rgba(5, 0, 12, .96) 62%),
      var(--pf-v147-media-bg) !important;
  }

  body.home .pf-photo-stage::before,
  body.front-page .pf-photo-stage::before,
  body.page-template-page-feed .pf-photo-stage::before,
  body.pf-page-home .pf-photo-stage::before,
  body.pf-page-discover .pf-photo-stage::before,
  .pf-discover-shell .pf-photo-stage::before,
  .pf-discover .pf-photo-stage::before{
    content: none !important;
    display: none !important;
  }

  body.home .pf-photo-stage img,
  body.home .pf-video-stage video,
  body.home .pf-media > img,
  body.home .pf-media > video,
  body.front-page .pf-photo-stage img,
  body.front-page .pf-video-stage video,
  body.front-page .pf-media > img,
  body.front-page .pf-media > video,
  body.page-template-page-feed .pf-photo-stage img,
  body.page-template-page-feed .pf-video-stage video,
  body.page-template-page-feed .pf-media > img,
  body.page-template-page-feed .pf-media > video,
  body.pf-page-home .pf-photo-stage img,
  body.pf-page-home .pf-video-stage video,
  body.pf-page-home .pf-media > img,
  body.pf-page-home .pf-media > video,
  body.pf-page-discover .pf-photo-stage img,
  body.pf-page-discover .pf-video-stage video,
  body.pf-page-discover .pf-media > img,
  body.pf-page-discover .pf-media > video,
  .pf-discover-shell .pf-photo-stage img,
  .pf-discover-shell .pf-video-stage video,
  .pf-discover-shell .pf-media > img,
  .pf-discover-shell .pf-media > video,
  .pf-discover .pf-photo-stage img,
  .pf-discover .pf-video-stage video,
  .pf-discover .pf-media > img,
  .pf-discover .pf-media > video{
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: transparent !important;
    border-radius: var(--pf-v147-post-radius) 0 0 var(--pf-v147-post-radius) !important;
    clip-path: inset(0 round var(--pf-v147-post-radius) 0 0 var(--pf-v147-post-radius)) !important;
  }
}

@media (max-width: 900px){
  .pf-photo-stage,
  .pf-video-stage{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #05000c !important;
  }

  .pf-photo-stage::before{
    content: none !important;
    display: none !important;
  }

  .pf-photo-stage img,
  .pf-video-stage video,
  .pf-media > img,
  .pf-media > video{
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
  }
}
/* END PassionFairy v0.1.47 */


/* PassionFairy v0.1.48
   Routing fix only: avatar/name links now use the PassionFairy profile route;
   author archives are redirected by author.php. No visual CSS changes. */


/* PassionFairy v0.1.49: header sidebar menu + simplified text logo.
   Adds a left hamburger button that opens a sidebar menu with links to
   Profile, Settings, Terms & Conditions, and Policies. Also removes the
   fairy icon from the brand so the header uses a clean text-only logo. */
.ringa-topbar-left{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.ringa-brand:before,
.ringa-brand-link:before{
  content:none !important;
  display:none !important;
}
.ringa-brand,
.ringa-brand-link{
  font-weight:900;
  white-space:nowrap;
}
.ringa-sidebar-toggle{
  flex:0 0 auto;
}
.ringa-hamburger{
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
}
.ringa-hamburger span{
  display:block;
  width:18px;
  height:2px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
}
.ringa-sidebar-backdrop{
  position:fixed;
  inset:0;
  background:rgba(4,3,8,.55);
  backdrop-filter:blur(2px);
  z-index:88;
}
.ringa-sidebar{
  position:fixed;
  top:0;
  left:0;
  width:min(320px, 88vw);
  height:100dvh;
  background:linear-gradient(180deg, rgba(18,10,30,.98), rgba(8,4,14,.99));
  border-right:1px solid rgba(255,255,255,.08);
  box-shadow:0 24px 60px rgba(0,0,0,.38);
  padding:18px 14px 16px;
  transform:translateX(-105%);
  transition:transform .22s ease;
  z-index:89;
}
body.ringa-sidebar-open .ringa-sidebar{
  transform:translateX(0);
}
body.ringa-sidebar-open{
  overflow:hidden;
}
.ringa-sidebar-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:16px;
}
.ringa-sidebar-title{
  font-size:20px;
  font-weight:900;
  color:rgba(255,255,255,.96);
}
.ringa-sidebar-nav{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.ringa-sidebar-link{
  display:flex;
  align-items:center;
  min-height:48px;
  padding:12px 14px;
  border-radius:14px;
  color:rgba(255,255,255,.94);
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
  font-weight:700;
}
.ringa-sidebar-link:hover,
.ringa-sidebar-link:focus{
  background:rgba(255,255,255,.08);
}
@media (max-width: 640px){
  .ringa-auth-link{ display:none; }
}
/* END PassionFairy v0.1.49 */


/* PassionFairy v0.1.50: real Settings + readable Terms/Policies pages.
   Fixes ordinary pages so they render page content instead of the Discover fallback. */
.pf-page-shell,
.pf-settings-shell{
  width:min(1120px, calc(100% - 32px));
  margin:0 auto;
  padding:36px 0 calc(var(--ringa-footer-h, 76px) + 34px);
}
.pf-page-hero,
.pf-settings-hero{
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  background:
    radial-gradient(circle at 12% 0%, rgba(255,79,184,.14), transparent 30%),
    radial-gradient(circle at 86% 8%, rgba(139,92,246,.16), transparent 28%),
    rgba(21, 9, 31, .72);
  box-shadow:0 24px 60px rgba(0,0,0,.24);
  padding:28px;
  margin-bottom:18px;
}
.pf-page-kicker,
.pf-settings-kicker{
  color:#ffd75e;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px;
  font-weight:900;
  margin:0 0 8px;
}
.pf-page-title,
.pf-settings-title{
  margin:0;
  color:rgba(255,255,255,.96);
  font-size:clamp(30px, 4vw, 54px);
  line-height:1;
  letter-spacing:-.04em;
}
.pf-page-subtitle,
.pf-settings-subtitle{
  max-width:760px;
  margin:12px 0 0;
  color:rgba(255,255,255,.72);
  font-size:15px;
  line-height:1.55;
}
.pf-legal-content,
.pf-settings-grid .pf-settings-card{
  background:rgba(22, 10, 34, .78);
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  box-shadow:0 20px 44px rgba(0,0,0,.20);
}
.pf-legal-content{
  padding:28px;
  color:rgba(255,255,255,.86);
  line-height:1.68;
}
.pf-legal-content h2{
  margin:30px 0 10px;
  font-size:24px;
  color:#fff;
  letter-spacing:-.025em;
}
.pf-legal-content h2:first-child{ margin-top:0; }
.pf-legal-content h3{
  margin:22px 0 8px;
  color:rgba(255,255,255,.96);
}
.pf-legal-content p{ margin:0 0 14px; }
.pf-legal-content ul,
.pf-legal-content ol{ padding-left:22px; margin:0 0 16px; }
.pf-legal-content li{ margin:7px 0; }
.pf-legal-content a{ color:#ff9bdc; text-decoration:underline; text-underline-offset:3px; }
.pf-legal-note{
  margin-top:18px;
  color:rgba(255,255,255,.62);
  font-size:13px;
}
.pf-settings-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}
.pf-settings-card{
  padding:22px;
}
.pf-settings-card h2{
  margin:0 0 10px;
  font-size:22px;
  color:#fff;
  letter-spacing:-.03em;
}
.pf-settings-card p{
  margin:0 0 16px;
  color:rgba(255,255,255,.70);
  line-height:1.5;
}
.pf-settings-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.pf-settings-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);
  color:rgba(255,255,255,.92);
  font-weight:750;
}
.pf-settings-row span{ color:rgba(255,255,255,.56); font-weight:800; }
.pf-settings-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  border-radius:999px;
  padding:10px 16px;
  font-weight:900;
  background:linear-gradient(135deg, #ff4fb8, #9b5cff);
  color:#fff !important;
  box-shadow:0 14px 34px rgba(255,79,184,.22);
}
.pf-toggle-preview{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);
  margin-top:10px;
}
.pf-toggle-preview strong{ display:block; color:#fff; }
.pf-toggle-preview small{ color:rgba(255,255,255,.58); }
.pf-toggle-dot{
  width:46px;
  height:26px;
  border-radius:999px;
  background:linear-gradient(135deg, #ff4fb8, #9b5cff);
  position:relative;
  flex:0 0 auto;
}
.pf-toggle-dot:after{
  content:"";
  position:absolute;
  top:4px;
  right:4px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#fff;
}
@media (max-width: 760px){
  .pf-page-shell,
  .pf-settings-shell{ width:min(100% - 20px, 620px); padding-top:18px; }
  .pf-page-hero,
  .pf-settings-hero,
  .pf-legal-content,
  .pf-settings-grid .pf-settings-card{ border-radius:20px; padding:18px; }
  .pf-settings-grid{ grid-template-columns:1fr; }
}
/* END PassionFairy v0.1.50 */

/* PassionFairy v0.1.52: online dot beside username + FairyDust wallet action row. */
.pf-card-name .pf-online-dot,
.pf-card-name .pf-online-dot--name{
  width: 10px !important;
  height: 10px !important;
  margin-left: 8px !important;
  margin-right: 0 !important;
  vertical-align: middle !important;
  position: relative !important;
  top: -1px !important;
  display: inline-block !important;
}

.pf-card-meta > .pf-online-dot:not(.pf-online-dot--name){
  display: none !important;
}

.pf-wallet-actions{
  display: flex;
  align-items: stretch;
  gap: 10px;
  width: 100%;
  flex-wrap: nowrap;
  margin-top: 12px;
}

.pf-wallet-actions .pf-btn{
  flex: 1 1 0;
  justify-content: center;
  min-width: 0;
  padding-left: 12px;
  padding-right: 12px;
  text-align: center;
  line-height: 1.15;
}

.pf-btn-wallet{
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #fff !important;
  background: linear-gradient(135deg, rgba(255,255,255,.14), rgba(186,79,255,.22)) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 12px 26px rgba(0,0,0,.18);
}

.pf-btn-wallet:hover,
.pf-btn-wallet:focus{
  background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(226,66,196,.30)) !important;
}

@media (max-width: 1180px){
  .pf-wallet-actions{
    flex-wrap: wrap;
  }
}
/* END PassionFairy v0.1.52 */

/* PassionFairy v0.1.53: remove duplicate wallet button styling and upgrade online status dot. */
.pf-wallet-actions{
  display: contents !important;
}
.pf-btn-wallet{
  display: none !important;
}

.pf-card-name .pf-online-dot,
.pf-card-name .pf-online-dot--name{
  width: 12px !important;
  height: 12px !important;
  margin-left: 8px !important;
  margin-right: 0 !important;
  vertical-align: middle !important;
  position: relative !important;
  top: -2px !important;
  display: inline-block !important;
  border-radius: 999px !important;
  background:
    radial-gradient(circle at 35% 32%, rgba(255,255,255,.95) 0 16%, rgba(120,255,196,.95) 17% 38%, #16d887 39% 100%) !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  box-shadow:
    0 0 0 2px rgba(10, 7, 18, .68),
    0 0 0 4px rgba(36, 255, 160, .13),
    0 0 12px rgba(31, 255, 164, .72),
    inset 0 -1px 2px rgba(0,0,0,.28) !important;
}

.pf-card-name .pf-online-dot::after,
.pf-card-name .pf-online-dot--name::after{
  content: "";
  position: absolute;
  inset: -5px;
  border-radius: inherit;
  border: 1px solid rgba(43, 255, 170, .28);
  opacity: .78;
  animation: pf-online-pulse 1.9s ease-out infinite;
  pointer-events: none;
}

@keyframes pf-online-pulse{
  0%{
    transform: scale(.72);
    opacity: .72;
  }
  72%, 100%{
    transform: scale(1.45);
    opacity: 0;
  }
}
/* END PassionFairy v0.1.53 */


/* PassionFairy v0.1.55: polished static pages, settings, legal nav, and sidebar destinations. */
.pf-page-shell--legal{ max-width:1160px; }
.pf-page-hero-inner{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}
.pf-page-hero-badge{
  width:104px;
  min-height:86px;
  flex:0 0 auto;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(135deg, rgba(255,79,184,.22), rgba(155,92,255,.18));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 16px 38px rgba(0,0,0,.22);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#fff;
  text-align:center;
}
.pf-page-hero-badge span{ font-size:28px; line-height:1; font-weight:950; letter-spacing:-.04em; }
.pf-page-hero-badge small{ margin-top:6px; color:rgba(255,255,255,.68); font-size:11px; font-weight:850; text-transform:uppercase; letter-spacing:.09em; }
.pf-legal-nav{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}
.pf-legal-nav-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:8px 13px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.045);
  color:rgba(255,255,255,.78);
  font-weight:850;
  font-size:13px;
  text-decoration:none !important;
}
.pf-legal-nav-link:hover,
.pf-legal-nav-link:focus,
.pf-legal-nav-link.is-active{
  background:linear-gradient(135deg, rgba(255,79,184,.42), rgba(155,92,255,.28));
  border-color:rgba(255,255,255,.18);
  color:#fff;
}
.pf-legal-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:20px;
}
.pf-legal-meta span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.68);
  font-size:12px;
  font-weight:850;
}
.pf-legal-content{
  position:relative;
  overflow:hidden;
}
.pf-legal-content:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,79,184,.42), rgba(155,92,255,.35), transparent);
}
.pf-legal-content h2{
  padding-top:4px;
}
.pf-legal-content h2:target{
  scroll-margin-top:90px;
}
.pf-settings-card-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}
.pf-settings-card-head h2{ margin:0; }
.pf-settings-icon{
  width:38px;
  height:38px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
.pf-settings-card--primary{
  background:
    radial-gradient(circle at 0% 0%, rgba(255,79,184,.14), transparent 38%),
    rgba(22, 10, 34, .78) !important;
}
.pf-settings-card--wide{ grid-column:1 / -1; }
.pf-settings-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.pf-settings-pill.is-ghost{
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.09);
  box-shadow:none;
}
.ringa-sidebar-nav{ padding-bottom:18px; }
.ringa-sidebar-link{
  min-height:48px;
}
.ringa-sidebar-link[href*="privacy"],
.ringa-sidebar-link[href*="policies"],
.ringa-sidebar-link[href*="fairydust-policy"],
.ringa-sidebar-link[href*="refund-policy"],
.ringa-sidebar-link[href*="verification-policy"],
.ringa-sidebar-link[href*="community-guidelines"],
.ringa-sidebar-link[href*="safety-center"]{
  font-size:14px;
}
@media (max-width: 760px){
  .pf-page-hero-inner{ flex-direction:column; }
  .pf-page-hero-badge{ width:100%; min-height:64px; flex-direction:row; gap:10px; }
  .pf-page-hero-badge small{ margin-top:0; }
  .pf-settings-card--wide{ grid-column:auto; }
  .pf-settings-actions{ flex-direction:column; }
}
/* END PassionFairy v0.1.55 */

/* PassionFairy v0.1.55: signup onboarding polish + sidebar active page indicator. */
.ringa-sidebar-link.is-active,
.ringa-sidebar-link[aria-current="page"],
.ringa-menu-panel a.is-active,
.ringa-menu-panel a[aria-current="page"]{
  border-color: rgba(255, 74, 196, .75);
  background: linear-gradient(135deg, rgba(255, 74, 196, .22), rgba(152, 83, 255, .16));
  box-shadow: inset 3px 0 0 rgba(255, 74, 196, .95), 0 10px 26px rgba(0,0,0,.18);
  color: #fff;
  position: relative;
}
.ringa-sidebar-link.is-active::after,
.ringa-sidebar-link[aria-current="page"]::after,
.ringa-menu-panel a.is-active::after,
.ringa-menu-panel a[aria-current="page"]::after{
  content: '●';
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  color: #31f2a2;
  font-size: 11px;
  text-shadow: 0 0 12px rgba(49,242,162,.95);
}

.pf-signup-page{
  padding: 36px 16px 120px;
}
.pf-signup-shell{
  width: min(1120px, calc(100vw - 32px));
  margin: 0 auto;
}
.pf-aurora-panel,
.pf-signup-card{
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(135deg, rgba(54, 16, 72, .74), rgba(20, 8, 37, .92));
  box-shadow: 0 24px 80px rgba(0,0,0,.25);
  backdrop-filter: blur(14px);
}
.pf-signup-hero{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
  padding: 32px 28px;
  border-radius: 28px;
  margin-bottom: 20px;
}
.pf-kicker,
.pf-step-label{
  margin: 0 0 8px;
  color: #ffe86b;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .16em;
}
.pf-signup-hero h1{
  margin: 0;
  font-size: clamp(38px, 5vw, 64px);
  line-height: .95;
}
.pf-signup-lead{
  max-width: 760px;
  color: rgba(255,255,255,.86);
  font-size: 17px;
  line-height: 1.7;
}
.pf-signup-steps,
.pf-tier-pills{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
.pf-signup-steps span,
.pf-tier-pills span{
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.07);
  padding: 7px 12px;
  font-weight: 800;
  color: rgba(255,255,255,.9);
}
.pf-age-card{
  width: 118px;
  height: 118px;
  border-radius: 28px;
  display: grid;
  place-items: center;
  text-align: center;
  border: 1px solid rgba(255,255,255,.18);
  background: linear-gradient(135deg, rgba(255,74,196,.24), rgba(152,83,255,.3));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
}
.pf-age-card strong{
  display: block;
  font-size: 34px;
  line-height: 1;
}
.pf-age-card span{
  display: block;
  margin-top: -24px;
  color: rgba(255,255,255,.75);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.pf-signup-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 16px;
}
.pf-signup-card{
  border-radius: 24px;
  padding: 24px;
}
.pf-signup-card-wide{
  margin-top: 16px;
}
.pf-card-title-row{
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 18px;
}
.pf-card-title-row h2{
  margin: 0;
  font-size: 26px;
  line-height: 1.1;
}
.pf-card-icon{
  width: 40px;
  height: 40px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
}
.pf-card-helper{
  margin: 8px 0 0;
  color: rgba(255,255,255,.74);
  line-height: 1.55;
}
.pf-signup-form label:not(.pf-role-card):not(.pf-age-confirm){
  display: block;
  margin: 14px 0 7px;
  color: rgba(255,255,255,.78);
  font-weight: 850;
}
.pf-signup-form input[type="text"],
.pf-signup-form input[type="email"],
.pf-signup-form input[type="password"],
.pf-signup-form textarea,
.pf-signup-form .pf-input,
.pf-signup-form .pf-select{
  width: 100%;
  min-height: 46px;
  border-radius: 15px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.075);
  color: #fff;
  padding: 12px 14px;
  outline: none;
}
.pf-signup-form textarea{
  min-height: 112px;
  resize: vertical;
}
.pf-signup-form input:focus,
.pf-signup-form textarea:focus,
.pf-signup-form .pf-select:focus{
  border-color: rgba(255,74,196,.7);
  box-shadow: 0 0 0 4px rgba(255,74,196,.14);
}
.pf-age-confirm{
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-top: 18px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.86);
  line-height: 1.45;
}
.pf-age-confirm input{
  margin-top: 4px;
  accent-color: #ff4ac4;
}
.pf-role-choice-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.pf-role-radio{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.pf-role-card{
  cursor: pointer;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(255,255,255,.065);
  padding: 16px;
  min-height: 168px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.pf-role-card:hover{
  transform: translateY(-2px);
  border-color: rgba(255,74,196,.46);
}
.pf-role-radio:checked + .pf-role-card{
  border-color: rgba(255,74,196,.82);
  background: linear-gradient(135deg, rgba(255,74,196,.20), rgba(152,83,255,.16));
  box-shadow: 0 18px 50px rgba(255,74,196,.12), inset 0 0 0 1px rgba(255,255,255,.08);
}
.pf-role-badge{
  align-self: flex-start;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 900;
  background: rgba(49,242,162,.18);
  color: #caffea;
  border: 1px solid rgba(49,242,162,.25);
}
.pf-role-badge-fairy{
  background: rgba(255,74,196,.2);
  color: #ffd4f3;
  border-color: rgba(255,74,196,.28);
}
.pf-role-card strong{
  font-size: 20px;
}
.pf-role-card span:last-child{
  color: rgba(255,255,255,.75);
  line-height: 1.45;
}
.pf-tier-preview{
  margin-top: 16px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border-radius: 20px;
  background: rgba(0,0,0,.16);
  border: 1px solid rgba(255,255,255,.1);
}
.pf-tier-preview .pf-tier-pills{
  justify-content: flex-end;
  margin-top: 0;
}
.pf-location-select{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.pf-location-select .pf-field{
  margin: 0;
}
.pf-signup-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-top: 18px;
}
.pf-signup-submit{
  min-width: 190px;
}

@media (max-width: 860px){
  .pf-signup-hero,
  .pf-signup-grid,
  .pf-location-select,
  .pf-tier-preview{
    grid-template-columns: 1fr;
  }
  .pf-age-card{
    width: 100%;
    height: auto;
    min-height: 88px;
  }
  .pf-age-card span{
    margin-top: -14px;
  }
  .pf-role-choice-grid{
    grid-template-columns: 1fr;
  }
  .pf-tier-preview .pf-tier-pills{
    justify-content: flex-start;
  }
}
/* END PassionFairy v0.1.55 */

/* PassionFairy v0.1.70: themed signup create-account button. */
.pf-onboarding input[type="submit"],
.pf-signup input[type="submit"],
.pf-signup-form input[type="submit"],
.pf-auth-card input[type="submit"],
.pf-auth input[type="submit"],
.pf-page-card input[type="submit"],
form[action*="signup"] input[type="submit"],
form input[name="pf_signup_submit"],
button[name="pf_signup_submit"],
input[name="pf_signup_submit"]{
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #f04ec8 0%, #a64cff 100%) !important;
  color: #fff !important;
  font-weight: 900 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  padding: 15px 24px !important;
  min-width: 190px !important;
  width: auto !important;
  box-shadow:
    0 16px 34px rgba(190, 75, 255, .28),
    inset 0 1px 0 rgba(255,255,255,.22) !important;
  cursor: pointer !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease !important;
}

.pf-onboarding input[type="submit"]:hover,
.pf-signup input[type="submit"]:hover,
.pf-signup-form input[type="submit"]:hover,
.pf-auth-card input[type="submit"]:hover,
.pf-auth input[type="submit"]:hover,
.pf-page-card input[type="submit"]:hover,
form[action*="signup"] input[type="submit"]:hover,
form input[name="pf_signup_submit"]:hover,
button[name="pf_signup_submit"]:hover,
input[name="pf_signup_submit"]:hover{
  transform: translateY(-1px) !important;
  filter: brightness(1.06) !important;
  box-shadow:
    0 20px 42px rgba(226, 66, 196, .32),
    inset 0 1px 0 rgba(255,255,255,.28) !important;
}

.pf-onboarding input[type="submit"]:focus-visible,
.pf-signup input[type="submit"]:focus-visible,
.pf-signup-form input[type="submit"]:focus-visible,
.pf-auth-card input[type="submit"]:focus-visible,
.pf-auth input[type="submit"]:focus-visible,
.pf-page-card input[type="submit"]:focus-visible,
form[action*="signup"] input[type="submit"]:focus-visible,
form input[name="pf_signup_submit"]:focus-visible,
button[name="pf_signup_submit"]:focus-visible,
input[name="pf_signup_submit"]:focus-visible{
  outline: 3px solid rgba(255,255,255,.30) !important;
  outline-offset: 3px !important;
}

.pf-onboarding .pf-auth-actions,
.pf-signup .pf-auth-actions,
.pf-signup-form .pf-auth-actions,
.pf-onboarding form > p:last-child,
.pf-signup form > p:last-child{
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}

.pf-onboarding a[href*="login"],
.pf-signup a[href*="login"],
.pf-signup-form a[href*="login"]{
  color: #fff !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(240,78,200,.65) !important;
}

.pf-onboarding a[href*="login"]:hover,
.pf-signup a[href*="login"]:hover,
.pf-signup-form a[href*="login"]:hover{
  color: #ff8be2 !important;
}
/* END PassionFairy v0.1.70 */

/* PassionFairy v0.1.70: hard theme the actual signup action row and real button element. */
.pf-signup-form .pf-signup-actions{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
  margin-top: 22px !important;
  padding: 0 !important;
}

.pf-signup-form button.pf-signup-submit,
.pf-signup-form .pf-signup-submit,
.pf-signup-actions button[type="submit"],
.pf-signup-actions .ringa-btn-primary{
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #f04ec8 0%, #a64cff 100%) !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  letter-spacing: -.01em !important;
  line-height: 1 !important;
  min-height: 48px !important;
  min-width: 205px !important;
  width: auto !important;
  padding: 16px 28px !important;
  box-shadow: 0 18px 38px rgba(190,75,255,.30), inset 0 1px 0 rgba(255,255,255,.22) !important;
  cursor: pointer !important;
  text-align: center !important;
  text-decoration: none !important;
  text-shadow: none !important;
  transform: none !important;
}

.pf-signup-form button.pf-signup-submit:hover,
.pf-signup-form .pf-signup-submit:hover,
.pf-signup-actions button[type="submit"]:hover,
.pf-signup-actions .ringa-btn-primary:hover{
  filter: brightness(1.06) !important;
  transform: translateY(-1px) !important;
}

.pf-signup-actions .ringa-btn-ghost,
.pf-signup-actions a[href*="login"]{
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  padding: 14px 20px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.06) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.pf-signup-actions .ringa-btn-ghost:hover,
.pf-signup-actions a[href*="login"]:hover{
  background: rgba(255,255,255,.10) !important;
  color: #ff8be2 !important;
}

@media (max-width: 640px){
  .pf-signup-form .pf-signup-actions{
    align-items: stretch !important;
  }
  .pf-signup-form button.pf-signup-submit,
  .pf-signup-actions .ringa-btn-primary,
  .pf-signup-actions .ringa-btn-ghost,
  .pf-signup-actions a[href*="login"]{
    width: 100% !important;
  }
}
/* END PassionFairy v0.1.70 */


/* PassionFairy v0.1.71: true Facebook-style page scroll from the locked v0.1.57 card visuals.
   This deliberately unlocks only the outer page/stack scrolling. It does not shrink the post card,
   does not move the side panels, and does not change the media/action/header/footer look. */
@media (min-width: 901px){
  body.pf-page-discover,
  body.home,
  body.front-page,
  body.pf-page-home,
  body.page-template-page-feed{
    height: auto !important;
    min-height: 100dvh !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: auto !important;
  }

  body.pf-page-discover .ringa-app,
  body.home .ringa-app,
  body.front-page .ringa-app,
  body.pf-page-home .ringa-app,
  body.page-template-page-feed .ringa-app{
    height: auto !important;
    min-height: 100dvh !important;
    max-height: none !important;
    overflow: visible !important;
    padding-bottom: var(--ringa-footer-h, 56px) !important;
  }

  body.pf-page-discover .ringa-content,
  body.home .ringa-content,
  body.front-page .ringa-content,
  body.pf-page-home .ringa-content,
  body.page-template-page-feed .ringa-content{
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    padding-bottom: calc(var(--ringa-footer-h, 56px) + 26px) !important;
  }

  body.pf-page-discover .pf-home,
  body.home .pf-home,
  body.front-page .pf-home,
  body.pf-page-home .pf-home,
  body.page-template-page-feed .pf-home,
  body.pf-page-discover .pf-page-main.pf-home,
  body.home .pf-page-main.pf-home,
  body.front-page .pf-page-main.pf-home,
  body.pf-page-home .pf-page-main.pf-home,
  body.page-template-page-feed .pf-page-main.pf-home{
    height: auto !important;
    min-height: calc(100dvh - var(--ringa-topbar-h, 58px)) !important;
    max-height: none !important;
    overflow: visible !important;
    padding-bottom: calc(var(--ringa-footer-h, 56px) + 36px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.pf-page-discover .pf-discover-shell--feed,
  body.home .pf-discover-shell--feed,
  body.front-page .pf-discover-shell--feed,
  body.pf-page-home .pf-discover-shell--feed,
  body.page-template-page-feed .pf-discover-shell--feed,
  body.pf-page-discover .pf-discover-shell,
  body.home .pf-discover-shell,
  body.front-page .pf-discover-shell,
  body.pf-page-home .pf-discover-shell,
  body.page-template-page-feed .pf-discover-shell{
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    align-items: start !important;
  }

  body.pf-page-discover .pf-discover-shell--feed .pf-card-stack,
  body.home .pf-discover-shell--feed .pf-card-stack,
  body.front-page .pf-discover-shell--feed .pf-card-stack,
  body.pf-page-home .pf-discover-shell--feed .pf-card-stack,
  body.page-template-page-feed .pf-discover-shell--feed .pf-card-stack,
  body.pf-page-discover .pf-card-stack,
  body.home .pf-card-stack,
  body.front-page .pf-card-stack,
  body.pf-page-home .pf-card-stack,
  body.page-template-page-feed .pf-card-stack{
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: var(--pf-v141-footer-gap, 12px) !important;
    padding-bottom: calc(var(--ringa-footer-h, 56px) + 72px) !important;
    scroll-snap-type: none !important;
    scroll-padding-top: calc(var(--ringa-topbar-h, 58px) + 10px) !important;
    scroll-padding-bottom: calc(var(--ringa-footer-h, 56px) + 42px) !important;
  }

  body.pf-page-discover .pf-discover-shell--feed .pf-discover-card,
  body.home .pf-discover-shell--feed .pf-discover-card,
  body.front-page .pf-discover-shell--feed .pf-discover-card,
  body.pf-page-home .pf-discover-shell--feed .pf-discover-card,
  body.page-template-page-feed .pf-discover-shell--feed .pf-discover-card,
  body.pf-page-discover .pf-discover-card,
  body.home .pf-discover-card,
  body.front-page .pf-discover-card,
  body.pf-page-home .pf-discover-card,
  body.page-template-page-feed .pf-discover-card{
    flex: 0 0 auto !important;
    scroll-snap-align: none !important;
    scroll-margin-top: calc(var(--ringa-topbar-h, 58px) + 12px) !important;
    scroll-margin-bottom: calc(var(--ringa-footer-h, 56px) + 38px) !important;
  }

  /* Keep side cards usable when the feed grows taller than the viewport. */
  body.pf-page-discover .pf-filter-panel,
  body.pf-page-discover .pf-sort-panel,
  body.home .pf-filter-panel,
  body.home .pf-sort-panel,
  body.front-page .pf-filter-panel,
  body.front-page .pf-sort-panel,
  body.pf-page-home .pf-filter-panel,
  body.pf-page-home .pf-sort-panel,
  body.page-template-page-feed .pf-filter-panel,
  body.page-template-page-feed .pf-sort-panel{
    position: sticky !important;
    top: calc(var(--ringa-topbar-h, 58px) + 86px) !important;
    max-height: calc(100dvh - var(--ringa-topbar-h, 58px) - var(--ringa-footer-h, 56px) - 38px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  body.ringa-sidebar-open{
    overflow: hidden !important;
  }
}

.pf-create-locked-card{
  max-width: 760px;
  margin: 72px auto 130px;
  padding: 34px;
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(135deg, rgba(54,13,72,.92), rgba(14,9,28,.96));
  box-shadow: 0 30px 80px rgba(0,0,0,.28);
}

@media (max-width: 900px){
  body.pf-page-discover,
  body.home,
  body.front-page,
  body.pf-page-home,
  body.page-template-page-feed,
  body.pf-page-discover .ringa-app,
  body.home .ringa-app,
  body.front-page .ringa-app,
  body.pf-page-home .ringa-app,
  body.page-template-page-feed .ringa-app{
    height: auto !important;
    max-height: none !important;
    overflow-y: auto !important;
  }

  body.pf-page-discover .pf-discover-shell--feed .pf-card-stack,
  body.home .pf-discover-shell--feed .pf-card-stack,
  body.front-page .pf-discover-shell--feed .pf-card-stack,
  body.pf-page-home .pf-discover-shell--feed .pf-card-stack,
  body.page-template-page-feed .pf-discover-shell--feed .pf-card-stack{
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding-bottom: calc(var(--ringa-footer-h, 64px) + 86px) !important;
  }
}
/* END PassionFairy v0.1.71 */

/* PassionFairy v0.1.72: paired with core feed-source fix. No visual changes from locked v0.1.71. */


/* PassionFairy v0.1.73: profile page polish only. No Discover feed/card layout changes. */
.pf-public-profile-note{
  color:rgba(255,247,255,.68);
  margin-top:6px;
  font-size:13px;
}
.pf-profile-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
}
.pf-profile-posts{
  margin-top:18px;
}
.pf-profile-post-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.pf-profile-post-card{
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(20,7,31,.78);
}
.pf-profile-post-media{
  aspect-ratio:4/5;
  background:#05000c;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.pf-profile-post-media img,
.pf-profile-post-media video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.pf-profile-post-placeholder{
  color:rgba(255,247,255,.55);
  text-align:center;
  padding:22px;
  font-weight:800;
}
.pf-profile-post-body{
  padding:12px 13px 14px;
  color:rgba(255,247,255,.78);
  font-size:13px;
  line-height:1.35;
}
.pf-profile-post-body strong{
  display:block;
  color:#fff;
  margin-bottom:4px;
}
.pf-profile-locked{
  max-width:760px;
  margin:18px auto 0;
  text-align:center;
}
@media(max-width:900px){
  .pf-profile-actions{justify-content:flex-start;}
  .pf-profile-post-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:560px){
  .pf-profile-post-grid{grid-template-columns:1fr;}
}

/* PassionFairy v0.1.74: match request workflow polish. Does not change the locked Discover card sizing/layout. */
.pf-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
.pf-section-head h2{
  margin:0 0 6px;
}
.pf-section-head .pf-muted{
  margin:0;
}
.pf-match-panel{
  max-width:1180px;
  margin:0 auto 24px;
}
.pf-match-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(255,92,197,.38);
  background:rgba(255,92,197,.14);
  color:#fff;
  font-weight:900;
  white-space:nowrap;
}
.pf-match-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.pf-match-subtitle{
  margin:22px 0 12px;
}
.pf-match-card{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:22px;
  background:linear-gradient(135deg, rgba(255,255,255,.06), rgba(155,65,255,.05));
  box-shadow:0 16px 42px rgba(0,0,0,.18);
}
.pf-match-avatar{
  width:58px;
  height:58px;
  border-radius:999px;
  object-fit:cover;
  flex:0 0 auto;
  border:2px solid rgba(255,255,255,.18);
}
.pf-match-body{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.pf-match-body strong{
  color:#fff;
  font-size:16px;
}
.pf-match-body span,
.pf-match-body small{
  color:rgba(255,247,255,.70);
}
.pf-match-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.pf-match-card--accepted{
  border-color:rgba(68,255,168,.26);
}
.pf-match-card--declined{
  opacity:.78;
}
.pf-match-center{
  max-width:760px;
  margin:0 auto 24px;
}
.pf-post-action--match.is-pending,
.pf-post-action--match.is-accepted,
.pf-btn.is-pending,
.pf-btn.is-accepted{
  box-shadow:0 0 0 2px rgba(255,255,255,.13), 0 0 28px rgba(186,90,255,.26);
}
.pf-post-action--match.is-pending{
  color:#ffe18a;
}
.pf-post-action--match.is-accepted,
.pf-btn.is-accepted{
  color:#fff;
  background:linear-gradient(135deg, #44ffa8, #ad67ff) !important;
}
.pf-post-action--match.is-declined,
.pf-btn.is-declined{
  opacity:.82;
}
.pf-match-thread-card .pf-btn[disabled]{
  opacity:.64;
  cursor:not-allowed;
}
@media (max-width:760px){
  .pf-section-head,
  .pf-match-card{
    align-items:stretch;
    flex-direction:column;
  }
  .pf-match-card{
    gap:10px;
  }
  .pf-match-actions{
    justify-content:flex-start;
  }
}

/* PassionFairy v0.1.76: match-status icon polish + footer pending-request badge.
   This is deliberately small: it does not alter the locked Discover card sizing, scroll behaviour, side panels, media fit, or bottom nav layout. */
.pf-post-action--match.is-sent-flash{
  background:linear-gradient(135deg, #44ffa8, #ad67ff) !important;
  color:#fff !important;
  box-shadow:0 0 0 2px rgba(255,255,255,.14), 0 0 26px rgba(68,255,168,.30) !important;
}
.pf-post-action--match.is-sending{
  color:#fff !important;
  cursor:wait !important;
}
.pf-post-action--match.is-sending .pf-action-svg{
  animation:pf-match-spin .78s linear infinite;
}
.pf-post-action--match.is-pending{
  color:#ffe18a !important;
}
.pf-post-action--match.is-declined{
  color:#ff557a !important;
  background:rgba(255,85,122,.13) !important;
  box-shadow:0 0 0 1px rgba(255,85,122,.20), 0 0 20px rgba(255,85,122,.14) !important;
}
.pf-post-action--match:disabled{
  pointer-events:none;
}
@keyframes pf-match-spin{
  to{ transform:rotate(360deg); }
}
.ringa-bottom-nav .navitem{
  position:relative;
}
.pf-nav-badge{
  position:absolute;
  top:7px;
  right:calc(50% - 18px);
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  line-height:1;
  font-weight:900;
  color:#fff;
  background:linear-gradient(135deg, #ff4fa8, #c84dff);
  border:1px solid rgba(255,255,255,.38);
  box-shadow:0 8px 18px rgba(199,77,255,.32), 0 0 0 2px rgba(10,3,18,.82);
  z-index:3;
}
.pf-pill--declined{
  color:#ffccda;
  border:1px solid rgba(255,85,122,.28);
  background:rgba(255,85,122,.10);
}
@media (max-width:760px){
  .pf-nav-badge{
    top:5px;
    right:calc(50% - 20px);
  }
}


/* PassionFairy v0.1.77: Admirer profile cleanup only. No Discover/feed or match-icon layout changes. */
.pf-profile-grid.is-info-only{
  grid-template-columns:1fr;
}
.pf-signup-fairy-only[hidden]{
  display:none !important;
}


/* PassionFairy v0.1.78: inbox chat polish only. Discover/feed/profile layout remains locked from v0.1.77. */

/* PassionFairy v0.1.79: footer Inbox unread badge only. Uses existing nav badge styling. */

/* PassionFairy v0.1.82: Like/Pass rating state polish only. Feed sizing and scroll layout stay locked. */
.pf-discover .pf-post-action--like.is-active,
body.home .pf-post-action--like.is-active,
body.front-page .pf-post-action--like.is-active,
body.pf-page-home .pf-post-action--like.is-active{
  box-shadow:0 0 0 2px rgba(255,255,255,.16), 0 0 24px rgba(255,47,134,.34) !important;
  transform:translateY(-1px) scale(1.03);
}
.pf-discover .pf-post-action--pass.is-active,
body.home .pf-post-action--pass.is-active,
body.front-page .pf-post-action--pass.is-active,
body.pf-page-home .pf-post-action--pass.is-active{
  background:rgba(255,76,114,.15) !important;
  box-shadow:0 0 0 2px rgba(255,76,114,.20), 0 0 20px rgba(255,76,114,.16) !important;
}
.pf-discover .pf-post-action.is-loading,
body.home .pf-post-action.is-loading,
body.front-page .pf-post-action.is-loading,
body.pf-page-home .pf-post-action.is-loading{
  cursor:wait !important;
  opacity:.78;
}


/* PassionFairy v0.1.83: wallet page scroll repair only.
   v0.1.82 remains the locked visual/function baseline. The wallet reuses .pf-home for the
   dark PassionFairy shell, but older Discover viewport-fit rules made .pf-home fixed-height
   and overflow-hidden on desktop. This unlocks ONLY the wallet page so the activity ledger
   and full gift catalogue can be reached above the fixed footer. */
@media (min-width: 901px){
  body.pf-page-wallet{
    height: auto !important;
    min-height: 100dvh !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: auto !important;
  }

  body.pf-page-wallet .ringa-app{
    height: auto !important;
    min-height: 100dvh !important;
    max-height: none !important;
    overflow: visible !important;
    padding-bottom: var(--ringa-footer-h, 64px) !important;
  }

  body.pf-page-wallet .ringa-content,
  body.pf-page-wallet .pf-home,
  body.pf-page-wallet .pf-page-main.pf-home{
    height: auto !important;
    min-height: calc(100dvh - var(--ringa-topbar-h, 58px)) !important;
    max-height: none !important;
    overflow: visible !important;
    display: block !important;
    padding-bottom: calc(var(--ringa-footer-h, 64px) + 96px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.pf-page-wallet .pf-wallet-panel,
  body.pf-page-wallet .pf-wallet-grid,
  body.pf-page-wallet .pf-wallet-activity,
  body.pf-page-wallet .pf-gift-catalogue,
  body.pf-page-wallet .pf-gift-grid{
    max-height: none !important;
    overflow: visible !important;
  }
}

@media (max-width: 900px){
  body.pf-page-wallet,
  body.pf-page-wallet .ringa-app,
  body.pf-page-wallet .ringa-content,
  body.pf-page-wallet .pf-home,
  body.pf-page-wallet .pf-page-main.pf-home{
    height: auto !important;
    min-height: 100dvh !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  body.pf-page-wallet .ringa-content,
  body.pf-page-wallet .pf-home,
  body.pf-page-wallet .pf-page-main.pf-home{
    padding-bottom: calc(var(--ringa-footer-h, 64px) + 108px + env(safe-area-inset-bottom, 0px)) !important;
  }
}
/* END PassionFairy v0.1.83 */

/* PassionFairy v0.1.84: functional settings toggles, no Discover/feed layout changes. */
.pf-settings-saved{
  width:min(100% - 24px, 1180px);
  margin:0 auto 14px;
  padding:12px 16px;
  border-radius:16px;
  border:1px solid rgba(66,255,187,.28);
  background:rgba(66,255,187,.08);
  color:rgba(255,255,255,.94);
  font-weight:900;
  box-shadow:0 12px 34px rgba(0,0,0,.18);
}
.pf-notif-settings-form{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.pf-toggle-control{
  cursor:pointer;
  user-select:none;
}
.pf-toggle-control input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.pf-toggle-control .pf-toggle-dot{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  transition:background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.pf-toggle-control .pf-toggle-dot:after{
  content:"";
  position:absolute;
  top:4px;
  left:4px;
  width:18px;
  height:18px;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  box-shadow:0 8px 18px rgba(0,0,0,.24);
  transition:transform .18s ease, background .18s ease;
}
.pf-toggle-control input:checked + .pf-toggle-dot{
  background:linear-gradient(135deg, #ff4fb8, #9b5cff);
  border-color:rgba(255,79,184,.45);
  box-shadow:0 10px 24px rgba(255,79,184,.16), inset 0 1px 0 rgba(255,255,255,.18);
}
.pf-toggle-control input:checked + .pf-toggle-dot:after{
  transform:translateX(20px);
  background:#fff;
}
.pf-toggle-control:focus-within{
  outline:2px solid rgba(255,79,184,.60);
  outline-offset:3px;
}
.pf-notif-save{
  width:100%;
  margin-top:6px;
  border:0;
  cursor:pointer;
  font:inherit;
}


/* v0.1.87: Discover filters/sort become real controls without changing the chip look. */
.pf-chip:where(button){
  appearance:none;
  border:1px solid rgba(255,255,255,.10);
  cursor:pointer;
  font:inherit;
}
.pf-discover-empty{
  width:100%;
  min-height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px dashed rgba(255,255,255,.14);
  border-radius:22px;
  color:rgba(255,247,255,.72);
  background:rgba(25,8,35,.45);
  font-weight:800;
  text-align:center;
  padding:26px;
}
.pf-discover-empty[hidden]{
  display:none !important;
}

/* v0.1.88: Gender + orientation fields are shared by Fairies and Admirers. */
.pf-profile-identity-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 16px;
}
.pf-profile-identity-grid .pf-field,
.pf-profile-identity-grid > div {
  min-width: 0;
}
@media (max-width: 720px) {
  .pf-profile-identity-grid {
    grid-template-columns: 1fr;
  }
}

.pf-signup-identity-section .pf-select,
.pf-mini-select {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 16px;
  background: rgba(255,255,255,.08);
  color: #fff;
  font-weight: 800;
  padding: 0 42px 0 14px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
  appearance: none;
}
.pf-signup-identity-section .pf-select:focus,
.pf-mini-select:focus {
  outline: none;
  border-color: rgba(239,67,181,.78);
  box-shadow: 0 0 0 3px rgba(239,67,181,.16);
}
.pf-signup-identity-section .pf-select option,
.pf-mini-select option {
  background: #21102f;
  color: #fff;
}

/* v0.1.87: discover filters for Fairy gender/orientation */
.pf-discover-identity-filters {
  grid-template-columns: 1fr;
  gap: 10px;
  margin: 10px 0 12px;
}
@media (min-width: 1120px) {
  .pf-discover-identity-filters {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================
   PassionFairy v0.1.89 Create Post Studio + multi-media feed carousel
   ========================================================== */
.pf-create-page-v89{
  --pf-pink:#ff4bc1;
  --pf-violet:#9b5cff;
  --pf-deep:#100319;
  --pf-card:rgba(29,12,43,.86);
  --pf-line:rgba(255,255,255,.13);
  width:min(1180px, calc(100% - 24px)) !important;
  margin:0 auto !important;
  padding-bottom:150px !important;
}

.pf-create-hero-v89{
  align-items:stretch;
  justify-content:space-between;
  gap:18px;
  background:
    radial-gradient(circle at 12% 8%, rgba(255,75,193,.28), transparent 32%),
    radial-gradient(circle at 86% 20%, rgba(155,92,255,.30), transparent 34%),
    linear-gradient(145deg, rgba(18,3,27,.94), rgba(34,12,48,.78));
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;
  padding:22px;
  box-shadow:0 24px 70px rgba(0,0,0,.38);
  overflow:hidden;
  position:relative;
}

.pf-create-hero-v89:before{
  content:"";
  position:absolute;
  inset:auto -70px -110px auto;
  width:240px;
  height:240px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(255,255,255,.18), transparent 62%);
  pointer-events:none;
}

.pf-create-rules-card{
  min-width:min(320px, 100%);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
  padding:18px 20px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}

.pf-create-rules-card span,
.pf-create-rules-card em{
  color:rgba(255,247,255,.74);
  font-size:13px;
  font-style:normal;
}

.pf-create-rules-card strong{
  font-size:20px;
  letter-spacing:-.02em;
}

.pf-create-studio-v89{
  max-width:1060px !important;
  margin:18px auto 34px !important;
  padding:18px !important;
  border-radius:30px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025)),
    rgba(15,4,24,.88) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:0 22px 80px rgba(0,0,0,.42) !important;
}

.pf-create-grid-v89{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(340px, .88fr);
  gap:18px;
  align-items:start;
}

.pf-create-copy-v89,
.pf-create-media-v89{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.035);
  border-radius:26px;
  padding:16px;
}

.pf-create-step-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 11px;
  margin:0 0 12px;
  border-radius:999px;
  color:#fff;
  font-weight:800;
  font-size:12px;
  letter-spacing:.02em;
  background:linear-gradient(135deg, rgba(255,75,193,.30), rgba(155,92,255,.28));
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 8px 24px rgba(155,92,255,.14);
}

.pf-field-v89 .pf-label{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
}

.pf-required-dot{
  padding:3px 8px;
  border-radius:999px;
  background:rgba(255,75,193,.14);
  color:#ffc8ef;
  font-size:11px;
  font-weight:800;
  border:1px solid rgba(255,75,193,.22);
}

.pf-caption-v89{
  min-height:190px !important;
  border-radius:20px !important;
  background:rgba(19,6,32,.72) !important;
  border:1px solid rgba(255,255,255,.13) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06) !important;
}

.pf-caption-v89:focus,
.pf-media-drop-v89:focus-within{
  outline:0;
  border-color:rgba(255,75,193,.58) !important;
  box-shadow:0 0 0 4px rgba(255,75,193,.12), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.pf-create-helper-row,
.pf-media-rules-v89{
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  color:rgba(255,247,255,.66);
  font-size:12px;
  margin-top:8px;
}

.pf-create-location-wrap-v89 .pf-location-select{
  margin-top:0;
}

.pf-create-location-wrap-v89 .pf-location-select,
.pf-create-location-wrap-v89 .pf-location-grid{
  width:100%;
}

.pf-media-drop-v89{
  min-height:212px;
  border:1.5px dashed rgba(255,255,255,.22);
  border-radius:24px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
  padding:22px;
  cursor:pointer;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,75,193,.20), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
  transition:transform .16s ease, border-color .16s ease, background .16s ease;
}

.pf-media-drop-v89:hover,
.pf-media-drop-v89.is-dragover{
  transform:translateY(-2px);
  border-color:rgba(255,75,193,.58);
  background:
    radial-gradient(circle at 50% 0%, rgba(255,75,193,.30), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.035));
}

.pf-media-drop-v89 strong{
  font-size:20px;
}

.pf-media-drop-v89 small{
  max-width:320px;
  color:rgba(255,247,255,.68);
  line-height:1.45;
}

.pf-media-drop-orb{
  width:64px;
  height:64px;
  border-radius:22px;
  display:grid;
  place-items:center;
  font-size:34px;
  font-weight:300;
  color:#fff;
  background:linear-gradient(135deg, var(--pf-pink), var(--pf-violet));
  box-shadow:0 16px 42px rgba(255,75,193,.25);
}

.pf-media-input-v89{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
}

.pf-media-rules-v89 span{
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
}

.pf-media-rules-v89 span.is-over{
  color:#ffb4a5;
  border-color:rgba(255,120,110,.40);
  background:rgba(255,60,60,.10);
}

.pf-create-preview-v89{
  margin-top:14px;
  padding:12px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(4,0,10,.42);
}

.pf-preview-top-v89{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
  color:rgba(255,247,255,.76);
  font-size:13px;
}

.pf-preview-shell-v89{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  background:#07000d;
  aspect-ratio:9 / 13;
  min-height:340px;
}

.pf-preview-track-v89{
  height:100%;
  display:flex;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
}

.pf-preview-track-v89::-webkit-scrollbar{ display:none; }

.pf-preview-slide-v89{
  flex:0 0 100%;
  scroll-snap-align:center;
  height:100%;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#090011;
}

.pf-preview-slide-v89 img,
.pf-preview-slide-v89 video{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#050008;
}

.pf-preview-remove-v89,
.pf-preview-nav-v89{
  position:absolute;
  z-index:3;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(12,3,18,.72);
  color:#fff;
  backdrop-filter:blur(12px);
  cursor:pointer;
  box-shadow:0 10px 28px rgba(0,0,0,.32);
}

.pf-preview-remove-v89{
  right:12px;
  top:12px;
  min-width:38px;
  height:38px;
  border-radius:999px;
  font-weight:900;
}

.pf-preview-kind-v89{
  position:absolute;
  left:12px;
  top:12px;
  z-index:2;
  padding:6px 10px;
  border-radius:999px;
  color:#fff;
  font-size:12px;
  font-weight:800;
  background:linear-gradient(135deg, rgba(255,75,193,.86), rgba(155,92,255,.86));
  box-shadow:0 10px 24px rgba(0,0,0,.28);
}

.pf-preview-nav-v89{
  top:50%;
  width:42px;
  height:42px;
  border-radius:999px;
  transform:translateY(-50%);
  font-size:34px;
  line-height:1;
  display:grid;
  place-items:center;
}

.pf-preview-prev-v89{ left:10px; }
.pf-preview-next-v89{ right:10px; }

.pf-preview-dots-v89{
  display:flex;
  justify-content:center;
  gap:7px;
  padding-top:10px;
}

.pf-preview-dot-v89,
.pf-feed-carousel-dot{
  width:7px;
  height:7px;
  border-radius:999px;
  border:0;
  background:rgba(255,255,255,.34);
  padding:0;
  cursor:pointer;
}

.pf-preview-dot-v89.is-active,
.pf-feed-carousel-dot.is-active{
  width:20px;
  background:linear-gradient(90deg, var(--pf-pink, #ff4bc1), var(--pf-violet, #9b5cff));
}

.pf-create-progress-v89{
  margin-top:16px;
  padding:14px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.11);
  background:rgba(255,255,255,.045);
}

.pf-create-progress-steps-v89{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:8px;
  margin-bottom:10px;
}

.pf-create-progress-steps-v89 span{
  text-align:center;
  padding:7px 8px;
  border-radius:999px;
  color:rgba(255,247,255,.62);
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
  font-size:12px;
  font-weight:800;
}

.pf-create-progress-steps-v89 span.is-active,
.pf-create-progress-steps-v89 span.is-done{
  color:#fff;
  background:linear-gradient(135deg, rgba(255,75,193,.34), rgba(155,92,255,.30));
  border-color:rgba(255,255,255,.16);
}

.pf-create-progress-bar-v89{
  height:10px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.10);
}

.pf-create-progress-bar-v89 span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg, var(--pf-pink), var(--pf-violet));
  transition:width .18s ease;
}

.pf-create-progress-text-v89{
  margin-top:9px;
  color:rgba(255,247,255,.72);
  font-size:13px;
}

.pf-publish-btn-v89{
  width:100%;
  min-height:64px;
  margin-top:14px;
  border-radius:22px !important;
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  font-size:16px !important;
}

.pf-publish-btn-v89 small{
  font-size:11px;
  opacity:.78;
  font-weight:700;
}

.pf-publish-btn-v89:disabled{
  opacity:.55;
  cursor:not-allowed;
  filter:saturate(.6);
}

.pf-feed-carousel{
  position:relative;
  width:100%;
  height:100%;
  min-height:inherit;
  overflow:hidden;
  background:#07000d;
}

.pf-feed-carousel-track{
  width:100%;
  height:100%;
  display:flex;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
}

.pf-feed-carousel-track::-webkit-scrollbar{ display:none; }

.pf-feed-media-slide{
  flex:0 0 100%;
  width:100%;
  height:100%;
  scroll-snap-align:center;
  position:relative;
  overflow:hidden;
}

.pf-feed-media-slide .pf-photo-stage,
.pf-feed-media-slide .pf-video-stage{
  height:100%;
  width:100%;
}

.pf-feed-carousel-nav{
  position:absolute;
  top:50%;
  z-index:6;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(11,0,18,.58);
  color:#fff;
  backdrop-filter:blur(14px);
  font-size:36px;
  line-height:1;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 12px 32px rgba(0,0,0,.35);
}

.pf-feed-carousel-nav:hover{
  background:linear-gradient(135deg, rgba(255,75,193,.72), rgba(155,92,255,.72));
}

.pf-feed-carousel-nav--prev{ left:12px; }
.pf-feed-carousel-nav--next{ right:12px; }

.pf-feed-carousel-count{
  position:absolute;
  top:12px;
  right:12px;
  z-index:6;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  font-size:12px;
  font-weight:900;
  background:rgba(11,0,18,.58);
  backdrop-filter:blur(14px);
}

.pf-feed-carousel-dots{
  position:absolute;
  left:50%;
  bottom:12px;
  z-index:6;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:7px 9px;
  border-radius:999px;
  background:rgba(11,0,18,.46);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(12px);
}

.pf-focus-post-v89{
  animation:pfFocusPulseV89 1.4s ease 1;
}

@keyframes pfFocusPulseV89{
  0%{ box-shadow:0 0 0 0 rgba(255,75,193,.0); transform:translateY(0); }
  18%{ box-shadow:0 0 0 5px rgba(255,75,193,.22), 0 0 42px rgba(155,92,255,.30); transform:translateY(-3px); }
  100%{ box-shadow:0 0 0 0 rgba(255,75,193,0); transform:translateY(0); }
}

@media (max-width:899px){
  .pf-create-page-v89{ width:min(100% - 18px, 720px) !important; }
  .pf-create-hero-v89{ border-radius:24px; padding:18px; }
  .pf-create-rules-card{ min-width:100%; }
  .pf-create-grid-v89{ grid-template-columns:1fr; }
  .pf-preview-shell-v89{ min-height:310px; }
  .pf-create-progress-steps-v89{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .pf-feed-carousel-nav{ width:38px; height:38px; font-size:30px; }
  .pf-feed-carousel-nav--prev{ left:8px; }
  .pf-feed-carousel-nav--next{ right:8px; }
}


/* ==========================================================
   PassionFairy v0.1.94 Create Studio Deluxe publish fix
   ========================================================== */
.pf-create-page-v90{
  --pf-pink:#ff4bc1;
  --pf-pink-soft:#ff83dd;
  --pf-violet:#9b5cff;
  --pf-violet-soft:#c4a1ff;
  --pf-deep:#100319;
  --pf-deeper:#090111;
  --pf-card:rgba(20,7,31,.88);
  --pf-card-2:rgba(255,255,255,.04);
  --pf-line:rgba(255,255,255,.11);
  width:min(1180px, calc(100% - 24px)) !important;
  margin:0 auto !important;
  padding-bottom:160px !important;
}

.pf-create-hero-v90{
  position:relative;
  overflow:hidden;
  gap:20px;
  align-items:stretch;
  justify-content:space-between;
  border-radius:32px;
  padding:24px;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 12% 10%, rgba(255,75,193,.28), transparent 33%),
    radial-gradient(circle at 86% 18%, rgba(155,92,255,.30), transparent 34%),
    linear-gradient(145deg, rgba(19,3,28,.95), rgba(34,12,48,.78));
  box-shadow:0 30px 90px rgba(0,0,0,.42);
}

.pf-create-hero-v90:before,
.pf-create-hero-v90:after{
  content:"";
  position:absolute;
  border-radius:999px;
  pointer-events:none;
}

.pf-create-hero-v90:before{
  width:260px;
  height:260px;
  right:-80px;
  bottom:-120px;
  background:radial-gradient(circle, rgba(255,255,255,.16), transparent 62%);
}

.pf-create-hero-v90:after{
  width:180px;
  height:180px;
  left:-60px;
  top:-70px;
  background:radial-gradient(circle, rgba(255,255,255,.08), transparent 66%);
}

.pf-create-hero-copy-v90{
  position:relative;
  z-index:1;
  max-width:640px;
}

.pf-create-pill-row-v90{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

.pf-create-pill-row-v90 span,
.pf-create-step-pill-v90{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.06);
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.pf-create-rules-card-v90{
  position:relative;
  z-index:1;
  min-width:min(330px, 100%);
  padding:20px;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}

.pf-create-rules-card-v90 strong{
  display:block;
  font-size:20px;
  line-height:1.3;
  margin-bottom:14px;
}

.pf-create-rules-grid-v90{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

.pf-create-rules-grid-v90 span{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:12px 14px;
  border-radius:18px;
  background:rgba(6,2,11,.24);
  border:1px solid rgba(255,255,255,.08);
}

.pf-create-rules-grid-v90 b{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:rgba(255,245,252,.72);
}

.pf-create-rules-grid-v90 em{
  font-size:15px;
  font-style:normal;
  color:#fff;
}

.pf-create-studio-v90{
  max-width:1080px !important;
  margin:18px auto 34px !important;
  padding:18px !important;
  border-radius:30px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025)),
    rgba(11,3,19,.92) !important;
  box-shadow:0 24px 90px rgba(0,0,0,.46) !important;
}

.pf-create-grid-v90{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:18px;
  align-items:start;
}

.pf-create-column-v90{
  display:grid;
  gap:18px;
}

.pf-create-card-v90,
.pf-create-progress-v90{
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  border-radius:28px;
  padding:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

.pf-create-card-v90 .pf-label{
  display:block;
  margin-bottom:10px;
}

.pf-required-dot{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:3px 8px;
  margin-left:6px;
  border-radius:999px;
  background:rgba(255,75,193,.18);
  color:#ffd2ef;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.pf-caption-v90,
.pf-create-page-v90 .pf-input,
.pf-create-page-v90 select,
.pf-create-location-wrap-v90 .pf-location-select,
.pf-create-location-wrap-v90 .pf-location-grid select{
  width:100%;
  border-radius:20px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:rgba(255,255,255,.06) !important;
  color:#fff !important;
  box-shadow:none !important;
}

.pf-caption-v90{
  min-height:188px;
  padding:18px 18px 20px;
  font-size:15px;
  line-height:1.55;
  resize:vertical;
}

.pf-create-helper-row-v90{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:10px;
  color:rgba(255,244,251,.70);
  font-size:12px;
}

.pf-create-location-wrap-v90 .pf-location-grid,
.pf-create-location-wrap-v90 .pf-location-select{
  gap:12px;
}

.pf-media-drop-v90{
  position:relative;
  display:grid;
  place-items:center;
  gap:8px;
  min-height:190px;
  padding:22px;
  text-align:center;
  border:1.5px dashed rgba(255,255,255,.20);
  border-radius:26px;
  background:
    radial-gradient(circle at 50% 20%, rgba(255,75,193,.10), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  cursor:pointer;
  transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.pf-media-drop-v90:hover,
.pf-media-drop-v90.is-dragover{
  transform:translateY(-2px);
  border-color:rgba(255,75,193,.48);
  background:
    radial-gradient(circle at 50% 20%, rgba(255,75,193,.16), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  box-shadow:0 16px 40px rgba(0,0,0,.24);
}

.pf-media-drop-orb-v90{
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  border-radius:999px;
  font-size:34px;
  line-height:1;
  color:#fff;
  background:linear-gradient(145deg, var(--pf-pink), var(--pf-violet));
  box-shadow:0 12px 26px rgba(255,75,193,.25);
}

.pf-media-drop-v90 strong{ font-size:18px; }
.pf-media-drop-v90 small{ color:rgba(255,245,252,.75); max-width:340px; }
.pf-media-input-v90{ position:absolute; inset:0; opacity:0; pointer-events:none; }

.pf-media-rules-v90{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin-top:12px;
}

.pf-media-rules-v90 span,
.pf-upload-summary-v90{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.045);
  color:#fff;
  font-size:13px;
  text-align:center;
}

.pf-upload-summary-v90{
  justify-content:flex-start;
  margin-top:12px;
  padding:12px 14px;
  color:rgba(255,245,252,.82);
}

.pf-upload-summary-v90.is-success{
  border-color:rgba(103,255,192,.30);
  background:linear-gradient(145deg, rgba(49,160,111,.18), rgba(255,255,255,.04));
  color:#e9fff5;
}

.pf-media-rules-v90 span.is-over{ border-color:rgba(255,104,104,.38); color:#ffd2d2; }

.pf-create-preview-card-v90{ overflow:hidden; }

.pf-preview-top-v90{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.pf-preview-top-v90 strong{ font-size:15px; }
.pf-preview-top-v90 span{ color:rgba(255,245,252,.72); font-size:13px; }

.pf-preview-shell-v90{ position:relative; }

.pf-preview-track-v90{
  display:flex;
  overflow-x:auto;
  gap:0;
  scroll-snap-type:x mandatory;
  border-radius:24px;
  scrollbar-width:none;
}

.pf-preview-track-v90::-webkit-scrollbar{ display:none; }

.pf-preview-slide-v90{
  position:relative;
  flex:0 0 100%;
  min-width:100%;
  aspect-ratio:9 / 12;
  overflow:hidden;
  scroll-snap-align:start;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(17,6,27,.90), rgba(0,0,0,.88));
}

.pf-preview-slide-v90 img,
.pf-preview-slide-v90 video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.pf-preview-kind-v90,
.pf-preview-meta-v90,
.pf-preview-remove-v90,
.pf-preview-nav-v90{
  position:absolute;
  z-index:2;
}

.pf-preview-kind-v90{
  top:12px;
  left:12px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(7,2,12,.62);
  border:1px solid rgba(255,255,255,.10);
  font-size:12px;
  font-weight:800;
}

.pf-preview-meta-v90{
  left:12px;
  right:56px;
  bottom:12px;
  padding:8px 12px;
  border-radius:14px;
  background:rgba(7,2,12,.62);
  border:1px solid rgba(255,255,255,.10);
  font-size:12px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.pf-preview-remove-v90,
.pf-preview-nav-v90{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:0;
  border-radius:999px;
  color:#fff;
  background:rgba(7,2,12,.76);
  box-shadow:0 10px 22px rgba(0,0,0,.26);
}

.pf-preview-remove-v90{ top:12px; right:12px; font-size:24px; }
.pf-preview-nav-v90{ top:50%; transform:translateY(-50%); font-size:28px; }
.pf-preview-prev-v90{ left:12px; }
.pf-preview-next-v90{ right:12px; }

.pf-preview-dots-v90{
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:12px;
}

.pf-preview-dot-v90{
  width:10px;
  height:10px;
  padding:0;
  border-radius:999px;
  border:0;
  background:rgba(255,255,255,.22);
}

.pf-preview-dot-v90.is-active{ background:linear-gradient(145deg, var(--pf-pink), var(--pf-violet)); }

.pf-create-progress-v90{ margin-top:18px; }

.pf-create-progress-steps-v90{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:10px;
  margin:14px 0 12px;
}

.pf-create-progress-steps-v90 span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
  color:rgba(255,245,252,.74);
  font-size:13px;
  font-weight:700;
  text-align:center;
}

.pf-create-progress-steps-v90 span.is-active,
.pf-create-progress-steps-v90 span.is-done{
  color:#fff;
  border-color:rgba(255,255,255,.16);
  background:linear-gradient(145deg, rgba(255,75,193,.22), rgba(155,92,255,.18));
}

.pf-create-progress-bar-v90{
  height:12px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.08);
}

.pf-create-progress-bar-v90 span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, var(--pf-pink), var(--pf-violet));
  transition:width .24s ease;
}

.pf-create-progress-meta-v90{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:12px;
}

.pf-create-progress-text-v90,
.pf-create-progress-timer-v90{
  color:rgba(255,245,252,.82);
  font-size:13px;
}

.pf-create-progress-text-v90{ flex:1; }
.pf-create-progress-timer-v90{ white-space:nowrap; }

.pf-create-actions-v90{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:12px;
  margin-top:16px;
}

.pf-btn-secondary,
.pf-upload-btn-v90,
.pf-publish-btn-v90{
  width:100%;
  min-height:64px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  border-radius:20px !important;
  border:1px solid rgba(255,255,255,.14);
  text-align:center;
}

.pf-upload-btn-v90{
  background:linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
  color:#fff;
}

.pf-publish-btn-v90{
  background:linear-gradient(90deg, #ff4bc1, #9b5cff) !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(155,92,255,.24);
}

.pf-upload-btn-v90 small,
.pf-publish-btn-v90 small{
  color:rgba(255,255,255,.82);
  font-size:11px;
  line-height:1.25;
}

.pf-upload-btn-v90.is-loading,
.pf-publish-btn-v90.is-loading{
  opacity:.8;
  pointer-events:none;
}

.pf-upload-btn-v90:disabled,
.pf-publish-btn-v90:disabled{
  opacity:.58;
  cursor:not-allowed;
  box-shadow:none;
}

.pf-create-server-error-v90{
  margin-bottom:14px;
  color:#ffd0d0;
  border:1px solid rgba(255,112,112,.22);
  background:rgba(255,91,91,.10);
}

.pf-feed-carousel{
  position:relative;
  width:100%;
  height:100%;
}

.pf-feed-carousel-track{
  display:flex;
  width:100%;
  height:100%;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}
.pf-feed-carousel-track::-webkit-scrollbar{ display:none; }

.pf-feed-media-slide{
  flex:0 0 100%;
  min-width:100%;
  height:100%;
  scroll-snap-align:start;
}

.pf-feed-media-slide .pf-photo-stage,
.pf-feed-media-slide .pf-video-stage{
  position:relative;
  width:100%;
  height:100%;
}

.pf-feed-media-slide .pf-photo-stage img,
.pf-feed-media-slide .pf-video-stage video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.pf-feed-carousel-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  width:44px;
  height:44px;
  border:0;
  border-radius:999px;
  background:rgba(10,3,15,.74);
  color:#fff;
  font-size:28px;
  display:grid;
  place-items:center;
  box-shadow:0 10px 24px rgba(0,0,0,.28);
}

.pf-feed-carousel-nav--prev{ left:12px; }
.pf-feed-carousel-nav--next{ right:12px; }

.pf-feed-carousel-count{
  position:absolute;
  top:12px;
  right:12px;
  z-index:5;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(10,3,15,.70);
  border:1px solid rgba(255,255,255,.08);
  color:#fff;
  font-size:12px;
  font-weight:800;
}

.pf-feed-carousel-dots{
  position:absolute;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  z-index:5;
  display:flex;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(10,3,15,.48);
}

.pf-feed-carousel-dot{
  width:9px;
  height:9px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.28);
}

.pf-feed-carousel-dot.is-active{ background:linear-gradient(145deg, var(--pf-pink), var(--pf-violet)); }

.pf-focus-post-v89,
.pf-focus-post-v90{
  animation:pfFocusGlow 1.6s ease;
}

@keyframes pfFocusGlow{
  0%{ box-shadow:0 0 0 rgba(255,75,193,0), 0 0 0 rgba(155,92,255,0); transform:translateY(0); }
  30%{ box-shadow:0 0 0 4px rgba(255,75,193,.15), 0 0 0 10px rgba(155,92,255,.10); transform:translateY(-2px); }
  100%{ box-shadow:0 0 0 rgba(255,75,193,0), 0 0 0 rgba(155,92,255,0); transform:translateY(0); }
}

@media (max-width: 980px){
  .pf-create-page-v90{ width:min(100% - 18px, 760px) !important; }
  .pf-create-grid-v90{ grid-template-columns:1fr; }
  .pf-create-progress-meta-v90{ flex-direction:column; align-items:flex-start; }
}

@media (max-width: 740px){
  .pf-create-hero-v90{ padding:18px; border-radius:24px; }
  .pf-create-rules-card-v90{ min-width:100%; }
  .pf-create-rules-grid-v90{ grid-template-columns:1fr 1fr; }
  .pf-create-progress-steps-v90{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .pf-create-actions-v90{ grid-template-columns:1fr; }
  .pf-media-rules-v90{ grid-template-columns:1fr; }
  .pf-preview-nav-v90,
  .pf-feed-carousel-nav{ width:38px; height:38px; font-size:24px; }
}


/* ==========================================================
   PassionFairy v0.1.94 Publish + compact themed media preview
   ========================================================== */
.pf-create-preview-card-v90{
  max-width:760px;
  margin-inline:auto;
}

.pf-preview-shell-v90{
  max-width:min(100%, 640px);
  margin-inline:auto;
}

.pf-preview-slide-v92,
.pf-preview-slide-v90{
  height:clamp(230px, 38vh, 390px) !important;
  min-height:230px !important;
  aspect-ratio:auto !important;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 20%, rgba(255,75,193,.12), transparent 34%),
    linear-gradient(180deg, rgba(8,2,14,.92), rgba(0,0,0,.92)) !important;
}

.pf-preview-slide-v92 img,
.pf-preview-slide-v90 img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  border-radius:18px;
}

.pf-preview-video-shell-v92{
  width:min(100%, 360px);
  height:100%;
  display:grid;
  place-items:center;
  padding:10px;
}

.pf-preview-slide-v92 video,
.pf-preview-slide-v90 video,
.pf-feed-video-slide video{
  width:100% !important;
  max-width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  border-radius:18px !important;
  background:#050008 !important;
  accent-color:#ff4bc1;
  box-shadow:
    0 14px 32px rgba(0,0,0,.35),
    0 0 0 1px rgba(255,255,255,.12),
    0 0 0 6px rgba(255,75,193,.055);
}

.pf-preview-slide-v92 video::-webkit-media-controls-panel,
.pf-preview-slide-v90 video::-webkit-media-controls-panel,
.pf-feed-video-slide video::-webkit-media-controls-panel{
  background:linear-gradient(90deg, rgba(17,3,24,.92), rgba(72,24,89,.78));
}

.pf-preview-slide-v92:has(video),
.pf-preview-slide-v90:has(video){
  padding:8px;
}

.pf-preview-kind-v90{
  background:linear-gradient(135deg, rgba(10,3,16,.86), rgba(67,26,82,.72)) !important;
  box-shadow:0 10px 22px rgba(0,0,0,.24);
}

.pf-preview-meta-v90{
  max-width:calc(100% - 82px);
  background:linear-gradient(135deg, rgba(10,3,16,.86), rgba(67,26,82,.72)) !important;
  backdrop-filter:blur(10px);
}

.pf-preview-nav-v90{
  background:linear-gradient(145deg, rgba(17,5,24,.92), rgba(91,39,110,.82)) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  transition:transform .18s ease, box-shadow .18s ease;
}

.pf-preview-nav-v90:hover{
  box-shadow:0 14px 30px rgba(0,0,0,.34), 0 0 22px rgba(255,75,193,.14);
}

.pf-publish-btn-v90:not(:disabled){
  cursor:pointer;
  box-shadow:0 16px 34px rgba(155,92,255,.26), 0 0 24px rgba(255,75,193,.10) !important;
}

.pf-publish-btn-v90:not(:disabled):hover{
  filter:brightness(1.06);
  transform:translateY(-1px);
}

.pf-focus-post-v92,
.pf-focus-post-v93{
  animation:pfFocusGlow 1.6s ease;
}

@media (max-width: 740px){
  .pf-preview-slide-v92,
  .pf-preview-slide-v90{
    height:clamp(220px, 34vh, 340px) !important;
  }

  .pf-preview-video-shell-v92{
    width:min(100%, 300px);
  }
}

/* ==========================================================
   PassionFairy v0.1.94 auto-upload + clean video display
   ========================================================== */
.pf-create-actions-single-v93{
  grid-template-columns:1fr !important;
  max-width:620px;
  margin-inline:auto;
}

.pf-publish-btn-v93{
  min-height:70px !important;
}

.pf-upload-summary-v90.is-busy{
  border-color:rgba(255,75,193,.30);
  background:linear-gradient(145deg, rgba(255,75,193,.12), rgba(155,92,255,.10));
  color:#fff;
}

.pf-preview-slide-v93,
.pf-preview-slide-v92,
.pf-preview-slide-v90{
  height:clamp(190px, 30vh, 320px) !important;
  min-height:190px !important;
}

.pf-preview-video-shell-v92.pf-themed-video-shell-v93{
  width:min(100%, 320px) !important;
  max-height:100%;
  padding:8px !important;
  background:#050008 !important;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 14px 34px rgba(0,0,0,.30);
}

.pf-preview-slide-v93 video,
.pf-preview-slide-v92 video,
.pf-preview-slide-v90 video,
.pf-themed-video-v93{
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
  background:#000 !important;
  box-shadow:none !important;
  accent-color:#ff4bc1;
}

.pf-preview-slide-v93 video::-webkit-media-controls-panel,
.pf-preview-slide-v92 video::-webkit-media-controls-panel,
.pf-preview-slide-v90 video::-webkit-media-controls-panel,
.pf-feed-video-slide video::-webkit-media-controls-panel,
.pf-themed-video-v93::-webkit-media-controls-panel{
  background:rgba(0,0,0,.70) !important;
}

.pf-video-stage.pf-themed-video-shell-v93,
.pf-feed-video-slide .pf-video-stage,
body.home .pf-video-stage,
body.front-page .pf-video-stage,
body.page-template-page-feed .pf-video-stage,
body.pf-page-discover .pf-video-stage,
.pf-discover-shell .pf-video-stage,
.pf-discover .pf-video-stage{
  position:relative !important;
  background:#000 !important;
}

.pf-video-stage.pf-themed-video-shell-v93::before,
.pf-video-stage.pf-themed-video-shell-v93::after,
.pf-feed-video-slide .pf-video-stage::before,
.pf-feed-video-slide .pf-video-stage::after{
  content:none !important;
  display:none !important;
}

@supports selector(:has(video)){
  .pf-media:has(video)::after,
  .pf-feed-video-slide:has(video)::after{
    content:none !important;
    display:none !important;
    background:none !important;
  }
}

.pf-video-controls-v93{
  position:absolute;
  left:50%;
  bottom:14px;
  z-index:14;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px;
  border-radius:999px;
  background:rgba(7,2,12,.70);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 12px 28px rgba(0,0,0,.28);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.pf-video-controls-v93 button{
  min-width:42px;
  height:38px;
  border:0;
  border-radius:999px;
  display:grid;
  place-items:center;
  padding:0 11px;
  color:#fff;
  font-weight:900;
  font-size:12px;
  line-height:1;
  background:linear-gradient(145deg, rgba(255,75,193,.82), rgba(155,92,255,.82));
  box-shadow:0 8px 18px rgba(0,0,0,.22);
  cursor:pointer;
}

.pf-video-controls-v93 button:hover{
  filter:brightness(1.08);
  transform:translateY(-1px);
}

.pf-feed-video-slide .pf-video-controls-v93{
  bottom:50px;
}

.pf-preview-video-shell-v92 .pf-video-controls-v93{
  bottom:16px;
  transform:translateX(-50%) scale(.88);
  transform-origin:center bottom;
}

@media (max-width: 740px){
  .pf-preview-slide-v93,
  .pf-preview-slide-v92,
  .pf-preview-slide-v90{
    height:clamp(180px, 28vh, 290px) !important;
  }
  .pf-preview-video-shell-v92.pf-themed-video-shell-v93{
    width:min(100%, 270px) !important;
  }
  .pf-video-controls-v93{
    gap:6px;
    padding:7px;
  }
  .pf-video-controls-v93 button{
    min-width:36px;
    height:34px;
    padding:0 9px;
    font-size:11px;
  }
}

/* ==========================================================
   PassionFairy v0.1.94 Simple Create + Native Video
   ========================================================== */
.pf-create-actions-single-v94{
  grid-template-columns: minmax(220px, 620px) !important;
  justify-content:center !important;
}

.pf-publish-btn-v94{
  min-height:70px !important;
  max-width:620px !important;
  margin:0 auto !important;
}

.pf-create-progress-v90 .pf-create-progress-steps-v90{
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
}

.pf-preview-slide-v94,
.pf-preview-slide-v92,
.pf-preview-slide-v90{
  height:clamp(190px, 28vh, 320px) !important;
  min-height:190px !important;
  max-height:320px !important;
  background:#050008 !important;
}

.pf-preview-slide-v94 video,
.pf-preview-slide-v92 video,
.pf-preview-slide-v90 video{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  display:block !important;
  background:#000 !important;
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
  accent-color:#ff4bc1;
}

.pf-feed-video-slide .pf-video-stage,
.pf-video-stage-native-v94,
body.home .pf-video-stage,
body.front-page .pf-video-stage,
body.page-template-page-feed .pf-video-stage,
body.pf-page-discover .pf-video-stage,
.pf-discover-shell .pf-video-stage,
.pf-discover .pf-video-stage{
  position:relative !important;
  background:#000 !important;
  overflow:hidden !important;
}

.pf-feed-video-slide video,
.pf-native-video-v94,
body.home .pf-video-stage video,
body.front-page .pf-video-stage video,
body.page-template-page-feed .pf-video-stage video,
body.pf-page-discover .pf-video-stage video,
.pf-discover-shell .pf-video-stage video,
.pf-discover .pf-video-stage video{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  background:#000 !important;
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
  transform:none !important;
  box-shadow:none !important;
}

.pf-feed-video-slide .pf-video-stage::before,
.pf-feed-video-slide .pf-video-stage::after,
.pf-video-stage-native-v94::before,
.pf-video-stage-native-v94::after,
body.home .pf-video-stage::before,
body.home .pf-video-stage::after,
body.front-page .pf-video-stage::before,
body.front-page .pf-video-stage::after,
body.page-template-page-feed .pf-video-stage::before,
body.page-template-page-feed .pf-video-stage::after,
body.pf-page-discover .pf-video-stage::before,
body.pf-page-discover .pf-video-stage::after,
.pf-discover-shell .pf-video-stage::before,
.pf-discover-shell .pf-video-stage::after,
.pf-discover .pf-video-stage::before,
.pf-discover .pf-video-stage::after,
.pf-feed-video-slide::before,
.pf-feed-video-slide::after{
  content:none !important;
  display:none !important;
  background:none !important;
}

@supports selector(:has(video)){
  .pf-media:has(video)::after,
  .pf-card-media:has(video)::after,
  .pf-feed-media-slide:has(video)::after,
  .pf-feed-carousel:has(video)::after{
    content:none !important;
    display:none !important;
    background:none !important;
  }
}

.pf-video-controls-v93,
.pf-themed-video-shell-v93 .pf-video-controls-v93,
.pf-preview-video-shell-v92 .pf-video-controls-v93,
.pf-feed-video-slide .pf-video-controls-v93{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

.pf-focus-post-v94{
  animation:pfFocusGlow 1.6s ease;
}

@media (max-width:740px){
  .pf-create-progress-v90 .pf-create-progress-steps-v90{
    grid-template-columns:1fr !important;
  }
}


/* ==========================================================
   PassionFairy v0.1.95 Discover overlap polish
   Locked baseline: v0.1.94 simple Create flow stays untouched.
   Fixes: A bottom carousel dot/pill overlap, B three-dot menu overlap.
   ========================================================== */

/* A: The carousel dots sit exactly where Chrome's native video timeline lives.
   Hide them on Discover/feed cards and rely on arrows + count for multi-media posts. */
body.home .pf-feed-carousel-dots,
body.front-page .pf-feed-carousel-dots,
body.page-template-page-feed .pf-feed-carousel-dots,
body.pf-page-home .pf-feed-carousel-dots,
body.pf-page-discover .pf-feed-carousel-dots,
.pf-discover-shell .pf-feed-carousel-dots,
.pf-discover .pf-feed-carousel-dots{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Keep the media area clean: no ghost overlays on actual videos. */
.pf-feed-video-slide .pf-video-stage,
.pf-video-stage-native-v94,
body.home .pf-video-stage,
body.front-page .pf-video-stage,
body.page-template-page-feed .pf-video-stage,
body.pf-page-home .pf-video-stage,
body.pf-page-discover .pf-video-stage,
.pf-discover-shell .pf-video-stage,
.pf-discover .pf-video-stage{
  background:#000 !important;
}

.pf-feed-video-slide video,
.pf-native-video-v94,
body.home .pf-video-stage video,
body.front-page .pf-video-stage video,
body.page-template-page-feed .pf-video-stage video,
body.pf-page-home .pf-video-stage video,
body.pf-page-discover .pf-video-stage video,
.pf-discover-shell .pf-video-stage video,
.pf-discover .pf-video-stage video{
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
  background:#000 !important;
}

@supports selector(:has(video)){
  body.home .pf-media:has(.pf-native-video-v94)::after,
  body.front-page .pf-media:has(.pf-native-video-v94)::after,
  body.page-template-page-feed .pf-media:has(.pf-native-video-v94)::after,
  body.pf-page-home .pf-media:has(.pf-native-video-v94)::after,
  body.pf-page-discover .pf-media:has(.pf-native-video-v94)::after,
  .pf-discover-shell .pf-media:has(.pf-native-video-v94)::after,
  .pf-discover .pf-media:has(.pf-native-video-v94)::after,
  body.home .pf-media:has(.pf-feed-video-slide)::after,
  body.front-page .pf-media:has(.pf-feed-video-slide)::after,
  body.page-template-page-feed .pf-media:has(.pf-feed-video-slide)::after,
  body.pf-page-home .pf-media:has(.pf-feed-video-slide)::after,
  body.pf-page-discover .pf-media:has(.pf-feed-video-slide)::after,
  .pf-discover-shell .pf-media:has(.pf-feed-video-slide)::after,
  .pf-discover .pf-media:has(.pf-feed-video-slide)::after{
    content:none !important;
    display:none !important;
    background:none !important;
  }
}

/* B: Move the post options button into the right rail instead of floating over the video/photo. */
body.home .pf-post-options,
body.front-page .pf-post-options,
body.page-template-page-feed .pf-post-options,
body.pf-page-home .pf-post-options,
body.pf-page-discover .pf-post-options,
.pf-discover-shell .pf-post-options,
.pf-discover .pf-post-options{
  position:absolute !important;
  top:10px !important;
  right:7px !important;
  left:auto !important;
  z-index:18 !important;
  width:42px !important;
  height:42px !important;
}

body.home .pf-post-options-toggle,
body.front-page .pf-post-options-toggle,
body.page-template-page-feed .pf-post-options-toggle,
body.pf-page-home .pf-post-options-toggle,
body.pf-page-discover .pf-post-options-toggle,
.pf-discover-shell .pf-post-options-toggle,
.pf-discover .pf-post-options-toggle{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  border-radius:999px !important;
  background:rgba(8,2,14,.78) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 10px 22px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
}

body.home .pf-post-options-menu,
body.front-page .pf-post-options-menu,
body.page-template-page-feed .pf-post-options-menu,
body.pf-page-home .pf-post-options-menu,
body.pf-page-discover .pf-post-options-menu,
.pf-discover-shell .pf-post-options-menu,
.pf-discover .pf-post-options-menu{
  top:48px !important;
  right:0 !important;
  transform:none !important;
  min-width:156px !important;
  z-index:25 !important;
}

/* Keep multi-media count away from the rail button and away from the native controls. */
body.home .pf-feed-carousel-count,
body.front-page .pf-feed-carousel-count,
body.page-template-page-feed .pf-feed-carousel-count,
body.pf-page-home .pf-feed-carousel-count,
body.pf-page-discover .pf-feed-carousel-count,
.pf-discover-shell .pf-feed-carousel-count,
.pf-discover .pf-feed-carousel-count{
  top:12px !important;
  right:calc(var(--pf-v144-rail-w, 56px) + 12px) !important;
  bottom:auto !important;
}

/* Keep right carousel arrow inside the media lane, not on top of the action rail. */
body.home .pf-feed-carousel-nav--next,
body.front-page .pf-feed-carousel-nav--next,
body.page-template-page-feed .pf-feed-carousel-nav--next,
body.pf-page-home .pf-feed-carousel-nav--next,
body.pf-page-discover .pf-feed-carousel-nav--next,
.pf-discover-shell .pf-feed-carousel-nav--next,
.pf-discover .pf-feed-carousel-nav--next{
  right:12px !important;
}

@media (max-width:740px){
  body.home .pf-post-options,
  body.front-page .pf-post-options,
  body.page-template-page-feed .pf-post-options,
  body.pf-page-home .pf-post-options,
  body.pf-page-discover .pf-post-options,
  .pf-discover-shell .pf-post-options,
  .pf-discover .pf-post-options{
    top:8px !important;
    right:6px !important;
    width:40px !important;
    height:40px !important;
  }

  body.home .pf-post-options-toggle,
  body.front-page .pf-post-options-toggle,
  body.page-template-page-feed .pf-post-options-toggle,
  body.pf-page-home .pf-post-options-toggle,
  body.pf-page-discover .pf-post-options-toggle,
  .pf-discover-shell .pf-post-options-toggle,
  .pf-discover .pf-post-options-toggle{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
  }
}


/* ==========================================================
   PassionFairy v0.1.96 Discover video clarity polish
   Locked baseline: v0.1.95 stays intact.
   Goal: video must not dim/blacken when hovered or when native controls show.
   ========================================================== */

body.home .pf-card-has-video .pf-media,
body.front-page .pf-card-has-video .pf-media,
body.page-template-page-feed .pf-card-has-video .pf-media,
body.pf-page-home .pf-card-has-video .pf-media,
body.pf-page-discover .pf-card-has-video .pf-media,
.pf-discover-shell .pf-card-has-video .pf-media,
.pf-discover .pf-card-has-video .pf-media{
  background:#000 !important;
}

/* Remove theme dim/gradient layers from posts that contain video. */
body.home .pf-card-has-video .pf-media::before,
body.home .pf-card-has-video .pf-media::after,
body.front-page .pf-card-has-video .pf-media::before,
body.front-page .pf-card-has-video .pf-media::after,
body.page-template-page-feed .pf-card-has-video .pf-media::before,
body.page-template-page-feed .pf-card-has-video .pf-media::after,
body.pf-page-home .pf-card-has-video .pf-media::before,
body.pf-page-home .pf-card-has-video .pf-media::after,
body.pf-page-discover .pf-card-has-video .pf-media::before,
body.pf-page-discover .pf-card-has-video .pf-media::after,
.pf-discover-shell .pf-card-has-video .pf-media::before,
.pf-discover-shell .pf-card-has-video .pf-media::after,
.pf-discover .pf-card-has-video .pf-media::before,
.pf-discover .pf-card-has-video .pf-media::after,
.pf-card-has-video .pf-feed-carousel::before,
.pf-card-has-video .pf-feed-carousel::after,
.pf-card-has-video .pf-feed-video-slide::before,
.pf-card-has-video .pf-feed-video-slide::after,
.pf-card-has-video .pf-video-stage::before,
.pf-card-has-video .pf-video-stage::after{
  content:none !important;
  display:none !important;
  opacity:0 !important;
  background:none !important;
  pointer-events:none !important;
}

body.home .pf-card-has-video .pf-native-video-v94,
body.front-page .pf-card-has-video .pf-native-video-v94,
body.page-template-page-feed .pf-card-has-video .pf-native-video-v94,
body.pf-page-home .pf-card-has-video .pf-native-video-v94,
body.pf-page-discover .pf-card-has-video .pf-native-video-v94,
.pf-discover-shell .pf-card-has-video .pf-native-video-v94,
.pf-discover .pf-card-has-video .pf-native-video-v94,
.pf-card-has-video video,
.pf-card-has-video video:hover,
.pf-card-has-video video:focus,
.pf-card-has-video video:active{
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
  background:#000 !important;
  -webkit-filter:none !important;
}

/* Chrome/WebKit native controls can add a heavy dark enclosure.
   Make the control layer as transparent as the browser allows. */
.pf-card-has-video video::-webkit-media-controls,
.pf-card-has-video video::-webkit-media-controls-enclosure,
.pf-card-has-video video::-webkit-media-controls-panel{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
}

.pf-card-has-video video::-webkit-media-controls-overlay-play-button,
.pf-card-has-video video::-webkit-media-controls-start-playback-button{
  background:transparent !important;
  background-color:transparent !important;
  box-shadow:none !important;
}

/* Keep the useful feed controls above the video without adding tint to the media itself. */
.pf-card-has-video .pf-feed-carousel-count,
.pf-card-has-video .pf-feed-carousel-nav,
.pf-card-has-video .pf-post-options,
.pf-card-has-video .pf-card-top,
.pf-card-has-video .pf-card-action-rail{
  filter:none !important;
  mix-blend-mode:normal !important;
}


/* ==========================================================
   PassionFairy v0.1.97 FairyDust content locks
   ========================================================== */
.pf-feed-media-slide--locked{
  background:
    radial-gradient(circle at 50% 20%, rgba(255,75,193,.18), transparent 36%),
    linear-gradient(145deg, rgba(18,5,29,.96), rgba(6,1,12,.98));
  display:grid;
  place-items:center;
}

.pf-locked-media,
.pf-free-limit-lock{
  width:min(86%, 420px);
  margin:auto;
  min-height:260px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  text-align:center;
  padding:24px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.035));
  box-shadow:0 22px 60px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.09);
}

.pf-locked-media-orb{
  width:66px;
  height:66px;
  display:grid;
  place-items:center;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(145deg, #ff4bc1, #9b5cff);
  box-shadow:0 16px 38px rgba(255,75,193,.25);
}

.pf-locked-media strong,
.pf-free-limit-lock h3{
  font-size:22px;
  line-height:1.1;
  color:#fff;
  margin:0;
}

.pf-locked-media span,
.pf-free-limit-lock p{
  max-width:340px;
  color:rgba(255,245,252,.78);
  font-size:14px;
  line-height:1.45;
  margin:0;
}

.pf-unlock-media-btn{
  width:auto !important;
  min-width:210px;
  margin-top:4px;
  border-radius:999px !important;
}

.pf-unlock-media-btn.is-loading{
  opacity:.74;
  pointer-events:none;
}

.pf-card--post-limit-locked{
  min-height:520px;
  display:grid;
  place-items:center;
  padding:22px;
  background:
    radial-gradient(circle at 50% 14%, rgba(255,75,193,.13), transparent 38%),
    linear-gradient(180deg, rgba(19,5,31,.98), rgba(8,1,13,.98));
}

.pf-card--post-limit-locked .pf-free-limit-lock{
  min-height:320px;
}

@media (max-width: 740px){
  .pf-locked-media,
  .pf-free-limit-lock{
    width:min(92%, 360px);
    min-height:230px;
    padding:18px;
  }
  .pf-locked-media strong,
  .pf-free-limit-lock h3{
    font-size:19px;
  }
}


/* ==========================================================
   PassionFairy v0.2.00 FairyDust blurred locked media previews
   ========================================================== */
.pf-feed-media-slide--locked{
  display:block;
  background:#07000d !important;
  isolation:isolate;
}

.pf-feed-media-slide--locked .pf-locked-media-preview{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  background:#050008;
}

.pf-feed-media-slide--locked .pf-locked-media-preview::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(180deg, rgba(7,0,11,.08), rgba(7,0,11,.16));
  pointer-events:none;
}

.pf-feed-media-slide--locked .pf-locked-media-visual{
  position:absolute;
  inset:-10px;
  width:calc(100% + 20px);
  height:calc(100% + 20px);
  object-fit:cover;
  /* v0.2.02: make locked previews look like the requested screenshot: clearly the real media,
     but blurred hard enough that it cannot be enjoyed or read as unlocked content. */
  filter:blur(30px) brightness(.96) saturate(1.06);
  transform:scale(1.14);
  opacity:1;
  pointer-events:none;
  user-select:none;
}

.pf-feed-media-slide--locked .pf-locked-media-video::-webkit-media-controls,
.pf-feed-media-slide--locked .pf-locked-media-video::-webkit-media-controls-panel,
.pf-feed-media-slide--locked .pf-locked-media-video::-webkit-media-controls-overlay-play-button{
  display:none !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.pf-locked-media-type-pill{
  position:absolute;
  top:18px;
  left:18px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  font-size:12px;
  font-weight:900;
  background:rgba(10,0,18,.58);
  backdrop-filter:blur(14px);
  box-shadow:0 12px 30px rgba(0,0,0,.28);
}

.pf-feed-media-slide--locked .pf-locked-media{
  position:absolute;
  z-index:4;
  left:50%;
  bottom:56px;
  top:auto;
  transform:translateX(-50%);
  width:min(76%, 360px);
  min-height:0;
  padding:12px 14px;
  gap:7px;
  border-radius:24px;
  background:linear-gradient(180deg, rgba(23,7,34,.78), rgba(9,1,15,.78));
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 18px 48px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.10);
}

.pf-feed-media-slide--locked .pf-locked-media-orb{
  width:42px;
  height:42px;
  flex:0 0 42px;
}

.pf-feed-media-slide--locked .pf-locked-media strong{
  font-size:16px;
}

.pf-feed-media-slide--locked .pf-locked-media span{
  font-size:12px;
  line-height:1.3;
  max-width:290px;
}

.pf-feed-media-slide--locked .pf-unlock-media-btn{
  min-width:170px;
  min-height:38px;
  padding:9px 14px !important;
  font-size:13px;
}

.pf-feed-media-slide--locked .pf-unlock-media-btn.is-loading::after{
  content:"";
  width:14px;
  height:14px;
  margin-left:8px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,.35);
  border-top-color:#fff;
  display:inline-block;
  vertical-align:-2px;
  animation:pfUnlockSpinV200 .75s linear infinite;
}

@keyframes pfUnlockSpinV200{
  to{ transform:rotate(360deg); }
}

@media (max-width: 740px){
  .pf-feed-media-slide--locked .pf-locked-media{
    width:min(88%, 330px);
    bottom:48px;
    padding:11px 12px;
  }
  .pf-feed-media-slide--locked .pf-locked-media-visual{
    filter:blur(28px) brightness(.96) saturate(1.04);
  }
}

/* ==========================================================
   PassionFairy v0.2.02 no-refresh FairyDust unlock animation
   ========================================================== */
.pf-feed-media-slide.pf-just-unlocked{
  position:relative;
  overflow:hidden;
}
.pf-feed-media-slide.pf-just-unlocked::before{
  content:"";
  position:absolute;
  inset:-18%;
  z-index:8;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,75,193,.34), transparent 32%),
    radial-gradient(circle at 44% 45%, rgba(155,92,255,.28), transparent 42%);
  animation:pfUnlockGlowV201 1.35s ease-out forwards;
}
.pf-unlock-burst{
  position:absolute;
  left:50%;
  top:50%;
  z-index:9;
  transform:translate(-50%, -50%) scale(.86);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  width:min(68%, 280px);
  min-height:150px;
  padding:22px;
  border-radius:30px;
  color:#fff;
  text-align:center;
  background:linear-gradient(180deg, rgba(25,5,34,.82), rgba(8,1,13,.72));
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 24px 80px rgba(0,0,0,.42), 0 0 45px rgba(255,75,193,.22), inset 0 1px 0 rgba(255,255,255,.14);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  animation:pfUnlockBurstV201 1.45s ease-out forwards;
  pointer-events:none;
}
.pf-unlock-burst-orb{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:999px;
  font-size:28px;
  background:linear-gradient(145deg, #ff4bc1, #9b5cff);
  box-shadow:0 18px 42px rgba(255,75,193,.34);
  animation:pfUnlockOrbV201 .95s ease-out forwards;
}
.pf-unlock-burst strong{
  font-size:24px;
  line-height:1;
  margin-top:4px;
}
.pf-unlock-burst em{
  font-style:normal;
  font-size:13px;
  font-weight:800;
  color:rgba(255,245,252,.78);
}
@keyframes pfUnlockGlowV201{
  0%{ opacity:0; transform:scale(.88); filter:blur(8px); }
  28%{ opacity:1; transform:scale(1); filter:blur(0); }
  100%{ opacity:0; transform:scale(1.12); filter:blur(14px); }
}
@keyframes pfUnlockBurstV201{
  0%{ opacity:0; transform:translate(-50%, -50%) scale(.72); }
  18%{ opacity:1; transform:translate(-50%, -50%) scale(1.03); }
  72%{ opacity:1; transform:translate(-50%, -50%) scale(1); }
  100%{ opacity:0; transform:translate(-50%, -50%) scale(.94); }
}
@keyframes pfUnlockOrbV201{
  0%{ transform:rotate(-18deg) scale(.68); }
  55%{ transform:rotate(10deg) scale(1.08); }
  100%{ transform:rotate(0) scale(1); }
}


/* ==========================================================
   PassionFairy v0.2.05 tier lock clarity
   ========================================================== */
.pf-feed-media-slide--locked .pf-locked-media{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}
.pf-feed-media-slide--locked .pf-locked-media-preview,
.pf-feed-media-slide--locked .pf-locked-media-visual{
  pointer-events:none !important;
}
.pf-feed-media-slide--locked .pf-locked-media::before{
  content:"🔒";
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  margin-bottom:-4px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
}


/* ==========================================================
   PassionFairy v0.2.05 Discover lock final polish
   Clear tier locks, full-card blur preview, compact unlock panel.
   ========================================================== */
.pf-feed-media-slide--locked{
  position:relative !important;
  overflow:hidden !important;
  background:#06000b !important;
}
.pf-feed-media-slide--locked .pf-locked-media-preview{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  display:block !important;
  overflow:hidden !important;
  background:#06000b !important;
}
.pf-feed-media-slide--locked .pf-locked-media-preview::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 50% 40%, rgba(255,75,193,.06), transparent 52%),
    linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.18)) !important;
}
.pf-feed-media-slide--locked .pf-locked-media-visual{
  position:absolute !important;
  inset:-14px !important;
  width:calc(100% + 28px) !important;
  height:calc(100% + 28px) !important;
  object-fit:cover !important;
  filter:blur(18px) brightness(.99) saturate(1.05) !important;
  transform:scale(1.08) !important;
  opacity:1 !important;
  pointer-events:none !important;
  user-select:none !important;
}
.pf-feed-media-slide--locked .pf-locked-media-video,
.pf-feed-media-slide--locked .pf-locked-media-video::-webkit-media-controls,
.pf-feed-media-slide--locked .pf-locked-media-video::-webkit-media-controls-enclosure,
.pf-feed-media-slide--locked .pf-locked-media-video::-webkit-media-controls-panel,
.pf-feed-media-slide--locked .pf-locked-media-video::-webkit-media-controls-overlay-play-button,
.pf-feed-media-slide--locked .pf-locked-media-video::-webkit-media-controls-start-playback-button{
  display:block;
  pointer-events:none !important;
}
.pf-feed-media-slide--locked .pf-locked-media-video::-webkit-media-controls,
.pf-feed-media-slide--locked .pf-locked-media-video::-webkit-media-controls-enclosure,
.pf-feed-media-slide--locked .pf-locked-media-video::-webkit-media-controls-panel,
.pf-feed-media-slide--locked .pf-locked-media-video::-webkit-media-controls-overlay-play-button,
.pf-feed-media-slide--locked .pf-locked-media-video::-webkit-media-controls-start-playback-button{
  display:none !important;
  opacity:0 !important;
}
.pf-feed-media-slide--locked .pf-locked-media{
  position:absolute !important;
  z-index:5 !important;
  left:50% !important;
  top:50% !important;
  bottom:auto !important;
  transform:translate(-50%,-50%) !important;
  width:min(58%, 360px) !important;
  min-height:0 !important;
  padding:18px 20px !important;
  gap:8px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  pointer-events:auto !important;
  border-radius:24px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:linear-gradient(180deg, rgba(30,8,41,.80), rgba(10,1,18,.82)) !important;
  box-shadow:0 22px 70px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.13) !important;
  backdrop-filter:blur(16px) !important;
  -webkit-backdrop-filter:blur(16px) !important;
}
.pf-feed-media-slide--locked .pf-locked-media::before{
  content:"🔒" !important;
  display:grid !important;
  place-items:center !important;
  width:28px !important;
  height:28px !important;
  margin:0 0 -6px !important;
  border-radius:999px !important;
  background:rgba(0,0,0,.28) !important;
  border:1px solid rgba(255,255,255,.13) !important;
}
.pf-feed-media-slide--locked .pf-locked-media-orb{
  width:46px !important;
  height:46px !important;
  flex:0 0 46px !important;
}
.pf-feed-media-slide--locked .pf-locked-media strong{
  font-size:18px !important;
  line-height:1.1 !important;
}
.pf-feed-media-slide--locked .pf-locked-media span{
  font-size:12.5px !important;
  line-height:1.32 !important;
  max-width:300px !important;
}
.pf-feed-media-slide--locked .pf-unlock-media-btn{
  min-width:200px !important;
  min-height:40px !important;
  padding:10px 16px !important;
  font-size:13px !important;
  margin-top:2px !important;
}
.pf-feed-media-slide--locked .pf-locked-media-type-pill{
  opacity:.92 !important;
}
.pf-feed-media-slide.pf-unlocking-now .pf-locked-media{
  animation:pfUnlockPanelPulseV204 .9s ease-in-out infinite alternate;
}
@keyframes pfUnlockPanelPulseV204{
  from{ box-shadow:0 22px 70px rgba(0,0,0,.42),0 0 0 rgba(255,75,193,0),inset 0 1px 0 rgba(255,255,255,.13); }
  to{ box-shadow:0 22px 70px rgba(0,0,0,.42),0 0 36px rgba(255,75,193,.30),inset 0 1px 0 rgba(255,255,255,.16); }
}
@media (max-width:740px){
  .pf-feed-media-slide--locked .pf-locked-media{
    width:min(82%, 330px) !important;
    padding:15px 14px !important;
  }
  .pf-feed-media-slide--locked .pf-locked-media-visual{
    filter:blur(16px) brightness(.99) saturate(1.04) !important;
  }
}


/* ==========================================================
   PassionFairy v0.2.05 logged-out Discover gate and medium tease blur
   ========================================================== */
.pf-discover-shell--guest-gate{
  min-height:calc(100vh - 170px);
  display:grid;
  place-items:center;
  padding:28px 16px 96px;
}
.pf-discover-guest-gate{
  width:min(92vw, 560px);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:14px;
  padding:34px 26px;
  border-radius:32px;
  border:1px solid rgba(255,255,255,.14);
  background:
    radial-gradient(circle at 50% 8%, rgba(255,75,193,.18), transparent 36%),
    linear-gradient(180deg, rgba(31,9,43,.90), rgba(9,1,17,.94));
  box-shadow:0 28px 90px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.10);
}
.pf-discover-guest-orb{
  width:76px;
  height:76px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:linear-gradient(145deg,#ff4bc1,#9b5cff);
  box-shadow:0 18px 44px rgba(255,75,193,.30);
}
.pf-discover-guest-orb .pf-wallet-balance-icon{
  width:44px;
  height:44px;
}
.pf-discover-guest-gate h2{
  margin:0;
  color:#fff;
  font-size:clamp(28px, 4vw, 42px);
  line-height:1.05;
}
.pf-discover-guest-gate p{
  margin:0;
  max-width:430px;
  color:rgba(255,245,252,.78);
  line-height:1.55;
}
.pf-discover-guest-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin-top:8px;
}
.pf-feed-media-slide--locked .pf-locked-media-visual{
  filter:blur(18px) brightness(.99) saturate(1.05) !important;
  transform:scale(1.08) !important;
}
.pf-feed-media-slide--locked .pf-locked-media-preview::after{
  background:linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.12)) !important;
}
@media (max-width:740px){
  .pf-feed-media-slide--locked .pf-locked-media-visual{
    filter:blur(16px) brightness(.99) saturate(1.04) !important;
  }
  .pf-discover-guest-gate{
    padding:28px 18px;
  }
}


/* ==========================================================
   PassionFairy v0.2.06 logged-out Discover shell + softer tease blur
   ========================================================== */
body.pf-page-discover,
body.home,
body.front-page{
  overflow-x:hidden !important;
}
body.pf-page-discover .pf-discover-shell.pf-discover-shell--guest-gate,
body.home .pf-discover-shell.pf-discover-shell--guest-gate,
body.front-page .pf-discover-shell.pf-discover-shell--guest-gate,
body.pf-page-discover .pf-home .pf-discover-shell.pf-discover-shell--guest-gate,
body.home .pf-home .pf-discover-shell.pf-discover-shell--guest-gate,
body.front-page .pf-home .pf-discover-shell.pf-discover-shell--guest-gate{
  width:100% !important;
  max-width:100vw !important;
  min-height:calc(100vh - 180px) !important;
  margin:0 auto !important;
  padding:18px 16px 116px !important;
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) !important;
  grid-template-rows:auto !important;
  place-items:start center !important;
  justify-content:center !important;
  align-items:start !important;
  gap:0 !important;
  box-sizing:border-box !important;
  transform:none !important;
}
body.pf-page-discover .pf-discover-shell--guest-gate .pf-discover-guest-gate,
body.home .pf-discover-shell--guest-gate .pf-discover-guest-gate,
body.front-page .pf-discover-shell--guest-gate .pf-discover-guest-gate{
  width:min(92vw, 560px) !important;
  max-width:560px !important;
  margin:0 auto !important;
  justify-self:center !important;
  transform:none !important;
  overflow:hidden !important;
}
body.pf-page-discover .pf-discover-shell--guest-gate .pf-discover-guest-gate h2,
body.home .pf-discover-shell--guest-gate .pf-discover-guest-gate h2,
body.front-page .pf-discover-shell--guest-gate .pf-discover-guest-gate h2{
  font-size:clamp(26px, 3.2vw, 38px) !important;
  max-width:100% !important;
  overflow-wrap:anywhere !important;
}
.pf-feed-media-slide--locked .pf-locked-media-visual{
  inset:-9px !important;
  width:calc(100% + 18px) !important;
  height:calc(100% + 18px) !important;
  filter:blur(11px) brightness(1.015) saturate(1.04) !important;
  transform:scale(1.045) !important;
}
.pf-feed-media-slide--locked .pf-locked-media-preview::after{
  background:
    radial-gradient(circle at 50% 42%, rgba(255,75,193,.035), transparent 58%),
    linear-gradient(180deg, rgba(0,0,0,.015), rgba(0,0,0,.08)) !important;
}
@media (max-width:740px){
  body.pf-page-discover .pf-discover-shell.pf-discover-shell--guest-gate,
  body.home .pf-discover-shell.pf-discover-shell--guest-gate,
  body.front-page .pf-discover-shell.pf-discover-shell--guest-gate{
    padding:14px 12px 104px !important;
  }
  .pf-feed-media-slide--locked .pf-locked-media-visual{
    filter:blur(10px) brightness(1.015) saturate(1.035) !important;
    transform:scale(1.04) !important;
  }
}

/* v0.2.07: Free-account FairyDust scroll unlock polish */
.pf-unlock-scroll-btn[disabled]{
  opacity:.72;
  cursor:wait;
  filter:saturate(.85);
}
.pf-scroll-wallet-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:10px;
  color:rgba(255,247,255,.78);
  font-weight:800;
  text-decoration:none;
  font-size:13px;
}
.pf-scroll-wallet-link:hover{
  color:#fff;
  text-decoration:underline;
}

/* PassionFairy v0.2.09: unmatch + block controls */
.pf-btn-danger{
  background:linear-gradient(135deg, rgba(255,55,118,.96), rgba(142,74,255,.9));
  color:#fff;
  border-color:rgba(255,255,255,.2);
}
.pf-chat-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.pf-blocked-list{
  display:grid;
  gap:12px;
  margin-top:16px;
}
.pf-blocked-row{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  padding:12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(255,255,255,.055);
}
.pf-blocked-avatar img{
  width:52px;
  height:52px;
  border-radius:50%;
  object-fit:cover;
  border:1px solid rgba(255,255,255,.22);
}
.pf-blocked-copy{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.pf-blocked-copy strong{
  color:#fff;
  font-size:15px;
}
.pf-blocked-copy span,
.pf-blocked-empty{
  color:rgba(255,255,255,.68);
  font-size:13px;
}
.pf-blocked-empty{
  padding:14px;
  border:1px dashed rgba(255,255,255,.16);
  border-radius:16px;
  background:rgba(255,255,255,.035);
}
@media (max-width:640px){
  .pf-blocked-row{ grid-template-columns:auto 1fr; }
  .pf-blocked-row .pf-settings-pill{ grid-column:1 / -1; width:100%; justify-content:center; }
  .pf-chat-actions{ justify-content:flex-start; }
}

/* v0.2.11: Profile picture + cover photo uploads */
.pf-profile-hero.has-cover-photo{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background-size:cover;
  background-position:center;
  border:1px solid rgba(255,255,255,.13);
  border-radius:28px;
  padding:34px 24px;
  box-shadow:0 24px 80px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.09);
  margin:0 0 18px;
}
.pf-profile-hero.has-cover-photo:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:radial-gradient(circle at 18% 20%, rgba(255,63,188,.22), transparent 32%), linear-gradient(180deg, rgba(4,0,8,.12), rgba(4,0,8,.72));
  pointer-events:none;
}
.pf-profile-hero.has-cover-photo .pf-profile-avatar{
  border:3px solid rgba(255,255,255,.72);
  box-shadow:0 24px 80px rgba(0,0,0,.46), 0 0 0 7px rgba(255,63,188,.18);
}
.pf-profile-media-editor{
  display:grid;
  grid-template-columns:1fr 1.35fr;
  gap:14px;
  margin:0 0 18px;
}
.pf-profile-media-card{
  display:grid;
  grid-template-columns:104px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  background:linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.pf-profile-media-card.is-cover-upload{
  grid-template-columns:190px minmax(0,1fr);
}
.pf-profile-media-preview{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.15);
  background:linear-gradient(135deg, rgba(255,63,188,.12), rgba(143,75,255,.12));
  box-shadow:0 18px 42px rgba(0,0,0,.22);
}
.pf-profile-media-preview.is-avatar{
  width:92px;
  height:92px;
  border-radius:999px;
}
.pf-profile-media-preview.is-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.pf-profile-media-preview.is-cover{
  min-height:112px;
  border-radius:20px;
  background-size:cover;
  background-position:center;
  display:grid;
  place-items:center;
  color:rgba(255,255,255,.7);
  font-weight:850;
  text-align:center;
}
.pf-profile-media-preview.is-cover.has-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent, rgba(6,0,12,.28));
}
.pf-profile-media-copy{
  min-width:0;
}
.pf-file-input{
  width:100%;
  margin-top:8px;
  color:#fff;
  border:1px dashed rgba(255,255,255,.20);
  border-radius:16px;
  padding:10px;
  background:rgba(255,255,255,.05);
}
.pf-file-input::file-selector-button{
  border:0;
  border-radius:999px;
  padding:9px 14px;
  margin-right:10px;
  color:#fff;
  font-weight:900;
  background:linear-gradient(135deg, #ff45b5, #904dff);
  cursor:pointer;
}
.pf-mini-check{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:10px;
  font-size:12px;
  color:rgba(255,255,255,.78);
}
.pf-mini-check input{
  accent-color:#ff45b5;
}
@media (max-width: 860px){
  .pf-profile-media-editor,
  .pf-profile-media-card,
  .pf-profile-media-card.is-cover-upload{
    grid-template-columns:1fr;
  }
  .pf-profile-media-preview.is-cover{
    min-height:150px;
  }
}


/* v0.2.11: taller profile cover photo hero
   Doubles the visible cover-photo stage while preserving v0.2.10 upload behavior. */
.pf-profile-hero.has-cover-photo{
  min-height:344px;
  align-items:center;
  padding:46px 28px;
  background-position:center;
}

@media (max-width:760px){
  .pf-profile-hero.has-cover-photo{
    min-height:320px;
    padding:34px 22px;
    justify-content:center;
  }
}

/* v0.2.12 Upgrade page, updated in v0.2.13 for FairyDust upgrades */
.pf-upgrade-page{
  padding-bottom:calc(var(--footer-space, 96px) + 28px);
}
.pf-upgrade-hero{
  display:flex;
  justify-content:space-between;
  gap:22px;
  align-items:stretch;
  width:min(1180px, calc(100% - 32px));
  margin:34px auto 22px;
  padding:30px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:30px;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,70,190,.26), transparent 34%),
    radial-gradient(circle at 88% 8%, rgba(155,81,255,.24), transparent 32%),
    linear-gradient(135deg, rgba(32,11,42,.96), rgba(15,5,26,.98));
  box-shadow:0 26px 70px rgba(0,0,0,.34);
}
.pf-upgrade-kicker,
.pf-tier-eyebrow{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
  color:#ffd8fb;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.pf-upgrade-hero h1{
  margin:14px 0 8px;
  font-size:clamp(34px, 5vw, 58px);
  line-height:.96;
}
.pf-upgrade-hero p{
  max-width:720px;
  color:rgba(255,255,255,.78);
  font-size:16px;
  line-height:1.6;
  margin:0;
}
.pf-upgrade-current{
  min-width:210px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:24px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.07);
}
.pf-upgrade-current span,
.pf-tier-price span,
.pf-upgrade-payment-card span{
  color:rgba(255,255,255,.64);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.pf-upgrade-current strong{
  margin-top:7px;
  font-size:28px;
}
.pf-upgrade-payment-card{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto 20px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:18px;
  align-items:center;
  padding:22px;
  border:1px solid rgba(255,205,100,.32);
  border-radius:26px;
  background:linear-gradient(135deg, rgba(255,199,65,.13), rgba(151,78,255,.15));
  box-shadow:0 20px 55px rgba(0,0,0,.28);
}
.pf-payment-orb{
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  border-radius:22px;
  background:linear-gradient(135deg, #ff4fc3, #8b4cff);
  box-shadow:0 16px 40px rgba(255,76,198,.23);
  font-size:25px;
}
.pf-upgrade-payment-card h2{
  margin:4px 0 5px;
  font-size:25px;
}
.pf-upgrade-payment-card p{
  margin:0;
  color:rgba(255,255,255,.76);
  line-height:1.55;
}
.pf-tier-grid{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto 30px;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:16px;
}
.pf-tier-card{
  position:relative;
  overflow:hidden;
  min-height:560px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:22px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:30px;
  background:
    radial-gradient(circle at 35% 0%, rgba(255,79,195,.18), transparent 30%),
    linear-gradient(180deg, rgba(34,12,47,.96), rgba(13,5,24,.98));
  box-shadow:0 24px 60px rgba(0,0,0,.34);
}
.pf-tier-card:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(140deg, rgba(255,255,255,.10), transparent 40%);
  pointer-events:none;
  opacity:.75;
}
.pf-tier-card > *{ position:relative; z-index:1; }
.pf-tier-free{ background:linear-gradient(180deg, rgba(42,23,55,.96), rgba(16,7,26,.98)); }
.pf-tier-moonlight{ background:radial-gradient(circle at 50% 0%, rgba(255,86,202,.28), transparent 34%), linear-gradient(180deg, rgba(50,15,57,.96), rgba(17,6,27,.98)); }
.pf-tier-starlight{ background:radial-gradient(circle at 50% 0%, rgba(185,103,255,.31), transparent 36%), linear-gradient(180deg, rgba(41,21,67,.96), rgba(15,7,30,.98)); }
.pf-tier-eclipse{ background:radial-gradient(circle at 50% 0%, rgba(255,201,73,.26), transparent 34%), linear-gradient(180deg, rgba(34,13,52,.96), rgba(6,4,16,.98)); }
.pf-tier-card.is-current{
  border-color:rgba(255,83,202,.68);
  box-shadow:0 0 0 1px rgba(255,83,202,.22), 0 26px 70px rgba(255,83,202,.18);
}
.pf-tier-card.is-current:after{
  content:"Current";
  position:absolute;
  top:18px;
  right:18px;
  z-index:2;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(255,82,201,.20);
  border:1px solid rgba(255,82,201,.45);
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.pf-tier-card h2{
  margin:16px 0 9px;
  font-size:32px;
  line-height:1;
}
.pf-tier-card p{
  margin:0;
  color:rgba(255,255,255,.72);
  line-height:1.55;
}
.pf-tier-benefits{
  list-style:none;
  padding:0;
  margin:24px 0;
  display:grid;
  gap:12px;
}
.pf-tier-benefits li{
  position:relative;
  padding:12px 12px 12px 40px;
  min-height:45px;
  display:flex;
  align-items:center;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.055);
  color:rgba(255,255,255,.82);
  font-size:14px;
  line-height:1.4;
}
.pf-tier-benefits li:before{
  content:"✓";
  position:absolute;
  left:12px;
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg, #ff4fc3, #8b4cff);
  font-size:13px;
  font-weight:900;
}
.pf-tier-card-bottom{
  display:grid;
  gap:14px;
}
.pf-tier-price{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:12px;
  padding-top:15px;
  border-top:1px solid rgba(255,255,255,.12);
}
.pf-tier-price strong{
  font-size:30px;
  line-height:1;
}
.pf-tier-button{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:14px 16px;
  border:0;
  border-radius:999px;
  color:#fff;
  font-weight:950;
  text-decoration:none;
  background:linear-gradient(135deg, #ff4fc3, #8b4cff);
  box-shadow:0 18px 42px rgba(180,65,255,.25);
  cursor:pointer;
}
.pf-tier-button:hover{
  transform:translateY(-1px);
  filter:saturate(1.1);
}
.pf-tier-button.is-muted{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.13);
  color:rgba(255,255,255,.65);
  box-shadow:none;
  cursor:default;
}
.pf-tier-line strong{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.pf-upgrade-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 11px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(135deg, rgba(255,79,195,.92), rgba(139,76,255,.92));
  color:#fff;
  font-size:12px;
  line-height:1;
  text-decoration:none;
  font-weight:950;
}
.pf-upgrade-link:hover{ filter:saturate(1.1); }
@media (max-width: 1120px){
  .pf-tier-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px){
  .pf-upgrade-hero,
  .pf-upgrade-payment-card{ grid-template-columns:1fr; display:grid; }
  .pf-upgrade-hero{ padding:24px; }
  .pf-tier-grid{ grid-template-columns:1fr; }
  .pf-tier-card{ min-height:auto; }
  .pf-upgrade-payment-card{ text-align:center; }
  .pf-payment-orb{ margin:0 auto; }
}

/* v0.2.13: FairyDust upgrade cards */
.pf-upgrade-current small,
.pf-upgrade-current em{
  margin-top:8px;
  color:rgba(255,255,255,.72);
  font-size:13px;
  font-style:normal;
  text-align:center;
}
.pf-upgrade-current em{
  display:inline-flex;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  font-weight:900;
}
.pf-tier-upgrade-form{ margin:0; }
.pf-tier-upgrade-form .pf-tier-button{ width:100%; }
.pf-upgrade-payment-card-v213 .pf-btn{ white-space:nowrap; }


/* PassionFairy v0.2.16: stable account payment reference on Profile */
.pf-ref-chip code,
.pf-payment-ref-line code{
  color:#ffe676;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-weight:950;
  letter-spacing:.04em;
}
.pf-payment-ref-line strong{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.pf-profile-ref-copy{
  min-height:34px;
  padding:8px 13px;
  font-size:12px;
}
@media(max-width:560px){
  .pf-payment-ref-line{
    align-items:flex-start;
    flex-direction:column;
  }
  .pf-payment-ref-line strong{
    justify-content:flex-start;
  }
}


/* v0.2.17: FairyDust tier expiry and renewal polish */
.pf-tier-expiry-line strong{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.pf-tier-expiry-pill{ display:inline-flex; align-items:center; justify-content:center; padding:5px 10px; border-radius:999px; background:rgba(255,214,92,.14); border:1px solid rgba(255,214,92,.35); color:#ffe88a; font-size:12px; font-weight:900; }
.pf-tier-status-note{ margin:10px 0 0; padding:12px 14px; border-radius:18px; border:1px solid rgba(255,214,92,.25); background:rgba(255,214,92,.09); color:#ffeec3; }
.pf-tier-status-note strong{ color:#fff; }
.pf-upgrade-current .pf-tier-time-left{ margin-top:5px; color:#ffe88a; font-weight:900; }
.pf-tier-price small{ display:block; margin-top:3px; color:rgba(255,255,255,.68); font-size:12px; font-weight:800; }
.pf-tier-upgrade-form .pf-tier-button{ cursor:pointer; }


/* v0.2.18: Profile Wallet/FairyDust shortcuts */
.pf-profile-dust-buy{
  background:linear-gradient(135deg, rgba(255,79,184,.95), rgba(139,92,246,.95)) !important;
  border-color:rgba(255,255,255,.12) !important;
  color:#fff !important;
  box-shadow:0 14px 32px rgba(255,79,184,.22);
}
.pf-profile-wallet-btn{
  background:rgba(255,255,255,.08) !important;
  border-color:rgba(255,255,255,.16) !important;
  color:#fff !important;
}
.pf-profile-wallet-line{
  align-items:center;
}
.pf-profile-wallet-links{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.pf-profile-wallet-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.07);
  color:#fff;
  text-decoration:none;
  font-size:12px;
  font-weight:950;
}
.pf-profile-wallet-links a:first-child{
  background:linear-gradient(135deg, rgba(255,79,184,.9), rgba(139,92,246,.9));
  border-color:rgba(255,255,255,.12);
}
#pf-wallet-activity,
#pf-payment-notices,
#pf-buy-dust{
  scroll-margin-top:92px;
}
@media(max-width:560px){
  .pf-profile-wallet-line{
    align-items:flex-start;
    flex-direction:column;
  }
  .pf-profile-wallet-links{
    justify-content:flex-start;
  }
}

/* v0.2.21: notification center entry points */
.pf-top-notification-link{
  position:relative;
  color:rgba(255,255,255,.88);
  text-decoration:none;
}
.pf-top-notification-link .pf-nav-badge{
  top:-5px;
  right:-6px;
}
.pf-sidebar-badge{
  margin-left:auto;
  min-width:22px;
  height:22px;
  padding:0 7px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:linear-gradient(135deg, #ff4fa8, #c84dff);
  font-size:11px;
  font-weight:950;
  border:1px solid rgba(255,255,255,.28);
}
.pf-notifications-page{
  max-width:1180px;
  margin:0 auto;
  padding:34px 16px 100px;
}
.pf-notifications-hero{
  min-height:220px;
  padding:28px;
  border-radius:30px;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  border:1px solid rgba(255,255,255,.14);
  background:radial-gradient(circle at 20% 0%, rgba(255,79,195,.34), transparent 42%), linear-gradient(135deg, rgba(54,14,72,.94), rgba(17,8,38,.96));
  box-shadow:0 22px 60px rgba(0,0,0,.22);
}
.pf-notifications-hero h1{
  margin:0 0 10px;
  color:#fff;
  font-size:clamp(38px,7vw,72px);
  line-height:.95;
  font-weight:950;
}
.pf-notifications-hero p{
  max-width:680px;
  margin:0;
  color:rgba(255,255,255,.78);
  line-height:1.55;
}
.pf-notifications-hero-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
@media (max-width:760px){
  .pf-notifications-page{padding:22px 12px 96px;}
  .pf-notifications-hero{flex-direction:column;align-items:flex-start;padding:22px;border-radius:24px;}
  .pf-notifications-hero-actions,.pf-notifications-hero-actions .pf-btn{width:100%;}
}

/* v0.2.22: profile activity and setup polish */
.pf-activity-chip.is-online,
.pf-complete-profile-chip{
  border-color:rgba(87,255,178,.34) !important;
  background:rgba(87,255,178,.12) !important;
  color:#b9ffd9 !important;
}
.pf-complete-profile-chip{
  border-color:rgba(255,214,92,.35) !important;
  background:rgba(255,214,92,.12) !important;
  color:#ffe88a !important;
}
.pf-profile-checklist{
  border-color:rgba(255,214,92,.24) !important;
  background:linear-gradient(135deg, rgba(255,214,92,.08), rgba(255,79,184,.06)) !important;
}
.pf-profile-checklist p{
  color:rgba(255,247,255,.75);
  margin-top:0;
}
.pf-checklist-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-radius:18px;
  border:1px dashed rgba(255,255,255,.16);
  background:rgba(255,255,255,.05);
}
.pf-checklist-row strong{
  color:#ffe88a;
  font-weight:950;
  white-space:nowrap;
}
.pf-checklist-row span{
  color:rgba(255,247,255,.82);
  text-align:right;
}
@media(max-width:640px){
  .pf-checklist-row{ align-items:flex-start; flex-direction:column; }
  .pf-checklist-row span{ text-align:left; }
}


/* v0.2.24: status dots now reflect real activity. Offline dots stay grey and never pulse green. */
.pf-card-name .pf-online-dot.is-offline,
.pf-card-name .pf-online-dot--name.is-offline,
.pf-activity-chip .pf-online-dot.is-offline,
.pf-profile-activity-status .pf-online-dot.is-offline{
  background:rgba(255,255,255,.32) !important;
  border:1px solid rgba(255,255,255,.38) !important;
  box-shadow:0 0 0 2px rgba(10,7,18,.58), inset 0 -1px 2px rgba(0,0,0,.25) !important;
}
.pf-card-name .pf-online-dot.is-offline::after,
.pf-card-name .pf-online-dot--name.is-offline::after,
.pf-activity-chip .pf-online-dot.is-offline::after,
.pf-profile-activity-status .pf-online-dot.is-offline::after{
  display:none !important;
  animation:none !important;
  content:none !important;
}
.pf-card-name .pf-online-dot.is-online,
.pf-card-name .pf-online-dot--name.is-online,
.pf-activity-chip .pf-online-dot.is-online,
.pf-profile-activity-status .pf-online-dot.is-online{
  background:radial-gradient(circle at 35% 32%, rgba(255,255,255,.95) 0 16%, rgba(120,255,196,.95) 17% 38%, #16d887 39% 100%) !important;
  border:1px solid rgba(255,255,255,.72) !important;
  box-shadow:0 0 0 2px rgba(10,7,18,.68), 0 0 0 4px rgba(36,255,160,.13), 0 0 12px rgba(31,255,164,.72), inset 0 -1px 2px rgba(0,0,0,.28) !important;
}
.pf-card-activity-status .pf-online-dot,
.pf-activity-chip .pf-online-dot,
.pf-profile-activity-status .pf-online-dot{
  width:10px !important;
  height:10px !important;
  margin:0 6px 0 0 !important;
  top:0 !important;
}
.pf-card-activity-status .pf-online-dot{margin-right:0 !important;}
.pf-activity-chip,
.pf-profile-activity-status{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
}
.pf-activity-chip.is-offline{
  border-color:rgba(255,255,255,.16) !important;
  background:rgba(255,255,255,.07) !important;
  color:rgba(255,247,255,.74) !important;
}
.pf-profile-activity-status.is-online{color:#b9ffd9;}
.pf-profile-activity-status.is-offline{color:rgba(255,247,255,.74);}


/* v0.2.28: profile verification / admin approval badges */
.pf-verified-badge,
.pf-verification-status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  border-radius:999px;
  padding:4px 9px;
  font-size:10px;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
  white-space:nowrap;
}
.pf-verified-badge{
  color:#d8ffe7 !important;
  border:1px solid rgba(92,255,170,.42) !important;
  background:linear-gradient(135deg, rgba(37,255,154,.18), rgba(116,84,255,.14)) !important;
  box-shadow:0 0 18px rgba(40,255,160,.13) !important;
}
.pf-verification-status-badge.status-unverified{
  color:rgba(255,247,255,.74) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:rgba(255,255,255,.07) !important;
}
.pf-verification-status-badge.status-needs_changes{
  color:#ffe8a6 !important;
  border:1px solid rgba(255,199,74,.48) !important;
  background:rgba(255,199,74,.14) !important;
}
.pf-verification-status-badge.status-rejected{
  color:#ffc3d1 !important;
  border:1px solid rgba(255,85,130,.45) !important;
  background:rgba(255,85,130,.12) !important;
}
.pf-verification-line strong{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.pf-verification-note-inline{
  font-style:normal;
  font-size:12px;
  color:rgba(255,247,255,.70);
  max-width:340px;
  text-align:right;
}
.pf-card-tier-row .pf-verified-badge{padding:3px 8px;font-size:10px;}
@media(max-width:640px){.pf-verification-line strong{justify-content:flex-start}.pf-verification-note-inline{text-align:left;max-width:100%;}}


/* v0.2.28: mobile polish and launch-readiness helpers */
.pf-mobile-section-anchor{scroll-margin-top:96px;}
@media (max-width: 760px){
  body:not(.pf-page-discover) .pf-page-main,
  .pf-notification-page,
  .pf-wallet-page,
  .pf-upgrade-page,
  .pf-profile-page,
  .pf-settings-page{
    padding-left:12px !important;
    padding-right:12px !important;
  }
  .pf-payment-detail-grid,
  .pf-wallet-bundles,
  .pf-upgrade-grid,
  .pf-profile-info-grid,
  .pf-notification-tabs,
  .pf-legal-nav{
    grid-template-columns:1fr !important;
  }
  .pf-payment-detail-card,
  .pf-payment-request-card,
  .pf-wallet-panel,
  .pf-notification-center,
  .pf-profile-hero,
  .pf-legal-content,
  .pf-upgrade-card{
    border-radius:18px !important;
  }
  .pf-payment-request-top,
  .pf-payment-title-line,
  .pf-account-reference-card,
  .pf-admin-wallet-preview-top,
  .pf-profile-wallet-shortcuts,
  .pf-profile-hero-actions,
  .pf-hero-actions{
    flex-wrap:wrap !important;
  }
  .pf-payment-request-top > div:last-child,
  .pf-wallet-shortcuts,
  .pf-profile-wallet-shortcuts,
  .pf-profile-hero-actions,
  .pf-hero-actions{
    justify-content:flex-start !important;
  }
  .pf-copy-row{
    grid-template-columns:1fr auto !important;
    gap:8px !important;
  }
  .pf-copy-row span{
    grid-column:1 / -1;
  }
  .pf-copy-row code{
    word-break:break-word;
    white-space:normal !important;
  }
  .pf-btn,
  .pf-copy-btn,
  .pf-profile-wallet-shortcuts a,
  .pf-notification-tabs a,
  .pf-legal-nav-link{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .pf-wallet-bundles form .pf-btn,
  .pf-payment-made-form .pf-btn,
  .pf-upgrade-card .pf-btn{
    width:100%;
  }
  .pf-notification-center-head,
  .pf-notification-item,
  .pf-legal-meta,
  .pf-upgrade-hero,
  .pf-wallet-head{
    display:block !important;
  }
  .pf-notification-center-head .pf-btn,
  .pf-upgrade-hero .pf-btn,
  .pf-wallet-head .pf-btn{
    margin-top:10px;
  }
  .pf-profile-hero{
    min-height:260px;
  }
  .pf-profile-hero .pf-profile-main,
  .pf-profile-hero .pf-profile-actions,
  .pf-profile-hero-actions{
    max-width:100%;
  }
}
@media (max-width: 520px){
  .pf-copy-row,
  .pf-payment-reference,
  .pf-account-reference-card{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .pf-copy-btn,
  .pf-account-reference-card .pf-copy-btn{
    width:100%;
  }
  .pf-wallet-bundles,
  .pf-payment-detail-grid{
    gap:12px !important;
  }
  .pf-page-hero h1,
  .pf-hero h1,
  .pf-upgrade-hero h1{
    font-size:clamp(2rem, 12vw, 3rem) !important;
    line-height:1.02 !important;
  }
}


/* PassionFairy v0.2.29: real-phone Discover polish + LocalWP Live Link mobile pass.
   Built after real Android testing: prevents the Discover identity strip from clipping,
   keeps the action rail compact, styles the mobile report/delete menu, hides the footer
   nav while the sidebar is open, and gives feed cards enough breathing room above the
   fixed bottom navigation. Desktop rules remain untouched. */
@media (max-width: 900px){
  html,
  body{
    overflow-x:hidden !important;
  }

  body.home .ringa-app,
  body.front-page .ringa-app,
  body.pf-page-home .ringa-app,
  body.page-template-page-feed .ringa-app,
  body.pf-page-discover .ringa-app{
    min-height:100dvh !important;
    overflow-x:hidden !important;
  }

  body.home .pf-home,
  body.front-page .pf-home,
  body.pf-page-home .pf-home,
  body.page-template-page-feed .pf-home,
  body.pf-page-discover .pf-home,
  body.home .pf-page-main.pf-home,
  body.front-page .pf-page-main.pf-home,
  body.pf-page-home .pf-page-main.pf-home,
  body.page-template-page-feed .pf-page-main.pf-home,
  body.pf-page-discover .pf-page-main.pf-home{
    height:auto !important;
    max-height:none !important;
    min-height:calc(100dvh - var(--ringa-topbar-h, 58px)) !important;
    overflow:visible !important;
    padding:18px 0 calc(126px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.home .pf-hero,
  body.front-page .pf-hero,
  body.pf-page-home .pf-hero,
  body.page-template-page-feed .pf-hero,
  body.pf-page-discover .pf-hero{
    padding:22px 22px 8px !important;
    margin:0 !important;
    min-height:0 !important;
    display:block !important;
    text-align:left !important;
  }

  body.home .pf-title,
  body.front-page .pf-title,
  body.pf-page-home .pf-title,
  body.page-template-page-feed .pf-title,
  body.pf-page-discover .pf-title{
    font-size:clamp(38px, 11.5vw, 52px) !important;
    line-height:.96 !important;
    letter-spacing:-.055em !important;
    margin:0 0 18px !important;
    text-align:left !important;
  }

  body.home .pf-bottom-tools,
  body.front-page .pf-bottom-tools,
  body.pf-page-home .pf-bottom-tools,
  body.page-template-page-feed .pf-bottom-tools,
  body.pf-page-discover .pf-bottom-tools{
    display:flex !important;
    gap:12px !important;
    padding:0 22px 18px !important;
    margin:0 !important;
    flex-wrap:wrap !important;
  }

  body.home .pf-bottom-tools .pf-btn,
  body.front-page .pf-bottom-tools .pf-btn,
  body.pf-page-home .pf-bottom-tools .pf-btn,
  body.page-template-page-feed .pf-bottom-tools .pf-btn,
  body.pf-page-discover .pf-bottom-tools .pf-btn{
    min-height:58px !important;
    padding:0 24px !important;
    border-radius:999px !important;
    font-size:20px !important;
    font-weight:950 !important;
    background:rgba(255,255,255,.075) !important;
    border-color:rgba(255,255,255,.14) !important;
  }

  body.home .pf-discover-shell,
  body.front-page .pf-discover-shell,
  body.pf-page-home .pf-discover-shell,
  body.page-template-page-feed .pf-discover-shell,
  body.pf-page-discover .pf-discover-shell{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 14px calc(132px + env(safe-area-inset-bottom, 0px)) !important;
    overflow:visible !important;
  }

  body.home .pf-card-stack,
  body.front-page .pf-card-stack,
  body.pf-page-home .pf-card-stack,
  body.page-template-page-feed .pf-card-stack,
  body.pf-page-discover .pf-card-stack{
    width:100% !important;
    max-width:640px !important;
    margin:0 auto !important;
    display:grid !important;
    gap:20px !important;
    overflow:visible !important;
  }

  body.home .pf-discover-card,
  body.front-page .pf-discover-card,
  body.pf-page-home .pf-discover-card,
  body.page-template-page-feed .pf-discover-card,
  body.pf-page-discover .pf-discover-card,
  .pf-discover-shell .pf-discover-card,
  .pf-discover .pf-discover-card{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 0 22px !important;
    border-radius:24px !important;
    clip-path:none !important;
    overflow:hidden !important;
    display:block !important;
    background:linear-gradient(180deg, rgba(27,9,42,.98), rgba(8,3,14,.99)) !important;
  }

  body.home .pf-card-top,
  body.front-page .pf-card-top,
  body.pf-page-home .pf-card-top,
  body.page-template-page-feed .pf-card-top,
  body.pf-page-discover .pf-card-top,
  .pf-discover-shell .pf-card-top,
  .pf-discover .pf-card-top{
    position:relative !important;
    inset:auto !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    min-height:92px !important;
    max-height:none !important;
    padding:12px 12px 10px !important;
    margin:0 !important;
    display:flex !important;
    align-items:flex-start !important;
    gap:10px !important;
    border-radius:24px 24px 0 0 !important;
    background:rgba(8,2,15,.92) !important;
    border:0 !important;
    border-bottom:1px solid rgba(255,255,255,.10) !important;
    box-shadow:none !important;
    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;
    overflow:visible !important;
  }

  body.home .pf-card-identity-link,
  body.front-page .pf-card-identity-link,
  body.pf-page-home .pf-card-identity-link,
  body.page-template-page-feed .pf-card-identity-link,
  body.pf-page-discover .pf-card-identity-link,
  .pf-discover-shell .pf-card-identity-link,
  .pf-discover .pf-card-identity-link{
    width:100% !important;
    min-width:0 !important;
    display:flex !important;
    align-items:flex-start !important;
    gap:10px !important;
  }

  body.home .pf-card-top .pf-avatar,
  body.front-page .pf-card-top .pf-avatar,
  body.pf-page-home .pf-card-top .pf-avatar,
  body.page-template-page-feed .pf-card-top .pf-avatar,
  body.pf-page-discover .pf-card-top .pf-avatar,
  .pf-discover-shell .pf-card-top .pf-avatar,
  .pf-discover .pf-card-top .pf-avatar{
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    flex:0 0 58px !important;
  }

  body.home .pf-card-info,
  body.front-page .pf-card-info,
  body.pf-page-home .pf-card-info,
  body.page-template-page-feed .pf-card-info,
  body.pf-page-discover .pf-card-info,
  .pf-discover-shell .pf-card-info,
  .pf-discover .pf-card-info{
    min-width:0 !important;
    flex:1 1 auto !important;
    display:block !important;
    padding-top:1px !important;
  }

  body.home .pf-card-name,
  body.front-page .pf-card-name,
  body.pf-page-home .pf-card-name,
  body.page-template-page-feed .pf-card-name,
  body.pf-page-discover .pf-card-name,
  .pf-discover-shell .pf-card-name,
  .pf-discover .pf-card-name{
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:6px !important;
    max-width:100% !important;
    font-size:20px !important;
    line-height:1.05 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }

  body.home .pf-card-name .pf-card-activity-status,
  body.front-page .pf-card-name .pf-card-activity-status,
  body.pf-page-home .pf-card-name .pf-card-activity-status,
  body.page-template-page-feed .pf-card-name .pf-card-activity-status,
  body.pf-page-discover .pf-card-name .pf-card-activity-status,
  .pf-discover-shell .pf-card-name .pf-card-activity-status,
  .pf-discover .pf-card-name .pf-card-activity-status{
    margin-left:0 !important;
    max-width:100% !important;
    font-size:12px !important;
    line-height:1 !important;
    padding:3px 8px !important;
  }

  body.home .pf-card-meta,
  body.front-page .pf-card-meta,
  body.pf-page-home .pf-card-meta,
  body.page-template-page-feed .pf-card-meta,
  body.pf-page-discover .pf-card-meta,
  .pf-discover-shell .pf-card-meta,
  .pf-discover .pf-card-meta{
    margin-top:6px !important;
    font-size:16px !important;
    line-height:1.18 !important;
    color:rgba(255,255,255,.78) !important;
    white-space:normal !important;
  }

  body.home .pf-card-tier-row,
  body.front-page .pf-card-tier-row,
  body.pf-page-home .pf-card-tier-row,
  body.page-template-page-feed .pf-card-tier-row,
  body.pf-page-discover .pf-card-tier-row,
  .pf-discover-shell .pf-card-tier-row,
  .pf-discover .pf-card-tier-row{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:7px !important;
    margin-top:7px !important;
  }

  body.home .pf-tier-status,
  body.home .pf-inline-rating,
  body.home .pf-rating,
  body.home .pf-complete-pill,
  body.front-page .pf-tier-status,
  body.front-page .pf-inline-rating,
  body.front-page .pf-rating,
  body.front-page .pf-complete-pill,
  body.pf-page-home .pf-tier-status,
  body.pf-page-home .pf-inline-rating,
  body.pf-page-home .pf-rating,
  body.pf-page-home .pf-complete-pill,
  .pf-discover-shell .pf-tier-status,
  .pf-discover-shell .pf-inline-rating,
  .pf-discover-shell .pf-rating,
  .pf-discover-shell .pf-complete-pill{
    font-size:13px !important;
    line-height:1 !important;
    padding:4px 8px !important;
    min-height:22px !important;
  }

  body.home .pf-media,
  body.front-page .pf-media,
  body.pf-page-home .pf-media,
  body.page-template-page-feed .pf-media,
  body.pf-page-discover .pf-media,
  .pf-discover-shell .pf-media,
  .pf-discover .pf-media{
    position:relative !important;
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) 52px !important;
    grid-template-rows:minmax(0, 1fr) !important;
    width:100% !important;
    height:clamp(455px, calc(100dvh - 252px), 620px) !important;
    min-height:455px !important;
    max-height:620px !important;
    aspect-ratio:auto !important;
    border-radius:0 0 24px 24px !important;
    clip-path:none !important;
    overflow:hidden !important;
    background:#05000c !important;
  }

  body.home .pf-feed-carousel,
  body.home .pf-feed-carousel-track,
  body.home .pf-feed-media-slide,
  body.home .pf-photo-stage,
  body.home .pf-video-stage,
  body.home .pf-media-placeholder,
  body.front-page .pf-feed-carousel,
  body.front-page .pf-feed-carousel-track,
  body.front-page .pf-feed-media-slide,
  body.front-page .pf-photo-stage,
  body.front-page .pf-video-stage,
  body.front-page .pf-media-placeholder,
  body.pf-page-home .pf-feed-carousel,
  body.pf-page-home .pf-feed-carousel-track,
  body.pf-page-home .pf-feed-media-slide,
  body.pf-page-home .pf-photo-stage,
  body.pf-page-home .pf-video-stage,
  body.pf-page-home .pf-media-placeholder,
  .pf-discover-shell .pf-feed-carousel,
  .pf-discover-shell .pf-feed-carousel-track,
  .pf-discover-shell .pf-feed-media-slide,
  .pf-discover-shell .pf-photo-stage,
  .pf-discover-shell .pf-video-stage,
  .pf-discover-shell .pf-media-placeholder{
    grid-column:1 / 2 !important;
    grid-row:1 / 2 !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    border-radius:0 0 0 24px !important;
    overflow:hidden !important;
  }

  body.home .pf-feed-carousel-track,
  body.front-page .pf-feed-carousel-track,
  body.pf-page-home .pf-feed-carousel-track,
  .pf-discover-shell .pf-feed-carousel-track{
    display:flex !important;
    overflow-x:auto !important;
    scroll-snap-type:x mandatory !important;
  }

  body.home .pf-feed-media-slide,
  body.front-page .pf-feed-media-slide,
  body.pf-page-home .pf-feed-media-slide,
  .pf-discover-shell .pf-feed-media-slide{
    flex:0 0 100% !important;
    scroll-snap-align:start !important;
  }

  body.home .pf-photo-stage img,
  body.home .pf-video-stage video,
  body.home .pf-media > img,
  body.home .pf-media > video,
  body.front-page .pf-photo-stage img,
  body.front-page .pf-video-stage video,
  body.front-page .pf-media > img,
  body.front-page .pf-media > video,
  body.pf-page-home .pf-photo-stage img,
  body.pf-page-home .pf-video-stage video,
  body.pf-page-home .pf-media > img,
  body.pf-page-home .pf-media > video,
  .pf-discover-shell .pf-photo-stage img,
  .pf-discover-shell .pf-video-stage video,
  .pf-discover-shell .pf-media > img,
  .pf-discover-shell .pf-media > video{
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    border-radius:0 0 0 24px !important;
    clip-path:none !important;
    display:block !important;
  }

  body.home .pf-card-action-rail,
  body.front-page .pf-card-action-rail,
  body.pf-page-home .pf-card-action-rail,
  body.page-template-page-feed .pf-card-action-rail,
  body.pf-page-discover .pf-card-action-rail,
  .pf-discover-shell .pf-card-action-rail,
  .pf-discover .pf-card-action-rail{
    grid-column:2 / 3 !important;
    grid-row:1 / 2 !important;
    position:relative !important;
    inset:auto !important;
    width:52px !important;
    min-width:52px !important;
    height:100% !important;
    padding:8px 6px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    border-radius:0 0 24px 0 !important;
    background:linear-gradient(180deg, rgba(18,7,30,.98), rgba(7,2,13,.99)) !important;
    border-left:1px solid rgba(255,255,255,.10) !important;
    overflow:hidden !important;
    z-index:6 !important;
  }

  body.home .pf-post-action,
  body.home a.pf-post-action,
  body.front-page .pf-post-action,
  body.front-page a.pf-post-action,
  body.pf-page-home .pf-post-action,
  body.pf-page-home a.pf-post-action,
  .pf-discover-shell .pf-post-action,
  .pf-discover-shell a.pf-post-action{
    width:39px !important;
    height:39px !important;
    min-width:39px !important;
    min-height:39px !important;
    padding:0 !important;
    border-radius:999px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-shadow:0 12px 24px rgba(0,0,0,.32) !important;
  }

  body.home .pf-post-action--scroll,
  body.front-page .pf-post-action--scroll,
  body.pf-page-home .pf-post-action--scroll,
  .pf-discover-shell .pf-post-action--scroll{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
    opacity:.9 !important;
  }

  body.home .pf-post-action .pf-action-svg,
  body.front-page .pf-post-action .pf-action-svg,
  body.pf-page-home .pf-post-action .pf-action-svg,
  .pf-discover-shell .pf-post-action .pf-action-svg{
    width:21px !important;
    height:21px !important;
  }

  body.home .pf-post-options,
  body.front-page .pf-post-options,
  body.pf-page-home .pf-post-options,
  body.page-template-page-feed .pf-post-options,
  body.pf-page-discover .pf-post-options,
  .pf-discover-shell .pf-post-options,
  .pf-discover .pf-post-options{
    position:absolute !important;
    top:10px !important;
    right:62px !important;
    z-index:14 !important;
  }

  body.home .pf-post-options-toggle,
  body.front-page .pf-post-options-toggle,
  body.pf-page-home .pf-post-options-toggle,
  .pf-discover-shell .pf-post-options-toggle{
    width:42px !important;
    height:42px !important;
    border-radius:999px !important;
    background:rgba(6,0,12,.62) !important;
    border:1px solid rgba(255,255,255,.15) !important;
    color:#fff !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    backdrop-filter:blur(12px) !important;
    -webkit-backdrop-filter:blur(12px) !important;
  }

  body.home .pf-post-options-menu,
  body.front-page .pf-post-options-menu,
  body.pf-page-home .pf-post-options-menu,
  body.page-template-page-feed .pf-post-options-menu,
  body.pf-page-discover .pf-post-options-menu,
  .pf-discover-shell .pf-post-options-menu,
  .pf-discover .pf-post-options-menu{
    position:absolute !important;
    top:48px !important;
    right:0 !important;
    width:174px !important;
    min-width:174px !important;
    padding:8px !important;
    display:none !important;
    gap:5px !important;
    border-radius:16px !important;
    background:rgba(12,4,20,.94) !important;
    border:1px solid rgba(255,255,255,.16) !important;
    box-shadow:0 22px 52px rgba(0,0,0,.48) !important;
    backdrop-filter:blur(18px) !important;
    -webkit-backdrop-filter:blur(18px) !important;
    overflow:hidden !important;
  }

  body.home .pf-post-options.is-open .pf-post-options-menu,
  body.front-page .pf-post-options.is-open .pf-post-options-menu,
  body.pf-page-home .pf-post-options.is-open .pf-post-options-menu,
  .pf-discover-shell .pf-post-options.is-open .pf-post-options-menu,
  .pf-discover .pf-post-options.is-open .pf-post-options-menu{
    display:grid !important;
  }

  body.home .pf-post-options-menu button,
  body.front-page .pf-post-options-menu button,
  body.pf-page-home .pf-post-options-menu button,
  .pf-discover-shell .pf-post-options-menu button,
  .pf-discover .pf-post-options-menu button{
    width:100% !important;
    min-height:40px !important;
    padding:9px 11px !important;
    border:0 !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.07) !important;
    color:#fff !important;
    text-align:left !important;
    font-size:14px !important;
    font-weight:850 !important;
    line-height:1.1 !important;
  }

  body.home .pf-post-options-menu button.is-danger,
  body.front-page .pf-post-options-menu button.is-danger,
  body.pf-page-home .pf-post-options-menu button.is-danger,
  .pf-discover-shell .pf-post-options-menu button.is-danger{
    color:#ff9ab4 !important;
  }

  body.home .pf-feed-carousel-count,
  body.front-page .pf-feed-carousel-count,
  body.pf-page-home .pf-feed-carousel-count,
  .pf-discover-shell .pf-feed-carousel-count{
    top:18px !important;
    right:calc(52px + 14px) !important;
    z-index:8 !important;
  }

  body.home .pf-feed-carousel-nav--prev,
  body.front-page .pf-feed-carousel-nav--prev,
  body.pf-page-home .pf-feed-carousel-nav--prev,
  .pf-discover-shell .pf-feed-carousel-nav--prev{
    left:12px !important;
  }

  body.home .pf-feed-carousel-nav--next,
  body.front-page .pf-feed-carousel-nav--next,
  body.pf-page-home .pf-feed-carousel-nav--next,
  .pf-discover-shell .pf-feed-carousel-nav--next{
    right:calc(52px + 12px) !important;
  }

  body.home .pf-offer,
  body.home .pf-offer-overlay,
  body.front-page .pf-offer,
  body.front-page .pf-offer-overlay,
  body.pf-page-home .pf-offer,
  body.pf-page-home .pf-offer-overlay,
  .pf-discover-shell .pf-offer,
  .pf-discover-shell .pf-offer-overlay{
    position:absolute !important;
    left:0 !important;
    right:52px !important;
    bottom:0 !important;
    z-index:5 !important;
    min-height:0 !important;
    height:auto !important;
    max-height:54px !important;
    padding:22px 12px 10px !important;
    border-radius:0 0 0 24px !important;
    background:linear-gradient(180deg, rgba(5,0,12,0), rgba(5,0,12,.62) 45%, rgba(5,0,12,.94)) !important;
    border:0 !important;
    font-size:13px !important;
    line-height:1.2 !important;
    overflow:hidden !important;
  }

  .ringa-bottom-nav{
    width:min(94vw, 620px) !important;
    max-width:min(94vw, 620px) !important;
    height:74px !important;
    min-height:74px !important;
    padding:0 26px calc(8px + env(safe-area-inset-bottom, 0px)) !important;
    left:50% !important;
    right:auto !important;
    bottom:0 !important;
    transform:translate3d(-50%, 0, 0) !important;
    border-radius:28px 28px 0 0 !important;
    z-index:90 !important;
  }

  .ringa-bottom-nav .navitem{
    height:62px !important;
    min-height:62px !important;
  }

  .ringa-bottom-nav .navitem.plus{
    width:66px !important;
    height:66px !important;
    min-height:66px !important;
    transform:translateY(-8px) !important;
  }

  body.ringa-sidebar-open .ringa-bottom-nav{
    opacity:0 !important;
    pointer-events:none !important;
    transform:translate3d(-50%, 105%, 0) !important;
  }

  body.ringa-sidebar-open{
    overflow:hidden !important;
  }

  body.ringa-sidebar-open .ringa-sidebar{
    overflow-y:auto !important;
    padding-bottom:calc(28px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

@media (max-width: 390px){
  body.home .pf-media,
  body.front-page .pf-media,
  body.pf-page-home .pf-media,
  .pf-discover-shell .pf-media{
    grid-template-columns:minmax(0, 1fr) 48px !important;
    height:clamp(430px, calc(100dvh - 248px), 590px) !important;
    min-height:430px !important;
  }
  body.home .pf-card-action-rail,
  body.front-page .pf-card-action-rail,
  body.pf-page-home .pf-card-action-rail,
  .pf-discover-shell .pf-card-action-rail{
    width:48px !important;
    min-width:48px !important;
    padding-inline:5px !important;
    gap:7px !important;
  }
  body.home .pf-post-action,
  body.home a.pf-post-action,
  body.front-page .pf-post-action,
  body.front-page a.pf-post-action,
  body.pf-page-home .pf-post-action,
  body.pf-page-home a.pf-post-action,
  .pf-discover-shell .pf-post-action,
  .pf-discover-shell a.pf-post-action{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    min-height:36px !important;
  }
  body.home .pf-post-options,
  body.front-page .pf-post-options,
  body.pf-page-home .pf-post-options,
  .pf-discover-shell .pf-post-options{
    right:56px !important;
  }
  body.home .pf-feed-carousel-count,
  body.front-page .pf-feed-carousel-count,
  body.pf-page-home .pf-feed-carousel-count,
  .pf-discover-shell .pf-feed-carousel-count{
    right:calc(48px + 12px) !important;
  }
  body.home .pf-feed-carousel-nav--next,
  body.front-page .pf-feed-carousel-nav--next,
  body.pf-page-home .pf-feed-carousel-nav--next,
  .pf-discover-shell .pf-feed-carousel-nav--next{
    right:calc(48px + 10px) !important;
  }
}


/* ==========================================================
   PassionFairy v0.2.31: focused mobile layout pass
   - Mobile-only: keeps desktop visuals locked.
   - Gives non-Discover pages proper gutters so headings never start off-screen.
   - Adds bottom breathing room above the fixed footer on Create, Matches, Inbox,
     Profile, Wallet, Upgrade, Notifications, and legal/settings pages.
   - Makes the sidebar a full mobile drawer so the feed/action rail does not peek through.
   - Improves Create Studio, chat, matches, profile editor, and profile post layouts on phones.
   ========================================================== */
@media (max-width: 900px){
  :root{
    --pf-mobile-gutter: clamp(14px, 4.2vw, 20px);
    --pf-mobile-footer-clearance: calc(176px + env(safe-area-inset-bottom, 0px));
  }

  html, body{
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  .ringa-app{
    min-height:100dvh !important;
    padding-bottom:var(--pf-mobile-footer-clearance) !important;
    overflow-x:hidden !important;
  }

  /* Keep the already-polished Discover feed separate. These rules target utility pages. */
  body:not(.home):not(.front-page):not(.pf-page-discover) main.ringa-content.pf-home,
  main.ringa-content.pf-page,
  main.ringa-content.pf-create-page,
  main.ringa-content.pf-inbox-page,
  main.ringa-content.pf-profile-page{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:22px var(--pf-mobile-gutter) var(--pf-mobile-footer-clearance) !important;
    overflow-x:hidden !important;
    box-sizing:border-box !important;
  }

  body:not(.home):not(.front-page):not(.pf-page-discover) main.ringa-content.pf-home > *,
  main.ringa-content.pf-page > *,
  main.ringa-content.pf-create-page > *,
  main.ringa-content.pf-inbox-page > *,
  main.ringa-content.pf-profile-page > *{
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  body:not(.home):not(.front-page):not(.pf-page-discover) main.ringa-content.pf-home .pf-hero,
  main.ringa-content.pf-page .pf-hero,
  main.ringa-content.pf-create-page .pf-hero,
  main.ringa-content.pf-inbox-page .pf-hero,
  main.ringa-content.pf-profile-page .pf-hero{
    display:block !important;
    width:100% !important;
    margin:0 0 18px !important;
    padding:0 !important;
    text-align:left !important;
    overflow:visible !important;
  }

  body:not(.home):not(.front-page):not(.pf-page-discover) main.ringa-content.pf-home .pf-title,
  main.ringa-content.pf-page .pf-title,
  main.ringa-content.pf-create-page .pf-title,
  main.ringa-content.pf-inbox-page .pf-title,
  main.ringa-content.pf-profile-page .pf-title{
    font-size:clamp(36px, 11vw, 52px) !important;
    line-height:1.02 !important;
    letter-spacing:-.05em !important;
    margin:7px 0 12px !important;
    max-width:100% !important;
    overflow-wrap:break-word !important;
    text-wrap:balance;
  }

  body:not(.home):not(.front-page):not(.pf-page-discover) main.ringa-content.pf-home .pf-subtitle,
  main.ringa-content.pf-page .pf-subtitle,
  main.ringa-content.pf-create-page .pf-subtitle,
  main.ringa-content.pf-inbox-page .pf-subtitle,
  main.ringa-content.pf-profile-page .pf-subtitle{
    display:block !important;
    max-width:100% !important;
    font-size:18px !important;
    line-height:1.5 !important;
    color:rgba(255,247,255,.72) !important;
    margin:0 !important;
  }

  main.ringa-content .pf-panel,
  main.ringa-content .pf-wallet-panel,
  main.ringa-content .pf-notification-center,
  main.ringa-content .pf-legal-content,
  main.ringa-content .pf-upgrade-card,
  main.ringa-content .pf-profile-posts,
  main.ringa-content .pf-profile-checklist,
  main.ringa-content .pf-profile-media-card,
  main.ringa-content .pf-create-card-v90,
  main.ringa-content .pf-create-progress-v90{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    border-radius:24px !important;
    padding:22px 16px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  main.ringa-content .pf-panel + .pf-panel,
  main.ringa-content .pf-profile-checklist,
  main.ringa-content .pf-profile-posts{
    margin-top:18px !important;
  }

  .pf-btn,
  .pf-copy-btn,
  button,
  input,
  select,
  textarea{
    font-size:16px;
  }

  input,
  select,
  textarea,
  .pf-input,
  .pf-select,
  .pf-textarea{
    max-width:100% !important;
  }

  /* Full mobile menu sheet: do not let the Discover action rail show through the side. */
  .ringa-sidebar{
    width:100vw !important;
    max-width:100vw !important;
    left:0 !important;
    right:0 !important;
    padding:28px var(--pf-mobile-gutter) calc(42px + env(safe-area-inset-bottom, 0px)) !important;
    border-right:0 !important;
    border-radius:0 !important;
    background:linear-gradient(180deg, rgba(18,7,31,.985), rgba(7,2,13,.995)) !important;
  }
  .ringa-sidebar-nav{
    gap:10px !important;
    padding-bottom:30px !important;
  }
  .ringa-sidebar-link{
    width:100% !important;
    min-height:66px !important;
    padding:0 26px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    border-radius:22px !important;
  }
  body.ringa-sidebar-open .ringa-bottom-nav{
    opacity:0 !important;
    pointer-events:none !important;
  }

  /* Create Studio on real phones. */
  .pf-create-page-v90{
    padding-left:var(--pf-mobile-gutter) !important;
    padding-right:var(--pf-mobile-gutter) !important;
  }
  .pf-create-hero-v90{
    display:block !important;
    padding:26px 18px !important;
    border-radius:26px !important;
    margin:0 0 18px !important;
  }
  .pf-create-hero-copy-v90 h1,
  .pf-create-hero-v90 h1{
    font-size:clamp(40px, 13vw, 58px) !important;
    line-height:.98 !important;
    letter-spacing:-.06em !important;
  }
  .pf-create-hero-copy-v90 p,
  .pf-create-hero-v90 p{
    font-size:18px !important;
    line-height:1.55 !important;
  }
  .pf-create-pill-row-v90{
    display:flex !important;
    gap:10px !important;
    flex-wrap:wrap !important;
  }
  .pf-create-pill-row-v90 span,
  .pf-create-step-pill-v90{
    font-size:14px !important;
    line-height:1.1 !important;
  }
  .pf-create-rules-card-v90{
    margin-top:22px !important;
    padding:20px !important;
    border-radius:24px !important;
  }
  .pf-create-rules-grid-v90,
  .pf-create-grid-v90,
  .pf-create-location-wrap-v90,
  .pf-profile-identity-grid,
  .pf-profile-media-editor{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .pf-create-column-v90{
    min-width:0 !important;
    width:100% !important;
  }
  .pf-create-card-v90{
    margin-bottom:18px !important;
  }
  .pf-create-drop-v90{
    min-height:220px !important;
    padding:22px 14px !important;
  }
  .pf-create-drop-v90 .pf-create-drop-icon-v90{
    width:96px !important;
    height:96px !important;
    font-size:64px !important;
  }
  .pf-create-preview-card-v90{
    overflow:visible !important;
  }
  .pf-create-preview-stage-v90,
  .pf-create-preview-media-v90,
  .pf-create-preview-media-v90 img,
  .pf-create-preview-media-v90 video{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  .pf-create-preview-media-v90 img,
  .pf-create-preview-media-v90 video{
    height:auto !important;
    max-height:56dvh !important;
    object-fit:contain !important;
    border-radius:18px !important;
  }
  .pf-create-progress-v90{
    margin-bottom:calc(86px + env(safe-area-inset-bottom, 0px)) !important;
    overflow:visible !important;
  }
  .pf-create-progress-steps-v90{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .pf-create-actions-v90,
  .pf-create-actions-single-v94{
    display:block !important;
    margin-bottom:calc(62px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .pf-create-actions-v90 .pf-btn,
  .pf-create-actions-v90 button,
  .pf-create-actions-single-v94 .pf-btn,
  .pf-create-actions-single-v94 button{
    width:100% !important;
    min-height:72px !important;
    white-space:normal !important;
  }

  /* Match Requests. */
  .pf-match-panel,
  .pf-match-center{
    width:100% !important;
    max-width:100% !important;
    margin:0 0 18px !important;
  }
  .pf-section-head{
    display:block !important;
    margin-bottom:18px !important;
  }
  .pf-section-head h2{
    font-size:clamp(30px, 9vw, 42px) !important;
    line-height:1.05 !important;
  }
  .pf-section-head .pf-muted,
  .pf-muted{
    font-size:17px;
    line-height:1.45;
  }
  .pf-match-count{
    width:100% !important;
    min-height:54px !important;
    font-size:22px !important;
  }
  .pf-match-subtitle{
    margin:18px 0 12px !important;
    font-size:22px !important;
  }
  .pf-match-card{
    width:100% !important;
    align-items:flex-start !important;
    border-radius:24px !important;
    padding:20px !important;
  }
  .pf-match-avatar{
    width:76px !important;
    height:76px !important;
  }
  .pf-match-actions,
  .pf-match-actions .pf-btn,
  .pf-match-thread-card .pf-btn{
    width:100% !important;
    justify-content:center !important;
  }

  /* Inbox/chat. */
  .pf-inbox-panel,
  .pf-chat-panel{
    padding-bottom:calc(120px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .pf-chat-layout{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
  }
  .pf-chat-threads{
    width:100% !important;
    display:flex !important;
    gap:10px !important;
    overflow-x:auto !important;
    padding:0 0 12px !important;
    margin:0 0 14px !important;
    scroll-snap-type:x proximity;
  }
  .pf-chat-threads .pf-thread-card,
  .pf-match-thread-card{
    min-width:min(82vw, 340px) !important;
    max-width:min(82vw, 340px) !important;
    scroll-snap-align:start;
  }
  .pf-chat-window{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
    border-radius:24px !important;
  }
  .pf-chat-topline{
    display:block !important;
    padding:14px !important;
  }
  .pf-chat-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    margin-top:12px !important;
  }
  .pf-chat-actions .pf-btn{
    width:100% !important;
    min-height:52px !important;
  }
  .pf-chat-actions .pf-btn:first-child{
    grid-column:1 / -1;
  }
  .pf-chat-messages{
    max-height:none !important;
    min-height:260px !important;
    padding:16px 14px 20px !important;
    overflow:visible !important;
  }
  .pf-chat-bubble{
    max-width:86% !important;
    font-size:18px !important;
    line-height:1.35 !important;
  }
  .pf-chat-form{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:14px !important;
    margin:0 0 calc(72px + env(safe-area-inset-bottom, 0px)) !important;
    background:rgba(255,255,255,.055) !important;
    border-top:1px solid rgba(255,255,255,.10) !important;
  }
  .pf-chat-form textarea{
    min-height:92px !important;
    max-height:180px !important;
  }
  .pf-chat-form .pf-btn{
    width:100% !important;
    min-height:56px !important;
  }

  /* Profile and profile editing. */
  .pf-profile-hero.has-cover-photo,
  .pf-profile-hero{
    width:100% !important;
    min-height:0 !important;
    display:block !important;
    text-align:center !important;
    padding:28px 20px !important;
    border-radius:26px !important;
    overflow:hidden !important;
  }
  .pf-profile-avatar{
    width:126px !important;
    height:126px !important;
    margin:0 auto 16px !important;
  }
  .pf-profile-main{
    width:100% !important;
  }
  .pf-profile-main h1,
  .pf-profile-name{
    font-size:clamp(38px, 12vw, 56px) !important;
    line-height:1 !important;
  }
  .pf-profile-chips,
  .pf-profile-actions,
  .pf-profile-hero-actions{
    justify-content:center !important;
    gap:10px !important;
  }
  .pf-profile-actions .pf-btn,
  .pf-profile-hero-actions .pf-btn{
    flex:1 1 180px !important;
    min-height:58px !important;
  }
  .pf-stat-line{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    padding:14px 0 !important;
  }
  .pf-stat-line > strong,
  .pf-stat-line > span + strong{
    justify-content:flex-start !important;
    text-align:left !important;
    width:100% !important;
  }
  .pf-payment-ref-line code{
    display:block !important;
    font-size:24px !important;
    margin-bottom:10px !important;
  }
  .pf-payment-ref-line .pf-copy-btn{
    width:100% !important;
    max-width:230px !important;
  }
  .pf-profile-wallet-links{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:10px !important;
    justify-content:flex-start !important;
  }
  .pf-profile-wallet-links a{
    min-height:48px !important;
    padding:0 18px !important;
  }
  .pf-profile-media-card,
  .pf-profile-media-preview,
  .pf-profile-media-preview.is-cover,
  .pf-profile-media-preview.is-avatar{
    width:100% !important;
    max-width:100% !important;
  }
  .pf-profile-media-preview.is-cover{
    min-height:210px !important;
  }
  .pf-profile-media-card input[type="file"]{
    width:100% !important;
  }
  .pf-profile-post-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .pf-profile-post-card{
    overflow:hidden !important;
    border-radius:22px !important;
  }
  .pf-profile-post-media,
  .pf-profile-post-media img,
  .pf-profile-post-media video{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    object-fit:cover !important;
  }

  /* Wallet/upgrade/notifications/legal pages share card stacks. */
  .pf-wallet-page,
  .pf-upgrade-page,
  .pf-notifications-page,
  .pf-settings-page,
  .pf-legal-page{
    padding-bottom:var(--pf-mobile-footer-clearance) !important;
  }
  .pf-payment-detail-grid,
  .pf-wallet-bundles,
  .pf-upgrade-grid,
  .pf-notification-tabs,
  .pf-legal-nav{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .pf-notification-tabs{
    display:flex !important;
    overflow-x:auto !important;
    flex-wrap:nowrap !important;
    padding-bottom:8px !important;
  }
  .pf-notification-tabs a{
    flex:0 0 auto !important;
  }

  /* Extra footer air for the last child on every utility page. */
  body:not(.home):not(.front-page):not(.pf-page-discover) main.ringa-content.pf-home > *:last-child,
  main.ringa-content.pf-page > *:last-child,
  main.ringa-content.pf-create-page > *:last-child,
  main.ringa-content.pf-inbox-page > *:last-child,
  main.ringa-content.pf-profile-page > *:last-child{
    margin-bottom:calc(92px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

@media (max-width: 420px){
  :root{ --pf-mobile-gutter: 14px; }
  body:not(.home):not(.front-page):not(.pf-page-discover) main.ringa-content.pf-home,
  main.ringa-content.pf-page,
  main.ringa-content.pf-create-page,
  main.ringa-content.pf-inbox-page,
  main.ringa-content.pf-profile-page{
    padding-left:12px !important;
    padding-right:12px !important;
  }
  main.ringa-content .pf-panel,
  main.ringa-content .pf-wallet-panel,
  main.ringa-content .pf-notification-center,
  main.ringa-content .pf-legal-content,
  main.ringa-content .pf-upgrade-card,
  main.ringa-content .pf-profile-posts,
  main.ringa-content .pf-profile-checklist,
  main.ringa-content .pf-profile-media-card,
  main.ringa-content .pf-create-card-v90,
  main.ringa-content .pf-create-progress-v90{
    padding-left:14px !important;
    padding-right:14px !important;
  }
  .pf-chat-actions{
    grid-template-columns:1fr !important;
  }
  .pf-profile-actions .pf-btn,
  .pf-profile-hero-actions .pf-btn{
    flex-basis:100% !important;
  }
}

/* ==========================================================
   PassionFairy v0.2.32: mobile Discover edge polish
   - Mobile-only: desktop remains protected.
   - Reduces Discover top air, tightens post gaps, stretches cards closer to
     the phone edges, moves carousel controls, themes top icons, and lowers
     the footer height while making icons easier to see.
   ========================================================== */
@media (max-width: 900px){
  /* Top bar icons: make notification/search match PassionFairy glass instead of default-ish circles. */
  .ringa-topbar{
    min-height:58px !important;
    padding:8px 12px !important;
    background:rgba(7,1,13,.92) !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
  }
  .ringa-top-actions{
    gap:8px !important;
  }
  .ringa-top-actions .ringa-icon-btn,
  .ringa-top-actions .pf-top-notification-link,
  .ringa-top-actions .ringa-search-toggle{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
    border-radius:999px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
    color:#fff !important;
    font-size:18px !important;
    line-height:1 !important;
    background:linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.03)) !important;
    border:1px solid rgba(255,255,255,.12) !important;
    box-shadow:0 12px 26px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.08) !important;
    backdrop-filter:blur(14px) !important;
    -webkit-backdrop-filter:blur(14px) !important;
    text-decoration:none !important;
  }
  .ringa-top-actions .pf-top-notification-link{
    color:#ffd76a !important;
  }
  .pf-nav-badge,
  .pf-top-notification-link .pf-nav-badge{
    min-width:22px !important;
    height:22px !important;
    padding:0 6px !important;
    border-radius:999px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    top:-5px !important;
    right:-5px !important;
    font-size:12px !important;
    font-weight:950 !important;
    background:linear-gradient(135deg, var(--pf-pink, #f044ba), var(--pf-purple, #9b4dff)) !important;
    color:#fff !important;
    border:1px solid rgba(255,255,255,.26) !important;
    box-shadow:0 8px 18px rgba(208,57,224,.35) !important;
  }

  /* Discover header: remove the large empty strip above the title. */
  body.home .pf-home,
  body.front-page .pf-home,
  body.pf-page-home .pf-home,
  body.page-template-page-feed .pf-home,
  body.pf-page-discover .pf-home,
  body.home .pf-page-main.pf-home,
  body.front-page .pf-page-main.pf-home,
  body.pf-page-home .pf-page-main.pf-home,
  body.page-template-page-feed .pf-page-main.pf-home,
  body.pf-page-discover .pf-page-main.pf-home{
    padding-top:6px !important;
    padding-bottom:calc(86px + env(safe-area-inset-bottom, 0px)) !important;
  }
  body.home .pf-hero,
  body.front-page .pf-hero,
  body.pf-page-home .pf-hero,
  body.page-template-page-feed .pf-hero,
  body.pf-page-discover .pf-hero{
    padding:8px 12px 4px !important;
    margin:0 !important;
  }
  body.home .pf-title,
  body.front-page .pf-title,
  body.pf-page-home .pf-title,
  body.page-template-page-feed .pf-title,
  body.pf-page-discover .pf-title{
    margin:0 0 12px !important;
    font-size:clamp(34px, 10.5vw, 48px) !important;
    line-height:1 !important;
  }
  body.home .pf-bottom-tools,
  body.front-page .pf-bottom-tools,
  body.pf-page-home .pf-bottom-tools,
  body.page-template-page-feed .pf-bottom-tools,
  body.pf-page-discover .pf-bottom-tools{
    padding:0 12px 10px !important;
    gap:10px !important;
  }
  body.home .pf-bottom-tools .pf-btn,
  body.front-page .pf-bottom-tools .pf-btn,
  body.pf-page-home .pf-bottom-tools .pf-btn,
  body.page-template-page-feed .pf-bottom-tools .pf-btn,
  body.pf-page-discover .pf-bottom-tools .pf-btn{
    min-height:48px !important;
    padding:0 22px !important;
    font-size:20px !important;
    background:linear-gradient(180deg, rgba(255,255,255,.105), rgba(255,255,255,.045)) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 12px 24px rgba(0,0,0,.24) !important;
  }

  /* Make Discover cards bleed closer to the phone edges and reduce between-card gaps. */
  body.home .pf-discover-shell,
  body.front-page .pf-discover-shell,
  body.pf-page-home .pf-discover-shell,
  body.page-template-page-feed .pf-discover-shell,
  body.pf-page-discover .pf-discover-shell{
    padding:0 4px calc(86px + env(safe-area-inset-bottom, 0px)) !important;
    margin:0 !important;
    width:100% !important;
    max-width:100% !important;
  }
  body.home .pf-card-stack,
  body.front-page .pf-card-stack,
  body.pf-page-home .pf-card-stack,
  body.page-template-page-feed .pf-card-stack,
  body.pf-page-discover .pf-card-stack{
    max-width:none !important;
    width:100% !important;
    gap:10px !important;
    margin:0 auto !important;
  }
  body.home .pf-discover-card,
  body.front-page .pf-discover-card,
  body.pf-page-home .pf-discover-card,
  body.page-template-page-feed .pf-discover-card,
  body.pf-page-discover .pf-discover-card,
  .pf-discover-shell .pf-discover-card,
  .pf-discover .pf-discover-card{
    margin:0 0 10px !important;
    border-radius:18px !important;
    border-left-color:rgba(255,255,255,.10) !important;
    border-right-color:rgba(255,255,255,.10) !important;
  }

  /* Compact the card identity block so the media starts higher. */
  body.home .pf-card-top,
  body.front-page .pf-card-top,
  body.pf-page-home .pf-card-top,
  body.page-template-page-feed .pf-card-top,
  body.pf-page-discover .pf-card-top,
  .pf-discover-shell .pf-card-top,
  .pf-discover .pf-card-top{
    min-height:76px !important;
    padding:8px 10px 7px !important;
    gap:9px !important;
    border-radius:18px 18px 0 0 !important;
  }
  body.home .pf-card-top .pf-avatar,
  body.front-page .pf-card-top .pf-avatar,
  body.pf-page-home .pf-card-top .pf-avatar,
  body.page-template-page-feed .pf-card-top .pf-avatar,
  body.pf-page-discover .pf-card-top .pf-avatar,
  .pf-discover-shell .pf-card-top .pf-avatar,
  .pf-discover .pf-card-top .pf-avatar{
    width:50px !important;
    height:50px !important;
    min-width:50px !important;
    flex-basis:50px !important;
  }
  body.home .pf-card-name,
  body.front-page .pf-card-name,
  body.pf-page-home .pf-card-name,
  body.page-template-page-feed .pf-card-name,
  body.pf-page-discover .pf-card-name,
  .pf-discover-shell .pf-card-name,
  .pf-discover .pf-card-name{
    font-size:21px !important;
    line-height:1 !important;
    gap:6px !important;
  }
  body.home .pf-card-meta,
  body.front-page .pf-card-meta,
  body.pf-page-home .pf-card-meta,
  body.page-template-page-feed .pf-card-meta,
  body.pf-page-discover .pf-card-meta,
  .pf-discover-shell .pf-card-meta,
  .pf-discover .pf-card-meta{
    margin-top:4px !important;
    font-size:15px !important;
  }
  body.home .pf-card-tier-row,
  body.front-page .pf-card-tier-row,
  body.pf-page-home .pf-card-tier-row,
  body.page-template-page-feed .pf-card-tier-row,
  body.pf-page-discover .pf-card-tier-row,
  .pf-discover-shell .pf-card-tier-row,
  .pf-discover .pf-card-tier-row{
    margin-top:4px !important;
    gap:8px !important;
  }

  /* Media is wider and taller, with a slimmer action rail. */
  body.home .pf-media,
  body.front-page .pf-media,
  body.pf-page-home .pf-media,
  body.page-template-page-feed .pf-media,
  body.pf-page-discover .pf-media,
  .pf-discover-shell .pf-media,
  .pf-discover .pf-media{
    grid-template-columns:minmax(0, 1fr) 46px !important;
    height:clamp(500px, calc(100dvh - 204px), 680px) !important;
    min-height:500px !important;
    max-height:680px !important;
    border-radius:0 0 18px 18px !important;
  }
  body.home .pf-feed-carousel,
  body.home .pf-feed-carousel-track,
  body.home .pf-feed-media-slide,
  body.home .pf-photo-stage,
  body.home .pf-video-stage,
  body.home .pf-media-placeholder,
  body.front-page .pf-feed-carousel,
  body.front-page .pf-feed-carousel-track,
  body.front-page .pf-feed-media-slide,
  body.front-page .pf-photo-stage,
  body.front-page .pf-video-stage,
  body.front-page .pf-media-placeholder,
  body.pf-page-home .pf-feed-carousel,
  body.pf-page-home .pf-feed-carousel-track,
  body.pf-page-home .pf-feed-media-slide,
  body.pf-page-home .pf-photo-stage,
  body.pf-page-home .pf-video-stage,
  body.pf-page-home .pf-media-placeholder,
  .pf-discover-shell .pf-feed-carousel,
  .pf-discover-shell .pf-feed-carousel-track,
  .pf-discover-shell .pf-feed-media-slide,
  .pf-discover-shell .pf-photo-stage,
  .pf-discover-shell .pf-video-stage,
  .pf-discover-shell .pf-media-placeholder{
    border-radius:0 0 0 18px !important;
  }
  body.home .pf-card-action-rail,
  body.front-page .pf-card-action-rail,
  body.pf-page-home .pf-card-action-rail,
  body.page-template-page-feed .pf-card-action-rail,
  body.pf-page-discover .pf-card-action-rail,
  .pf-discover-shell .pf-card-action-rail,
  .pf-discover .pf-card-action-rail{
    width:46px !important;
    min-width:46px !important;
    padding:7px 4px !important;
    gap:7px !important;
    border-radius:0 0 18px 0 !important;
  }
  body.home .pf-post-action,
  body.home a.pf-post-action,
  body.front-page .pf-post-action,
  body.front-page a.pf-post-action,
  body.pf-page-home .pf-post-action,
  body.pf-page-home a.pf-post-action,
  .pf-discover-shell .pf-post-action,
  .pf-discover-shell a.pf-post-action{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
  }
  body.home .pf-post-action--scroll,
  body.front-page .pf-post-action--scroll,
  body.pf-page-home .pf-post-action--scroll,
  .pf-discover-shell .pf-post-action--scroll{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
  }

  /* Move menu and carousel controls into the tighter card geometry. */
  body.home .pf-post-options,
  body.front-page .pf-post-options,
  body.pf-page-home .pf-post-options,
  body.page-template-page-feed .pf-post-options,
  body.pf-page-discover .pf-post-options,
  .pf-discover-shell .pf-post-options,
  .pf-discover .pf-post-options{
    top:8px !important;
    right:50px !important;
  }
  body.home .pf-post-options-toggle,
  body.front-page .pf-post-options-toggle,
  body.pf-page-home .pf-post-options-toggle,
  .pf-discover-shell .pf-post-options-toggle{
    width:40px !important;
    height:40px !important;
  }
  body.home .pf-feed-carousel-count,
  body.front-page .pf-feed-carousel-count,
  body.pf-page-home .pf-feed-carousel-count,
  body.page-template-page-feed .pf-feed-carousel-count,
  body.pf-page-discover .pf-feed-carousel-count,
  .pf-discover-shell .pf-feed-carousel-count{
    top:10px !important;
    right:96px !important;
  }
  body.home .pf-feed-carousel-nav--prev,
  body.front-page .pf-feed-carousel-nav--prev,
  body.pf-page-home .pf-feed-carousel-nav--prev,
  .pf-discover-shell .pf-feed-carousel-nav--prev{
    left:14px !important;
  }
  body.home .pf-feed-carousel-nav--next,
  body.front-page .pf-feed-carousel-nav--next,
  body.pf-page-home .pf-feed-carousel-nav--next,
  .pf-discover-shell .pf-feed-carousel-nav--next{
    right:calc(46px + 8px) !important;
  }

  /* Mobile filter/sort drawers. They are hidden until the top buttons open them. */
  body.home .pf-panel[data-pf-panel="filters"],
  body.home .pf-panel[data-pf-panel="sort"],
  body.front-page .pf-panel[data-pf-panel="filters"],
  body.front-page .pf-panel[data-pf-panel="sort"],
  body.pf-page-home .pf-panel[data-pf-panel="filters"],
  body.pf-page-home .pf-panel[data-pf-panel="sort"],
  body.page-template-page-feed .pf-panel[data-pf-panel="filters"],
  body.page-template-page-feed .pf-panel[data-pf-panel="sort"],
  body.pf-page-discover .pf-panel[data-pf-panel="filters"],
  body.pf-page-discover .pf-panel[data-pf-panel="sort"]{
    display:none !important;
    position:fixed !important;
    left:10px !important;
    right:10px !important;
    top:calc(var(--ringa-topbar-h, 58px) + 10px) !important;
    z-index:1000002 !important;
    max-height:calc(100dvh - var(--ringa-topbar-h, 58px) - 28px) !important;
    overflow:auto !important;
    border-radius:24px !important;
    padding:18px !important;
    background:linear-gradient(180deg, rgba(31,11,47,.98), rgba(10,2,18,.98)) !important;
    border:1px solid rgba(255,255,255,.16) !important;
    box-shadow:0 24px 80px rgba(0,0,0,.55) !important;
    backdrop-filter:blur(24px) !important;
    -webkit-backdrop-filter:blur(24px) !important;
  }
  body.home .pf-panel[data-pf-panel="filters"].is-mobile-open,
  body.home .pf-panel[data-pf-panel="sort"].is-mobile-open,
  body.front-page .pf-panel[data-pf-panel="filters"].is-mobile-open,
  body.front-page .pf-panel[data-pf-panel="sort"].is-mobile-open,
  body.pf-page-home .pf-panel[data-pf-panel="filters"].is-mobile-open,
  body.pf-page-home .pf-panel[data-pf-panel="sort"].is-mobile-open,
  body.page-template-page-feed .pf-panel[data-pf-panel="filters"].is-mobile-open,
  body.page-template-page-feed .pf-panel[data-pf-panel="sort"].is-mobile-open,
  body.pf-page-discover .pf-panel[data-pf-panel="filters"].is-mobile-open,
  body.pf-page-discover .pf-panel[data-pf-panel="sort"].is-mobile-open{
    display:block !important;
  }
  body.pf-discover-tool-open::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:1000001;
    background:rgba(0,0,0,.48);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }

  /* Footer: lower profile, larger icons, shorter glass bar. */
  .ringa-bottom-nav{
    width:min(94vw, 620px) !important;
    max-width:min(94vw, 620px) !important;
    height:64px !important;
    min-height:64px !important;
    padding:0 22px calc(5px + env(safe-area-inset-bottom, 0px)) !important;
    border-radius:24px 24px 0 0 !important;
  }
  .ringa-bottom-nav .navitem{
    height:54px !important;
    min-height:54px !important;
  }
  .ringa-bottom-nav .pf-nav-icon svg,
  .ringa-bottom-nav .pf-nav-plus-icon svg{
    width:22px !important;
    height:22px !important;
    stroke-width:2.15 !important;
  }
  .ringa-bottom-nav .navitem.plus{
    width:62px !important;
    height:62px !important;
    min-width:62px !important;
    min-height:62px !important;
    transform:translateY(-7px) !important;
  }
  .ringa-bottom-nav .navitem.plus .pf-nav-plus-icon svg{
    width:30px !important;
    height:30px !important;
  }
  .ringa-bottom-nav a.is-active::after{
    bottom:6px !important;
    height:3px !important;
    left:30% !important;
    right:30% !important;
    background:linear-gradient(90deg, var(--pf-pink, #f044ba), var(--pf-purple, #9b4dff)) !important;
  }
}

@media (max-width: 390px){
  body.home .pf-media,
  body.front-page .pf-media,
  body.pf-page-home .pf-media,
  body.page-template-page-feed .pf-media,
  body.pf-page-discover .pf-media,
  .pf-discover-shell .pf-media{
    grid-template-columns:minmax(0, 1fr) 44px !important;
    min-height:490px !important;
    height:clamp(490px, calc(100dvh - 198px), 650px) !important;
  }
  body.home .pf-card-action-rail,
  body.front-page .pf-card-action-rail,
  body.pf-page-home .pf-card-action-rail,
  .pf-discover-shell .pf-card-action-rail{
    width:44px !important;
    min-width:44px !important;
    padding-inline:3px !important;
  }
  body.home .pf-feed-carousel-nav--next,
  body.front-page .pf-feed-carousel-nav--next,
  body.pf-page-home .pf-feed-carousel-nav--next,
  .pf-discover-shell .pf-feed-carousel-nav--next{
    right:calc(44px + 7px) !important;
  }
  body.home .pf-post-options,
  body.front-page .pf-post-options,
  body.pf-page-home .pf-post-options,
  .pf-discover-shell .pf-post-options{
    right:48px !important;
  }
}


/* ==========================================================
   PassionFairy v0.2.33: mobile Discover alignment + themed top icons
   - Keeps desktop layout structure locked, but themes the notification/search
     buttons on both desktop and mobile.
   - Mobile-only Discover fixes from the marked screenshot:
     footer spans full phone width, post menu moves into the right rail,
     carousel arrows are smaller, and next arrow sits closer to the rail.
   ========================================================== */
.ringa-top-actions .pf-top-notification-link,
.ringa-top-actions .ringa-search-toggle{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  padding:0 !important;
  border-radius:999px !important;
  color:rgba(255,245,255,.94) !important;
  background:
    radial-gradient(circle at 32% 20%, rgba(255,255,255,.16), transparent 30%),
    linear-gradient(180deg, rgba(75,38,97,.62), rgba(12,5,22,.84)) !important;
  border:1px solid rgba(255,255,255,.13) !important;
  box-shadow:0 14px 34px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.10) !important;
  backdrop-filter:blur(16px) !important;
  -webkit-backdrop-filter:blur(16px) !important;
  text-decoration:none !important;
}
.ringa-top-actions .pf-top-notification-link:hover,
.ringa-top-actions .ringa-search-toggle:hover{
  background:
    radial-gradient(circle at 32% 20%, rgba(255,255,255,.18), transparent 32%),
    linear-gradient(135deg, rgba(240,68,186,.35), rgba(155,77,255,.34)) !important;
}
.pf-top-icon{
  width:22px !important;
  height:22px !important;
  display:block !important;
  color:currentColor !important;
  filter:drop-shadow(0 6px 12px rgba(0,0,0,.35)) !important;
}
.pf-top-icon svg{
  width:100% !important;
  height:100% !important;
  display:block !important;
}
.pf-top-icon--bell{
  color:#ffd36b !important;
}
.pf-top-icon--search{
  color:#d8cfff !important;
}
.ringa-top-actions .pf-nav-badge,
.ringa-top-actions .pf-top-notification-link .pf-nav-badge{
  position:absolute !important;
  top:-5px !important;
  right:-5px !important;
  min-width:22px !important;
  height:22px !important;
  padding:0 6px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:950 !important;
  color:#fff !important;
  background:linear-gradient(135deg, var(--pf-pink, #f044ba), var(--pf-purple, #9b4dff)) !important;
  border:1px solid rgba(255,255,255,.30) !important;
  box-shadow:0 8px 18px rgba(208,57,224,.38) !important;
}

@media (max-width: 900px){
  body.home .pf-home,
  body.front-page .pf-home,
  body.pf-page-home .pf-home,
  body.page-template-page-feed .pf-home,
  body.pf-page-discover .pf-home,
  body.home .pf-page-main.pf-home,
  body.front-page .pf-page-main.pf-home,
  body.pf-page-home .pf-page-main.pf-home,
  body.page-template-page-feed .pf-page-main.pf-home,
  body.pf-page-discover .pf-page-main.pf-home{
    padding-top:0 !important;
  }
  body.home .pf-hero,
  body.front-page .pf-hero,
  body.pf-page-home .pf-hero,
  body.page-template-page-feed .pf-hero,
  body.pf-page-discover .pf-hero{
    padding-top:4px !important;
    padding-bottom:2px !important;
  }
  body.home .pf-bottom-tools,
  body.front-page .pf-bottom-tools,
  body.pf-page-home .pf-bottom-tools,
  body.page-template-page-feed .pf-bottom-tools,
  body.pf-page-discover .pf-bottom-tools{
    padding-bottom:6px !important;
  }

  /* Full-width mobile footer: no side gutters, shorter glass, clearer icons. */
  .ringa-bottom-nav{
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100vw !important;
    max-width:100vw !important;
    min-width:100vw !important;
    height:60px !important;
    min-height:60px !important;
    margin:0 !important;
    transform:none !important;
    padding:0 20px calc(4px + env(safe-area-inset-bottom, 0px)) !important;
    border-radius:24px 24px 0 0 !important;
    background:rgba(6,2,12,.91) !important;
    border-top:1px solid rgba(255,255,255,.10) !important;
    box-shadow:0 -18px 55px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.06) !important;
  }
  .ringa-bottom-nav .navitem{
    height:52px !important;
    min-height:52px !important;
  }
  .ringa-bottom-nav .pf-nav-icon svg{
    width:24px !important;
    height:24px !important;
    stroke-width:2.2 !important;
  }
  .ringa-bottom-nav .navitem.plus{
    width:62px !important;
    height:62px !important;
    min-width:62px !important;
    min-height:62px !important;
    transform:translateY(-8px) !important;
    box-shadow:0 14px 34px rgba(195,69,244,.36) !important;
  }

  /* Put the three-dot menu in the rail, at position B from the marked screenshot. */
  body.home .pf-post-options,
  body.front-page .pf-post-options,
  body.pf-page-home .pf-post-options,
  body.page-template-page-feed .pf-post-options,
  body.pf-page-discover .pf-post-options,
  .pf-discover-shell .pf-post-options,
  .pf-discover .pf-post-options{
    top:10px !important;
    right:4px !important;
    z-index:18 !important;
  }
  body.home .pf-post-options-toggle,
  body.front-page .pf-post-options-toggle,
  body.pf-page-home .pf-post-options-toggle,
  body.page-template-page-feed .pf-post-options-toggle,
  body.pf-page-discover .pf-post-options-toggle,
  .pf-discover-shell .pf-post-options-toggle,
  .pf-discover .pf-post-options-toggle{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
    border-radius:999px !important;
  }

  /* Smaller carousel arrows. Next sits closer to the right/action rail at position A. */
  body.home .pf-feed-carousel-nav,
  body.front-page .pf-feed-carousel-nav,
  body.pf-page-home .pf-feed-carousel-nav,
  body.page-template-page-feed .pf-feed-carousel-nav,
  body.pf-page-discover .pf-feed-carousel-nav,
  .pf-discover-shell .pf-feed-carousel-nav,
  .pf-discover .pf-feed-carousel-nav{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
    font-size:25px !important;
    border-radius:999px !important;
    background:rgba(13,6,20,.74) !important;
    box-shadow:0 10px 24px rgba(0,0,0,.32) !important;
  }
  body.home .pf-feed-carousel-nav--prev,
  body.front-page .pf-feed-carousel-nav--prev,
  body.pf-page-home .pf-feed-carousel-nav--prev,
  body.page-template-page-feed .pf-feed-carousel-nav--prev,
  body.pf-page-discover .pf-feed-carousel-nav--prev,
  .pf-discover-shell .pf-feed-carousel-nav--prev,
  .pf-discover .pf-feed-carousel-nav--prev{
    left:8px !important;
  }
  body.home .pf-feed-carousel-nav--next,
  body.front-page .pf-feed-carousel-nav--next,
  body.pf-page-home .pf-feed-carousel-nav--next,
  body.page-template-page-feed .pf-feed-carousel-nav--next,
  body.pf-page-discover .pf-feed-carousel-nav--next,
  .pf-discover-shell .pf-feed-carousel-nav--next,
  .pf-discover .pf-feed-carousel-nav--next{
    right:calc(46px + 2px) !important;
  }
  body.home .pf-feed-carousel-count,
  body.front-page .pf-feed-carousel-count,
  body.pf-page-home .pf-feed-carousel-count,
  body.page-template-page-feed .pf-feed-carousel-count,
  body.pf-page-discover .pf-feed-carousel-count,
  .pf-discover-shell .pf-feed-carousel-count,
  .pf-discover .pf-feed-carousel-count{
    right:calc(46px + 44px) !important;
  }

  /* Slightly reduce vertical air between cards now that the footer is shorter. */
  body.home .pf-card-stack,
  body.front-page .pf-card-stack,
  body.pf-page-home .pf-card-stack,
  body.page-template-page-feed .pf-card-stack,
  body.pf-page-discover .pf-card-stack{
    gap:8px !important;
  }
  body.home .pf-discover-card,
  body.front-page .pf-discover-card,
  body.pf-page-home .pf-discover-card,
  body.page-template-page-feed .pf-discover-card,
  body.pf-page-discover .pf-discover-card,
  .pf-discover-shell .pf-discover-card,
  .pf-discover .pf-discover-card{
    margin-bottom:8px !important;
  }
}

@media (max-width: 390px){
  body.home .pf-feed-carousel-nav--next,
  body.front-page .pf-feed-carousel-nav--next,
  body.pf-page-home .pf-feed-carousel-nav--next,
  body.page-template-page-feed .pf-feed-carousel-nav--next,
  body.pf-page-discover .pf-feed-carousel-nav--next,
  .pf-discover-shell .pf-feed-carousel-nav--next,
  .pf-discover .pf-feed-carousel-nav--next{
    right:calc(44px + 2px) !important;
  }
  body.home .pf-feed-carousel-count,
  body.front-page .pf-feed-carousel-count,
  body.pf-page-home .pf-feed-carousel-count,
  body.page-template-page-feed .pf-feed-carousel-count,
  body.pf-page-discover .pf-feed-carousel-count,
  .pf-discover-shell .pf-feed-carousel-count,
  .pf-discover .pf-feed-carousel-count{
    right:calc(44px + 42px) !important;
  }
  body.home .pf-post-options,
  body.front-page .pf-post-options,
  body.pf-page-home .pf-post-options,
  body.page-template-page-feed .pf-post-options,
  body.pf-page-discover .pf-post-options,
  .pf-discover-shell .pf-post-options,
  .pf-discover .pf-post-options{
    right:3px !important;
  }
}


/* ==========================================================
   PassionFairy v0.2.34: mobile Discover precision polish
   - Mobile-only geometry tweaks from the marked v0.2.33 screenshot.
   - Desktop layout remains protected.
   - Moves count/next arrow right, aligns the three-dot menu with the action rail,
     makes the plus button smaller, and reinforces full-width footer + themed top icons.
   ========================================================== */

/* Stronger themed notification/search buttons on both desktop and mobile. */
.ringa-topbar .ringa-top-actions > .pf-top-notification-link,
.ringa-topbar .ringa-top-actions > .ringa-search-toggle{
  appearance:none !important;
  -webkit-appearance:none !important;
  position:relative !important;
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  color:#fff !important;
  text-decoration:none !important;
  background:
    radial-gradient(circle at 32% 22%, rgba(255,255,255,.22), transparent 31%),
    linear-gradient(145deg, rgba(240,68,186,.22), rgba(155,77,255,.18) 42%, rgba(8,3,17,.88)) !important;
  border:1px solid rgba(255,255,255,.17) !important;
  box-shadow:0 14px 36px rgba(0,0,0,.40), inset 0 1px 0 rgba(255,255,255,.12) !important;
  backdrop-filter:blur(18px) saturate(1.12) !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.12) !important;
}
.ringa-topbar .ringa-top-actions > .pf-top-notification-link .pf-top-icon,
.ringa-topbar .ringa-top-actions > .ringa-search-toggle .pf-top-icon{
  width:23px !important;
  height:23px !important;
  color:#f5e9ff !important;
  filter:drop-shadow(0 7px 14px rgba(0,0,0,.42)) !important;
}
.ringa-topbar .ringa-top-actions > .pf-top-notification-link .pf-top-icon--bell{
  color:#ffcf73 !important;
}
.ringa-topbar .ringa-top-actions > .ringa-search-toggle .pf-top-icon--search{
  color:#dfd2ff !important;
}
.ringa-topbar .ringa-top-actions > .pf-top-notification-link:hover,
.ringa-topbar .ringa-top-actions > .ringa-search-toggle:hover{
  background:
    radial-gradient(circle at 32% 22%, rgba(255,255,255,.25), transparent 32%),
    linear-gradient(145deg, rgba(240,68,186,.35), rgba(155,77,255,.28) 48%, rgba(8,3,17,.88)) !important;
}

@media (max-width: 900px){
  :root{
    --pf-v234-rail-w: 46px;
    --pf-v234-action-size: 38px;
  }

  /* Footer must span the physical phone viewport. Plus button is smaller and sits inside the bar. */
  html body .ringa-bottom-nav,
  html body .pf-bottom-nav{
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100vw !important;
    width:100dvw !important;
    min-width:100vw !important;
    max-width:100vw !important;
    margin:0 !important;
    transform:none !important;
    height:58px !important;
    min-height:58px !important;
    padding:0 22px calc(3px + env(safe-area-inset-bottom, 0px)) !important;
    border-radius:22px 22px 0 0 !important;
    box-sizing:border-box !important;
  }
  html body .ringa-bottom-nav .navitem{
    height:50px !important;
    min-height:50px !important;
  }
  html body .ringa-bottom-nav .pf-nav-icon svg{
    width:25px !important;
    height:25px !important;
    stroke-width:2.15 !important;
  }
  html body .ringa-bottom-nav .navitem.plus,
  html body .ringa-bottom-nav a.navitem.plus{
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    min-height:54px !important;
    transform:translateY(-4px) !important;
    border-radius:999px !important;
    box-shadow:0 10px 26px rgba(195,69,244,.34), inset 0 1px 0 rgba(255,255,255,.16) !important;
  }
  html body .ringa-bottom-nav .navitem.plus .pf-nav-plus-icon svg{
    width:28px !important;
    height:28px !important;
  }
  html body .ringa-bottom-nav a.is-active::after{
    bottom:5px !important;
  }

  /* Keep the action rail slim and use a shared rail width for controls. */
  body.home .pf-media,
  body.front-page .pf-media,
  body.pf-page-home .pf-media,
  body.page-template-page-feed .pf-media,
  body.pf-page-discover .pf-media,
  .pf-discover-shell .pf-media,
  .pf-discover .pf-media{
    grid-template-columns:minmax(0, 1fr) var(--pf-v234-rail-w) !important;
  }
  body.home .pf-card-action-rail,
  body.front-page .pf-card-action-rail,
  body.pf-page-home .pf-card-action-rail,
  body.page-template-page-feed .pf-card-action-rail,
  body.pf-page-discover .pf-card-action-rail,
  .pf-discover-shell .pf-card-action-rail,
  .pf-discover .pf-card-action-rail{
    width:var(--pf-v234-rail-w) !important;
    min-width:var(--pf-v234-rail-w) !important;
    padding-inline:4px !important;
    align-items:center !important;
  }
  body.home .pf-post-action,
  body.front-page .pf-post-action,
  body.pf-page-home .pf-post-action,
  body.page-template-page-feed .pf-post-action,
  body.pf-page-discover .pf-post-action,
  .pf-discover-shell .pf-post-action,
  .pf-discover .pf-post-action{
    width:var(--pf-v234-action-size) !important;
    height:var(--pf-v234-action-size) !important;
    min-width:var(--pf-v234-action-size) !important;
    min-height:var(--pf-v234-action-size) !important;
  }

  /* Three-dot menu: center it on the same vertical line as the rail buttons. */
  body.home .pf-post-options,
  body.front-page .pf-post-options,
  body.pf-page-home .pf-post-options,
  body.page-template-page-feed .pf-post-options,
  body.pf-page-discover .pf-post-options,
  .pf-discover-shell .pf-post-options,
  .pf-discover .pf-post-options{
    top:9px !important;
    right:calc((var(--pf-v234-rail-w) - var(--pf-v234-action-size)) / 2) !important;
    z-index:24 !important;
  }
  body.home .pf-post-options-toggle,
  body.front-page .pf-post-options-toggle,
  body.pf-page-home .pf-post-options-toggle,
  body.page-template-page-feed .pf-post-options-toggle,
  body.pf-page-discover .pf-post-options-toggle,
  .pf-discover-shell .pf-post-options-toggle,
  .pf-discover .pf-post-options-toggle{
    width:var(--pf-v234-action-size) !important;
    height:var(--pf-v234-action-size) !important;
    min-width:var(--pf-v234-action-size) !important;
    min-height:var(--pf-v234-action-size) !important;
  }

  /* Move the carousel count horizontally right toward the three-dot/rail area. */
  body.home .pf-feed-carousel-count,
  body.front-page .pf-feed-carousel-count,
  body.pf-page-home .pf-feed-carousel-count,
  body.page-template-page-feed .pf-feed-carousel-count,
  body.pf-page-discover .pf-feed-carousel-count,
  .pf-discover-shell .pf-feed-carousel-count,
  .pf-discover .pf-feed-carousel-count{
    top:12px !important;
    right:calc(var(--pf-v234-rail-w) + 8px) !important;
  }

  /* Carousel arrows: smaller and shifted right, but still inside the photo area. */
  body.home .pf-feed-carousel-nav,
  body.front-page .pf-feed-carousel-nav,
  body.pf-page-home .pf-feed-carousel-nav,
  body.page-template-page-feed .pf-feed-carousel-nav,
  body.pf-page-discover .pf-feed-carousel-nav,
  .pf-discover-shell .pf-feed-carousel-nav,
  .pf-discover .pf-feed-carousel-nav{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    min-height:32px !important;
    font-size:23px !important;
  }
  body.home .pf-feed-carousel-nav--next,
  body.front-page .pf-feed-carousel-nav--next,
  body.pf-page-home .pf-feed-carousel-nav--next,
  body.page-template-page-feed .pf-feed-carousel-nav--next,
  body.pf-page-discover .pf-feed-carousel-nav--next,
  .pf-discover-shell .pf-feed-carousel-nav--next,
  .pf-discover .pf-feed-carousel-nav--next{
    right:calc(var(--pf-v234-rail-w) - 16px) !important;
  }
  body.home .pf-feed-carousel-nav--prev,
  body.front-page .pf-feed-carousel-nav--prev,
  body.pf-page-home .pf-feed-carousel-nav--prev,
  body.page-template-page-feed .pf-feed-carousel-nav--prev,
  body.pf-page-discover .pf-feed-carousel-nav--prev,
  .pf-discover-shell .pf-feed-carousel-nav--prev,
  .pf-discover .pf-feed-carousel-nav--prev{
    left:10px !important;
  }
}

@media (max-width: 390px){
  :root{
    --pf-v234-rail-w:44px;
    --pf-v234-action-size:37px;
  }
  body.home .pf-feed-carousel-count,
  body.front-page .pf-feed-carousel-count,
  body.pf-page-home .pf-feed-carousel-count,
  body.page-template-page-feed .pf-feed-carousel-count,
  body.pf-page-discover .pf-feed-carousel-count,
  .pf-discover-shell .pf-feed-carousel-count,
  .pf-discover .pf-feed-carousel-count{
    right:calc(var(--pf-v234-rail-w) + 7px) !important;
  }
  body.home .pf-feed-carousel-nav--next,
  body.front-page .pf-feed-carousel-nav--next,
  body.pf-page-home .pf-feed-carousel-nav--next,
  body.page-template-page-feed .pf-feed-carousel-nav--next,
  body.pf-page-discover .pf-feed-carousel-nav--next,
  .pf-discover-shell .pf-feed-carousel-nav--next,
  .pf-discover .pf-feed-carousel-nav--next{
    right:calc(var(--pf-v234-rail-w) - 15px) !important;
  }
}
/* END PassionFairy v0.2.34 */

/* ==========================================================
   PassionFairy v0.2.35: mobile Discover precision polish 2
   - Mobile-only geometry from the latest marked screenshot.
   - Sort/Filter buttons get true theme SVG icons.
   - Count and right arrow move closer to the right/media edge.
   - Three-dot menu is forced onto the same vertical center line as the rail.
   - Plus footer button is smaller and sits inside the footer glass.
   ========================================================== */
@media (max-width: 900px){
  :root{
    --pf-v235-rail-w:44px;
    --pf-v235-action-size:37px;
    --pf-v235-arrow-size:30px;
  }

  /* Mobile filter/sort tool buttons: remove default-looking emoji and use themed SVG pills. */
  body.home .pf-bottom-tools,
  body.front-page .pf-bottom-tools,
  body.pf-page-home .pf-bottom-tools,
  body.page-template-page-feed .pf-bottom-tools,
  body.pf-page-discover .pf-bottom-tools{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:10px !important;
  }
  body.home .pf-bottom-tools .pf-mobile-tool-btn,
  body.front-page .pf-bottom-tools .pf-mobile-tool-btn,
  body.pf-page-home .pf-bottom-tools .pf-mobile-tool-btn,
  body.page-template-page-feed .pf-bottom-tools .pf-mobile-tool-btn,
  body.pf-page-discover .pf-bottom-tools .pf-mobile-tool-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:9px !important;
    min-height:46px !important;
    height:46px !important;
    padding:0 22px !important;
    border-radius:999px !important;
    font-size:20px !important;
    font-weight:950 !important;
    letter-spacing:-.03em !important;
    color:#fff !important;
    background:
      radial-gradient(circle at 28% 18%, rgba(255,255,255,.16), transparent 32%),
      linear-gradient(145deg, rgba(255,255,255,.095), rgba(255,255,255,.035)) !important;
    border:1px solid rgba(255,255,255,.15) !important;
    box-shadow:0 12px 24px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.10) !important;
    backdrop-filter:blur(16px) saturate(1.12) !important;
    -webkit-backdrop-filter:blur(16px) saturate(1.12) !important;
  }
  body.home .pf-bottom-tools .pf-mobile-tool-icon,
  body.front-page .pf-bottom-tools .pf-mobile-tool-icon,
  body.pf-page-home .pf-bottom-tools .pf-mobile-tool-icon,
  body.page-template-page-feed .pf-bottom-tools .pf-mobile-tool-icon,
  body.pf-page-discover .pf-bottom-tools .pf-mobile-tool-icon{
    width:22px !important;
    height:22px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:#f6ecff !important;
    filter:drop-shadow(0 6px 12px rgba(0,0,0,.32)) !important;
  }
  body.home .pf-bottom-tools .pf-mobile-tool-icon svg,
  body.front-page .pf-bottom-tools .pf-mobile-tool-icon svg,
  body.pf-page-home .pf-bottom-tools .pf-mobile-tool-icon svg,
  body.page-template-page-feed .pf-bottom-tools .pf-mobile-tool-icon svg,
  body.pf-page-discover .pf-bottom-tools .pf-mobile-tool-icon svg{
    width:100% !important;
    height:100% !important;
    display:block !important;
  }
  body.home .pf-bottom-tools .pf-mobile-tool-btn--sort .pf-mobile-tool-icon,
  body.front-page .pf-bottom-tools .pf-mobile-tool-btn--sort .pf-mobile-tool-icon,
  body.pf-page-home .pf-bottom-tools .pf-mobile-tool-btn--sort .pf-mobile-tool-icon,
  body.page-template-page-feed .pf-bottom-tools .pf-mobile-tool-btn--sort .pf-mobile-tool-icon,
  body.pf-page-discover .pf-bottom-tools .pf-mobile-tool-btn--sort .pf-mobile-tool-icon{
    color:#9ee8ff !important;
  }

  /* Keep rail dimensions exact, then align every floating control to those dimensions. */
  body.home .pf-media,
  body.front-page .pf-media,
  body.pf-page-home .pf-media,
  body.page-template-page-feed .pf-media,
  body.pf-page-discover .pf-media,
  .pf-discover-shell .pf-media,
  .pf-discover .pf-media{
    grid-template-columns:minmax(0, 1fr) var(--pf-v235-rail-w) !important;
  }
  body.home .pf-card-action-rail,
  body.front-page .pf-card-action-rail,
  body.pf-page-home .pf-card-action-rail,
  body.page-template-page-feed .pf-card-action-rail,
  body.pf-page-discover .pf-card-action-rail,
  .pf-discover-shell .pf-card-action-rail,
  .pf-discover .pf-card-action-rail{
    width:var(--pf-v235-rail-w) !important;
    min-width:var(--pf-v235-rail-w) !important;
    padding-inline:3px !important;
    align-items:center !important;
  }
  body.home .pf-post-action,
  body.front-page .pf-post-action,
  body.pf-page-home .pf-post-action,
  body.page-template-page-feed .pf-post-action,
  body.pf-page-discover .pf-post-action,
  .pf-discover-shell .pf-post-action,
  .pf-discover .pf-post-action{
    width:var(--pf-v235-action-size) !important;
    height:var(--pf-v235-action-size) !important;
    min-width:var(--pf-v235-action-size) !important;
    min-height:var(--pf-v235-action-size) !important;
  }

  /* Three-dot button: same center line as the rail buttons on the right edge. */
  body.home .pf-post-options,
  body.front-page .pf-post-options,
  body.pf-page-home .pf-post-options,
  body.page-template-page-feed .pf-post-options,
  body.pf-page-discover .pf-post-options,
  .pf-discover-shell .pf-post-options,
  .pf-discover .pf-post-options{
    top:10px !important;
    right:calc((var(--pf-v235-rail-w) - var(--pf-v235-action-size)) / 2) !important;
    width:var(--pf-v235-action-size) !important;
    height:var(--pf-v235-action-size) !important;
    left:auto !important;
    z-index:28 !important;
  }
  body.home .pf-post-options-toggle,
  body.front-page .pf-post-options-toggle,
  body.pf-page-home .pf-post-options-toggle,
  body.page-template-page-feed .pf-post-options-toggle,
  body.pf-page-discover .pf-post-options-toggle,
  .pf-discover-shell .pf-post-options-toggle,
  .pf-discover .pf-post-options-toggle{
    width:var(--pf-v235-action-size) !important;
    height:var(--pf-v235-action-size) !important;
    min-width:var(--pf-v235-action-size) !important;
    min-height:var(--pf-v235-action-size) !important;
  }

  /* Move carousel counter right, closer to the pink-dot area. */
  body.home .pf-feed-carousel-count,
  body.front-page .pf-feed-carousel-count,
  body.pf-page-home .pf-feed-carousel-count,
  body.page-template-page-feed .pf-feed-carousel-count,
  body.pf-page-discover .pf-feed-carousel-count,
  .pf-discover-shell .pf-feed-carousel-count,
  .pf-discover .pf-feed-carousel-count{
    top:12px !important;
    right:12px !important;
    transform:none !important;
    z-index:21 !important;
    min-height:32px !important;
    padding:0 13px !important;
    font-size:14px !important;
  }

  /* Carousel arrows: smaller. Right arrow moves closer to the green-dot/right edge. */
  body.home .pf-feed-carousel-nav,
  body.front-page .pf-feed-carousel-nav,
  body.pf-page-home .pf-feed-carousel-nav,
  body.page-template-page-feed .pf-feed-carousel-nav,
  body.pf-page-discover .pf-feed-carousel-nav,
  .pf-discover-shell .pf-feed-carousel-nav,
  .pf-discover .pf-feed-carousel-nav{
    width:var(--pf-v235-arrow-size) !important;
    height:var(--pf-v235-arrow-size) !important;
    min-width:var(--pf-v235-arrow-size) !important;
    min-height:var(--pf-v235-arrow-size) !important;
    font-size:22px !important;
  }
  body.home .pf-feed-carousel-nav--next,
  body.front-page .pf-feed-carousel-nav--next,
  body.pf-page-home .pf-feed-carousel-nav--next,
  body.page-template-page-feed .pf-feed-carousel-nav--next,
  body.pf-page-discover .pf-feed-carousel-nav--next,
  .pf-discover-shell .pf-feed-carousel-nav--next,
  .pf-discover .pf-feed-carousel-nav--next{
    right:8px !important;
  }
  body.home .pf-feed-carousel-nav--prev,
  body.front-page .pf-feed-carousel-nav--prev,
  body.pf-page-home .pf-feed-carousel-nav--prev,
  body.page-template-page-feed .pf-feed-carousel-nav--prev,
  body.pf-page-discover .pf-feed-carousel-nav--prev,
  .pf-discover-shell .pf-feed-carousel-nav--prev,
  .pf-discover .pf-feed-carousel-nav--prev{
    left:8px !important;
  }

  /* Bottom nav: full screen width, but the plus button is smaller and sits inside the glass. */
  html body .ringa-bottom-nav,
  html body .pf-bottom-nav{
    left:0 !important;
    right:0 !important;
    width:100vw !important;
    width:100dvw !important;
    min-width:100vw !important;
    max-width:100vw !important;
    height:56px !important;
    min-height:56px !important;
    padding:0 22px calc(3px + env(safe-area-inset-bottom, 0px)) !important;
    border-radius:20px 20px 0 0 !important;
  }
  html body .ringa-bottom-nav .navitem.plus,
  html body .ringa-bottom-nav a.navitem.plus{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
    transform:translateY(-1px) !important;
    box-shadow:0 9px 22px rgba(195,69,244,.30), inset 0 1px 0 rgba(255,255,255,.16) !important;
  }
  html body .ringa-bottom-nav .navitem.plus .pf-nav-plus-icon svg{
    width:24px !important;
    height:24px !important;
  }
}

@media (max-width: 390px){
  :root{
    --pf-v235-rail-w:42px;
    --pf-v235-action-size:36px;
    --pf-v235-arrow-size:29px;
  }
  body.home .pf-feed-carousel-count,
  body.front-page .pf-feed-carousel-count,
  body.pf-page-home .pf-feed-carousel-count,
  body.page-template-page-feed .pf-feed-carousel-count,
  body.pf-page-discover .pf-feed-carousel-count,
  .pf-discover-shell .pf-feed-carousel-count,
  .pf-discover .pf-feed-carousel-count{
    right:10px !important;
  }
  body.home .pf-feed-carousel-nav--next,
  body.front-page .pf-feed-carousel-nav--next,
  body.pf-page-home .pf-feed-carousel-nav--next,
  body.page-template-page-feed .pf-feed-carousel-nav--next,
  body.pf-page-discover .pf-feed-carousel-nav--next,
  .pf-discover-shell .pf-feed-carousel-nav--next,
  .pf-discover .pf-feed-carousel-nav--next{
    right:7px !important;
  }
}
/* END PassionFairy v0.2.35 */

/* ==========================================================
   PassionFairy v0.2.36: mobile carousel counter refinement
   - Keeps the locked v0.2.35 mobile Discover layout.
   - Makes the carousel count pill more compact and centered.
   - Removes the extra empty bottom space inside the 1 / 6 badge.
   - Leaves desktop protected.
   ========================================================== */
@media (max-width: 900px){
  body.home .pf-feed-carousel-count,
  body.front-page .pf-feed-carousel-count,
  body.pf-page-home .pf-feed-carousel-count,
  body.page-template-page-feed .pf-feed-carousel-count,
  body.pf-page-discover .pf-feed-carousel-count,
  .pf-discover-shell .pf-feed-carousel-count,
  .pf-discover .pf-feed-carousel-count{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:3px !important;
    box-sizing:border-box !important;
    height:30px !important;
    min-height:30px !important;
    max-height:30px !important;
    padding:0 12px !important;
    line-height:1 !important;
    font-size:14px !important;
    font-weight:950 !important;
    letter-spacing:.01em !important;
    border-radius:999px !important;
    color:#fff !important;
    background:
      radial-gradient(circle at 28% 18%, rgba(255,255,255,.16), transparent 34%),
      linear-gradient(145deg, rgba(58,50,66,.94), rgba(39,32,49,.90)) !important;
    border:1px solid rgba(255,255,255,.16) !important;
    box-shadow:0 10px 22px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.12) !important;
    text-shadow:0 1px 2px rgba(0,0,0,.55) !important;
    backdrop-filter:blur(14px) saturate(1.10) !important;
    -webkit-backdrop-filter:blur(14px) saturate(1.10) !important;
  }
  body.home .pf-feed-carousel-count *,
  body.front-page .pf-feed-carousel-count *,
  body.pf-page-home .pf-feed-carousel-count *,
  body.page-template-page-feed .pf-feed-carousel-count *,
  body.pf-page-discover .pf-feed-carousel-count *,
  .pf-discover-shell .pf-feed-carousel-count *,
  .pf-discover .pf-feed-carousel-count *{
    line-height:1 !important;
    margin:0 !important;
    padding:0 !important;
  }
}
@media (max-width: 390px){
  body.home .pf-feed-carousel-count,
  body.front-page .pf-feed-carousel-count,
  body.pf-page-home .pf-feed-carousel-count,
  body.page-template-page-feed .pf-feed-carousel-count,
  body.pf-page-discover .pf-feed-carousel-count,
  .pf-discover-shell .pf-feed-carousel-count,
  .pf-discover .pf-feed-carousel-count{
    height:29px !important;
    min-height:29px !important;
    max-height:29px !important;
    padding:0 11px !important;
    font-size:13.5px !important;
  }
}
/* END PassionFairy v0.2.36 */


/* ==========================================================
   PassionFairy v0.2.37: Mobile Inbox list-first flow
   Desktop stays unchanged. On phones, the Inbox opens as a clean
   conversation list. Tapping a person opens that chat thread as the main view.
   ========================================================== */
.pf-chat-back-link{
  display:none;
}
@media (max-width: 740px){
  main.ringa-content.pf-inbox-page{
    padding-left:12px !important;
    padding-right:12px !important;
    padding-bottom:calc(128px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .pf-inbox-page .pf-hero{
    margin-left:0 !important;
    margin-right:0 !important;
  }
  .pf-inbox-page .pf-inbox-panel,
  .pf-inbox-page .pf-chat-panel{
    padding:18px 14px calc(112px + env(safe-area-inset-bottom, 0px)) !important;
    border-radius:26px !important;
  }
  .pf-inbox-page .pf-section-head{
    display:flex !important;
    flex-direction:column !important;
    gap:14px !important;
  }
  .pf-inbox-page .pf-section-head .pf-btn{
    width:100% !important;
    justify-content:center !important;
    min-height:52px !important;
  }
  .pf-chat-layout{
    display:block !important;
  }

  /* Default mobile inbox: show only people/conversations. */
  .pf-chat-layout--thread-list .pf-chat-threads{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    overflow:visible !important;
    padding:0 !important;
    margin:0 !important;
  }
  .pf-chat-layout--thread-list .pf-thread-card,
  .pf-chat-layout--thread-list .pf-match-thread-card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:108px !important;
    display:grid !important;
    grid-template-columns:72px minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:14px !important;
    padding:16px !important;
    border-radius:24px !important;
    background:linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.035)) !important;
    border:1px solid rgba(255,255,255,.12) !important;
    box-shadow:0 18px 46px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.08) !important;
  }
  .pf-chat-layout--thread-list .pf-thread-card.is-active,
  .pf-chat-layout--thread-list .pf-match-thread-card.is-active{
    border-color:rgba(255,68,197,.55) !important;
    box-shadow:0 18px 50px rgba(255,68,197,.16), inset 0 1px 0 rgba(255,255,255,.10) !important;
  }
  .pf-chat-layout--thread-list .pf-thread-card img,
  .pf-chat-layout--thread-list .pf-match-thread-card img{
    width:72px !important;
    height:72px !important;
    border-radius:50% !important;
    object-fit:cover !important;
  }
  .pf-chat-layout--thread-list .pf-thread-card strong,
  .pf-chat-layout--thread-list .pf-match-thread-card strong{
    display:block !important;
    font-size:24px !important;
    line-height:1.05 !important;
    color:#fff !important;
  }
  .pf-chat-layout--thread-list .pf-thread-card small,
  .pf-chat-layout--thread-list .pf-match-thread-card small{
    display:block !important;
    margin-top:6px !important;
    color:rgba(255,247,255,.62) !important;
    font-size:14px !important;
    line-height:1.25 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
  .pf-chat-layout--thread-list .pf-thread-card::after,
  .pf-chat-layout--thread-list .pf-match-thread-card::after{
    content:'›';
    width:34px;
    height:34px;
    border-radius:50%;
    display:grid;
    place-items:center;
    font-size:28px;
    color:#fff;
    background:linear-gradient(135deg, rgba(255,70,198,.85), rgba(142,74,255,.82));
    box-shadow:0 10px 24px rgba(186,74,255,.26);
  }
  .pf-chat-layout--thread-list .pf-chat-window{
    display:none !important;
  }

  /* After tapping a person: show a big chat view, hide the list. */
  .pf-chat-layout--thread-open .pf-chat-threads{
    display:none !important;
  }
  .pf-chat-layout--thread-open .pf-chat-window{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    border-radius:26px !important;
    overflow:hidden !important;
    background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.035)) !important;
    border:1px solid rgba(255,255,255,.12) !important;
  }
  .pf-chat-layout--thread-open .pf-chat-back-link{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:48px !important;
    margin:0 0 12px !important;
    border-radius:999px !important;
    text-decoration:none !important;
    color:#fff !important;
    font-weight:900 !important;
    background:rgba(255,255,255,.075) !important;
    border:1px solid rgba(255,255,255,.12) !important;
  }
  .pf-chat-layout--thread-open .pf-chat-topline{
    display:block !important;
    padding:16px !important;
  }
  .pf-chat-layout--thread-open .pf-chat-peer{
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
  }
  .pf-chat-layout--thread-open .pf-chat-peer img{
    width:74px !important;
    height:74px !important;
    border-radius:50% !important;
    object-fit:cover !important;
  }
  .pf-chat-layout--thread-open .pf-chat-peer strong{
    font-size:26px !important;
    line-height:1 !important;
  }
  .pf-chat-layout--thread-open .pf-chat-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:16px !important;
  }
  .pf-chat-layout--thread-open .pf-chat-actions .pf-btn{
    width:100% !important;
    min-height:52px !important;
    justify-content:center !important;
  }
  .pf-chat-layout--thread-open .pf-chat-messages{
    min-height:46vh !important;
    padding:18px 14px 26px !important;
    overflow:visible !important;
  }
  .pf-chat-layout--thread-open .pf-chat-bubble{
    max-width:88% !important;
    font-size:18px !important;
  }
  .pf-chat-layout--thread-open .pf-chat-form{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:14px !important;
    margin-bottom:calc(90px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .pf-chat-layout--thread-open .pf-chat-form textarea{
    min-height:96px !important;
  }
  .pf-chat-layout--thread-open .pf-chat-form .pf-btn{
    width:100% !important;
    min-height:56px !important;
  }
}


/* ==========================================================
   PassionFairy v0.2.41: mobile Create Studio cleanup + manual video playback guard
   Desktop layouts stay protected unless video viewport behavior is needed.
   ========================================================== */
@media (max-width: 740px){
  /* Keep utility pages inside the phone viewport and away from browser edges. */
  body.page-template-page-create .ringa-content.pf-create-page,
  body.page-template-page-create .pf-create-page-v90,
  .pf-create-page-v90{
    width:calc(100vw - 28px) !important;
    max-width:calc(100vw - 28px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
    overflow-x:hidden !important;
  }
  body.page-template-page-create .pf-create-hero-v90,
  .pf-create-page-v90 .pf-create-hero-v90{
    width:100% !important;
    max-width:100% !important;
    margin:14px auto 16px !important;
    padding:28px 20px 24px !important;
    border-radius:28px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }
  .pf-create-hero-v90 .pf-title,
  .pf-create-hero-copy-v90 h1,
  .pf-create-hero-v90 h1{
    max-width:100% !important;
    font-size:clamp(38px, 11.5vw, 52px) !important;
    line-height:1.02 !important;
    letter-spacing:-.055em !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }
  .pf-create-hero-copy-v90,
  .pf-create-hero-v90 .pf-create-hero-copy-v90,
  .pf-create-hero-v90 p,
  .pf-create-hero-v90 .pf-subtitle{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    overflow-wrap:break-word !important;
  }
  .pf-create-hero-v90 .pf-subtitle,
  .pf-create-hero-copy-v90 p,
  .pf-create-hero-v90 p{
    font-size:17px !important;
    line-height:1.52 !important;
  }
  .pf-create-rules-card-v90,
  .pf-create-studio-v90,
  .pf-create-card-v90,
  .pf-create-progress-v90{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  .pf-create-rules-grid-v90{
    grid-template-columns:1fr !important;
  }
}

/* Video cards: JS toggles this class when a video is playing because it is actually in view. */
.pf-video-in-view-active video{
  outline:0;
}


/* ==========================================================
   PassionFairy v0.2.44: live-hosting/media readiness polish
   Mobile layout only unless a message is shared across screens.
   ========================================================== */
.pf-create-hosting-note-v42{
  margin:14px 0 0;
  padding:14px 16px;
  border:1px solid rgba(255,216,107,.35);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(255,216,107,.13),rgba(255,75,190,.08));
  color:rgba(255,255,255,.9);
  font-weight:750;
  line-height:1.35;
}
.pf-create-hosting-note-v42 small{
  display:block;
  margin-top:6px;
  color:rgba(255,255,255,.68);
  font-weight:650;
}
@media (max-width: 740px){
  .pf-page,
  .ringa-content{
    padding-bottom:calc(132px + env(safe-area-inset-bottom,0px)) !important;
  }
  .pf-create-hosting-note-v42{
    font-size:14px !important;
    border-radius:16px !important;
  }
  .pf-create-page-v90 .pf-create-studio-v90,
  .pf-create-page-v90 .pf-create-progress-v90,
  .pf-create-page-v90 .pf-create-card-v90{
    overflow-wrap:break-word !important;
  }
}

/* PassionFairy v0.2.44: mobile account/logout polish and gift-permission rollout support. */
.ringa-sidebar-link--logout,
.ringa-sidebar-link--login{
  margin-top:14px;
  border-color:rgba(255,79,201,.38);
  background:linear-gradient(135deg, rgba(255,79,201,.20), rgba(141,76,255,.14));
  color:#fff;
  font-weight:900;
}
.ringa-sidebar-link--logout:hover,
.ringa-sidebar-link--logout:focus,
.ringa-sidebar-link--login:hover,
.ringa-sidebar-link--login:focus{
  border-color:rgba(255,79,201,.62);
  box-shadow:0 18px 40px rgba(255,79,201,.15);
}
.pf-profile-logout-mobile{ display:none; }
@media (max-width: 760px){
  .pf-profile-logout-mobile{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .ringa-sidebar-nav{
    min-height:calc(100dvh - 96px);
  }
  .ringa-sidebar-link--logout,
  .ringa-sidebar-link--login{
    margin-top:auto;
    margin-bottom:16px;
  }
}
