/**
 * snifffr — blog index + category archive redesign.
 *
 * Loaded on is_home() + is_category() via functions/enqueues.php.
 * Markup lives in:
 *   - wp-content/themes/WBDTheme/home.php       (blog index)
 *   - wp-content/themes/WBDTheme/category.php   (category archives)
 *
 * Scope: every selector is prefixed with `.snifffr-blog-redesign`
 * (the wrapper div both templates emit), so styles don't leak.
 */

.snifffr-blog-redesign {
    --blog-purple:        #332e4d;
    --blog-purple-soft:   #4F4470;
    --blog-purple-muted:  #6c6585;
    --blog-purple-faint:  #a39db8;
    --blog-pink:          #e65c95;
    --blog-pink-deep:     #d34a83;
    --blog-lavender:      #ebe4f5;
    --blog-lavender-tint: #f7f5fc;
    --blog-lavender-edge: #e6e0ee;
    --blog-card:          #ffffff;
    --blog-shadow:        0 4px 16px -6px rgba(51, 46, 77, 0.10);
    --blog-shadow-hover:  0 14px 32px -10px rgba(51, 46, 77, 0.18);
    --blog-radius-card:   18px;
    --blog-radius-image:  14px;
    --blog-radius-pill:   999px;
    --blog-gap-grid:      28px;
    --blog-container-max: 1180px;

    background: var(--blog-lavender-tint);
    color: var(--blog-purple);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    -webkit-font-smoothing: antialiased;
}

.snifffr-blog-redesign a { color: inherit; text-decoration: none; }

.snifffr-blog-redesign .container {
    max-width: var(--blog-container-max);
    margin: 0 auto;
    padding: 0 24px;
}

/* ---- Hero ---- */
.snifffr-blog-redesign .blog-hero {
    background:
        radial-gradient(circle at 80% 0%, rgba(230,92,149,0.18), transparent 55%),
        radial-gradient(circle at 10% 100%, rgba(79,68,112,0.18), transparent 55%),
        linear-gradient(180deg, var(--blog-lavender) 0%, var(--blog-lavender-tint) 100%);
    padding: 64px 0 56px;
    text-align: center;
    border-bottom: 1px solid var(--blog-lavender-edge);
}
.snifffr-blog-redesign .blog-hero .eyebrow {
    display: inline-block;
    background: var(--blog-card);
    border: 1px solid var(--blog-lavender-edge);
    color: var(--blog-purple-soft);
    border-radius: var(--blog-radius-pill);
    padding: 6px 14px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-top: 15px;
    margin-bottom: 18px;
}
.snifffr-blog-redesign .blog-hero h1 {
    margin: 0 0 14px;
    font-size: 44px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--blog-purple);
}
.snifffr-blog-redesign .blog-hero p {
    margin: 0 auto;
    max-width: 580px;
    color: var(--blog-purple-muted);
    font-size: 17px;
    line-height: 1.55;
}
/* Category archive — subtitle is rendered as <h1> for landmark
   semantics (a11y + SEO) but styled like a smaller body line.
   Higher specificity via body.category beats the display .blog-hero
   h1 rule above (44px / 800 weight) without needing !important. */
body.category .snifffr-blog-redesign .blog-hero h1 {
    margin: 0 0 14px;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--blog-purple);
}
/* Filter chips — wired to real WP categories. */
.snifffr-blog-redesign .blog-hero-chips {
    margin: 28px auto 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}
.snifffr-blog-redesign .blog-hero-chips a {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    background: var(--blog-card);
    border: 1px solid var(--blog-lavender-edge);
    color: var(--blog-purple);
    border-radius: var(--blog-radius-pill);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: background .15s, color .15s, border-color .15s;
}
.snifffr-blog-redesign .blog-hero-chips a:hover,
.snifffr-blog-redesign .blog-hero-chips a.is-active {
    background: var(--blog-pink);
    color: #fff;
    border-color: var(--blog-pink);
}

/* ---- Layout shell ---- */
.snifffr-blog-redesign .blog-content { padding: 56px 0 72px; }
.snifffr-blog-redesign .blog-meta-dot { width: 3px; height: 3px; background: var(--blog-purple-faint); border-radius: 50%; }

/* ---- Card grid ---- */
.snifffr-blog-redesign .blog-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--blog-gap-grid);
}
.snifffr-blog-redesign .blog-card {
    background: var(--blog-card);
    border-radius: var(--blog-radius-card);
    box-shadow: var(--blog-shadow);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow .2s, transform .2s;
}
.snifffr-blog-redesign .blog-card:hover {
    box-shadow: var(--blog-shadow-hover);
    transform: translateY(-4px);
}
.snifffr-blog-redesign .blog-card-image {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--blog-lavender);
}
.snifffr-blog-redesign .blog-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
    display: block;
}
.snifffr-blog-redesign .blog-card:hover .blog-card-image img { transform: scale(1.04); }
.snifffr-blog-redesign .blog-card-body {
    padding: 24px 26px 26px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.snifffr-blog-redesign .blog-card-body h3 {
    margin: 0 0 12px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.005em;
    color: var(--blog-purple);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.snifffr-blog-redesign .blog-card-body h3 a { color: inherit; }
.snifffr-blog-redesign .blog-card-excerpt {
    margin: 0 0 18px;
    color: var(--blog-purple-muted);
    font-size: 14px;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex: 1;
}
.snifffr-blog-redesign .blog-card-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--blog-purple-faint);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding-top: 16px;
    border-top: 1px solid var(--blog-lavender-edge);
}

/* ---- Pagination — pink-pill styling already shipped in custom.css
   (PR #2697). The .snifffr-blog-pagination class is reused as-is on
   both home.php and category.php. */

/* ---- Responsive ---- */
@media (max-width: 991px) {
    .snifffr-blog-redesign .blog-hero { padding: 48px 0 40px; }
    .snifffr-blog-redesign .blog-hero h1 { font-size: 34px; }
    .snifffr-blog-redesign .blog-grid { grid-template-columns: 1fr; gap: 24px; }

    /* Category hero h1 — give it a little breathing room above on
       narrow widths so it doesn't crowd the legacy page-title bar. */
    body.category .snifffr-blog-redesign .blog-hero h1 {
        margin: 15px 0 14px;
        font-size: 22px;
    }
}
@media (max-width: 575px) {
    .snifffr-blog-redesign .blog-hero h1 { font-size: 28px; }
    .snifffr-blog-redesign .blog-hero p { font-size: 15px; }
    .snifffr-blog-redesign .blog-hero-chips { gap: 6px; margin-top: 22px; }
    .snifffr-blog-redesign .blog-hero-chips a { font-size: 11px; padding: 6px 12px; }
    .snifffr-blog-redesign .blog-content { padding: 36px 0 48px; }
}

/* ---- Suppress the legacy .homeblogbody wrapper styling when our
   redesign is on screen — the home.php legacy version wrapped content
   in .homeblogbody { padding: 60px 0; }; for the redesign we want the
   full-width hero to flush against the page edges. Scoped on body.blog
   + :has so it only fires on the rewritten index. */
body.blog .homeblogbody:has(.snifffr-blog-redesign),
body.category .homeblogbody:has(.snifffr-blog-redesign) {
    padding: 0 !important;
    background: var(--blog-lavender-tint, #f7f5fc);
}
body.blog .homeblogbody:has(.snifffr-blog-redesign) > .container,
body.category .homeblogbody:has(.snifffr-blog-redesign) > .container {
    max-width: 100%;
    padding: 0;
}

/* =========================================================================
   SINGLE POST REDESIGN — for posts using single.php (the generic template).
   Lives on body.single-post; markup in wp-content/themes/WBDTheme/single.php.
   ========================================================================= */
.snifffr-blog-single {
    /* Re-declare the tokens here so .snifffr-blog-single can stand alone
       (without the .snifffr-blog-redesign wrap). */
    --blog-purple:        #332e4d;
    --blog-purple-soft:   #4F4470;
    --blog-purple-muted:  #6c6585;
    --blog-purple-faint:  #a39db8;
    --blog-pink:          #e65c95;
    --blog-pink-deep:     #d34a83;
    --blog-pink-soft:     #ff5a8d;
    --blog-pink-pale:     #fdf1f6;
    --blog-pink-pale-2:   #ffd6e4;
    --blog-lavender:      #ebe4f5;
    --blog-lavender-tint: #f7f5fc;
    --blog-lavender-edge: #e6e0ee;
    --blog-card:          #ffffff;
    --blog-shadow:        0 4px 16px -6px rgba(51, 46, 77, 0.10);
    --blog-radius-card:   18px;
    --blog-radius-pill:   999px;
    --blog-prose-max:     920px;

    background: var(--blog-lavender-tint);
    color: var(--blog-purple);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    -webkit-font-smoothing: antialiased;
}
.snifffr-blog-single a { color: inherit; text-decoration: none; }
.snifffr-blog-single .container--prose {
    max-width: var(--blog-prose-max);
    margin: 0 auto;
    padding: 0 24px;
}

/* ── Breadcrumb strip ─────────────────────────────────────────────── */
.snifffr-blog-single .blog-breadcrumb {
    background: #fff;
    border-bottom: 1px solid var(--blog-lavender-edge);
    padding: 14px 0;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--blog-purple-muted);
}
.snifffr-blog-single .blog-breadcrumb .container { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.snifffr-blog-single .blog-breadcrumb a       { color: var(--blog-purple-soft); }
.snifffr-blog-single .blog-breadcrumb a:hover { color: var(--blog-pink); }
.snifffr-blog-single .blog-breadcrumb .sep    { color: var(--blog-purple-faint); margin: 0 8px; }
.snifffr-blog-single .blog-breadcrumb .current { color: var(--blog-purple); }

/* ── Mode A: post has its own .mainbanner — full-bleed two-column hero ── */
.snifffr-blog-single--banner .blog-single-mainbanner-wrap {
    position: relative;
    background:
        radial-gradient(circle at 90% 60%, rgba(255,90,141,0.18), transparent 50%),
        linear-gradient(105deg, var(--blog-lavender) 0%, var(--blog-lavender-tint) 35%, #ffe7f0 70%, var(--blog-pink-pale-2) 100%);
    overflow: hidden;
    border-bottom: 1px solid var(--blog-lavender-edge);
}
/* Style whatever existing .mainbanner markup the post emits — typically
   <section class="mainbanner"><div class="container"><div class="row">
   <div class="col-md-7"><h1>...</h1>...<a class="btn ...">SIGN UP FREE</a>
   </div><div class="col-md-5"><img /></div></div></div></section>. */
.snifffr-blog-single--banner .mainbanner {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}
.snifffr-blog-single--banner .mainbanner > .container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 24px;
}
.snifffr-blog-single--banner .mainbanner > .container > .row {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    align-items: stretch;
    min-height: 540px;
    gap: 32px;
    margin: 0;
}
.snifffr-blog-single--banner .mainbanner > .container > .row > [class*="col-"] {
    padding: 0;
    flex: none;
    max-width: none;
    width: auto;
}
.snifffr-blog-single--banner .mainbanner .mainbannerbody,
.snifffr-blog-single--banner .mainbanner .mainbannerbodynudes,
.snifffr-blog-single--banner .mainbanner > .container > .row > div:first-child > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 !important;
    padding: 64px 0 64px 24px !important;
}
.snifffr-blog-single--banner .mainbanner h1 {
    margin: 0 0 18px !important;
    font-size: 56px !important;
    font-weight: 900 !important;
    letter-spacing: -0.025em !important;
    line-height: 1.04 !important;
    color: var(--blog-pink-soft) !important;
    text-transform: uppercase !important;
    padding: 0 !important;
}
.snifffr-blog-single--banner .mainbanner p {
    margin: 0 0 26px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--blog-purple) !important;
    line-height: 1.7 !important;
}
.snifffr-blog-single--banner .mainbanner a.btn,
.snifffr-blog-single--banner .mainbanner .btn-outline-primary,
.snifffr-blog-single--banner .mainbanner .btn-outline-primary.purp {
    display: inline-flex !important;
    align-self: flex-start;
    align-items: center;
    gap: 10px;
    padding: 16px 30px !important;
    background: var(--blog-purple) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: var(--blog-radius-pill) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    box-shadow: 0 10px 28px -10px rgba(51,46,77,0.55);
    transition: background .15s ease, transform .15s ease;
}
.snifffr-blog-single--banner .mainbanner a.btn:hover {
    background: #1f1b2f !important;
    transform: translateY(-1px);
}
.snifffr-blog-single--banner .mainbanner img,
.snifffr-blog-single--banner .mainbanner .homebannergirl {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 30% !important;
    display: block;
    border-radius: 0 !important;
    border: 0 !important;
}
.snifffr-blog-single--banner .mainbanner > .container > .row > div:last-child {
    position: relative;
    align-self: stretch;
    overflow: hidden;
    min-height: 360px;
}
.snifffr-blog-single--banner .mainbanner > .container > .row > div:last-child::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, var(--blog-pink-pale-2) 0%, transparent 18%, transparent 100%);
    z-index: 1;
}

