/* =====================================================================
   FlixRec "Box Office" design (see the brand kit)
   Black and white with Marquee Yellow (#FFD400), Big Shoulders Display
   headlines in capitals, Archivo for everything else, square corners,
   black and white backdrops, full-colour posters.
   Loaded after site.css, so it wins.
   ===================================================================== */
:root, [data-theme="dark"], [data-theme="light"] {
    --bg-primary: #000000;
    --bg-secondary: #0a0a0a;
    --bg-card: #111111;
    --bg-hover: #1a1a1a;
    --text-primary: #ffffff;
    --text-secondary: #9b9b9b;
    --text-muted: #8a8a8a;
    --accent-red: #ffd400;
    --accent-red-hover: #ffe14d;
    --accent-red-dark: #e6bf00;
    --border-color: #262626;
    --border-light: #1a1a1a;
    --rating-gold: #ffd400;
    --font-head: 'Big Shoulders Display', Impact, 'Arial Narrow', sans-serif;
    --font-body: 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --yellow: #ffd400;
    color-scheme: dark;
}

/* Only body gets the background: it then paints the whole page canvas, so the fixed
   film/show backdrop and trailer (z-index -1) still show through behind the content */
body { background-color: #000 !important; }
body { font-family: var(--font-body) !important; color: #fff; }
input, select, textarea, button { font-family: var(--font-body); }

/* Anything sitting on a yellow background gets black text */
.navbar-dark .navbar-nav .nav-link::after,
.media-card .action-btn.active,
.media-card .action-btn.active:hover,
.media-card .type-badge.movie,
.watchlist-item .remove-watchlist:hover,
.detail-meta .meta-item.type,
.genre-badge:hover, a.genre-badge:hover,
.collection-link:hover,
.detail-actions .btn-outline-danger:hover,
.detail-actions .btn-danger,
.detail-actions .btn-danger:hover,
.auth-modal .form-check-input:checked,
.auth-modal .auth-submit-btn,
.signout-actions .btn-danger,
.profile-avatar-badge,
.genre-bar-fill,
.media-scroll-row::-webkit-scrollbar-thumb,
.edit-profile-header-card .back-link:hover,
.upload-progress .progress-bar,
.position-option.selected .position-icon, .position-option:has(input:checked) .position-icon,
.toggle-input:checked + .toggle-slider,
.form-actions-content .btn-danger,
.pagination .page-item.active .page-link,
.social-link:hover,
.btn-danger,
.btn-danger:hover,
.btn-danger:active,
.btn-outline-danger:hover,
.btn-accent,
.btn-accent:hover,
.btn-accent:active,
.stats-page .browse-header h1 i,
.stats-grid .stat-card::before,
.stats-grid .stat-icon i,
.genre-progress-fill,
.activity-bar,
.activity-bar:hover,
.review-avatar,
.review-spoiler-tag,
.btn-helpful.marked,
.checkbox-label input:checked + .checkbox-custom,
.notification-badge,
.lists-page .browse-header h1 i,
.lists-page .btn-primary,
.list-card::before,
.list-cover-placeholder i,
.empty-state i, .auth-prompt i,
.sortable-ghost,
.api-error-banner,
.btn-import:hover:not(:disabled),
.reel-play-overlay i,
.reel-type-badge,
.btn-primary,
.btn-primary:hover, .btn-primary:focus,
.streaming-page .genre-chips a.active,
.best-page .genre-chips a.active,
.best-hub .best-links a.primary,
.category-filters .btn.btn-danger,
.season-kicker { color: #000 !important; }

/* ---------- Typography ---------- */
h1, h2, h3, .row-title, .section-title, .detail-title, .card-title, .footer-heading,
.browse-header h1, .hero-title, .season-hero h1, .blog-hero h1, .like-hero h1,
.blog-lead h2, .blog-card h2, .blog-section > h2, .like-body h2, .like-body h3,
.watch-providers h3, .modal-title, .best-section h2, .other-providers h2, .blog-more h2 {
    font-family: var(--font-head) !important;
    text-transform: uppercase;
    letter-spacing: .01em;
    font-weight: 900 !important;
    line-height: .95;
}
h4, h5, h6 { font-family: var(--font-head); text-transform: uppercase; font-weight: 800; letter-spacing: .02em; }
.hero-title { font-size: clamp(3rem, 7vw, 6.5rem) !important; line-height: .86 !important; text-shadow: none !important; }
.browse-header h1 { font-size: clamp(2.6rem, 5vw, 4.6rem) !important; line-height: .9 !important; }
.row-title { font-size: clamp(1.8rem, 3vw, 2.6rem) !important; margin-bottom: 14px !important; }
.row-title a { color: #fff !important; }
.row-title .see-more-link, .see-more-link { font-family: var(--font-body) !important; font-size: .78rem !important; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--yellow) !important; vertical-align: middle; }
.page-subtitle, .hero-overview { color: #cfcfcf !important; }
a { color: inherit; }
p a, .detail-overview a, .blog-intro a, .like-intro a { color: var(--yellow); }

/* Icons only where they mean something (play, search, menu, stars) */
.row-title i, .browse-header h1 i, .navbar .nav-link i, .footer-links i, .footer-heading i, .meta-item i,
.watch-providers h3 i, .season-kicker i, .blog-kind i, .season-banner > i, .mobile-nav-link i,
.dropdown-item i, .section-title i, .blog-schedule i, .lists-section .section-title i { display: none !important; }

/* ---------- Logo ---------- */
.brand-text { font-family: var(--font-head) !important; font-weight: 900 !important; font-size: 2rem !important; color: #fff !important; text-transform: uppercase; letter-spacing: .01em; line-height: 1; display: inline-flex; align-items: center; }
.brand-text .brand-accent { color: #000 !important; background: var(--yellow); padding: 0 .1em; margin-left: .06em; }
.navbar-brand { letter-spacing: 0 !important; }

/* ---------- Navigation ---------- */
.navbar, .navbar.scrolled { background: #000 !important; border-bottom: 3px solid var(--yellow) !important; box-shadow: none !important; backdrop-filter: none !important; }
.navbar .navbar-nav .nav-link { font-family: var(--font-body); text-transform: uppercase; font-weight: 700 !important; font-size: .8rem !important; letter-spacing: .08em; color: #fff !important; }
.navbar .navbar-nav .nav-link:hover, .navbar .navbar-nav .nav-link.active { color: var(--yellow) !important; }
.navbar-dark .navbar-nav .nav-link::after { display: none !important; }
.navbar .navbar-nav .nav-link.nav-season, .navbar .navbar-nav .nav-link.nav-season.active, .navbar .navbar-nav .nav-link.nav-season i { color: #000 !important; }
.nav-link.nav-season { color: #000 !important; background: var(--yellow); padding-left: .7rem !important; padding-right: .7rem !important; }
.navbar .navbar-nav .nav-link.nav-season:hover, .nav-link.nav-season:hover { color: #000 !important; background: #fff; }
.theme-toggle { display: none !important; }
.dropdown-menu { background: #000 !important; border: 1px solid #262626 !important; border-top: 3px solid var(--yellow) !important; border-radius: 0 !important; box-shadow: none !important; }
.dropdown-item { font-weight: 700; text-transform: uppercase; font-size: .78rem; letter-spacing: .08em; color: #fff !important; }
.dropdown-item:hover, .dropdown-item:focus { background: var(--yellow) !important; color: #000 !important; }
.random-picker-btn, .nav-random-btn, a.random-btn, .navbar-right .btn-random { border-radius: 0 !important; }
.mobile-menu { background: #000 !important; border-right: 3px solid var(--yellow); }
.mobile-nav-link { font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: .9rem; }
.mobile-menu-label { color: var(--yellow) !important; font-family: var(--font-head); font-size: 1.1rem !important; font-weight: 900; }

/* ---------- Shapes: one radius, and it's zero ---------- */
.btn, .form-control, .form-select, .card, .modal-content, .media-card, .card-poster, .card-poster img,
.genre-badge, .meta-item, .provider-logo, .watch-providers, .collection-link, .pagination .page-link,
.blog-card, .blog-lead, .blog-hero, .season-hero, .season-banner, .season-kicker, .like-hero, .like-poster img,
.like-hero-poster img, .detail-poster img, .cast-card, .cast-card img, .provider-chips a, .genre-chips a,
.best-links a, .category-pill, .category-filters .btn, .search-input, .nav-search-input, .contact-form input,
.contact-form textarea, .contact-form select, .contact-sent, .hero-section, .api-error-banner, .ad-slot,
.filter-tag, .stat-card, .list-card, .review-card, .trailer-modal .modal-content, .person-photo img,
.actor-card, .actor-card img, .collection-card, .collection-card img, .genre-card, .no-results, .provider-header img,
.streaming-provider-card, .provider-card, .picker-card, .schedule-card, .episode-card, .season-card {
    border-radius: 0 !important;
}
.media-card, .media-card:hover, .actor-card:hover, .collection-card:hover, .blog-card:hover { transform: none !important; box-shadow: none !important; }

/* ---------- Buttons ---------- */
.btn { font-weight: 700 !important; text-transform: uppercase; letter-spacing: .06em; font-size: .85rem; }
.btn-accent, .btn-primary, .btn-danger, .trailer-btn, .hero-actions .btn-light, .hero-actions .btn:first-child { background: var(--yellow) !important; border-color: var(--yellow) !important; color: #000 !important; }
.btn-accent:hover, .btn-primary:hover, .btn-danger:hover, .trailer-btn:hover { background: #fff !important; border-color: #fff !important; color: #000 !important; }
.btn-outline, .btn-outline-light, .btn-secondary, .reviews-btn, .btn-outline-secondary { background: transparent !important; border: 2px solid #fff !important; color: #fff !important; }
.btn-outline:hover, .btn-outline-light:hover, .reviews-btn:hover, .btn-outline-secondary:hover { background: #fff !important; color: #000 !important; }

/* ---------- Cards ---------- */
.media-row { gap: 6px !important; }
.media-card { background: transparent !important; }
.card-overlay { display: none !important; }
.card-info { background: transparent !important; padding: 8px 2px 0 !important; }
.card-title { font-size: 1.2rem !important; font-weight: 800 !important; line-height: 1 !important; white-space: normal !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.card-meta .year { color: var(--yellow) !important; font-weight: 700; font-size: .78rem; }
.type-badge { display: none !important; }
.media-scroll-row::-webkit-scrollbar-thumb { background: #333 !important; }

/* ---------- Hero (home) ---------- */
.hero-section { position: relative; }
.hero-section::before { content: ""; position: absolute; inset: 0; background: inherit; filter: grayscale(1) contrast(1.1); z-index: 0; }
.hero-section > * { position: relative; z-index: 1; }
.hero-meta .year { color: var(--yellow) !important; font-weight: 700; }
.hero-meta .rating { background: var(--yellow); color: #000 !important; padding: 2px 8px; font-weight: 800; }
.hero-meta .rating i { color: #000 !important; }

/* ---------- Page headers ---------- */
.browse-header { border-bottom: 0 !important; background: none !important; }
.streaming-breadcrumb { text-transform: uppercase; letter-spacing: .08em; font-size: .72rem !important; font-weight: 700; }

/* ---------- Labels, chips, tags ---------- */
.genre-badge { background: transparent !important; border: 2px solid #fff !important; color: #fff !important; text-transform: uppercase; font-weight: 700 !important; font-size: .72rem !important; letter-spacing: .06em; }
.genre-badge:hover { background: #fff !important; color: #000 !important; }
.genre-chips a, .best-links a, .provider-chips a, .category-pill, .blog-schedule li, .filter-tag {
    text-transform: uppercase; font-weight: 700; letter-spacing: .06em; font-size: .72rem !important;
}
.genre-chips a, .best-links a, .provider-chips a, .category-pill { border: 2px solid #333 !important; background: transparent !important; color: #fff !important; }
.genre-chips a:hover, .best-links a:hover, .provider-chips a:hover, .category-pill:hover { border-color: #fff !important; }
.genre-chips a.active, .best-links a.primary, .category-pill.active { background: var(--yellow) !important; border-color: var(--yellow) !important; color: #000 !important; }
.rating-badge, .like-rating { color: #fff; }
.like-rating i, .rating-badge i, .meta-item.rating i { color: var(--yellow) !important; }
.blog-kind { color: var(--yellow) !important; }
.like-rank { color: var(--yellow) !important; font-family: var(--font-head); font-weight: 900 !important; font-size: 2.2rem !important; }

/* ---------- Detail pages ---------- */
.detail-backdrop { filter: grayscale(1) contrast(1.1); }
.detail-title { font-size: clamp(3rem, 7vw, 6rem) !important; line-height: .88 !important; }
.detail-tagline { color: #bdbdbd !important; }
.detail-poster img { border: 3px solid #fff; box-shadow: none !important; }
.meta-item { background: none !important; border: 0 !important; padding: 0 16px 0 0 !important; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: .82rem !important; color: #cfcfcf !important; }
.meta-item.rating { color: #000 !important; background: var(--yellow) !important; padding: 2px 8px !important; margin-right: 16px; }
.meta-item.type { display: none !important; }
.watch-providers { background: #111 !important; border: 0 !important; border-left: 6px solid var(--yellow) !important; box-shadow: none !important; }
.watch-providers h3 { font-size: 2rem !important; }
.provider-label { text-transform: uppercase; font-weight: 700; letter-spacing: .08em; font-size: .72rem !important; color: #9b9b9b !important; }
.provider-more a, .provider-attribution a { color: var(--yellow) !important; }
.collection-link { border: 2px solid #333 !important; background: transparent !important; }
.cast-card { background: transparent !important; }
.cast-name, .cast-info h6, .cast-info .name { font-family: var(--font-head); text-transform: uppercase; font-weight: 800; font-size: 1.05rem; line-height: 1; }

/* ---------- Seasonal hubs ---------- */
.season-hero { padding: 150px 36px 36px !important; margin: 0 0 30px !important; }
.season-hero::before { background-image: linear-gradient(0deg, #000 6%, rgba(0,0,0,.55) 60%, rgba(0,0,0,.25)), var(--season-bg, none) !important; filter: grayscale(1) contrast(1.1); }
.season-kicker { background: var(--yellow) !important; color: #000 !important; font-family: var(--font-head) !important; font-size: 1.15rem !important; font-weight: 900 !important; padding: 4px 12px !important; letter-spacing: .02em !important; }
.season-hero h1 { font-size: clamp(3.6rem, 9vw, 7.5rem) !important; line-height: .86 !important; margin: 18px 0 18px !important; text-shadow: none !important; color: #fff !important; }
.season-hero p { color: #ddd !important; text-shadow: none !important; max-width: 580px !important; }
.season-banner { background: var(--yellow) !important; border: 0 !important; backdrop-filter: none !important; }
.season-banner, .season-banner strong, .season-banner span, .season-banner .season-banner-go { color: #000 !important; }
.season-banner strong { font-family: var(--font-head); text-transform: uppercase; font-weight: 900; font-size: 1.6rem !important; line-height: 1; }

/* ---------- Blog ---------- */
.blog-hero::before { filter: grayscale(1) contrast(1.1); }
.blog-hero h1 { font-size: clamp(2.6rem, 6vw, 5rem) !important; line-height: .9 !important; }
.blog-lead, .blog-card { background: #0d0d0d !important; border: 1px solid #262626 !important; }
.blog-lead img, .blog-card img { filter: grayscale(1) contrast(1.1); }
.blog-lead:hover, .blog-card:hover { border-color: var(--yellow) !important; }
.blog-lead:hover h2, .blog-card:hover h2 { color: var(--yellow) !important; }
.blog-lead h2 { font-size: 2.6rem !important; }
.blog-card h2 { font-size: 1.6rem !important; }
.blog-section > h2 { font-size: 2.4rem !important; border-top: 0 !important; padding-top: 0 !important; }
.blog-section > h2::after { content: ""; display: block; width: 60px; height: 6px; background: var(--yellow); margin-top: 8px; }
.like-hero::before { filter: grayscale(1) contrast(1.1); }
.like-page .like-hero h1 { font-size: clamp(2.4rem, 5vw, 4rem) !important; }
.like-page .like-body h2, .like-page .like-body h3 { font-size: 1.6rem !important; }
.like-page .like-body h2 a:hover, .like-page .like-body h3 a:hover { color: var(--yellow) !important; }
.like-page .like-poster img { border: 0; }

/* ---------- Forms ---------- */
.form-control, .form-select, .search-input, .nav-search-input, .contact-form input, .contact-form textarea, .contact-form select {
    background: #0d0d0d !important; border: 2px solid #333 !important; color: #fff !important;
}
.form-control:focus, .form-select:focus, .search-input:focus, .nav-search-input:focus { border-color: var(--yellow) !important; box-shadow: none !important; }
.form-label, label { text-transform: uppercase; font-weight: 700; letter-spacing: .06em; font-size: .75rem; }

/* ---------- Pagination ---------- */
.pagination .page-link { background: #000 !important; border: 2px solid #333 !important; color: #fff !important; font-weight: 700; }
.pagination .page-item.active .page-link { background: var(--yellow) !important; border-color: var(--yellow) !important; color: #000 !important; }

/* ---------- Footer ---------- */
footer, .footer, .site-footer { background: #000 !important; border-top: 3px solid var(--yellow) !important; }
.footer-heading { color: var(--yellow) !important; font-size: 1.3rem !important; }
.footer-links a { text-transform: none; color: #cfcfcf !important; }
.footer-links a:hover { color: var(--yellow) !important; }

/* ---------- Ads ---------- */
.ad-label { text-transform: uppercase; letter-spacing: .1em; }

/* ---------- Phones ---------- */
@media (max-width: 768px) {
    .brand-text { font-size: 1.7rem !important; }
    .hero-title { font-size: 3rem !important; }
    .season-hero { padding: 90px 18px 22px !important; }
    .season-hero h1 { font-size: 3.6rem !important; }
    .season-kicker { font-size: .95rem !important; }
    .row-title { font-size: 1.9rem !important; }
    .detail-title { font-size: 3.6rem !important; }
    .browse-header h1 { font-size: 2.6rem !important; }
    .blog-lead h2 { font-size: 1.9rem !important; }
    .blog-hero h1 { font-size: 2.4rem !important; }
    .season-banner strong { font-size: 1.3rem !important; }
    .card-title { font-size: 1.05rem !important; }
}

/* Square corners everywhere (circles like avatars stay round) */
.active-filters-bar,
.activity-bar,
.activity-icon,
.activity-item,
.activity-type,
.actor-stat-card,
.ad-slot-placeholder,
.add-to-list-content,
.advanced-filters-panel,
.alert,
.api-error-banner,
.auth-card,
.auth-card .btn-danger,
.auth-card .form-control,
.auth-error-message,
.auth-modal .auth-submit-btn,
.auth-modal .form-floating > .form-control,
.auth-modal .modal-content,
.autocomplete-item img,
.avatar-upload-section,
.best-hub .best-links a,
.best-page .genre-chips a,
.blog-card,
.blog-hero,
.blog-lead,
.browse-filters .form-select,
.btn-helpful,
.btn-import,
.btn-import-all,
.category-filters .btn,
.category-filters.btn-group > .btn,
.checkbox-custom,
.collection-card,
.collection-count,
.collection-header,
.collection-link,
.collection-poster,
.comparison-card,
.comparison-stats,
.content-page .contact-form,
.content-page .contact-sent,
.danger-zone-card,
.detail-actions .btn,
.detail-meta .meta-item.type,
.detail-poster img,
.dropdown-menu,
.edit-profile-form .form-control,
.edit-profile-header-card,
.edit-profile-header-card .back-link,
.edit-section,
.empty-activity,
.empty-list,
.empty-state, .auth-prompt,
.filter-group .form-select, .filter-group .form-control,
.filter-tag,
.filter-toggle-btn.btn-outline-info,
.form-actions-content,
.form-actions-content .btn,
.form-container,
.genre-badge,
.genre-bar,
.genre-bar-fill,
.genre-chip,
.genre-progress-bar,
.genre-progress-fill,
.hero-actions .btn,
.like-page .like-hero,
.like-page .like-hero-poster img,
.like-page .like-poster img,
.list-card,
.list-header,
.list-item,
.list-item .item-poster img,
.list-option,
.list-preview-poster,
.lists-page .btn-primary,
.lists-section .section-title .badge,
.lists-section .section-title i,
.media-card,
.media-card .card-poster,
.media-card .rating-badge,
.media-card .type-badge,
.media-info-banner,
.media-poster-form,
.media-poster-small,
.media-preview .media-poster,
.media-scroll-row::-webkit-scrollbar-thumb,
.media-type-badge,
.mobile-random-picker,
.my-review-card,
.nav-icon-btn,
.nav-search-form,
.nav-search-form .search-results,
.no-results,
.page-search-form .form-control,
.pagination .page-link,
.partner-badge,
.position-icon,
.position-option,
.profile-card,
.provider-logo,
.random-picker-btn,
.rating-card,
.rating-poster img,
.recent-activity-section,
.reel-thumbnail,
.reel-type-badge,
.reels-row::-webkit-scrollbar-thumb,
.review-card,
.review-content.has-spoiler:hover::after,
.review-form,
.review-form textarea,
.review-form-container,
.review-media-poster,
.review-rating,
.review-spoiler-tag,
.reviews-modal-content,
.reviews-section .btn-outline,
.reviews-stats,
.season-banner,
.season-card,
.season-hero,
.season-kicker,
.signout-actions .btn,
.signout-modal-content,
.skeleton,
.spoiler-badge,
.spoiler-overlay,
.spoiler-warning,
.stat-card,
.stat-card .stat-icon,
.stat-section,
.stat-section .section-title i,
.stats-grid .stat-card,
.stats-grid .stat-icon,
.streaming-page .genre-chips a,
.streaming-page .provider-chips a,
.streaming-page .provider-header img,
.streaming-page .provider-nav .btn,
.streaming-page .provider-tile,
.streaming-page .provider-tile img,
.sync-comparison,
.sync-header,
.toast-notification,
.toggle-option,
.toggle-slider,
.trailer-wrapper,
.trakt-badge,
.trakt-user-info,
.upload-progress,
.view-episodes,
.vip-badge,
.visibility-badge,
.visibility-switch,
.watch-providers,
.watchlist-badge,
::-webkit-scrollbar-thumb
 { border-radius: 0 !important; }

/* Film/show backdrop and trailer fade into pure black (no seam at the bottom) */
.backdrop-overlay { background: linear-gradient(to bottom, rgba(0,0,0,.35) 0%, rgba(0,0,0,.8) 60%, #000 100%) !important; }
.detail-backdrop.has-video .backdrop-overlay {
    background:
        linear-gradient(to right, rgba(0,0,0,.7) 0%, transparent 15%, transparent 85%, rgba(0,0,0,.7) 100%),
        linear-gradient(to bottom, rgba(0,0,0,.25) 0%, rgba(0,0,0,.7) 60%, #000 100%) !important;
}
.detail-backdrop.has-video { background-color: #000 !important; }
.backdrop-mute-btn { border-radius: 0 !important; background: var(--yellow) !important; color: #000 !important; border: 0 !important; }
/* Greyscale the backdrop picture only (not the trailer or the mute button) */
.detail-backdrop { filter: none !important; background-color: #000; background-blend-mode: luminosity; }

/* Touch targets: at least 44px for the phone header buttons */
.mobile-menu-toggle, .mobile-search-link { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.provider-attribution a, .footer-data-notice a { text-decoration: underline; }

/* ---------- Cookie bar ---------- */
.consent-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 2000; background: #000; border-top: 4px solid var(--yellow); color: #fff; }
.consent-bar[hidden] { display: none; }
.consent-bar-inner { max-width: 1200px; margin: 0 auto; padding: 16px 24px; display: flex; align-items: center; gap: 24px; }
.consent-bar-text { margin: 0; flex: 1; color: #ddd; font-size: .95rem; line-height: 1.5; }
.consent-bar-text strong { font-family: var(--font-head); text-transform: uppercase; font-weight: 900; font-size: 1.3rem; color: var(--yellow); margin-right: 6px; letter-spacing: .02em; }
.consent-bar-text a { color: #fff; text-decoration: underline; }
.consent-bar-actions { display: flex; gap: 10px; flex-shrink: 0; }
.consent-btn { min-height: 44px; padding: 0 22px; border-radius: 0; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: .85rem; cursor: pointer; }
.consent-btn-accept { background: var(--yellow); color: #000; border: 2px solid var(--yellow); }
.consent-btn-accept:hover { background: #fff; border-color: #fff; }
.consent-btn-reject { background: transparent; color: #fff; border: 2px solid #fff; }
.consent-btn-reject:hover { background: #fff; color: #000; }
@media (max-width: 768px) {
    .consent-bar-inner { flex-direction: column; align-items: stretch; gap: 12px; padding: 14px 16px; }
    .consent-bar-actions .consent-btn { flex: 1; }
}

/* Random pick shortcut next to search on mobile */
.mobile-random-link { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; margin-left: 0.25rem; background: #FFD400; color: #000 !important; font-size: 1.2rem; line-height: 1; text-decoration: none; }
.mobile-random-link:hover, .mobile-random-link:focus-visible { background: #fff; color: #000 !important; }

/* Affiliate (Amazon) call to action + disclosure */
.provider-cta { display: inline-flex; align-items: center; gap: .5rem; margin-top: 14px; border-radius: 0 !important; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; font-size: .85rem; padding: .6rem 1rem; }
.provider-header .provider-cta { margin-top: 10px; }
.affiliate-note { font-size: .72rem; color: #9a9a9a; margin: 8px 0 0; max-width: 46ch; }
