:root {
    --ntfav-accent: #ff3e72;
    --ntfav-accent-strong: #ff1557;
    --ntfav-accent-soft: rgba(255, 62, 114, .14);
    --ntfav-panel: #202124;
    --ntfav-panel-raised: #28292d;
    --ntfav-border: rgba(255, 255, 255, .1);
    --ntfav-text: #f7f7f8;
    --ntfav-muted: #aaaeb7;
}

[hidden] {
    display: none !important;
}

.ntfav-heart {
    display: inline-block;
    width: 1.25em;
    height: 1.25em;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.35 10.55 20.03C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.08A6 6 0 0 1 16.5 3C19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35Zm0-2.7.1-.1C16.86 14.24 20 11.39 20 8.5A3.44 3.44 0 0 0 16.5 5 3.9 3.9 0 0 0 13 7.09h-2A3.9 3.9 0 0 0 7.5 5 3.44 3.44 0 0 0 4 8.5c0 2.89 3.14 5.74 7.9 10.05l.1.1Z'/%3E%3C/svg%3E") center/contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.35 10.55 20.03C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.08A6 6 0 0 1 16.5 3C19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35Zm0-2.7.1-.1C16.86 14.24 20 11.39 20 8.5A3.44 3.44 0 0 0 16.5 5 3.9 3.9 0 0 0 13 7.09h-2A3.9 3.9 0 0 0 7.5 5 3.44 3.44 0 0 0 4 8.5c0 2.89 3.14 5.74 7.9 10.05l.1.1Z'/%3E%3C/svg%3E") center/contain no-repeat;
}

.is-favorite > .ntfav-heart,
.ntfav-hero-mark .ntfav-heart,
.ntfav-empty-heart .ntfav-heart,
.ntfav-modal-icon .ntfav-heart {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.35 10.55 20.03C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.08A6 6 0 0 1 16.5 3C19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.35 10.55 20.03C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.08A6 6 0 0 1 16.5 3C19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35Z'/%3E%3C/svg%3E");
}

.video_url_wrapper,
.v-item,
.video-item[data-pid],
.related-video-item[data-pid],
.search-result-item[data-pid] {
    position: relative;
}

.ntfav-toggle {
    appearance: none;
    border: 0;
    cursor: pointer;
    font: inherit;
}

.ntfav-toggle:focus-visible,
.ntfav-copy-button:focus-visible,
.ntfav-share-button:focus-visible,
.ntfav-modal button:focus-visible {
    outline: 3px solid rgba(255, 255, 255, .85);
    outline-offset: 2px;
}

.ntfav-card-button {
    position: absolute;
    z-index: 8;
    top: 6px;
    right: 6px;
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 50%;
    color: #fff;
    background: rgba(16, 16, 18, .78);
    box-shadow: 0 6px 22px rgba(0, 0, 0, .28);
    backdrop-filter: blur(8px);
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.ntfav-card-button:hover {
    transform: scale(1.08);
    background: rgba(36, 36, 39, .94);
}

.ntfav-card-button.is-favorite {
    color: #fff;
    border-color: rgba(255, 255, 255, .45);
    background: linear-gradient(135deg, var(--ntfav-accent), var(--ntfav-accent-strong));
}

.ntfav-card-button:disabled {
    cursor: wait;
    opacity: .65;
}

.ntfav-card-button .ntfav-heart {
    font-size: 20px;
}

.ntfav-tooltip {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: max-content;
    max-width: 180px;
    padding: 7px 10px;
    border-radius: 6px;
    color: #fff;
    background: rgba(0, 0, 0, .9);
    font-size: 11px;
    line-height: 1.35;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-3px);
    transition: opacity .15s ease, transform .15s ease;
}

.ntfav-card-button:hover .ntfav-tooltip,
.ntfav-card-button:focus-visible .ntfav-tooltip {
    opacity: 1;
    transform: translateY(0);
}

.ntfav-single-actions {
    display: flex;
    align-items: stretch;
    gap: 10px;
    margin: 12px 0 18px;
}

.ntfav-single-button,
.ntfav-view-link {
    min-height: 48px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 10px 18px;
    text-decoration: none;
    font-weight: 700;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.ntfav-single-button {
    flex: 1 1 240px;
    border: 1px solid rgba(255, 255, 255, .2);
    color: #fff;
    background: #2a2b2f;
}

.ntfav-single-button:hover {
    border-color: var(--ntfav-accent);
    background: #313238;
}

.ntfav-single-button.is-favorite {
    border-color: rgba(255, 86, 133, .55);
    color: #fff;
    background: linear-gradient(135deg, rgba(255, 62, 114, .92), rgba(218, 25, 82, .92));
}

.ntfav-single-button .ntfav-heart {
    font-size: 24px;
}

.ntfav-view-link {
    flex: 0 1 auto;
    border: 1px solid rgba(255, 255, 255, .12);
    color: #d7d8dc;
    background: rgba(255, 255, 255, .06);
}

.ntfav-view-link:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, .3);
}