/* ── Mode B: synthetic hero band ──────────────────────────────────── */
.snifffr-blog-single .blog-single-hero {
    background:
        radial-gradient(circle at 80% 0%, rgba(230,92,149,0.18), transparent 55%),
        radial-gradient(circle at 10% 100%, rgba(79,68,112,0.18), transparent 55%),
        linear-gradient(180deg, var(--blog-lavender) 0%, var(--blog-lavender-tint) 100%);
    padding: 64px 0 56px;
    text-align: center;
    border-bottom: 1px solid var(--blog-lavender-edge);
}
.snifffr-blog-single .blog-single-hero .container--prose { max-width: 760px; }
/* Wrapper handles inter-pill spacing + bottom margin so individual
   .blog-single-eyebrow pills can wrap cleanly across rows when a post
   has several categories. */
.snifffr-blog-single .blog-single-eyebrows {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 22px;
}
.snifffr-blog-single .blog-single-eyebrow {
    display: inline-flex;
    align-items: center;
    background: var(--blog-pink);
    color: #fff;
    border-radius: var(--blog-radius-pill);
    padding: 7px 16px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 22px;
}
.snifffr-blog-single .blog-single-eyebrows .blog-single-eyebrow { margin-bottom: 0; }
.snifffr-blog-single .blog-single-eyebrow:hover { background: var(--blog-pink-deep); color: #fff; }
.snifffr-blog-single .blog-single-title {
    margin: 0 0 18px;
    font-size: 48px;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.12;
    color: var(--blog-purple);
}
.snifffr-blog-single .blog-single-subtitle {
    margin: 0 auto 24px;
    max-width: 640px;
    color: var(--blog-purple-muted);
    font-size: 18px;
    line-height: 1.55;
    font-weight: 400;
}
.snifffr-blog-single .blog-single-meta {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    color: var(--blog-purple-muted);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.snifffr-blog-single .blog-single-meta-dot {
    width: 3px; height: 3px;
    background: var(--blog-purple-faint);
    border-radius: 50%;
}

/* Featured image card — rendered only when has_post_thumbnail() AND Mode B. */
.snifffr-blog-single .blog-single-image-wrap {
    margin: -36px auto 0;
    max-width: var(--blog-prose-max);
    padding: 0 24px;
    position: relative;
    z-index: 1;
}
.snifffr-blog-single .blog-single-image {
    margin: 0;
    border-radius: 18px;
    overflow: hidden;
    background: var(--blog-lavender);
    box-shadow: 0 12px 36px -12px rgba(51,46,77,0.18);
}
.snifffr-blog-single .blog-single-image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

/* ── Meta strip (Mode A) below the banner ─────────────────────────── */
.snifffr-blog-single .blog-single-meta-strip {
    background: #fff;
    border-bottom: 1px solid var(--blog-lavender-edge);
    padding: 18px 0;
}
.snifffr-blog-single .blog-single-meta-strip .container--prose {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    color: var(--blog-purple-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.snifffr-blog-single .blog-single-meta-strip .meta-tag {
    display: inline-flex;
    align-items: center;
    background: var(--blog-pink);
    color: #fff;
    border-radius: var(--blog-radius-pill);
    padding: 5px 12px;
    font-size: 11px;
}

/* ── Article body card ────────────────────────────────────────────── */
.snifffr-blog-single .blog-single-body { padding: 48px 0 60px; }
.snifffr-blog-single .blog-single-article {
    background: var(--blog-card);
    border-radius: var(--blog-radius-card);
    box-shadow: var(--blog-shadow);
    padding: 56px 60px;
    font-size: 17px;
    line-height: 1.75;
    color: var(--blog-purple);
}
.snifffr-blog-single .blog-single-article > * + * { margin-top: 22px; }
.snifffr-blog-single .blog-single-article h2 {
    margin: 44px 0 14px;
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.01em;
    line-height: 1.25;
    color: var(--blog-purple);
}
.snifffr-blog-single .blog-single-article h3 {
    margin: 32px 0 12px;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--blog-purple);
}
.snifffr-blog-single .blog-single-article h4 {
    margin: 40px 0 12px;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.01em;
    line-height: 1.3;
    color: var(--blog-purple);
}
.snifffr-blog-single .blog-single-article h2:first-child,
.snifffr-blog-single .blog-single-article h3:first-child,
.snifffr-blog-single .blog-single-article h4:first-child { margin-top: 0; }
.snifffr-blog-single .blog-single-article p { margin: 0; }
.snifffr-blog-single .blog-single-article a {
    color: var(--blog-pink);
    text-decoration: underline;
    text-decoration-color: rgba(230,92,149,0.35);
    text-underline-offset: 3px;
}
.snifffr-blog-single .blog-single-article a:hover {
    color: var(--blog-pink-deep);
    text-decoration-color: var(--blog-pink-deep);
}
.snifffr-blog-single .blog-single-article ul,
.snifffr-blog-single .blog-single-article ol { margin: 0; padding-left: 22px; }
.snifffr-blog-single .blog-single-article ul li,
.snifffr-blog-single .blog-single-article ol li { margin: 8px 0; padding-left: 4px; }
.snifffr-blog-single .blog-single-article ul li::marker { color: var(--blog-pink); }
.snifffr-blog-single .blog-single-article ol li::marker { color: var(--blog-pink); font-weight: 700; }
.snifffr-blog-single .blog-single-article blockquote {
    margin: 28px 0;
    padding: 22px 26px;
    background: var(--blog-lavender-tint);
    border-left: 4px solid var(--blog-pink);
    border-radius: 0 12px 12px 0;
    font-size: 17px;
    line-height: 1.6;
    color: var(--blog-purple-soft);
    font-style: italic;
}
.snifffr-blog-single .blog-single-article blockquote p { margin: 0; }
.snifffr-blog-single .blog-single-article img,
.snifffr-blog-single .blog-single-article figure {
    margin: 28px 0;
    border-radius: 14px;
    overflow: hidden;
    max-width: 100%;
    height: auto;
    display: block;
}
.snifffr-blog-single .blog-single-article strong { color: var(--blog-purple); font-weight: 700; }
.snifffr-blog-single .blog-single-article hr {
    border: 0; height: 1px;
    background: var(--blog-lavender-edge);
    margin: 40px 0;
}

/* In-content "Sign up" callouts (the_content emits .home3.blogcallout). */
.snifffr-blog-single .blog-single-article .home3.blogcallout,
.snifffr-blog-single .blog-single-article section.home3.blogcallout {
    margin: 40px -20px;
    padding: 36px 28px !important;
    background:
        radial-gradient(circle at 80% 20%, rgba(230,92,149,0.22), transparent 55%),
        linear-gradient(180deg, var(--blog-lavender) 0%, var(--blog-pink-pale) 100%);
    border: 1px solid var(--blog-lavender-edge);
    border-radius: 18px;
    text-align: center !important;
}
.snifffr-blog-single .blog-single-article .home3.blogcallout .container,
.snifffr-blog-single .blog-single-article .home3.blogcallout .row,
.snifffr-blog-single .blog-single-article .home3.blogcallout [class*="col-"] {
    margin: 0; padding: 0; max-width: none; flex: 0 0 100%;
}
.snifffr-blog-single .blog-single-article .home3.blogcallout h4 {
    margin: 0 0 18px !important;
    font-size: 24px;
    font-weight: 800;
    color: var(--blog-purple);
    letter-spacing: -0.01em;
}
.snifffr-blog-single .blog-single-article .home3.blogcallout p { margin: 0; }
.snifffr-blog-single .blog-single-article .home3.blogcallout .btn,
.snifffr-blog-single .blog-single-article .home3.blogcallout a.btn {
    display: inline-flex;
    align-items: center;
    padding: 14px 30px;
    background: var(--blog-pink) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-decoration: none !important;
    box-shadow: 0 8px 20px -8px rgba(230,92,149,0.55);
    transition: background .15s ease, transform .15s ease;
}
.snifffr-blog-single .blog-single-article .home3.blogcallout .btn:hover,
.snifffr-blog-single .blog-single-article .home3.blogcallout a.btn:hover {
    background: var(--blog-pink-deep) !important;
    transform: translateY(-1px);
}
/* Inline purple-outline CTA */
.snifffr-blog-single .blog-single-article a.btn-outline-primary.purp {
    display: inline-flex;
    align-items: center;
    padding: 12px 24px;
    background: var(--blog-purple) !important;
    color: #fff !important;
    border: 2px solid var(--blog-purple) !important;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: background .15s ease, color .15s ease;
}
.snifffr-blog-single .blog-single-article a.btn-outline-primary.purp:hover {
    background: transparent !important;
    color: var(--blog-purple) !important;
}

/* ── Author bio card ─────────────────────────────────────────────── */
.snifffr-blog-single .blog-single-author {
    margin: 36px 0 0;
    background: var(--blog-lavender);
    border: 1px solid var(--blog-lavender-edge);
    border-radius: var(--blog-radius-card);
    padding: 28px 32px;
    display: grid;
    grid-template-columns: 96px 1fr;
    gap: 22px;
    align-items: start;
}
.snifffr-blog-single .blog-single-author-avatar {
    width: 96px; height: 96px;
    border-radius: 50%;
    overflow: hidden;
    background: var(--blog-card);
    box-shadow: 0 2px 8px rgba(51, 46, 77, 0.08);
}
.snifffr-blog-single .blog-single-author-avatar img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}
.snifffr-blog-single .blog-single-author-label {
    color: var(--blog-purple-soft);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 4px;
}
.snifffr-blog-single .blog-single-author h3 { margin: 0 0 10px; font-size: 20px; font-weight: 800; color: var(--blog-purple); }
.snifffr-blog-single .blog-single-author p  { margin: 0 0 12px; font-size: 14.5px; line-height: 1.6; color: var(--blog-purple-soft); }
.snifffr-blog-single .blog-single-author-link {
    display: inline-flex; align-items: center; gap: 6px;
    color: var(--blog-pink); font-size: 13px; font-weight: 700; letter-spacing: 0.02em;
}
.snifffr-blog-single .blog-single-author-link:hover { color: var(--blog-pink-deep); }
.snifffr-blog-single .blog-single-author-link .arrow { transition: transform .15s ease; }
.snifffr-blog-single .blog-single-author-link:hover .arrow { transform: translateX(3px); }

/* ── Full blog-index pagination at the bottom of every single post ── */
.snifffr-blog-single .blog-single-pagination {
    margin: 44px 0 0;
    padding: 28px 0 0;
    border-top: 1px solid var(--blog-lavender-edge);
    text-align: center;
}
.snifffr-blog-single .blog-single-pagination-label {
    margin: 0 0 18px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--blog-purple-soft);
}
.snifffr-blog-single .blog-single-pagination .page-numbers,
.snifffr-blog-single .blog-single-pagination a.page-numbers,
.snifffr-blog-single .blog-single-pagination span.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    padding: 11px 18px;
    border-radius: var(--blog-radius-pill);
    background: var(--blog-card);
    color: var(--blog-purple);
    border: 1px solid var(--blog-pink);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1;
    text-decoration: none;
    transition: background .15s, color .15s;
    margin: 0 4px 6px;
}
.snifffr-blog-single .blog-single-pagination a.page-numbers:hover {
    background: var(--blog-pink);
    color: #fff;
}
.snifffr-blog-single .blog-single-pagination .page-numbers.dots {
    border-color: transparent;
    background: transparent;
}

