/*
 * TomauVIP Bright Preview UI v6.4
 * Loaded after the legacy page styles so the whole theme shares one visual system.
 */
:root {
    --tmv-ink: #182257;
    --tmv-muted: #66708f;
    --tmv-purple: #3867f0;
    --tmv-purple-dark: #254dc4;
    --tmv-green: #2fc889;
    --tmv-green-dark: #159a66;
    --tmv-pink: #ff5f8f;
    --tmv-yellow: #ffc83d;
    --tmv-orange: #ff9e24;
    --tmv-blue-soft: #eef5ff;
    --tmv-pink-soft: #fff1f6;
    --tmv-green-soft: #ecfbf4;
    --tmv-yellow-soft: #fff9e9;
    --tmv-soft: #f7f9ff;
    --tmv-line: #dfe7f5;
    --tmv-shadow: 0 20px 55px rgba(30, 48, 105, .11);
    --tmv-shadow-soft: 0 10px 30px rgba(30, 48, 105, .08);
    --tmv-radius: 24px;

    --tmv-content-ink: var(--tmv-ink);
    --tmv-content-muted: var(--tmv-muted);
    --tmv-content-purple: var(--tmv-purple);
    --tmv-content-purple-dark: var(--tmv-purple-dark);
    --tmv-content-pink: var(--tmv-pink);
    --tmv-content-yellow: var(--tmv-yellow);
    --tmv-content-blue: #4d8dff;
    --tmv-content-green: var(--tmv-green);
    --tmv-content-soft: var(--tmv-soft);
    --tmv-content-line: var(--tmv-line);
    --tmv-content-shadow: var(--tmv-shadow);
    --tmv-content-shadow-soft: var(--tmv-shadow-soft);
}

html { scroll-behavior: smooth; }
body {
    color: var(--tmv-ink);
    background: #fff;
    font-family: "Nunito", "Arial Rounded MT Bold", "Segoe UI", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}