[data-ntfav-count].is-empty {
    display: none;
}

.ntfav-top-link,
.ntfav-sidebar-link {
    position: relative;
}

.ntfav-top-link [data-ntfav-count] {
    min-width: 18px;
    height: 18px;
    margin-left: 5px !important;
    padding: 0 5px;
    border-radius: 20px;
    color: #fff !important;
    background: var(--ntfav-accent-strong);
    font-size: 10px !important;
    font-weight: 800;
    line-height: 18px;
    text-align: center;
}

@media (max-width: 1024px) {
    .ntfav-top-link .ntfav-top-label {
        display: none;
    }

    .ntfav-top-link [data-ntfav-count] {
        position: absolute;
        top: -5px;
        right: -11px;
        margin: 0 !important;
    }
}

.ntfav-sidebar-link [data-ntfav-count] {
    min-width: 22px;
    margin-left: auto;
    padding: 2px 7px;
    border-radius: 20px;
    color: #fff;
    background: var(--ntfav-accent-strong);
    font-size: 11px;
    text-align: center;
}

.ntfav-layout {
    min-height: calc(100vh - 52px);
    color: var(--ntfav-text);
    background:
        radial-gradient(circle at 78% 6%, rgba(255, 36, 100, .1), transparent 27rem),
        #18191c;
}

.ntfav-main {
    min-width: 0;
}

.ntfav-page {
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
    padding: 38px 34px 80px;
}

.ntfav-hero {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 250px;
    padding: 42px 48px;
    border: 1px solid var(--ntfav-border);
    border-radius: 24px;
    background:
        linear-gradient(120deg, rgba(255, 255, 255, .035), transparent 48%),
        linear-gradient(135deg, #292a2f 0%, #222327 55%, #1d1e22 100%);
    box-shadow: 0 22px 70px rgba(0, 0, 0, .22);
}

.ntfav-hero::before {
    content: '';
    position: absolute;
    width: 290px;
    height: 290px;
    right: -65px;
    top: -100px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 62, 114, .25), rgba(255, 62, 114, 0) 70%);
}

.ntfav-hero-copy {
    position: relative;
    z-index: 1;
    max-width: 720px;
}

.ntfav-eyebrow,
.ntfav-section-kicker {
    margin: 0 0 8px;
    color: #ff7198;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .18em;
}

.ntfav-hero h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 5vw, 3.5rem);
    font-weight: 800;
    letter-spacing: -.035em;
    line-height: 1.12;
}

.ntfav-hero-copy > p:not(.ntfav-eyebrow) {
    margin: 16px 0 0;
    color: #c7c9cf;
    font-size: 17px;
}

.ntfav-hero-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 25px;
    color: var(--ntfav-muted);
    font-size: 13px;
}

.ntfav-count-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 12px;
    border: 1px solid rgba(255, 88, 135, .38);
    border-radius: 50px;
    color: #ffdbe5;
    background: var(--ntfav-accent-soft);
}

.ntfav-count-pill strong {
    color: #fff;
    font-size: 15px;
}

.ntfav-hero-mark {
    position: relative;
    z-index: 1;
    display: grid;
    flex: 0 0 150px;
    width: 150px;
    height: 150px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 36px;
    color: #fff;
    background: linear-gradient(145deg, #ff4a7c, #d91150);
    box-shadow: 0 18px 50px rgba(217, 17, 80, .3);
    transform: rotate(6deg);
}

.ntfav-hero-mark .ntfav-heart {
    font-size: 76px;
}

.ntfav-key-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 22px;
    margin-top: 22px;
    padding: 28px 30px;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 18px;
    background: rgba(40, 41, 45, .82);
    box-shadow: 0 14px 45px rgba(0, 0, 0, .16);
}

.ntfav-key-icon {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 13px;
    color: #ff83a6;
    background: var(--ntfav-accent-soft);
}

.ntfav-key-icon svg {
    width: 25px;
    fill: currentColor;
}

.ntfav-key-card h2 {
    margin: 0;
    color: #fff;
    font-size: 20px;
    font-weight: 750;
    line-height: 1.45;
}