/* ── Adjacent-post navigation (Previous / Next blog post cards) ──── */
.snifffr-blog-single .blog-single-postnav {
    margin: 44px 0 0;
    padding: 28px 0 0;
    border-top: 1px solid var(--blog-lavender-edge);
}
.snifffr-blog-single .blog-single-postnav .blog-single-pagination-label {
    text-align: center;
    margin: 0 0 22px;
}
.snifffr-blog-single .blog-single-postnav-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}
.snifffr-blog-single .blog-single-postnav-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 22px 26px;
    background: var(--blog-card);
    border: 1px solid var(--blog-lavender-edge);
    border-radius: 14px;
    text-decoration: none;
    color: var(--blog-purple);
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
    box-shadow: var(--blog-shadow);
}
.snifffr-blog-single .blog-single-postnav-card:hover {
    transform: translateY(-2px);
    border-color: var(--blog-pink);
    box-shadow: 0 12px 30px -10px rgba(230, 92, 149, 0.30);
}
.snifffr-blog-single .blog-single-postnav-card--next {
    text-align: right;
    align-items: flex-end;
}
.snifffr-blog-single .blog-single-postnav-card--empty {
    background: transparent;
    border: 1px dashed var(--blog-lavender-edge);
    box-shadow: none;
    pointer-events: none;
    opacity: 0.4;
}
.snifffr-blog-single .blog-single-postnav-direction {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--blog-pink);
}
.snifffr-blog-single .blog-single-postnav-title {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
    color: var(--blog-purple);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.snifffr-blog-single .blog-single-postnav-card:hover .blog-single-postnav-title {
    color: var(--blog-pink);
}

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 991px) {
    .snifffr-blog-single .blog-single-hero { padding: 48px 0 40px; }
    .snifffr-blog-single .blog-single-title { font-size: 34px; }
    .snifffr-blog-single .blog-single-subtitle { font-size: 16px; }
    .snifffr-blog-single .blog-single-image-wrap { margin-top: -24px; }
    .snifffr-blog-single .blog-single-article { padding: 36px 28px; font-size: 16px; line-height: 1.7; }
    .snifffr-blog-single .blog-single-article h2 { font-size: 24px; }
    .snifffr-blog-single .blog-single-article h3,
    .snifffr-blog-single .blog-single-article h4 { font-size: 19px; }

    .snifffr-blog-single--banner .mainbanner > .container > .row {
        grid-template-columns: 1fr;
        min-height: 0;
        gap: 0;
    }
    .snifffr-blog-single--banner .mainbanner .mainbannerbody,
    .snifffr-blog-single--banner .mainbanner .mainbannerbodynudes,
    .snifffr-blog-single--banner .mainbanner > .container > .row > div:first-child > div {
        padding: 44px 8px 24px !important;
        order: 1;
    }
    .snifffr-blog-single--banner .mainbanner > .container > .row > div:last-child {
        order: 2;
        aspect-ratio: 16 / 9;
        min-height: 0;
    }
    .snifffr-blog-single--banner .mainbanner > .container > .row > div:last-child::before { display: none; }
    .snifffr-blog-single--banner .mainbanner h1 { font-size: 36px !important; }
    /* Push the single-post wrapper clear of the fixed mobile topbar
       (applies to both Mode A and Mode B). */
    .snifffr-blog-single { margin-top: 60px; }
    /* Hero owns its own top spacing via the band padding — zero out
       any inherited margin so it sits flush under the breadcrumb. */
    .snifffr-blog-single .blog-single-hero { margin-top: 0px; }
    /* Force the banner image visible on mobile — custom.css:7573/7941
       hide img.homebannergirl globally on <992px (legacy rule from
       when the homepage hero had no mobile image). Override here so
       the post hero stays two-section (text + image) on phones. */
    .snifffr-blog-single--banner .mainbanner img,
    .snifffr-blog-single--banner .mainbanner img.homebannergirl {
        display: block !important;
    }
}
@media (max-width: 575px) {
    .snifffr-blog-single .blog-single-title { font-size: 26px; line-height: 1.2; }
    .snifffr-blog-single .blog-single-meta { font-size: 11px; gap: 10px; }
    .snifffr-blog-single .blog-single-article { padding: 28px 22px; }
    .snifffr-blog-single .blog-single-author {
        grid-template-columns: 1fr; text-align: center; padding: 24px 22px;
    }
    .snifffr-blog-single .blog-single-author-avatar { margin: 0 auto; }
    .snifffr-blog-single .blog-single-author-link { justify-content: center; }
    .snifffr-blog-single--banner .mainbanner h1 { font-size: 28px !important; }
    .snifffr-blog-single--banner .mainbanner a.btn { padding: 14px 24px !important; font-size: 12px !important; }
    .snifffr-blog-single .blog-single-postnav-grid { grid-template-columns: 1fr; }
    .snifffr-blog-single .blog-single-postnav-card--next { text-align: left; align-items: flex-start; }
    .snifffr-blog-single .blog-single-postnav-card--empty { display: none; }
}

/* Hide the legacy .breadcrumb (custom.css) on single posts — we render
   our own redesigned breadcrumb at the top of .snifffr-blog-single. */
body.single-post .breadcrumb:not(.snifffr-blog-single .breadcrumb) { display: none; }

/* =========================================================================
   LANDING TEMPLATE — "Buying & Selling Nudes" guide
   Markup: single-post-buying-and-selling-nudes.php
   All sections namespaced .bsn-* under the .snifffr-bsn-landing wrapper.
   Dark surfaces use the footer purple (#4F4470) for visual continuity;
   typography stays at the brand text purple (#332e4d).
   ========================================================================= */
.snifffr-bsn-landing {
    --bsn-purple:         #332e4d;
    --bsn-purple-surface: #4F4470;
    --bsn-purple-deep:    #3D3554;
    --bsn-purple-muted:   #6c6585;
    --bsn-purple-faint:   #a39db8;
    --bsn-pink:           #e65c95;
    --bsn-pink-deep:      #d34a83;
    --bsn-pink-soft:      #ff5a8d;
    --bsn-pink-pale:      #fdf1f6;
    --bsn-pink-pale-2:    #ffd6e4;
    --bsn-lavender:       #ebe4f5;
    --bsn-lavender-tint:  #f7f5fc;
    --bsn-lavender-edge:  #e6e0ee;
    --bsn-card:           #ffffff;
    --bsn-shadow-soft:    0 4px 16px -6px rgba(51, 46, 77, 0.10);
    --bsn-shadow-mid:     0 12px 32px -12px rgba(51, 46, 77, 0.15);
    --bsn-shadow-deep:    0 18px 44px -16px rgba(51, 46, 77, 0.22);
    --bsn-shadow-pink:    0 12px 30px -10px rgba(230, 92, 149, 0.45);
    --bsn-shadow-purple:  0 12px 30px -10px rgba(79, 68, 112, 0.5);
    --bsn-radius-card:    20px;
    --bsn-radius-pill:    999px;
    --bsn-container-max:  1180px;

    background: var(--bsn-lavender-tint);
    color: var(--bsn-purple);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    -webkit-font-smoothing: antialiased;
    font-size: 16px;
    line-height: 1.6;
}
.snifffr-bsn-landing a { color: inherit; text-decoration: none; }
.snifffr-bsn-landing img { max-width: 100%; height: auto; display: block; }
.snifffr-bsn-landing .container {
    max-width: var(--bsn-container-max);
    margin: 0 auto;
    padding: 0 24px;
}

/* ── Breadcrumb ──────────────────────────────────────────────────── */
.snifffr-bsn-landing .bsn-breadcrumb {
    background: #fff;
    border-bottom: 1px solid var(--bsn-lavender-edge);
    padding: 14px 0;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--bsn-purple-muted);
}
.snifffr-bsn-landing .bsn-breadcrumb a { color: var(--bsn-purple-surface); }
.snifffr-bsn-landing .bsn-breadcrumb a:hover { color: var(--bsn-pink); }
.snifffr-bsn-landing .bsn-breadcrumb .sep { color: var(--bsn-purple-faint); margin: 0 8px; }
.snifffr-bsn-landing .bsn-breadcrumb .current { color: var(--bsn-purple); }

/* ── CTA pill ────────────────────────────────────────────────────── */
.snifffr-bsn-landing .bsn-cta {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    gap: 10px;
    padding: 18px 32px;
    background: var(--bsn-purple-surface);
    color: #fff;
    border-radius: var(--bsn-radius-pill);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: var(--bsn-shadow-purple);
    transition: background .15s ease, transform .15s ease, box-shadow .15s ease;
}
.snifffr-bsn-landing .bsn-cta:hover {
    background: var(--bsn-purple-deep);
    transform: translateY(-1px);
    box-shadow: 0 16px 36px -10px rgba(79,68,112,0.55);
}
.snifffr-bsn-landing .bsn-cta .arrow { font-size: 16px; line-height: 1; transition: transform .15s ease; }
.snifffr-bsn-landing .bsn-cta:hover .arrow { transform: translateX(3px); }
.snifffr-bsn-landing .bsn-cta-note {
    margin: 12px 0 0;
    font-size: 12px;
    font-weight: 600;
    color: var(--bsn-purple-muted);
    letter-spacing: 0.04em;
}

/* ── SECTION 1 — Hero ────────────────────────────────────────────── */
.snifffr-bsn-landing .bsn-hero {
    position: relative;
    background:
        radial-gradient(circle at 90% 60%, rgba(255,90,141,0.20), transparent 50%),
        linear-gradient(105deg, var(--bsn-lavender) 0%, var(--bsn-lavender-tint) 35%, #ffe7f0 70%, var(--bsn-pink-pale-2) 100%);
    overflow: hidden;
    border-bottom: 1px solid var(--bsn-lavender-edge);
}
.snifffr-bsn-landing .bsn-hero-grid {
    max-width: var(--bsn-container-max);
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    align-items: stretch;
    gap: 32px;
    min-height: 560px;
}
.snifffr-bsn-landing .bsn-hero-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 72px 0 72px 24px;
}
.snifffr-bsn-landing .bsn-hero h1 {
    margin: 0 0 24px;
    font-size: 52px;
    font-weight: 900;
    letter-spacing: -0.025em;
    line-height: 1.05;
    color: var(--bsn-pink-soft);
    text-transform: uppercase;
}
.snifffr-bsn-landing .bsn-hero-checks {
    margin: 0 0 32px;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
}
.snifffr-bsn-landing .bsn-hero-checks li {
    font-size: 16px;
    font-weight: 600;
    color: var(--bsn-purple);
    display: flex;
    align-items: center;
    gap: 12px;
}
.snifffr-bsn-landing .bsn-hero-checks li::before {
    content: "✓";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: var(--bsn-pink);
    color: #fff;
    border-radius: 50%;
    font-size: 14px;
    font-weight: 700;
    flex-shrink: 0;
    box-shadow: 0 4px 10px -3px rgba(230, 92, 149, 0.45);
}
.snifffr-bsn-landing .bsn-hero-image {
    position: relative;
    overflow: hidden;
    min-height: 360px;
}
.snifffr-bsn-landing .bsn-hero-image img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center 30%;
    display: block !important; /* override custom.css:7573/7941 mobile hide */
}
.snifffr-bsn-landing .bsn-hero-image::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, var(--bsn-pink-pale-2) 0%, transparent 18%, transparent 100%);
    z-index: 1;
}