button,
input,
textarea,
select { font: inherit; }
::selection { color: var(--tmv-ink); background: #ffe7a1; }

/* Header */
.tmv-header {
    isolation: isolate;
    background: rgba(255,255,255,.98) !important;
    border-bottom: 1px solid var(--tmv-line) !important;
    box-shadow: 0 8px 26px rgba(25, 45, 99, .08) !important;
}
.tmv-header::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    z-index: 4;
    height: 3px;
    background: linear-gradient(90deg, #ffc83d 0 22%, #ff6f98 22% 43%, #5f7df5 43% 68%, #2fc889 68% 100%);
}
.tmv-utility-bar {
    color: var(--tmv-ink) !important;
    background: linear-gradient(90deg, #fff8dd, #fff3f8 48%, #edf8ff) !important;
    border-bottom: 1px solid rgba(24,34,87,.06);
}
.tmv-utility-copy,
.tmv-utility-links a { color: var(--tmv-ink) !important; }
.tmv-utility-dot {
    background: var(--tmv-green) !important;
    box-shadow: 0 0 0 4px rgba(47,200,137,.13) !important;
}
.tmv-brand-logo {
    width: 68px !important;
    height: 68px !important;
    filter: drop-shadow(0 8px 10px rgba(30,48,105,.08));
}
.tmv-brand-tagline { color: var(--tmv-muted) !important; font-weight: 750 !important; }
.tmv-search {
    background: #f8faff !important;
    border: 1.5px solid #dbe5f5 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}
.tmv-search:focus-within {
    background: #fff !important;
    border-color: rgba(56,103,240,.48) !important;
    box-shadow: 0 0 0 5px rgba(56,103,240,.09) !important;
}
.tmv-search button,
.tmv-header-cta {
    color: #fff !important;
    background: linear-gradient(135deg, #4f78ff, #2f5ee8) !important;
    box-shadow: 0 10px 22px rgba(56,103,240,.22) !important;
}
.tmv-search button:hover,
.tmv-header-cta:hover { background: linear-gradient(135deg, #3f6bf3, #244abb) !important; }
.tmv-primary-nav { background: #fff; border-top: 1px solid #edf1f8 !important; }
.tmv-primary-nav-list > li > a { color: var(--tmv-ink) !important; font-weight: 850 !important; }
.tmv-primary-nav-list > li > a::after { background: linear-gradient(90deg, var(--tmv-pink), var(--tmv-purple)) !important; }
.tmv-primary-nav-list > li > a:hover,
.tmv-primary-nav-list > .current-menu-item > a,
.tmv-primary-nav-list > .current-menu-ancestor > a { color: var(--tmv-purple) !important; }
.tmv-marquee {
    background: linear-gradient(90deg, #fff8df, #f0f7ff, #edfff7) !important;
    border-top-color: #e8eef8 !important;
}
.tmv-marquee-track { color: #445071 !important; }

/* Shared page surfaces */
.tmv-content-page,
.tmv-static-page,
.tmv-home { color: var(--tmv-ink) !important; background: #fff !important; }
.tmv-content-page h1,
.tmv-content-page h2,
.tmv-content-page h3,
.tmv-static-page h1,
.tmv-static-page h2,
.tmv-static-page h3,
.tmv-home h1,
.tmv-home h2,
.tmv-home h3 { color: var(--tmv-ink) !important; }
.tmv-page-breadcrumbs,
.tmv-static-breadcrumbs { color: var(--tmv-muted) !important; }
.tmv-page-breadcrumbs a,
.tmv-static-breadcrumbs a { color: var(--tmv-purple) !important; }
.tmv-page-hero,
.tmv-static-page header[class*="hero"],
.tmv-about-hero {
    background:
        radial-gradient(circle at 90% 15%, rgba(77,141,255,.16), transparent 31%),
        radial-gradient(circle at 8% 92%, rgba(255,95,143,.14), transparent 34%),
        linear-gradient(125deg, #fff8ee, #ffffff 48%, #effcf7) !important;
    border: 1px solid #e4ebf7 !important;
    box-shadow: var(--tmv-shadow-soft) !important;
}
.tmv-page-eyebrow,
.tmv-static-kicker,
.tmv-home-eyebrow { color: var(--tmv-purple) !important; }
.tmv-page-eyebrow::before,
.tmv-static-kicker::before,
.tmv-home-eyebrow::before { background: linear-gradient(90deg, var(--tmv-pink), var(--tmv-yellow)) !important; }

/* Homepage */
.tmv-home {
    --home-ink: var(--tmv-ink);
    --home-muted: var(--tmv-muted);
    --home-purple: var(--tmv-purple);
    --home-purple-dark: var(--tmv-purple-dark);
    --home-pink: var(--tmv-pink);
    --home-yellow: #ffe281;
    --home-blue: #ddecff;
    --home-green: var(--tmv-green);
    --home-soft: #f7f9ff;
    --home-cream: #fff9eb;
    --home-line: var(--tmv-line);
    --home-shadow: var(--tmv-shadow);
}
.tmv-home-hero {
    background:
        radial-gradient(circle at 8% 94%, rgba(255,111,152,.16), transparent 29%),
        radial-gradient(circle at 92% 8%, rgba(77,141,255,.17), transparent 30%),
        linear-gradient(120deg, #fff9ef 0%, #fff 48%, #edfdf6 100%) !important;
}
.tmv-home-hero::before { background: #ffe6ef !important; }
.tmv-home-hero::after { background: #e8efff !important; }
.tmv-home h1 { color: var(--tmv-ink) !important; text-shadow: 0 2px 0 #fff; }
.tmv-home-lead,
.tmv-home p { color: var(--tmv-muted) !important; }
.tmv-home-button-primary {
    color: #fff !important;
    background: linear-gradient(135deg, #4d7cff, #2e5fe5) !important;
    box-shadow: 0 14px 27px rgba(56,103,240,.22) !important;
}
.tmv-home-button-light {
    color: var(--tmv-ink) !important;
    background: #fff !important;
    border: 1.5px solid #dce6f5 !important;
    box-shadow: 0 8px 20px rgba(30,48,105,.06);
}
.tmv-home-trust li span { background: var(--tmv-green) !important; }
.tmv-home-hero-sheet,
.tmv-home-hero-float,
.tmv-home-card-link,
.tmv-post-card-link,
.tmv-sidebar-section,
.tmv-home-random-card,
.tmv-info-card,
.tmv-legal-content,
.tmv-guide-content {
    border-color: #e0e8f5 !important;
    box-shadow: var(--tmv-shadow-soft) !important;
}
.tmv-home-section-soft { background: #f7f9ff !important; }
.tmv-home-card-link,
.tmv-post-card-link {
    background: #fff !important;
    border: 1.5px solid #dfe7f5 !important;
    border-radius: 22px !important;
}
.tmv-home-card-link:hover,
.tmv-post-card-link:hover { box-shadow: var(--tmv-shadow) !important; }
.tmv-home-card-preview,
.tmv-post-card-media { background: linear-gradient(145deg, #fff, #f7f9ff) !important; }
.tmv-home-card-image,
.tmv-post-card-image { object-fit: contain !important; }
.tmv-home-card-title,
.tmv-post-card-title { color: var(--tmv-ink) !important; }
.tmv-home-card-meta,
.tmv-post-card-meta { color: var(--tmv-muted) !important; }
.tmv-home-featured-post,
.tmv-home-category-card,
.tmv-home-feature-card,
.tmv-home-info-sheet,
.tmv-home-guide-card,
.tmv-home-faq details {
    background: #fff !important;
    border-color: #dfe7f5 !important;
    box-shadow: 0 9px 25px rgba(30,48,105,.07) !important;
}
.tmv-home-random-card {
    background: linear-gradient(145deg, #fff 0%, #fff5f8 50%, #eef6ff 100%) !important;
}
.tmv-home-random-button {
    background: linear-gradient(135deg, var(--tmv-green), #1aaa72) !important;
    box-shadow: 0 10px 22px rgba(47,200,137,.22) !important;
}

/* Collection / archive cards */
.tmv-category-listing { background: #fff; }
.tmv-post-card-link { overflow: hidden; }
.tmv-post-card-link:hover,
.tmv-post-card-link:focus-visible { transform: translateY(-4px) !important; }
.tmv-post-card-media { border-bottom-color: #e6edf7 !important; }
.tmv-post-update-badge,
.tmv-home-card-badge { background: linear-gradient(135deg, var(--tmv-pink), #ff7c54) !important; }
.tmv-pagination a,
.tmv-pagination span,
.page-numbers {
    border-radius: 12px !important;
}

/* Single post */
.tmv-single-page {
    background:
        linear-gradient(#fff, #fff) padding-box,
        radial-gradient(circle at 10% 0%, rgba(255,200,61,.09), transparent 24%) border-box !important;
}
.tmv-single-hero {
    background:
        radial-gradient(circle at 92% 10%, rgba(77,141,255,.14), transparent 34%),
        radial-gradient(circle at 8% 92%, rgba(255,95,143,.12), transparent 33%),
        linear-gradient(135deg, #fffaf0, #fff 55%, #eefcf6) !important;
    border: 1.5px solid #dfe8f5 !important;
    border-radius: 30px !important;
    box-shadow: var(--tmv-shadow) !important;
}
.tmv-single-hero-media {
    background: #fff !important;
    border: 1.5px solid #dfe8f5 !important;
    border-radius: 24px !important;
    box-shadow: 0 12px 30px rgba(30,48,105,.08);
}
.tmv-single-hero-copy h1 { color: var(--tmv-ink) !important; }
.tmv-single-categories a {
    color: #3359c8 !important;
    background: #edf3ff !important;
    border: 1px solid #dbe6ff;
}
.tmv-creator-row { border-color: #e2e9f4 !important; }
.tmv-action-button { border-radius: 15px !important; }
.tmv-action-primary {
    color: #fff !important;
    background: linear-gradient(135deg, #4e7aff, #2d5ce0) !important;
    box-shadow: 0 10px 24px rgba(56,103,240,.22) !important;
}
.tmv-action-secondary { color: var(--tmv-ink) !important; background: #ffe083 !important; }
.tmv-action-light { color: var(--tmv-ink) !important; background: #fff !important; border: 1.5px solid #dae4f2 !important; }
.tmv-action-puzzle { color: #0b7a4d !important; background: #eafaf3 !important; border: 1.5px solid #c8efdc !important; }
.tmv-counter-grid > div {
    background: #fff !important;
    border: 1.5px solid #dfe7f5 !important;
    border-radius: 18px !important;
    box-shadow: 0 8px 24px rgba(30,48,105,.055);
}
.tmv-counter-grid > div:nth-child(1) i { color: #3867f0 !important; background: #edf3ff !important; }
.tmv-counter-grid > div:nth-child(2) i { color: #e04775 !important; background: #fff0f5 !important; }
.tmv-counter-grid > div:nth-child(3) i { color: #8652d4 !important; background: #f4edff !important; }
.tmv-counter-grid > div:nth-child(4) i { color: #159a66 !important; background: #eafaf3 !important; }
.tmv-single-content {
    background: #fff !important;
    border: 1.5px solid #dfe7f5 !important;
    border-radius: 24px !important;
    box-shadow: var(--tmv-shadow-soft) !important;
}
.tmv-single-content .image-container img { border-color: #dfe7f5 !important; }
.tmv-sidebar-section {
    border-radius: 22px !important;
    background: #fff !important;
}
.tmv-post-sidebar .tmv-sidebar-section:nth-child(1) { background: linear-gradient(145deg, #f0fff8, #fff) !important; }
.tmv-post-sidebar .tmv-sidebar-section:nth-child(2) { background: linear-gradient(145deg, #fff2f7, #fff) !important; }
.tmv-post-sidebar .tmv-sidebar-section:nth-child(3) { background: linear-gradient(145deg, #eff6ff, #fff) !important; }
.tmv-sidebar-icon { background: linear-gradient(135deg, var(--tmv-purple), #5e83ff) !important; }
.tmv-sidebar-post a { border-radius: 14px !important; }
.tmv-sidebar-post a:hover { background: #f6f9ff !important; }
.tmv-sidebar-post-media { background: #fff !important; border-color: #e1e9f5 !important; }
.tmv-sidebar-view-all {
    color: #3158c7 !important;
    background: #edf3ff !important;
    border-color: #d8e4ff !important;
}
.tmv-sidebar-view-all:hover { color: #fff !important; background: var(--tmv-purple) !important; }
.tmv-home-random-card { border-radius: 22px !important; }
.tmv-post-navigation-card { border-color: #e0e8f5 !important; box-shadow: var(--tmv-shadow-soft) !important; }

/* Static/legal pages */
.tmv-static-page { background: #fff !important; }
.tmv-static-page-content a { color: var(--tmv-purple) !important; }
.tmv-static-page-content blockquote {
    background: #f5f8ff !important;
    border-left-color: var(--tmv-purple) !important;
}
.tmv-static-page-content th { background: #f5f8ff !important; }
.tmv-page-toc { background: #f5f8ff !important; border-color: #e0e8f5 !important; }
.tmv-legal-contact-card { background: #fff8e7 !important; border-color: #f2dfaa !important; }
.tmv-legal-symbol,
.tmv-contact-hero-badge { background: linear-gradient(135deg, #4e7aff, #2fc889) !important; }
.tmv-about-values div,
.tmv-info-card { border-color: #dfe7f5 !important; box-shadow: var(--tmv-shadow-soft) !important; }

/* Footer */
.tmv-footer {
    color: #dfe7ff !important;
    background:
        radial-gradient(circle at 12% 10%, rgba(83,124,255,.18), transparent 28%),
        radial-gradient(circle at 92% 90%, rgba(47,200,137,.16), transparent 30%),
        #172153 !important;
    border-top: 0 !important;
}
.tmv-footer::before {
    content: "";
    display: block;
    height: 4px;
    background: linear-gradient(90deg, #ffc83d, #ff6d98, #5d7df3, #2fc889);
}
.tmv-footer a { color: #eef3ff !important; }
.tmv-footer h2,
.tmv-footer h3,
.tmv-footer strong { color: #fff !important; }
.tmv-footer-description,
.tmv-footer-address,
.tmv-footer-bottom { color: #bdc9e9 !important; }
.tmv-footer-socials a { background: rgba(255,255,255,.1) !important; border-color: rgba(255,255,255,.14) !important; }
.tmv-footer-socials a:hover { background: var(--tmv-green) !important; }
.back-top { background: linear-gradient(135deg, #4e7aff, #2fc889) !important; color: #fff !important; }

/* Locked post state */

/* Locked post state: featured image remains public and full-size. */
.tmv-single-page.is-locked .tmv-single-hero-media {
    width: 100%;
    justify-self: stretch;
    isolation: isolate;
    padding: 0;
    background: #fff !important;
}
.tmv-single-page.is-locked .tmv-single-hero-media > img {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    margin: 0;
    object-fit: contain;
    filter: none;
    opacity: 1;
    transform: none;
    image-rendering: auto;
}

.tmv-access-notice {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    margin: 0 0 22px;
    padding: 16px 18px;
    color: #784a00;
    background: linear-gradient(135deg, #fff9e9, #fffdf7);
    border: 1.5px dashed #f3bf3e;
    border-radius: 20px;
    box-shadow: 0 9px 24px rgba(184,125,17,.08);
}
.tmv-access-notice-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    color: #8a5800;
    background: #ffe68c;
    border-radius: 50%;
    font-size: 1.15rem;
}
.tmv-access-notice strong { display: block; color: #7d4c00; font-size: 1rem; }
.tmv-access-notice p { margin: 3px 0 0; color: #836327; font-size: .78rem; line-height: 1.5; }
.tmv-access-notice-decoration { color: var(--tmv-orange); font-size: 1.25rem; }

.tmv-locked-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 18px;
}
.tmv-locked-gallery-item {
    position: relative;
    min-width: 0;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    padding: 10px;
    background: linear-gradient(145deg, #f7f9ff, #fff);
    border: 1.5px solid #dfe7f3;
    border-radius: 17px;
    box-shadow: 0 8px 20px rgba(30,48,105,.06);
}
.tmv-locked-gallery-preview {
    width: 100%;
    height: 100%;
    display: block;
    padding: 0;
    overflow: hidden;
    background: transparent;
    border: 0;
    border-radius: 11px;
    cursor: zoom-in;
}
.tmv-locked-gallery-preview img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    filter: none;
    opacity: 1;
    transform: scale(1);
    transition: transform .2s ease, opacity .2s ease;
}
.tmv-locked-gallery-preview:hover img,
.tmv-locked-gallery-preview:focus-visible img {
    transform: scale(1.025);
    opacity: .94;
}
.tmv-locked-gallery-preview:focus-visible {
    outline: 3px solid rgba(70,118,255,.3);
    outline-offset: 2px;
}

html.tmv-locked-preview-open,
body.tmv-locked-preview-open {
    overflow: hidden !important;
}
.tmv-locked-preview-modal[hidden] {
    display: none !important;
}
.tmv-locked-preview-modal {
    position: fixed;
    inset: 0;
    z-index: 2147482900;
    display: grid;
    place-items: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: opacity .18s ease, visibility .18s ease;
}
.tmv-locked-preview-modal.is-visible {
    opacity: 1;
    visibility: visible;
}
.tmv-locked-preview-backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    background: rgba(10,20,51,.7);
    border: 0;
    backdrop-filter: blur(5px);
    cursor: pointer;
}
.tmv-locked-preview-dialog {
    position: relative;
    z-index: 1;
    width: min(760px, 100%);
    max-height: 92vh;
    overflow: auto;
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(280px, .9fr);
    color: #182454;
    background: #fff;
    border: 1px solid rgba(214,225,247,.95);
    border-radius: 28px;
    box-shadow: 0 38px 110px rgba(7,17,50,.35);
    outline: none;
    transform: translateY(12px) scale(.98);
    transition: transform .2s ease;
}
.tmv-locked-preview-modal.is-visible .tmv-locked-preview-dialog {
    transform: translateY(0) scale(1);
}
.tmv-locked-preview-close {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 3;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    padding: 0;
    color: #425078;
    background: #f3f6fc;
    border: 1px solid #dce5f5;
    border-radius: 50%;
    cursor: pointer;
}
.tmv-locked-preview-media {
    min-height: 360px;
    display: grid;
    place-items: center;
    padding: 28px;
    background: linear-gradient(145deg, #f6f9ff, #fff);
    border-radius: 28px 0 0 28px;
}
.tmv-locked-preview-media img {
    width: min(100%, 420px);
    height: auto;
    max-height: 62vh;
    object-fit: contain;
    background: #fff;
    border: 1px solid #e0e8f5;
    border-radius: 18px;
    box-shadow: 0 16px 38px rgba(30,48,105,.12);
}
.tmv-locked-preview-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 42px 32px 32px;
}
.tmv-locked-preview-copy h2 {
    margin: 0 0 12px;
    color: #182454;
    font-size: clamp(1.35rem, 3vw, 1.9rem);
}
.tmv-locked-preview-copy > p:not(.tmv-page-eyebrow) {
    margin: 0;
    color: #607094;
    line-height: 1.7;
}
.tmv-locked-preview-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.tmv-locked-feature-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 20px;
}
.tmv-locked-feature {
    min-width: 0;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    padding: 14px;
    color: var(--tmv-ink);
    background: #fff;
    border: 1.5px solid #dfe7f5;
    border-radius: 17px;
    text-align: left;
    cursor: pointer;
}
.tmv-locked-feature:nth-child(1) { background: #f1f6ff; }
.tmv-locked-feature:nth-child(2) { background: #f8f1ff; }
.tmv-locked-feature:nth-child(3) { background: #edfbf5; }
.tmv-locked-feature-icon {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    font-size: 1.12rem;
}
.tmv-locked-feature:nth-child(1) .tmv-locked-feature-icon { color: #2d62df; background: #dbe8ff; }
.tmv-locked-feature:nth-child(2) .tmv-locked-feature-icon { color: #7f48c8; background: #eadcff; }
.tmv-locked-feature:nth-child(3) .tmv-locked-feature-icon { color: #159a66; background: #d4f5e5; }
.tmv-locked-feature strong { display: block; font-size: .83rem; }
.tmv-locked-feature small { display: flex; align-items: center; gap: 6px; margin-top: 4px; color: var(--tmv-muted); font-size: .68rem; }

.tmv-unlock-card {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 94px minmax(0, 1fr);
    gap: 22px;
    align-items: center;
    margin: 0 0 30px;
    padding: 25px;
    background:
        radial-gradient(circle at 96% 8%, rgba(255,200,61,.2), transparent 28%),
        linear-gradient(135deg, #fff9e8, #fffdf7 54%, #f2fff8);
    border: 1.5px solid #f0c75b;
    border-radius: 24px;
    box-shadow: 0 16px 38px rgba(170,111,14,.11);
}
.tmv-unlock-card::before,
.tmv-unlock-card::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.tmv-unlock-card::before { width: 86px; height: 86px; right: -26px; top: -34px; background: rgba(255,200,61,.18); }
.tmv-unlock-card::after { width: 68px; height: 68px; left: -26px; bottom: -32px; background: rgba(47,200,137,.13); }
.tmv-unlock-mascot {
    position: relative;
    z-index: 1;
    width: 88px;
    height: 88px;
    display: grid;
    place-items: center;
    color: #8a5800;
    background: linear-gradient(145deg, #ffe58b, #ffd25b);
    border: 5px solid rgba(255,255,255,.75);
    border-radius: 28px;
    box-shadow: 0 12px 24px rgba(164,107,9,.15);
    font-size: 2.1rem;
    transform: rotate(-4deg);
}
.tmv-unlock-copy { position: relative; z-index: 1; min-width: 0; }
.tmv-unlock-copy h2 { margin: 0 0 7px !important; color: var(--tmv-ink) !important; font-size: clamp(1.25rem, 2.5vw, 1.75rem) !important; line-height: 1.18; }
.tmv-unlock-copy > p { margin: 0 0 15px; color: var(--tmv-muted); font-size: .83rem; line-height: 1.55; }
.tmv-unlock-benefits { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 0 0 17px; padding: 0; list-style: none; }
.tmv-unlock-benefits li { display: inline-flex; align-items: center; gap: 7px; color: #3b4667; font-size: .72rem; font-weight: 800; }
.tmv-unlock-benefits i { color: var(--tmv-green); }
.tmv-unlock-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.tmv-unlock-button {
    min-height: 45px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 20px;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 900;
    text-decoration: none !important;
}
.tmv-unlock-button-primary {
    color: #fff !important;
    background: linear-gradient(135deg, #ffbd18, #f59b14);
    box-shadow: 0 10px 22px rgba(224,145,12,.24);
}
.tmv-unlock-button-secondary { color: #3158c7 !important; background: #fff; border: 1.5px solid #cfdcff; }

.tmv-locked-article-copy {
    margin-top: 30px;
    padding-top: 4px;
    border-top: 1px solid #e6edf7;
}
.tmv-locked-article-copy > :first-child { margin-top: 26px; }

.tmv-action-button.is-locked-action {
    color: #59637e !important;
    background: #f4f6fa !important;
    border: 1.5px solid #dfe5ef !important;
    box-shadow: none !important;
}
.tmv-action-button.is-locked-action::after {
    content: "\f023";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    margin-left: 2px;
    color: #8790a6;
}

/* Remove tier labels everywhere. The site now uses one locked state. */
.tmv-tier-badge,
.tmv-access-tier,
.tmv-premium-badge,
.tmv-free-badge,
.badge-premium,
.badge-free,
.premium-badge,
.free-badge,
.is-premium > .badge,
.is-free > .badge { display: none !important; }

@media (max-width: 900px) {
    .tmv-locked-feature-grid { grid-template-columns: 1fr; }
    .tmv-unlock-card { grid-template-columns: 76px minmax(0,1fr); padding: 21px; }
    .tmv-unlock-mascot { width: 72px; height: 72px; font-size: 1.7rem; }
}
@media (max-width: 620px) {
    .tmv-utility-bar { display: none; }
    .tmv-brand-logo { width: 56px !important; height: 56px !important; }
    .tmv-home-hero { padding-top: 48px !important; padding-bottom: 58px !important; }
    .tmv-locked-gallery { grid-template-columns: 1fr 1fr; gap: 9px; }
    .tmv-access-notice { grid-template-columns: 42px minmax(0,1fr); padding: 13px; }
    .tmv-access-notice-icon { width: 42px; height: 42px; }
    .tmv-access-notice-decoration { display: none; }
    .tmv-unlock-card { grid-template-columns: 1fr; text-align: center; }
    .tmv-unlock-mascot { margin-inline: auto; }
    .tmv-unlock-benefits,
    .tmv-unlock-actions { justify-content: center; }
    .tmv-unlock-button { width: 100%; }
    .tmv-unlock-modal-benefits { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}

/* Favorites also respect the per-post locked state. */
.tmv-favorite-card-media-locked {
    position: relative;
    overflow: hidden;
    background: linear-gradient(145deg, #f4f7fb, #edf2f8);
}
.tmv-favorite-card-media-locked .tmv-favorite-image {
    filter: grayscale(1) blur(5px);
    opacity: .58;
    transform: scale(1.045);
}
.tmv-favorite-card-media-locked:hover .tmv-favorite-image,
.tmv-favorite-card-media-locked:focus-visible .tmv-favorite-image {
    filter: grayscale(1) blur(5px);
    opacity: .58;
    transform: scale(1.045);
}
.tmv-favorite-card-media-locked::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(24,34,87,.02), rgba(24,34,87,.19));
    pointer-events: none;
}
.tmv-favorite-card-media-locked .tmv-favorite-open-label {
    z-index: 2;
    color: #fff;
    background: rgba(24,34,87,.78);
    border-color: rgba(255,255,255,.42);
    box-shadow: 0 8px 22px rgba(24,34,87,.22);
}


@media (max-width: 720px) {
    .tmv-locked-preview-modal { padding: 12px; }
    .tmv-locked-preview-dialog {
        grid-template-columns: 1fr;
        width: min(520px, 100%);
        border-radius: 24px;
    }
    .tmv-locked-preview-media {
        min-height: 250px;
        padding: 22px;
        border-radius: 24px 24px 0 0;
    }
    .tmv-locked-preview-media img {
        width: min(100%, 320px);
        max-height: 42vh;
    }
    .tmv-locked-preview-copy { padding: 26px 22px 24px; }
    .tmv-locked-preview-actions { flex-direction: column; }
    .tmv-locked-preview-actions .tmv-unlock-button { width: 100%; }
}