.ntfav-key-card h2 + p {
    margin: 7px 0 0;
    color: var(--ntfav-muted);
    font-size: 14px;
}

.ntfav-share-row {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) auto auto;
    gap: 8px;
    margin-top: 19px;
}

.ntfav-share-row input {
    width: 100%;
    min-width: 0;
    height: 48px;
    padding: 0 15px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 10px;
    outline: none;
    color: #e8e9ec;
    background: #17181b;
    font: 13px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.ntfav-share-row input:focus {
    border-color: rgba(255, 89, 135, .72);
    box-shadow: 0 0 0 3px rgba(255, 62, 114, .12);
}

.ntfav-copy-button,
.ntfav-share-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 48px;
    padding: 0 17px;
    border: 0;
    border-radius: 10px;
    color: #fff;
    background: #404147;
    font-weight: 700;
    cursor: pointer;
}

.ntfav-copy-button {
    background: linear-gradient(135deg, var(--ntfav-accent), var(--ntfav-accent-strong));
}

.ntfav-copy-button svg,
.ntfav-share-button svg {
    width: 19px;
    fill: currentColor;
}

.ntfav-copy-button:disabled,
.ntfav-share-button:disabled {
    cursor: not-allowed;
    opacity: .42;
}

.ntfav-privacy-note {
    margin: 12px 0 0;
    color: #92959d;
    font-size: 12px;
    line-height: 1.6;
}

.ntfav-privacy-note strong {
    color: #ff9bb7;
}

.ntfav-benefits {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 16px;
}

.ntfav-benefits > div {
    display: grid;
    grid-template-columns: 34px 1fr;
    column-gap: 11px;
    padding: 17px 18px;
    border: 1px solid var(--ntfav-border);
    border-radius: 14px;
    background: rgba(255, 255, 255, .025);
}

.ntfav-benefits > div > span {
    display: grid;
    grid-row: 1 / span 2;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 50%;
    color: #ff9db8;
    background: var(--ntfav-accent-soft);
    font-size: 12px;
    font-weight: 800;
}

.ntfav-benefits strong {
    color: #f3f3f5;
    font-size: 14px;
}

.ntfav-benefits p {
    margin: 3px 0 0;
    color: #8f929a;
    font-size: 12px;
    line-height: 1.45;
}

.ntfav-list-section {
    margin-top: 54px;
}

.ntfav-list-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

.ntfav-list-heading h2 {
    margin: 0;
    color: #fff;
    font-size: 25px;
    font-weight: 780;
}

.ntfav-discover-link {
    color: #d6d7db;
    font-size: 13px;
    font-weight: 650;
    text-decoration: none;
}

.ntfav-discover-link span {
    margin-left: 5px;
    color: var(--ntfav-accent);
}

.ntfav-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px 17px;
}

.ntfav-saved-card {
    position: relative;
    overflow: hidden;
    min-width: 0;
    border: 1px solid rgba(255, 255, 255, .085);
    border-radius: 15px;
    background: #222327;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .13);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.ntfav-saved-card:hover {
    transform: translateY(-3px);
    border-color: rgba(255, 255, 255, .18);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .22);
}

.ntfav-saved-image {
    position: relative;
    display: grid;
    width: 100%;
    aspect-ratio: 16 / 9;
    place-items: center;
    overflow: hidden;
    color: #8e9199;
    background: #151619;
}

.ntfav-saved-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease, opacity .2s ease;
}

.ntfav-saved-card:hover .ntfav-saved-image img {
    transform: scale(1.025);
}

.ntfav-saved-card.is-unavailable .ntfav-saved-image img {
    opacity: .48;
    filter: grayscale(.55);
}

.ntfav-unavailable-badge {
    position: absolute;
    left: 10px;
    bottom: 10px;
    padding: 6px 9px;
    border-radius: 6px;
    color: #fff;
    background: rgba(15, 15, 17, .88);
    font-size: 11px;
    font-weight: 700;
}

.ntfav-no-image,
.ntfav-missing-image {
    color: #777a82;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .15em;
}

.ntfav-saved-body {
    padding: 15px 15px 16px;
}

.ntfav-saved-tags {
    display: flex;
    overflow: hidden;
    gap: 5px;
    min-height: 21px;
    margin-bottom: 8px;
}