/* ── SECTION 2 — Trust band ──────────────────────────────────────── */
.snifffr-bsn-landing .bsn-trust {
    background:
        radial-gradient(circle at 10% 50%, rgba(230,92,149,0.16), transparent 35%),
        radial-gradient(circle at 90% 50%, rgba(255,255,255,0.05), transparent 35%),
        var(--bsn-purple-surface);
    color: #fff;
    padding: 100px 0;
    text-align: center;
    position: relative;
}
.snifffr-bsn-landing .bsn-trust-eyebrow {
    display: inline-block;
    padding: 6px 14px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: var(--bsn-radius-pill);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-bottom: 28px;
}
.snifffr-bsn-landing .bsn-trust h1 {
    margin: 0 auto 32px;
    font-size: 44px;
    font-weight: 900;
    letter-spacing: -0.015em;
    line-height: 1.15;
    color: #fff;
    max-width: 900px;
}
.snifffr-bsn-landing .bsn-trust-avatars {
    margin: 0 auto 32px;
    max-width: 360px;
}
.snifffr-bsn-landing .bsn-trust-avatars img { margin: 0 auto; }
.snifffr-bsn-landing .bsn-trust .bsn-cta { background: var(--bsn-pink); box-shadow: var(--bsn-shadow-pink); }
.snifffr-bsn-landing .bsn-trust .bsn-cta:hover { background: var(--bsn-pink-deep); }
.snifffr-bsn-landing .bsn-trust .bsn-cta-note { color: rgba(255,255,255,0.75); margin-top: 14px; }

/* ── SECTION 3 — How it works ────────────────────────────────────── */
.snifffr-bsn-landing .bsn-how {
    background:
        radial-gradient(circle at 50% 100%, rgba(230,92,149,0.06), transparent 50%),
        linear-gradient(180deg, var(--bsn-pink-pale) 0%, var(--bsn-lavender-tint) 100%);
    padding: 100px 0;
}
.snifffr-bsn-landing .bsn-section-head {
    text-align: center;
    margin: 0 auto 56px;
    max-width: 760px;
}
.snifffr-bsn-landing .bsn-section-eyebrow {
    display: inline-block;
    padding: 6px 14px;
    background: var(--bsn-card);
    border: 1px solid var(--bsn-lavender-edge);
    color: var(--bsn-purple-surface);
    border-radius: var(--bsn-radius-pill);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-bottom: 18px;
}
.snifffr-bsn-landing .bsn-section-head h2 {
    margin: 0;
    font-size: 40px;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.15;
    color: var(--bsn-purple);
}
.snifffr-bsn-landing .bsn-how-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    position: relative;
}
.snifffr-bsn-landing .bsn-how-grid::before {
    content: "";
    position: absolute;
    top: 60px;
    left: 12.5%;
    right: 12.5%;
    height: 2px;
    background-image: radial-gradient(circle, rgba(230,92,149,0.4) 1.5px, transparent 1.5px);
    background-size: 12px 2px;
    background-repeat: repeat-x;
    z-index: 0;
}
.snifffr-bsn-landing .bsn-step {
    position: relative;
    z-index: 1;
    background: var(--bsn-card);
    border: 1px solid var(--bsn-lavender-edge);
    border-radius: var(--bsn-radius-card);
    padding: 32px 22px 28px;
    text-align: center;
    box-shadow: var(--bsn-shadow-soft);
    transition: transform .2s ease, box-shadow .2s ease;
}
.snifffr-bsn-landing .bsn-step:hover {
    transform: translateY(-4px);
    box-shadow: var(--bsn-shadow-mid);
}
.snifffr-bsn-landing .bsn-step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: var(--bsn-purple-surface);
    color: #fff;
    border-radius: 50%;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.05em;
    margin: 0 auto 16px;
    box-shadow: 0 6px 16px -4px rgba(79,68,112,0.4);
}
.snifffr-bsn-landing .bsn-step-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 16px;
    background: var(--bsn-lavender);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.snifffr-bsn-landing .bsn-step-icon img { width: 36px; height: 36px; object-fit: contain; }
.snifffr-bsn-landing .bsn-step-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--bsn-purple);
    line-height: 1.4;
    margin: 0;
}

/* ── SECTION 4 — Authority panel ─────────────────────────────────── */
.snifffr-bsn-landing .bsn-authority {
    padding: 100px 0;
    background: var(--bsn-card);
}
.snifffr-bsn-landing .bsn-authority-grid {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: 48px;
    align-items: center;
}
.snifffr-bsn-landing .bsn-quote {
    position: relative;
    padding: 48px 36px;
    background:
        radial-gradient(circle at 30% 0%, rgba(230,92,149,0.25), transparent 55%),
        linear-gradient(160deg, var(--bsn-pink-pale) 0%, var(--bsn-lavender) 100%);
    border-radius: var(--bsn-radius-card);
    box-shadow: var(--bsn-shadow-mid);
}
.snifffr-bsn-landing .bsn-quote::before {
    content: "“";
    position: absolute;
    top: 8px;
    left: 28px;
    font-size: 120px;
    font-weight: 900;
    line-height: 1;
    color: var(--bsn-pink);
    opacity: 0.35;
    font-family: Georgia, "Times New Roman", serif;
}
.snifffr-bsn-landing .bsn-quote p {
    position: relative;
    margin: 0;
    font-size: 22px;
    line-height: 1.45;
    font-weight: 700;
    color: var(--bsn-purple);
    letter-spacing: -0.01em;
}
.snifffr-bsn-landing .bsn-quote-meta {
    margin-top: 24px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--bsn-pink);
}
.snifffr-bsn-landing .bsn-authority-body p {
    margin: 0;
    font-size: 17px;
    line-height: 1.75;
    color: var(--bsn-purple-surface);
}
.snifffr-bsn-landing .bsn-authority-body p + p { margin-top: 18px; }

/* ── SECTION 5 — Persona cards ───────────────────────────────────── */
.snifffr-bsn-landing .bsn-personas {
    padding: 100px 0;
    background: var(--bsn-lavender-tint);
}
.snifffr-bsn-landing .bsn-persona-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    margin-bottom: 48px;
}
.snifffr-bsn-landing .bsn-persona {
    background: var(--bsn-card);
    border-radius: var(--bsn-radius-card);
    padding: 40px 36px;
    box-shadow: var(--bsn-shadow-soft);
    border: 1px solid var(--bsn-lavender-edge);
    position: relative;
    overflow: hidden;
    transition: transform .2s ease, box-shadow .2s ease;
}
.snifffr-bsn-landing .bsn-persona:hover {
    transform: translateY(-4px);
    box-shadow: var(--bsn-shadow-mid);
}
.snifffr-bsn-landing .bsn-persona--sellers { background: linear-gradient(180deg, var(--bsn-pink-pale) 0%, #fff 50%); }
.snifffr-bsn-landing .bsn-persona--buyers  { background: linear-gradient(180deg, var(--bsn-lavender) 0%, #fff 50%); }
.snifffr-bsn-landing .bsn-persona-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    background: #fff;
    border: 1px solid var(--bsn-lavender-edge);
    border-radius: 18px;
    font-size: 26px;
    margin-bottom: 20px;
    box-shadow: var(--bsn-shadow-soft);
}
.snifffr-bsn-landing .bsn-persona h4 {
    margin: 0 0 22px;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: var(--bsn-purple);
}
.snifffr-bsn-landing .bsn-persona ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 12px;
}
.snifffr-bsn-landing .bsn-persona li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 15px;
    line-height: 1.5;
    color: var(--bsn-purple);
}
.snifffr-bsn-landing .bsn-persona li::before {
    content: "✓";
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    background: var(--bsn-pink);
    color: #fff;
    border-radius: 50%;
    font-size: 11px;
    font-weight: 700;
    margin-top: 1px;
}
.snifffr-bsn-landing .bsn-persona-cta-row { text-align: center; }
.snifffr-bsn-landing .bsn-persona-cta-row .bsn-cta-note { color: var(--bsn-purple-muted); }

/* ── SECTION 6 — Full guide (long-form article card) ─────────────── */
.snifffr-bsn-landing .bsn-guide {
    padding: 100px 0;
    background: var(--bsn-card);
}
.snifffr-bsn-landing .bsn-guide-card {
    max-width: 920px;
    margin: 0 auto;
    background: var(--bsn-card);
    border: 1px solid var(--bsn-lavender-edge);
    border-radius: var(--bsn-radius-card);
    padding: 64px 60px;
    box-shadow: var(--bsn-shadow-soft);
}
.snifffr-bsn-landing .bsn-guide-card h2 {
    margin: 0 0 14px;
    font-size: 38px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--bsn-purple);
}
.snifffr-bsn-landing .bsn-guide-card h4 {
    margin: 48px 0 18px;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: var(--bsn-purple);
    display: flex;
    align-items: center;
    gap: 14px;
}
.snifffr-bsn-landing .bsn-guide-card h4::before {
    content: "";
    display: inline-block;
    width: 32px;
    height: 4px;
    background: var(--bsn-pink);
    border-radius: 2px;
    flex-shrink: 0;
}
.snifffr-bsn-landing .bsn-guide-card h4:first-of-type { margin-top: 0; }
.snifffr-bsn-landing .bsn-guide-card p {
    margin: 0 0 18px;
    font-size: 17px;
    line-height: 1.75;
    color: var(--bsn-purple);
}
.snifffr-bsn-landing .bsn-guide-card p strong,
.snifffr-bsn-landing .bsn-guide-card p b {
    display: block;
    margin-top: 10px;
    font-size: 16px;
    font-weight: 800;
    color: var(--bsn-pink);
    letter-spacing: 0.01em;
}
.snifffr-bsn-landing .bsn-guide-card ul {
    margin: 0 0 24px;
    padding-left: 26px;
}
.snifffr-bsn-landing .bsn-guide-card ul li {
    margin: 10px 0;
    font-size: 16px;
    line-height: 1.65;
    color: var(--bsn-purple);
}
.snifffr-bsn-landing .bsn-guide-card ul li::marker { color: var(--bsn-pink); }

/* ── SECTION 7 — Re-engage CTA card ──────────────────────────────── */
.snifffr-bsn-landing .bsn-engage {
    padding: 100px 0;
    background: var(--bsn-lavender-tint);
}
.snifffr-bsn-landing .bsn-engage-card {
    max-width: 720px;
    margin: 0 auto;
    background:
        radial-gradient(circle at 80% 0%, rgba(230,92,149,0.18), transparent 50%),
        linear-gradient(160deg, var(--bsn-purple-surface) 0%, var(--bsn-purple-deep) 100%);
    color: #fff;
    padding: 56px 48px;
    border-radius: var(--bsn-radius-card);
    text-align: center;
    box-shadow: var(--bsn-shadow-deep);
}
.snifffr-bsn-landing .bsn-engage-card h4 {
    margin: 0 0 24px;
    font-size: 30px;
    font-weight: 800;
    letter-spacing: -0.015em;
    line-height: 1.2;
    color: #fff;
}
.snifffr-bsn-landing .bsn-engage-list {
    list-style: none;
    margin: 0 auto 32px;
    padding: 0;
    display: grid;
    gap: 12px;
    text-align: left;
    max-width: 420px;
}
.snifffr-bsn-landing .bsn-engage-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 15px;
    color: rgba(255,255,255,0.95);
    font-weight: 500;
}
.snifffr-bsn-landing .bsn-engage-list li::before {
    content: "✓";
    width: 22px;
    height: 22px;
    background: var(--bsn-pink);
    color: #fff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    flex-shrink: 0;
}
.snifffr-bsn-landing .bsn-engage-card .bsn-cta { background: var(--bsn-pink); box-shadow: var(--bsn-shadow-pink); }
.snifffr-bsn-landing .bsn-engage-card .bsn-cta:hover { background: var(--bsn-pink-deep); }
.snifffr-bsn-landing .bsn-engage-card .bsn-cta-note { color: rgba(255,255,255,0.7); }