.ntfav-saved-tags span {
    overflow: hidden;
    flex: 0 1 auto;
    padding: 3px 7px;
    border-radius: 4px;
    color: #b6b8c0;
    background: rgba(255, 255, 255, .055);
    font-size: 10px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.ntfav-saved-body h3 {
    display: -webkit-box;
    overflow: hidden;
    min-height: 3.2em;
    margin: 0;
    color: #f2f2f4;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.ntfav-saved-body h3 a {
    color: inherit;
    text-decoration: none;
}

.ntfav-saved-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 13px;
    padding-top: 11px;
    border-top: 1px solid rgba(255, 255, 255, .07);
}

.ntfav-saved-footer time {
    color: #777a82;
    font-size: 10px;
}

.ntfav-saved-footer a {
    color: #d6d7dc;
    font-size: 11px;
    text-decoration: none;
}

.ntfav-saved-footer a span {
    color: var(--ntfav-accent);
}

.ntfav-saved-status {
    margin: 0 0 7px;
    color: #ff8cac;
    font-size: 11px;
    font-weight: 700;
}

.ntfav-remove-text {
    margin-top: 14px;
    padding: 0;
    border: 0;
    color: #b7b9c0;
    background: none;
    font: 12px/1.4 inherit;
    text-decoration: underline;
    cursor: pointer;
}

.ntfav-loading,
.ntfav-empty,
.ntfav-error {
    min-height: 310px;
    padding: 65px 24px;
    border: 1px dashed rgba(255, 255, 255, .13);
    border-radius: 18px;
    text-align: center;
    background: rgba(255, 255, 255, .018);
}

.ntfav-loading span {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin: 0 3px;
    border-radius: 50%;
    background: var(--ntfav-accent);
    animation: ntfav-bounce 1s infinite alternate;
}

.ntfav-loading span:nth-child(2) { animation-delay: .18s; }
.ntfav-loading span:nth-child(3) { animation-delay: .36s; }

.ntfav-loading p,
.ntfav-empty p,
.ntfav-error p {
    margin: 15px 0 0;
    color: var(--ntfav-muted);
    font-size: 14px;
}

.ntfav-empty-heart {
    display: grid;
    width: 66px;
    height: 66px;
    margin: 0 auto 18px;
    place-items: center;
    border-radius: 50%;
    color: #ff759c;
    background: var(--ntfav-accent-soft);
}

.ntfav-empty-heart .ntfav-heart { font-size: 34px; }

.ntfav-empty h3,
.ntfav-error h3 {
    margin: 0;
    color: #fff;
    font-size: 20px;
}

.ntfav-empty a,
.ntfav-error button {
    display: inline-flex;
    margin-top: 23px;
    padding: 11px 18px;
    border: 0;
    border-radius: 9px;
    color: #fff;
    background: linear-gradient(135deg, var(--ntfav-accent), var(--ntfav-accent-strong));
    font-size: 13px;
    font-weight: 750;
    text-decoration: none;
    cursor: pointer;
}

.ntfav-modal {
    position: fixed;
    z-index: 100010;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 18px;
}

.ntfav-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(6, 6, 8, .82);
    backdrop-filter: blur(7px);
}

.ntfav-modal-panel {
    position: relative;
    z-index: 1;
    width: min(100%, 520px);
    padding: 32px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 20px;
    color: #fff;
    background: #25262a;
    box-shadow: 0 30px 100px rgba(0, 0, 0, .5);
}

.ntfav-modal-icon {
    display: grid;
    width: 52px;
    height: 52px;
    margin-bottom: 17px;
    place-items: center;
    border-radius: 14px;
    color: #fff;
    background: linear-gradient(135deg, var(--ntfav-accent), var(--ntfav-accent-strong));
}

.ntfav-modal-icon .ntfav-heart { font-size: 27px; }

.ntfav-modal h2 {
    margin: 0;
    font-size: 23px;
    line-height: 1.4;
}

.ntfav-modal h2 + p {
    margin: 11px 0 0;
    color: var(--ntfav-muted);
    font-size: 14px;
    line-height: 1.65;
}

.ntfav-modal-actions {
    display: grid;
    gap: 9px;
    margin-top: 24px;
}

.ntfav-modal-actions button {
    width: 100%;
    padding: 13px 15px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 10px;
    color: #fff;
    background: #33343a;
    text-align: left;
    cursor: pointer;
}

.ntfav-modal-actions button strong,
.ntfav-modal-actions button span {
    display: block;
}