/* ── SECTION 8 — Snifffr Deals (4-feature grid + secondary content) */
.snifffr-bsn-landing .bsn-deals {
    padding: 100px 0;
    background: var(--bsn-card);
}
.snifffr-bsn-landing .bsn-deals-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-bottom: 48px;
}
.snifffr-bsn-landing .bsn-deal-feat {
    background: linear-gradient(180deg, var(--bsn-pink-pale) 0%, var(--bsn-card) 100%);
    border: 1px solid var(--bsn-lavender-edge);
    border-radius: var(--bsn-radius-card);
    padding: 28px 28px;
    box-shadow: var(--bsn-shadow-soft);
    display: flex;
    gap: 18px;
}
.snifffr-bsn-landing .bsn-deal-feat-icon {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    background: var(--bsn-pink);
    color: #fff;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    box-shadow: 0 6px 14px -4px rgba(230,92,149,0.4);
}
.snifffr-bsn-landing .bsn-deal-feat-body strong {
    display: block;
    font-size: 16px;
    font-weight: 800;
    color: var(--bsn-purple);
    margin-bottom: 6px;
}
.snifffr-bsn-landing .bsn-deal-feat-body span {
    display: block;
    font-size: 14px;
    line-height: 1.55;
    color: var(--bsn-purple-surface);
}
.snifffr-bsn-landing .bsn-deals-secondary {
    background: var(--bsn-lavender-tint);
    border-radius: var(--bsn-radius-card);
    padding: 48px;
    border: 1px solid var(--bsn-lavender-edge);
}
.snifffr-bsn-landing .bsn-deals-secondary h4 {
    margin: 36px 0 14px;
    font-size: 22px;
    font-weight: 800;
    color: var(--bsn-purple);
    letter-spacing: -0.01em;
}
.snifffr-bsn-landing .bsn-deals-secondary h4:first-child { margin-top: 0; }
.snifffr-bsn-landing .bsn-deals-secondary p {
    margin: 0 0 18px;
    font-size: 16px;
    line-height: 1.7;
    color: var(--bsn-purple);
}
.snifffr-bsn-landing .bsn-deals-secondary ul {
    margin: 0 0 18px;
    padding-left: 24px;
}
.snifffr-bsn-landing .bsn-deals-secondary ul li {
    margin: 8px 0;
    font-size: 15px;
    line-height: 1.6;
    color: var(--bsn-purple);
}
.snifffr-bsn-landing .bsn-deals-secondary ul li::marker { color: var(--bsn-pink); }

/* ── SECTION 9 — Final CTA ───────────────────────────────────────── */
.snifffr-bsn-landing .bsn-final {
    padding: 100px 0;
    background:
        radial-gradient(circle at 80% 0%, rgba(230,92,149,0.20), transparent 50%),
        linear-gradient(180deg, var(--bsn-lavender) 0%, var(--bsn-pink-pale) 100%);
}
.snifffr-bsn-landing .bsn-final-card {
    max-width: 880px;
    margin: 0 auto;
    background: var(--bsn-card);
    border-radius: var(--bsn-radius-card);
    padding: 64px 60px;
    text-align: center;
    box-shadow: var(--bsn-shadow-deep);
    border: 1px solid var(--bsn-lavender-edge);
}
.snifffr-bsn-landing .bsn-final-card h2 {
    margin: 0 0 18px;
    font-size: 36px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--bsn-purple);
    line-height: 1.15;
}
.snifffr-bsn-landing .bsn-final-card p {
    margin: 15px auto 32px;
    max-width: 620px;
    font-size: 17px;
    line-height: 1.7;
    color: var(--bsn-purple-surface);
}

/* ── Sticky signup bar (kept, restyled) ──────────────────────────── */
#sticky-signup-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #4F4470;
    color: #fff;
    padding: 14px 24px;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    box-shadow: 0 -10px 30px rgba(51, 46, 77, 0.25);
    opacity: 0;
    transform: translateY(100%);
    transition: opacity 0.4s ease, transform 0.4s ease;
    pointer-events: none;
}
#sticky-signup-bar.visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: all;
}
#sticky-signup-bar h2 {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    margin: 0;
}
/* Sticky bar lives outside .snifffr-bsn-landing, so the scoped .bsn-cta
   typography/geometry doesn't reach it. Restate the pill shape +
   typography here so the sticky CTA matches the in-page CTAs. */
#sticky-signup-bar .bsn-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 22px;
    background: #e65c95;
    color: #fff;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: 0 12px 30px -10px rgba(230, 92, 149, 0.45);
    transition: background .15s ease, transform .15s ease, box-shadow .15s ease;
}
#sticky-signup-bar .bsn-cta:hover {
    background: #d34a83;
    transform: translateY(-1px);
    box-shadow: 0 16px 36px -10px rgba(230, 92, 149, 0.55);
}
#sticky-signup-bar .bsn-cta .arrow {
    font-size: 14px;
    line-height: 1;
    transition: transform .15s ease;
}
#sticky-signup-bar .bsn-cta:hover .arrow { transform: translateX(3px); }

/* ── Article tail wrapper inside the landing template ────────────── */
/* When .snifffr-blog-single sits at the bottom of the BSN landing
   for the_content + author bio + post nav, suppress its body bg/
   margin so it merges cleanly with the section above. */
.snifffr-bsn-landing .snifffr-blog-single--landing-tail {
    background: var(--bsn-card);
    margin: 0;
}
.snifffr-bsn-landing .snifffr-blog-single--landing-tail .blog-single-body { padding: 80px 0; }

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 991px) {
    .snifffr-bsn-landing .bsn-hero-grid { grid-template-columns: 1fr; min-height: 0; gap: 0; padding: 0 16px; }
    .snifffr-bsn-landing .bsn-hero-body { padding: 56px 8px 32px; order: 1; }
    .snifffr-bsn-landing .bsn-hero-image { order: 2; aspect-ratio: 16 / 9; min-height: 0; }
    .snifffr-bsn-landing .bsn-hero-image::before { display: none; }
    .snifffr-bsn-landing .bsn-hero h1 { font-size: 36px; }
    .snifffr-bsn-landing .bsn-trust h1 { font-size: 30px; }
    .snifffr-bsn-landing .bsn-trust,
    .snifffr-bsn-landing .bsn-how,
    .snifffr-bsn-landing .bsn-authority,
    .snifffr-bsn-landing .bsn-personas,
    .snifffr-bsn-landing .bsn-guide,
    .snifffr-bsn-landing .bsn-engage,
    .snifffr-bsn-landing .bsn-deals,
    .snifffr-bsn-landing .bsn-final { padding: 64px 0; }
    .snifffr-bsn-landing .bsn-section-head h2 { font-size: 30px; }
    .snifffr-bsn-landing .bsn-how-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
    .snifffr-bsn-landing .bsn-how-grid::before { display: none; }
    .snifffr-bsn-landing .bsn-authority-grid { grid-template-columns: 1fr; gap: 32px; }
    .snifffr-bsn-landing .bsn-quote { padding: 36px 28px; }
    .snifffr-bsn-landing .bsn-quote p { font-size: 18px; }
    .snifffr-bsn-landing .bsn-persona-grid { grid-template-columns: 1fr; }
    .snifffr-bsn-landing .bsn-guide-card { padding: 40px 28px; }
    .snifffr-bsn-landing .bsn-guide-card h2 { font-size: 28px; }
    .snifffr-bsn-landing .bsn-guide-card h4 { font-size: 20px; }
    .snifffr-bsn-landing .bsn-deals-features { grid-template-columns: 1fr; }
    .snifffr-bsn-landing .bsn-deals-secondary { padding: 32px 24px; }
    .snifffr-bsn-landing .bsn-final-card { padding: 44px 28px; }
    .snifffr-bsn-landing .bsn-final-card h2 { font-size: 28px; }
    .snifffr-bsn-landing .bsn-engage-card { padding: 40px 28px; }
    .snifffr-bsn-landing .bsn-engage-card h4 { font-size: 24px; }
    /* Push wrapper clear of fixed mobile topbar (matches single.php pattern). */
    .snifffr-bsn-landing { margin-top: 60px; }
    .snifffr-bsn-landing .bsn-hero { margin-top: 0; }
    #sticky-signup-bar { flex-direction: column; gap: 10px; padding: 14px 16px; }
    #sticky-signup-bar h2 { font-size: 13px; text-align: center; }
}
@media (max-width: 575px) {
    .snifffr-bsn-landing .bsn-hero h1 { font-size: 28px; }
    .snifffr-bsn-landing .bsn-how-grid { grid-template-columns: 1fr; }
    .snifffr-bsn-landing .bsn-deal-feat { flex-direction: column; gap: 12px; align-items: flex-start; }
}

/* =========================================================================
   LANDING TEMPLATE — "How Much Do People Pay For Used Panties?"
   Markup: single-post-how-much-people-pay-for-used-panties.php
   All sections namespaced .ppr-* under .snifffr-ppr-landing.
   Bootstrap Icons enqueued globally via functions/enqueues.php.
   Shares the visual vocabulary established by the BSN landing
   (footer-purple #4F4470 on dark surfaces, brand purple #332e4d
   for typography, pink #e65c95 for accents).
   ========================================================================= */
.snifffr-ppr-landing {
    --ppr-purple:         #332e4d;
    --ppr-purple-surface: #4F4470;
    --ppr-purple-deep:    #3D3554;
    --ppr-purple-muted:   #6c6585;
    --ppr-purple-faint:   #a39db8;
    --ppr-pink:           #e65c95;
    --ppr-pink-deep:      #d34a83;
    --ppr-pink-soft:      #ff5a8d;
    --ppr-pink-pale:      #fdf1f6;
    --ppr-pink-pale-2:    #ffd6e4;
    --ppr-lavender:       #ebe4f5;
    --ppr-lavender-tint:  #f7f5fc;
    --ppr-lavender-edge:  #e6e0ee;
    --ppr-card:           #ffffff;
    --ppr-shadow-soft:    0 4px 16px -6px rgba(51, 46, 77, 0.10);
    --ppr-shadow-mid:     0 12px 32px -12px rgba(51, 46, 77, 0.15);
    --ppr-shadow-deep:    0 18px 44px -16px rgba(51, 46, 77, 0.22);
    --ppr-shadow-pink:    0 12px 30px -10px rgba(230, 92, 149, 0.45);
    --ppr-shadow-purple:  0 12px 30px -10px rgba(79, 68, 112, 0.5);
    --ppr-radius-card:    20px;
    --ppr-radius-pill:    999px;
    --ppr-container-max:  1180px;

    background: var(--ppr-lavender-tint);
    color: var(--ppr-purple);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    -webkit-font-smoothing: antialiased;
    font-size: 16px;
    line-height: 1.6;
}
.snifffr-ppr-landing a { color: inherit; text-decoration: none; }
.snifffr-ppr-landing img { max-width: 100%; height: auto; display: block; }
.snifffr-ppr-landing .container {
    max-width: var(--ppr-container-max);
    margin: 0 auto;
    padding: 0 24px;
}

/* ── Breadcrumb ──────────────────────────────────────────────────── */
.snifffr-ppr-landing .ppr-breadcrumb {
    background: #fff;
    border-bottom: 1px solid var(--ppr-lavender-edge);
    padding: 14px 0;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--ppr-purple-muted);
}
.snifffr-ppr-landing .ppr-breadcrumb a { color: var(--ppr-purple-surface); }
.snifffr-ppr-landing .ppr-breadcrumb a:hover { color: var(--ppr-pink); }
.snifffr-ppr-landing .ppr-breadcrumb .sep { color: var(--ppr-purple-faint); margin: 0 8px; }
.snifffr-ppr-landing .ppr-breadcrumb .current { color: var(--ppr-purple); }