.ntfav-modal-actions button strong { font-size: 14px; }
.ntfav-modal-actions button span { margin-top: 3px; color: #b2b4bc; font-size: 11px; }

.ntfav-modal-actions .ntfav-modal-primary {
    border-color: transparent;
    background: linear-gradient(135deg, var(--ntfav-accent), var(--ntfav-accent-strong));
}

.ntfav-modal-actions .ntfav-modal-primary span { color: #ffe5ec; }

.ntfav-modal-actions .ntfav-modal-cancel {
    border: 0;
    color: #b8bac1;
    background: transparent;
    text-align: center;
}

body.ntfav-modal-open { overflow: hidden; }

.ntfav-toast-region {
    position: fixed;
    z-index: 100020;
    right: 18px;
    bottom: 20px;
    display: grid;
    width: min(calc(100vw - 36px), 430px);
    gap: 9px;
    pointer-events: none;
}

.ntfav-toast {
    padding: 15px 16px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 11px;
    color: #fff;
    background: rgba(35, 36, 40, .97);
    box-shadow: 0 16px 55px rgba(0, 0, 0, .38);
    pointer-events: auto;
    animation: ntfav-toast-in .22s ease both;
}

.ntfav-toast.is-leaving { opacity: 0; transform: translateY(8px); transition: .2s ease; }
.ntfav-toast p { margin: 0; font-size: 13px; line-height: 1.55; }
.ntfav-toast > div { display: flex; gap: 8px; margin-top: 10px; }
.ntfav-toast button,
.ntfav-toast a {
    padding: 6px 9px;
    border: 0;
    border-radius: 6px;
    color: #fff;
    background: var(--ntfav-accent-strong);
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

@keyframes ntfav-bounce { to { opacity: .3; transform: translateY(-6px); } }
@keyframes ntfav-toast-in { from { opacity: 0; transform: translateY(8px); } }

@media (max-width: 1199px) {
    .ntfav-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ntfav-page { padding-right: 22px; padding-left: 22px; }
}

@media (max-width: 900px) {
    .ntfav-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ntfav-hero { min-height: 220px; padding: 34px; }
    .ntfav-hero-mark { flex-basis: 110px; width: 110px; height: 110px; border-radius: 28px; }
    .ntfav-hero-mark .ntfav-heart { font-size: 57px; }
    .ntfav-benefits { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .ntfav-page { padding: 10px 12px 60px; }
    .ntfav-hero { min-height: 0; padding: 27px 22px; border-radius: 17px; }
    .ntfav-hero-mark { position: absolute; right: -21px; bottom: -25px; width: 102px; height: 102px; opacity: .22; }
    .ntfav-hero h1 { font-size: 2rem; }
    .ntfav-hero-copy > p:not(.ntfav-eyebrow) { max-width: 84%; font-size: 14px; line-height: 1.6; }
    .ntfav-hero-meta { gap: 10px; margin-top: 18px; font-size: 11px; }
    .ntfav-key-card { grid-template-columns: 1fr; gap: 14px; padding: 22px 18px; border-radius: 15px; }
    .ntfav-key-card h2 { font-size: 17px; }
    .ntfav-share-row { grid-template-columns: 1fr 1fr; }
    .ntfav-share-row input { grid-column: 1 / -1; }
    .ntfav-copy-button,
    .ntfav-share-button { padding: 0 11px; font-size: 12px; }
    .ntfav-benefits { display: none; }
    .ntfav-list-section { margin-top: 38px; }
    .ntfav-list-heading { align-items: center; }
    .ntfav-list-heading h2 { font-size: 21px; }
    .ntfav-discover-link { font-size: 11px; }
    .ntfav-grid { gap: 13px 8px; }
    .ntfav-saved-card { border-radius: 11px; }
    .ntfav-saved-body { padding: 10px 10px 12px; }
    .ntfav-saved-tags { display: none; }
    .ntfav-saved-body h3 { min-height: 3.15em; font-size: 12px; }
    .ntfav-saved-footer { display: none; }
    .ntfav-saved-card > .ntfav-card-button { top: 5px; right: 5px; width: 34px; height: 34px; }
    .ntfav-single-actions { flex-direction: column; }
    .ntfav-single-button { flex-basis: auto; }
    .ntfav-view-link { width: 100%; }
    .ntfav-modal-panel { padding: 25px 19px; }
    .ntfav-modal h2 { font-size: 19px; }
    .ntfav-tooltip { display: none; }
    .ntfav-card-button { width: 34px; height: 34px; top: 5px; right: 5px; }
    .ntfav-toast-region { right: 10px; bottom: 12px; width: calc(100vw - 20px); }
}

@media (prefers-reduced-motion: reduce) {
    .ntfav-card-button,
    .ntfav-saved-card,
    .ntfav-saved-image img,
    .ntfav-toast,
    .ntfav-loading span {
        animation: none !important;
        transition: none !important;
    }
}