/* ── CTA pill ────────────────────────────────────────────────────── */
.snifffr-ppr-landing .ppr-cta {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    gap: 10px;
    padding: 18px 32px;
    background: var(--ppr-purple-surface);
    color: #fff;
    border-radius: var(--ppr-radius-pill);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: var(--ppr-shadow-purple);
    transition: background .15s ease, transform .15s ease, box-shadow .15s ease;
}
.snifffr-ppr-landing .ppr-cta:hover {
    background: var(--ppr-purple-deep);
    transform: translateY(-1px);
    box-shadow: 0 16px 36px -10px rgba(79,68,112,0.55);
}
.snifffr-ppr-landing .ppr-cta .arrow { font-size: 16px; line-height: 1; transition: transform .15s ease; }
.snifffr-ppr-landing .ppr-cta:hover .arrow { transform: translateX(3px); }
.snifffr-ppr-landing .ppr-cta--pink { background: var(--ppr-pink); box-shadow: var(--ppr-shadow-pink); }
.snifffr-ppr-landing .ppr-cta--pink:hover { background: var(--ppr-pink-deep); }
.snifffr-ppr-landing .ppr-cta-note {
    margin: 12px 0 0;
    font-size: 12px;
    font-weight: 600;
    color: var(--ppr-purple-muted);
    letter-spacing: 0.04em;
}

/* ── SECTION 1 — Hero ────────────────────────────────────────────── */
.snifffr-ppr-landing .ppr-hero {
    position: relative;
    background:
        radial-gradient(circle at 88% 60%, rgba(255,90,141,0.20), transparent 50%),
        linear-gradient(105deg, var(--ppr-lavender) 0%, var(--ppr-lavender-tint) 35%, #ffe7f0 70%, var(--ppr-pink-pale-2) 100%);
    overflow: hidden;
    border-bottom: 1px solid var(--ppr-lavender-edge);
}
.snifffr-ppr-landing .ppr-hero-grid {
    max-width: var(--ppr-container-max);
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    align-items: stretch;
    gap: 32px;
    min-height: 560px;
}
.snifffr-ppr-landing .ppr-hero-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 72px 0 72px 24px;
}
.snifffr-ppr-landing .ppr-hero h1 {
    margin: 0 0 24px;
    font-size: 48px;
    font-weight: 900;
    letter-spacing: -0.025em;
    line-height: 1.05;
    color: var(--ppr-pink-soft);
    text-transform: uppercase;
}
.snifffr-ppr-landing .ppr-hero-checks {
    margin: 0 0 32px;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
}
.snifffr-ppr-landing .ppr-hero-checks li {
    font-size: 16px;
    font-weight: 600;
    color: var(--ppr-purple);
    display: flex;
    align-items: center;
    gap: 12px;
}
.snifffr-ppr-landing .ppr-hero-checks li::before {
    content: "✓";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: var(--ppr-pink);
    color: #fff;
    border-radius: 50%;
    font-size: 14px;
    font-weight: 700;
    flex-shrink: 0;
    box-shadow: 0 4px 10px -3px rgba(230, 92, 149, 0.45);
}
.snifffr-ppr-landing .ppr-hero-image {
    position: relative;
    overflow: hidden;
    min-height: 360px;
}
.snifffr-ppr-landing .ppr-hero-image img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center 30%;
    display: block !important; /* override custom.css:7573/7941 mobile hide */
}
.snifffr-ppr-landing .ppr-hero-image::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, var(--ppr-pink-pale-2) 0%, transparent 18%, transparent 100%);
    z-index: 1;
}

/* ── SECTION 2 — Trust band ──────────────────────────────────────── */
.snifffr-ppr-landing .ppr-trust {
    background:
        radial-gradient(circle at 10% 50%, rgba(230,92,149,0.16), transparent 35%),
        var(--ppr-purple-surface);
    color: #fff;
    padding: 100px 0;
    text-align: center;
}
.snifffr-ppr-landing .ppr-trust-eyebrow {
    display: inline-block;
    padding: 6px 14px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: var(--ppr-radius-pill);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-bottom: 28px;
}
.snifffr-ppr-landing .ppr-trust h2 {
    margin: 0 auto 36px;
    font-size: 40px;
    font-weight: 900;
    letter-spacing: -0.015em;
    line-height: 1.15;
    color: #fff;
    max-width: 900px;
}
.snifffr-ppr-landing .ppr-trust-list {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    max-width: 1080px;
}
.snifffr-ppr-landing .ppr-trust-list li {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 16px;
    padding: 20px 16px;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
}
.snifffr-ppr-landing .ppr-trust-list li .ico { display: block; font-size: 24px; margin-bottom: 8px; }

/* ── SECTION 3 — Intro ───────────────────────────────────────────── */
.snifffr-ppr-landing .ppr-intro {
    padding: 100px 0;
    background:
        radial-gradient(circle at 50% 100%, rgba(230,92,149,0.06), transparent 50%),
        linear-gradient(180deg, var(--ppr-pink-pale) 0%, var(--ppr-lavender-tint) 100%);
}
.snifffr-ppr-landing .ppr-section-head { text-align: center; margin: 0 auto 48px; max-width: 760px; }
.snifffr-ppr-landing .ppr-section-eyebrow {
    display: inline-block;
    padding: 6px 14px;
    background: var(--ppr-card);
    border: 1px solid var(--ppr-lavender-edge);
    color: var(--ppr-purple-surface);
    border-radius: var(--ppr-radius-pill);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-bottom: 18px;
}
.snifffr-ppr-landing .ppr-section-head h2 {
    margin: 0;
    font-size: 40px;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.15;
    color: var(--ppr-purple);
}
.snifffr-ppr-landing .ppr-intro-body { max-width: 820px; margin: 0 auto; text-align: center; }
.snifffr-ppr-landing .ppr-intro-body p {
    margin: 0 0 18px;
    font-size: 17px;
    line-height: 1.75;
    color: var(--ppr-purple-surface);
}
.snifffr-ppr-landing .ppr-intro-body p:last-child { margin-bottom: 0; }
.snifffr-ppr-landing .ppr-intro-body p a { color: var(--ppr-pink); font-weight: 700; }

/* ── SECTION 4 — Tier ladder (signature) ─────────────────────────── */
.snifffr-ppr-landing .ppr-tiers {
    padding: 100px 0;
    background:
        radial-gradient(circle at 80% 0%, rgba(255,90,141,0.10), transparent 50%),
        var(--ppr-card);
}
.snifffr-ppr-landing .ppr-tiers-head { text-align: center; margin: 0 auto 56px; max-width: 760px; }
.snifffr-ppr-landing .ppr-tiers-head h2 {
    margin: 0 0 14px;
    font-size: 40px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--ppr-purple);
}
.snifffr-ppr-landing .ppr-tiers-head .ppr-lead {
    margin: 0 0 4px;
    font-size: 16px;
    font-weight: 700;
    color: var(--ppr-purple-surface);
}
.snifffr-ppr-landing .ppr-tier-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    align-items: end;
    margin-bottom: 48px;
}
.snifffr-ppr-landing .ppr-tier {
    position: relative;
    background: var(--ppr-card);
    border: 1px solid var(--ppr-lavender-edge);
    border-radius: var(--ppr-radius-card);
    padding: 40px 28px 32px;
    text-align: center;
    box-shadow: var(--ppr-shadow-soft);
    transition: transform .2s ease, box-shadow .2s ease;
    overflow: hidden;
}
.snifffr-ppr-landing .ppr-tier::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 6px;
}
.snifffr-ppr-landing .ppr-tier:hover { transform: translateY(-6px); box-shadow: var(--ppr-shadow-mid); }
.snifffr-ppr-landing .ppr-tier--basic    { background: linear-gradient(180deg, var(--ppr-lavender-tint) 0%, #fff 60%); }
.snifffr-ppr-landing .ppr-tier--basic::before { background: var(--ppr-purple-faint); }
.snifffr-ppr-landing .ppr-tier--custom   { background: linear-gradient(180deg, var(--ppr-pink-pale) 0%, #fff 60%); padding-top: 56px; }
.snifffr-ppr-landing .ppr-tier--custom::before { background: var(--ppr-pink); }
.snifffr-ppr-landing .ppr-tier--top      { background: linear-gradient(180deg, var(--ppr-pink-pale-2) 0%, #fff 60%); padding-top: 72px; }
.snifffr-ppr-landing .ppr-tier--top::before {
    background: linear-gradient(90deg, var(--ppr-pink-soft), var(--ppr-pink-deep));
    height: 8px;
}
.snifffr-ppr-landing .ppr-tier-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: var(--ppr-radius-pill);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-bottom: 16px;
}
.snifffr-ppr-landing .ppr-tier--basic  .ppr-tier-badge { background: var(--ppr-lavender); color: var(--ppr-purple-surface); }
.snifffr-ppr-landing .ppr-tier--custom .ppr-tier-badge { background: var(--ppr-pink-pale-2); color: var(--ppr-pink-deep); }
.snifffr-ppr-landing .ppr-tier--top    .ppr-tier-badge { background: var(--ppr-pink); color: #fff; }
.snifffr-ppr-landing .ppr-tier-name {
    font-size: 18px;
    font-weight: 800;
    color: var(--ppr-purple);
    margin: 0 0 14px;
    letter-spacing: -0.01em;
}
.snifffr-ppr-landing .ppr-tier-price {
    font-size: 42px;
    font-weight: 900;
    color: var(--ppr-pink-soft);
    letter-spacing: -0.025em;
    margin-bottom: 4px;
    line-height: 1;
}
.snifffr-ppr-landing .ppr-tier--top .ppr-tier-price { font-size: 48px; }
.snifffr-ppr-landing .ppr-tier-price-unit {
    font-size: 12px;
    font-weight: 700;
    color: var(--ppr-purple-muted);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.snifffr-ppr-landing .ppr-tiers-cta-row { text-align: center; }

/* ── SECTION 5 — Price influencers (signature) ───────────────────── */
.snifffr-ppr-landing .ppr-influencers {
    padding: 100px 0;
    background:
        radial-gradient(circle at 0% 0%, rgba(230,92,149,0.05), transparent 30%),
        var(--ppr-lavender-tint);
}
.snifffr-ppr-landing .ppr-influencer-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-bottom: 36px;
}
.snifffr-ppr-landing .ppr-influencer {
    background: var(--ppr-card);
    border: 1px solid var(--ppr-lavender-edge);
    border-radius: var(--ppr-radius-card);
    padding: 28px 26px;
    box-shadow: var(--ppr-shadow-soft);
    position: relative;
    transition: transform .2s ease, box-shadow .2s ease;
}
.snifffr-ppr-landing .ppr-influencer:hover { transform: translateY(-3px); box-shadow: var(--ppr-shadow-mid); }
.snifffr-ppr-landing .ppr-influencer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}
.snifffr-ppr-landing .ppr-influencer-icon {
    width: 48px;
    height: 48px;
    background: var(--ppr-lavender);
    color: var(--ppr-purple-surface);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}
.snifffr-ppr-landing .ppr-influencer-impact {
    display: inline-flex;
    align-items: center;
    padding: 5px 11px;
    background: var(--ppr-pink-pale);
    color: var(--ppr-pink-deep);
    border: 1px solid var(--ppr-pink-pale-2);
    border-radius: var(--ppr-radius-pill);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.snifffr-ppr-landing .ppr-influencer h4 {
    font-size: 16px;
    font-weight: 800;
    color: var(--ppr-purple);
    margin: 0 0 10px;
    letter-spacing: -0.01em;
}
.snifffr-ppr-landing .ppr-influencer p {
    font-size: 14px;
    line-height: 1.6;
    color: var(--ppr-purple-surface);
    margin: 0;
}
.snifffr-ppr-landing .ppr-influencers-cta-row { text-align: center; margin-top: 24px; }
.snifffr-ppr-landing .ppr-influencers-cta-row p { margin: 0 0 18px; font-size: 16px; color: var(--ppr-purple-surface); }
.snifffr-ppr-landing .ppr-influencers-cta-row p a { color: var(--ppr-pink); font-weight: 700; }

/* ── SECTION 6 — Personas ────────────────────────────────────────── */
.snifffr-ppr-landing .ppr-personas {
    padding: 100px 0;
    background: var(--ppr-card);
}
.snifffr-ppr-landing .ppr-persona-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
}
.snifffr-ppr-landing .ppr-persona {
    background: var(--ppr-card);
    border-radius: var(--ppr-radius-card);
    padding: 44px 36px;
    text-align: center;
    box-shadow: var(--ppr-shadow-soft);
    border: 1px solid var(--ppr-lavender-edge);
    transition: transform .2s ease, box-shadow .2s ease;
}
.snifffr-ppr-landing .ppr-persona:hover { transform: translateY(-4px); box-shadow: var(--ppr-shadow-mid); }
.snifffr-ppr-landing .ppr-persona--sell { background: linear-gradient(180deg, var(--ppr-pink-pale) 0%, #fff 50%); }
.snifffr-ppr-landing .ppr-persona--buy  { background: linear-gradient(180deg, var(--ppr-lavender) 0%, #fff 50%); }
.snifffr-ppr-landing .ppr-persona-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    background: #fff;
    border: 1px solid var(--ppr-lavender-edge);
    border-radius: 20px;
    font-size: 30px;
    color: var(--ppr-purple-surface);
    margin: 0 auto 18px;
    box-shadow: var(--ppr-shadow-soft);
}
.snifffr-ppr-landing .ppr-persona h4 {
    margin: 0 0 16px;
    font-size: 22px;
    font-weight: 800;
    color: var(--ppr-purple);
    letter-spacing: -0.01em;
}
.snifffr-ppr-landing .ppr-persona-sub {
    color: var(--ppr-purple-muted);
    font-size: 14px;
    margin-bottom: 28px;
}
.snifffr-ppr-landing .ppr-persona .ppr-cta { align-self: center; }

/* ── SECTION 7 — Safety callout ──────────────────────────────────── */
.snifffr-ppr-landing .ppr-safety {
    padding: 100px 0;
    background:
        radial-gradient(circle at 80% 0%, rgba(230,92,149,0.16), transparent 60%),
        linear-gradient(180deg, var(--ppr-lavender-tint) 0%, var(--ppr-card) 100%);
}
.snifffr-ppr-landing .ppr-safety-card {
    max-width: 920px;
    margin: 0 auto;
    background: var(--ppr-card);
    border: 1px solid var(--ppr-lavender-edge);
    border-radius: var(--ppr-radius-card);
    padding: 56px 56px;
    display: grid;
    grid-template-columns: 96px 1fr;
    gap: 32px;
    align-items: flex-start;
    box-shadow: var(--ppr-shadow-mid);
    position: relative;
    overflow: hidden;
}
.snifffr-ppr-landing .ppr-safety-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 6px;
    height: 100%;
    background: linear-gradient(180deg, var(--ppr-pink) 0%, var(--ppr-pink-deep) 100%);
}
.snifffr-ppr-landing .ppr-safety-shield {
    width: 96px;
    height: 96px;
    background: linear-gradient(160deg, var(--ppr-pink-pale) 0%, var(--ppr-lavender) 100%);
    border-radius: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 44px;
    color: var(--ppr-pink-deep);
    flex-shrink: 0;
    box-shadow: 0 8px 22px -8px rgba(230,92,149,0.4);
}
.snifffr-ppr-landing .ppr-safety-body h4 {
    margin: 0 0 16px;
    font-size: 26px;
    font-weight: 800;
    color: var(--ppr-purple);
    letter-spacing: -0.01em;
}
.snifffr-ppr-landing .ppr-safety-body p {
    margin: 0 0 12px;
    font-size: 16px;
    line-height: 1.7;
    color: var(--ppr-purple-surface);
}
.snifffr-ppr-landing .ppr-safety-body p:last-child { margin-bottom: 0; }
.snifffr-ppr-landing .ppr-safety-body p a { color: var(--ppr-pink); font-weight: 700; }

/* ── SECTION 8 — Guide (long-form) ───────────────────────────────── */
.snifffr-ppr-landing .ppr-guide {
    padding: 100px 0;
    background: var(--ppr-card);
}
.snifffr-ppr-landing .ppr-guide-card {
    max-width: 920px;
    margin: 0 auto;
    background: var(--ppr-card);
    border: 1px solid var(--ppr-lavender-edge);
    border-radius: var(--ppr-radius-card);
    padding: 64px 60px;
    box-shadow: var(--ppr-shadow-soft);
}
.snifffr-ppr-landing .ppr-guide-card h2 {
    margin: 0 0 14px;
    font-size: 36px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--ppr-purple);
}
.snifffr-ppr-landing .ppr-guide-card h4 {
    margin: 40px 0 16px;
    font-size: 22px;
    font-weight: 800;
    color: var(--ppr-purple);
    letter-spacing: -0.01em;
    display: flex;
    align-items: center;
    gap: 14px;
}
.snifffr-ppr-landing .ppr-guide-card h4::before {
    content: "";
    display: inline-block;
    width: 28px;
    height: 4px;
    background: var(--ppr-pink);
    border-radius: 2px;
    flex-shrink: 0;
}
.snifffr-ppr-landing .ppr-guide-card > h2 + p { margin-top: 8px; }
.snifffr-ppr-landing .ppr-guide-card p {
    margin: 0 0 18px;
    font-size: 16px;
    line-height: 1.75;
    color: var(--ppr-purple);
}
.snifffr-ppr-landing .ppr-guide-card ul {
    margin: 0 0 24px;
    padding-left: 26px;
}
.snifffr-ppr-landing .ppr-guide-card ul li {
    margin: 8px 0;
    font-size: 16px;
    line-height: 1.65;
    color: var(--ppr-purple);
}
.snifffr-ppr-landing .ppr-guide-card ul li::marker { color: var(--ppr-pink); }

/* ── SECTION 9 — Engage CTA ──────────────────────────────────────── */
.snifffr-ppr-landing .ppr-engage {
    padding: 100px 0;
    background: var(--ppr-lavender-tint);
}
.snifffr-ppr-landing .ppr-engage-card {
    max-width: 760px;
    margin: 0 auto;
    background:
        radial-gradient(circle at 80% 0%, rgba(230,92,149,0.18), transparent 50%),
        linear-gradient(160deg, var(--ppr-purple-surface) 0%, var(--ppr-purple-deep) 100%);
    color: #fff;
    padding: 56px 48px;
    border-radius: var(--ppr-radius-card);
    text-align: center;
    box-shadow: var(--ppr-shadow-deep);
}
.snifffr-ppr-landing .ppr-engage-card h2 {
    margin: 0 0 14px;
    font-size: 32px;
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.015em;
}
.snifffr-ppr-landing .ppr-engage-card p {
    margin: 0 auto 28px;
    max-width: 540px;
    font-size: 16px;
    line-height: 1.65;
    color: rgba(255,255,255,0.85);
}
.snifffr-ppr-landing .ppr-engage-card .ppr-cta-note { color: rgba(255,255,255,0.7); }
.snifffr-ppr-landing .ppr-engage-card .ppr-cta { align-self: center; }

/* ── SECTION 10 — Why snifffr ────────────────────────────────────── */
.snifffr-ppr-landing .ppr-why {
    padding: 100px 0;
    background:
        radial-gradient(circle at 50% 100%, rgba(255,90,141,0.06), transparent 50%),
        var(--ppr-card);
}
.snifffr-ppr-landing .ppr-why-head { text-align: center; margin: 0 auto 48px; max-width: 760px; }
.snifffr-ppr-landing .ppr-why-head h2 {
    margin: 0;
    font-size: 38px;
    font-weight: 800;
    color: var(--ppr-purple);
    letter-spacing: -0.02em;
}
.snifffr-ppr-landing .ppr-why-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 18px;
    margin-bottom: 40px;
}
.snifffr-ppr-landing .ppr-why-card {
    background: linear-gradient(180deg, var(--ppr-pink-pale) 0%, var(--ppr-card) 80%);
    border: 1px solid var(--ppr-lavender-edge);
    border-radius: var(--ppr-radius-card);
    padding: 24px 18px;
    text-align: center;
    box-shadow: var(--ppr-shadow-soft);
}
.snifffr-ppr-landing .ppr-why-card .ico {
    width: 52px;
    height: 52px;
    background: var(--ppr-pink);
    color: #fff;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin: 0 auto 14px;
    box-shadow: 0 6px 14px -4px rgba(230,92,149,0.4);
}
.snifffr-ppr-landing .ppr-why-card strong {
    display: block;
    font-size: 14px;
    color: var(--ppr-purple);
    font-weight: 800;
    line-height: 1.4;
}
.snifffr-ppr-landing .ppr-why-cta-row { text-align: center; }
.snifffr-ppr-landing .ppr-why-cta-row .ppr-cta-note { color: var(--ppr-purple-muted); }

/* ── SECTION 11 — FAQs ───────────────────────────────────────────── */
.snifffr-ppr-landing .ppr-faq {
    padding: 100px 0;
    background: var(--ppr-lavender-tint);
}
.snifffr-ppr-landing .ppr-faq-grid {
    max-width: 820px;
    margin: 0 auto;
    display: grid;
    gap: 14px;
}
.snifffr-ppr-landing .ppr-faq-item {
    background: var(--ppr-card);
    border: 1px solid var(--ppr-lavender-edge);
    border-radius: 16px;
    box-shadow: var(--ppr-shadow-soft);
    overflow: hidden;
    transition: box-shadow .2s ease;
}
.snifffr-ppr-landing .ppr-faq-item[open] { box-shadow: var(--ppr-shadow-mid); }
.snifffr-ppr-landing .ppr-faq-item summary {
    cursor: pointer;
    padding: 22px 28px;
    font-size: 16px;
    font-weight: 700;
    color: var(--ppr-purple);
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}
.snifffr-ppr-landing .ppr-faq-item summary::-webkit-details-marker { display: none; }
.snifffr-ppr-landing .ppr-faq-item summary::after {
    content: "+";
    width: 28px;
    height: 28px;
    background: var(--ppr-pink-pale);
    color: var(--ppr-pink-deep);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 700;
    flex-shrink: 0;
    transition: transform .2s ease;
    line-height: 1;
}
.snifffr-ppr-landing .ppr-faq-item[open] summary::after {
    content: "−";
    background: var(--ppr-pink);
    color: #fff;
    transform: rotate(180deg);
}
.snifffr-ppr-landing .ppr-faq-item .body {
    padding: 0 28px 24px;
    font-size: 15px;
    line-height: 1.7;
    color: var(--ppr-purple-surface);
}
.snifffr-ppr-landing .ppr-faq-item .body a { color: var(--ppr-pink); font-weight: 700; }

/* ── SECTION 12 — Final CTA ──────────────────────────────────────── */
.snifffr-ppr-landing .ppr-final {
    padding: 100px 0;
    background:
        radial-gradient(circle at 80% 0%, rgba(230,92,149,0.20), transparent 50%),
        linear-gradient(180deg, var(--ppr-lavender) 0%, var(--ppr-pink-pale) 100%);
}
.snifffr-ppr-landing .ppr-final-card {
    max-width: 820px;
    margin: 0 auto;
    background: var(--ppr-card);
    border: 1px solid var(--ppr-lavender-edge);
    border-radius: var(--ppr-radius-card);
    padding: 64px 60px;
    text-align: center;
    box-shadow: var(--ppr-shadow-deep);
}
.snifffr-ppr-landing .ppr-final-card h2 {
    margin: 0 0 18px;
    font-size: 34px;
    font-weight: 800;
    color: var(--ppr-purple);
    letter-spacing: -0.02em;
    line-height: 1.15;
}
.snifffr-ppr-landing .ppr-final-card .ppr-final-sub {
    margin: 0 0 24px;
    color: var(--ppr-purple-surface);
    font-size: 17px;
    font-weight: 600;
}
.snifffr-ppr-landing .ppr-final-list {
    list-style: none;
    margin: 0 auto 36px;
    padding: 0;
    display: inline-grid;
    gap: 10px;
    text-align: left;
}
.snifffr-ppr-landing .ppr-final-list li {
    font-size: 16px;
    color: var(--ppr-purple);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 12px;
}
.snifffr-ppr-landing .ppr-final-list li::before {
    content: "✓";
    width: 24px;
    height: 24px;
    background: var(--ppr-pink);
    color: #fff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    flex-shrink: 0;
}
.snifffr-ppr-landing .ppr-final-cta-wrap .ppr-cta { align-self: center; }

/* ── Sticky bar — repeat pill geometry since the bar lives outside
   the .snifffr-ppr-landing wrapper (same fix pattern as BSN). ──── */
#sticky-signup-bar .ppr-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 22px;
    background: #e65c95;
    color: #fff;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: 0 12px 30px -10px rgba(230, 92, 149, 0.45);
    transition: background .15s ease, transform .15s ease, box-shadow .15s ease;
}
#sticky-signup-bar .ppr-cta:hover {
    background: #d34a83;
    transform: translateY(-1px);
    box-shadow: 0 16px 36px -10px rgba(230, 92, 149, 0.55);
}
#sticky-signup-bar .ppr-cta .arrow { font-size: 14px; line-height: 1; transition: transform .15s ease; }
#sticky-signup-bar .ppr-cta:hover .arrow { transform: translateX(3px); }

/* ── Article tail wrapper inside the landing template ────────────── */
.snifffr-ppr-landing .snifffr-blog-single--landing-tail {
    background: var(--ppr-card);
    margin: 0;
}
.snifffr-ppr-landing .snifffr-blog-single--landing-tail .blog-single-body { padding: 80px 0; }

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 991px) {
    .snifffr-ppr-landing .ppr-hero-grid { grid-template-columns: 1fr; min-height: 0; gap: 0; padding: 0 16px; }
    .snifffr-ppr-landing .ppr-hero-body { padding: 56px 8px 32px; order: 1; }
    .snifffr-ppr-landing .ppr-hero-image { order: 2; aspect-ratio: 16 / 9; min-height: 0; }
    .snifffr-ppr-landing .ppr-hero-image::before { display: none; }
    .snifffr-ppr-landing .ppr-hero h1 { font-size: 32px; }
    .snifffr-ppr-landing .ppr-trust,
    .snifffr-ppr-landing .ppr-intro,
    .snifffr-ppr-landing .ppr-tiers,
    .snifffr-ppr-landing .ppr-influencers,
    .snifffr-ppr-landing .ppr-personas,
    .snifffr-ppr-landing .ppr-safety,
    .snifffr-ppr-landing .ppr-guide,
    .snifffr-ppr-landing .ppr-engage,
    .snifffr-ppr-landing .ppr-why,
    .snifffr-ppr-landing .ppr-faq,
    .snifffr-ppr-landing .ppr-final { padding: 64px 0; }
    .snifffr-ppr-landing .ppr-trust h2 { font-size: 28px; }
    .snifffr-ppr-landing .ppr-trust-list { grid-template-columns: repeat(2, 1fr); }
    .snifffr-ppr-landing .ppr-section-head h2,
    .snifffr-ppr-landing .ppr-tiers-head h2,
    .snifffr-ppr-landing .ppr-why-head h2 { font-size: 28px; }
    .snifffr-ppr-landing .ppr-tier-grid { grid-template-columns: 1fr; gap: 16px; }
    .snifffr-ppr-landing .ppr-tier--custom,
    .snifffr-ppr-landing .ppr-tier--top { padding-top: 40px; }
    .snifffr-ppr-landing .ppr-tier-price,
    .snifffr-ppr-landing .ppr-tier--top .ppr-tier-price { font-size: 36px; }
    .snifffr-ppr-landing .ppr-influencer-grid { grid-template-columns: 1fr; }
    .snifffr-ppr-landing .ppr-persona-grid { grid-template-columns: 1fr; }
    .snifffr-ppr-landing .ppr-safety-card { grid-template-columns: 1fr; padding: 40px 28px; }
    .snifffr-ppr-landing .ppr-safety-shield { margin: 0 auto; }
    .snifffr-ppr-landing .ppr-guide-card { padding: 40px 28px; }
    .snifffr-ppr-landing .ppr-guide-card h2 { font-size: 26px; }
    .snifffr-ppr-landing .ppr-guide-card h4 { font-size: 18px; margin-top: 28px; }
    .snifffr-ppr-landing .ppr-engage-card { padding: 40px 28px; }
    .snifffr-ppr-landing .ppr-engage-card h2 { font-size: 26px; }
    .snifffr-ppr-landing .ppr-why-grid { grid-template-columns: repeat(2, 1fr); }
    .snifffr-ppr-landing .ppr-final-card { padding: 40px 28px; }
    .snifffr-ppr-landing .ppr-final-card h2 { font-size: 26px; }
    .snifffr-ppr-landing .ppr-faq-item summary { padding: 18px 22px; font-size: 15px; }
    .snifffr-ppr-landing .ppr-faq-item .body { padding: 0 22px 20px; }
    /* Push wrapper clear of fixed mobile topbar (matches single.php pattern). */
    .snifffr-ppr-landing { margin-top: 60px; }
    .snifffr-ppr-landing .ppr-hero { margin-top: 0; }
}
@media (max-width: 575px) {
    .snifffr-ppr-landing .ppr-trust-list { grid-template-columns: 1fr; }
    .snifffr-ppr-landing .ppr-why-grid { grid-template-columns: 1fr; }
}

/* =========================================================================
   SIGNUP NOW CTA inside post content — centre the text on mobile.
   custom.css:8039 sets .btn.whites-solid to width: 80%!important without
   re-asserting text-align, and some inherited rule on .btn was nudging
   the label off-centre at narrow widths. Targeted scope so we only
   affect the in-content CTA on blog single pages.
   ========================================================================= */
@media (max-width: 991px) {
    body.single-post a.btn.whites-solid,
    body.single-post a.btn-primary.whites-solid {
        text-align: center;
    }
}

/* In-content blog callout button — force inline-block on mobile so it
   doesn't stretch full-width via the inline-flex parent rule.
   Selector specificity matches the existing inline-flex rule at the
   top of the file (4 class selectors) so source order decides; mobile
   override comes after, so mobile wins at <992px. */
@media (max-width: 991px) {
    .snifffr-blog-single .blog-single-article .home3.blogcallout .btn,
    .snifffr-blog-single .blog-single-article .home3.blogcallout a.btn {
        display: inline-block;
    }
}

/* =========================================================================
   Blog landing hero — swap to a portrait image on mobile.
   The landscape mainbannerimage.webp doesn't read well on phone widths.
   On <992px we hide the original <img> and paint a portrait shot
   (lady.webp) as a background on the wrapping container instead.
   Scoped to the BSN + PPR landings only.
   ========================================================================= */
@media (max-width: 991px) {
    .snifffr-bsn-landing .bsn-hero-image img,
    .snifffr-ppr-landing .ppr-hero-image img {
        display: none !important;
    }
    .snifffr-bsn-landing .bsn-hero-image,
    .snifffr-ppr-landing .ppr-hero-image {
        background-image: url('https://snifffr.com/wp-content/uploads/2026/05/lady.webp');
        background-size: cover;
        background-position: center top;
        background-repeat: no-repeat;
        min-height: 360px;
    }
}

/* =========================================================================
   Mode A blog single (.mainbanner.blogbanner) — hide the image column
   entirely on mobile. Text-only hero on phones; desktop unchanged.
   Overrides the force-display rule at line 860-862.
   ========================================================================= */
@media (max-width: 991px) {
    .snifffr-blog-single--banner .mainbanner > .container > .row > div:last-child {
        display: none !important;
    }
}

/* =========================================================================
   FAQ accordion inside blog single posts — restyle the legacy Bootstrap
   #accordion / .card / .card-header / .btn-link markup so it matches the
   new design vocabulary (rounded cards, soft shadow, pink +/− indicator).

   Scoped tightly to .snifffr-blog-single .blog-single-article so other
   pages still using the same Bootstrap accordion (FAQ page, modal
   accordions, etc.) keep their existing styling.

   Behaviour relies on Bootstrap's existing collapse JS — the button
   carries .collapsed when closed and loses it when open, so we toggle
   the +/− indicator off the :not(.collapsed) state.
   ========================================================================= */
.snifffr-blog-single .blog-single-article #accordion {
    margin: 0 0 32px;
    display: grid;
    gap: 14px;
}
.snifffr-blog-single .blog-single-article #accordion .card {
    background: #fff;
    border: 1px solid var(--blog-lavender-edge, #e6e0ee);
    border-radius: 16px;
    box-shadow: 0 4px 16px -6px rgba(51, 46, 77, 0.10);
    overflow: hidden;
    transition: box-shadow .2s ease;
}
.snifffr-blog-single .blog-single-article #accordion .card:has(.btn-link:not(.collapsed)),
.snifffr-blog-single .blog-single-article #accordion .card:has(.collapse.show) {
    box-shadow: 0 12px 32px -12px rgba(51, 46, 77, 0.15);
}
.snifffr-blog-single .blog-single-article #accordion .card-header {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}
.snifffr-blog-single .blog-single-article #accordion .card-header h5 {
    margin: 0;
}
.snifffr-blog-single .blog-single-article #accordion .btn-link {
    display: flex !important;
    width: 100%;
    padding: 22px 28px !important;
    background: transparent !important;
    border: 0 !important;
    color: var(--blog-purple, #332e4d) !important;
    font-size: 16px;
    font-weight: 700 !important;
    text-align: left !important;
    text-decoration: none !important;
    line-height: 1.4;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    box-shadow: none !important;
    white-space: normal !important;
    cursor: pointer;
}
.snifffr-blog-single .blog-single-article #accordion .btn-link:hover,
.snifffr-blog-single .blog-single-article #accordion .btn-link:focus,
.snifffr-blog-single .blog-single-article #accordion .btn-link:active {
    background: transparent !important;
    color: var(--blog-purple, #332e4d) !important;
    text-decoration: none !important;
    box-shadow: none !important;
}
/* Hide the legacy FA chevron — the ::after pseudo replaces it. */
.snifffr-blog-single .blog-single-article #accordion .btn-link .fa,
.snifffr-blog-single .blog-single-article #accordion .btn-link i.fa,
.snifffr-blog-single .blog-single-article #accordion .btn-link i.fas,
.snifffr-blog-single .blog-single-article #accordion .btn-link i.far {
    display: none !important;
}
.snifffr-blog-single .blog-single-article #accordion .btn-link::after {
    content: "+";
    width: 28px;
    height: 28px;
    background: var(--blog-pink-pale, #fdf1f6);
    color: var(--blog-pink-deep, #d34a83);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 700;
    flex-shrink: 0;
    line-height: 1;
    transition: transform .2s ease, background .2s ease, color .2s ease;
}
.snifffr-blog-single .blog-single-article #accordion .btn-link:not(.collapsed)::after {
    content: "\2212"; /* en-dash style minus, matches the + visually */
    background: var(--blog-pink, #e65c95);
    color: #fff;
    transform: rotate(180deg);
}
.snifffr-blog-single .blog-single-article #accordion .card-body {
    padding: 0 28px 24px !important;
    font-size: 15px;
    line-height: 1.7;
    color: var(--blog-purple-soft, #4F4470);
    border-top: 0;
}
.snifffr-blog-single .blog-single-article #accordion .card-body a {
    color: var(--blog-pink, #e65c95);
    font-weight: 700;
}
.snifffr-blog-single .blog-single-article #accordion .card-body p:last-child {
    margin-bottom: 0;
}
@media (max-width: 575px) {
    .snifffr-blog-single .blog-single-article #accordion .btn-link {
        padding: 18px 22px !important;
        font-size: 15px;
    }
    .snifffr-blog-single .blog-single-article #accordion .card-body {
        padding: 0 22px 20px !important;
    }
}
