/*
Theme Name: FilmyReview
Theme URI: https://filmyreview.in
Description: A 100% automatic, AI-powered movie, web series and OTT review magazine theme for FilmyReview.in. Discovers fresh entertainment topics every 10 minutes and auto-generates SEO-optimized, human-like reviews with images, schema and internal links using an Amazon Bedrock API key. Enterprise-grade, Core Web Vitals optimized, AdSense friendly, fully hands-free.
Author: FilmyReview
Author URI: https://filmyreview.in
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: filmyreview
Tags: blog, news, entertainment, magazine, custom-menu, featured-images, threaded-comments, translation-ready, full-width-template, block-styles
*/

/* ============================================================
   1. ROOT TOKENS
   ============================================================ */
:root{
  --fr-bg:#0d0f16;
  --fr-bg-2:#141824;
  --fr-surface:#191e2b;
  --fr-surface-2:#212736;
  --fr-border:#2a3142;
  --fr-border-2:#39415a;
  --fr-text:#e8ebf2;
  --fr-text-2:#aeb6c8;
  --fr-muted:#7b849b;
  --fr-primary:#e50914;      /* cinematic red */
  --fr-primary-d:#b20710;
  --fr-primary-l:#ff2b36;
  --fr-accent:#f5c518;       /* IMDb-style gold for ratings */
  --fr-accent-d:#c99a00;
  --fr-green:#21c07a;
  --fr-blue:#3b82f6;
  --fr-purple:#8b5cf6;
  --fr-link:#ff6a70;
  --fr-radius:12px;
  --fr-radius-sm:8px;
  --fr-shadow:0 6px 24px rgba(0,0,0,.35);
  --fr-shadow-sm:0 2px 10px rgba(0,0,0,.25);
  --fr-font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif;
  --fr-head:'Poppins','Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --fr-max:1200px;
  --fr-gap:24px;
}

/* Light mode override (optional; body.fr-light) */
body.fr-light{
  --fr-bg:#f5f6fa;--fr-bg-2:#ffffff;--fr-surface:#ffffff;--fr-surface-2:#f2f4f8;
  --fr-border:#e3e7ef;--fr-border-2:#d3d9e6;--fr-text:#12151d;--fr-text-2:#3d4560;
  --fr-muted:#6a7288;--fr-link:#d40812;--fr-shadow:0 6px 24px rgba(20,30,60,.12);
  --fr-shadow-sm:0 2px 10px rgba(20,30,60,.08);
}

/* ============================================================
   2. RESET & BASE
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--fr-font);
  font-size:16px;line-height:1.7;color:var(--fr-text);
  background:var(--fr-bg);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4,h5{font-family:var(--fr-head);line-height:1.25;font-weight:700;color:var(--fr-text)}
a{color:var(--fr-link);text-decoration:none;transition:color .15s}
a:hover{color:var(--fr-primary-l)}
img{max-width:100%;height:auto;display:block}
ul,ol{list-style:none}
button{font-family:inherit;cursor:pointer}
input,textarea,select{font-family:inherit}
:focus-visible{outline:2px solid var(--fr-accent);outline-offset:2px}
.fr-skip-link{position:absolute;left:-999px;top:0;background:var(--fr-primary);color:#fff;padding:10px 16px;z-index:100000;border-radius:0 0 8px 0}
.fr-skip-link:focus{left:0}

.fr-wrap{max-width:var(--fr-max);margin:0 auto;padding:0 20px;width:100%}
.fr-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.fr-visually-hidden{display:none}

/* ============================================================
   3. HEADER
   ============================================================ */
.fr-topbar{background:var(--fr-bg-2);border-bottom:1px solid var(--fr-border);font-size:12.5px;color:var(--fr-text-2)}
.fr-topbar .fr-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;height:34px}
.fr-topbar-date{display:flex;align-items:center;gap:7px}
.fr-topbar-social{display:flex;align-items:center;gap:10px}
.fr-topbar-social a{color:var(--fr-text-2);display:inline-flex}
.fr-topbar-social a:hover{color:var(--fr-primary-l)}

.fr-header{background:linear-gradient(180deg,var(--fr-bg-2),var(--fr-bg));border-bottom:1px solid var(--fr-border);position:relative;z-index:50}
.fr-header-inner{display:flex;align-items:center;gap:20px;padding:16px 0}
.fr-logo{display:flex;align-items:center;gap:12px;flex-shrink:0}
.fr-logo-mark{width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,var(--fr-primary),var(--fr-primary-d));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:22px;font-family:var(--fr-head);box-shadow:0 4px 14px rgba(229,9,20,.4)}
.fr-logo-text{display:flex;flex-direction:column;line-height:1.1}
.fr-logo-name{font-family:var(--fr-head);font-weight:800;font-size:22px;color:var(--fr-text);letter-spacing:-.4px}
.fr-logo-name b{color:var(--fr-primary-l)}
.fr-logo-tag{font-size:11px;color:var(--fr-muted);letter-spacing:.3px}
.fr-header-search{margin-left:auto;flex:1;max-width:420px}
.fr-search-form{display:flex;align-items:center;background:var(--fr-surface);border:1px solid var(--fr-border);border-radius:999px;overflow:hidden;transition:border-color .15s}
.fr-search-form:focus-within{border-color:var(--fr-primary)}
.fr-search-form input{flex:1;background:transparent;border:none;outline:none;color:var(--fr-text);padding:11px 18px;font-size:14px}
.fr-search-form input::placeholder{color:var(--fr-muted)}
.fr-search-form button{background:var(--fr-primary);color:#fff;border:none;padding:11px 18px;display:flex;align-items:center}
.fr-search-form button:hover{background:var(--fr-primary-d)}

/* NAV */
.fr-nav-wrap{background:var(--fr-bg-2);border-bottom:1px solid var(--fr-border);position:sticky;top:0;z-index:900;box-shadow:0 2px 12px rgba(0,0,0,.25)}
.fr-nav-inner{display:flex;align-items:center;gap:6px;position:relative}
.fr-nav{display:flex;flex-wrap:wrap}
.fr-nav>li{position:relative}
.fr-nav>li>a{display:flex;align-items:center;gap:6px;color:var(--fr-text-2);font-weight:600;font-size:13.5px;padding:14px 15px;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;border-bottom:3px solid transparent}
.fr-nav>li>a:hover,.fr-nav>li.current-menu-item>a,.fr-nav>li.current-menu-parent>a{color:var(--fr-text);border-bottom-color:var(--fr-primary)}
.fr-nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:210px;background:var(--fr-surface);border:1px solid var(--fr-border);border-radius:0 0 var(--fr-radius-sm) var(--fr-radius-sm);box-shadow:var(--fr-shadow);z-index:1000;padding:6px 0}
.fr-nav>li:hover .sub-menu{display:block}
.fr-nav .sub-menu li a{display:block;color:var(--fr-text-2);padding:9px 16px;font-size:13.5px}
.fr-nav .sub-menu li a:hover{background:var(--fr-surface-2);color:var(--fr-text)}
.fr-nav>li.menu-item-has-children>a::after{content:"";width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;margin-left:3px}
.fr-hamburger{display:none;background:none;border:none;color:var(--fr-text);padding:12px 14px;align-items:center;gap:8px;font-weight:700;font-size:14px}
.fr-hamburger svg{display:block}

/* ============================================================
   4. LAYOUT
   ============================================================ */
.fr-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--fr-gap);padding:var(--fr-gap) 0;align-items:start}
.fr-main{min-width:0}
.fr-sidebar{min-width:0;position:sticky;top:74px}
.fr-full .fr-layout{grid-template-columns:1fr}

/* ============================================================
   5. CARDS & SECTIONS
   ============================================================ */
.fr-section{margin-bottom:36px}
.fr-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--fr-border)}
.fr-section-title{font-family:var(--fr-head);font-size:21px;font-weight:800;display:flex;align-items:center;gap:10px;letter-spacing:-.3px}
.fr-section-title::before{content:"";width:5px;height:22px;background:linear-gradient(180deg,var(--fr-primary),var(--fr-primary-d));border-radius:3px;display:inline-block}
.fr-section-more{font-size:13px;font-weight:600;color:var(--fr-text-2);display:inline-flex;align-items:center;gap:5px}
.fr-section-more:hover{color:var(--fr-primary-l)}

.fr-grid{display:grid;gap:20px}
.fr-grid-2{grid-template-columns:repeat(2,1fr)}
.fr-grid-3{grid-template-columns:repeat(3,1fr)}
.fr-grid-4{grid-template-columns:repeat(4,1fr)}
.fr-grid-5{grid-template-columns:repeat(5,1fr)}

/* Movie / review card */
.fr-card{background:var(--fr-surface);border:1px solid var(--fr-border);border-radius:var(--fr-radius);overflow:hidden;position:relative;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;flex-direction:column}
.fr-card:hover{transform:translateY(-4px);border-color:var(--fr-border-2);box-shadow:var(--fr-shadow)}
.fr-card-thumb{position:relative;aspect-ratio:2/3;overflow:hidden;background:var(--fr-surface-2)}
.fr-card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.fr-card:hover .fr-card-thumb img{transform:scale(1.06)}
.fr-card-thumb.landscape{aspect-ratio:16/9}
.fr-card-rating{position:absolute;top:10px;left:10px;background:rgba(0,0,0,.78);color:var(--fr-accent);font-weight:800;font-size:12.5px;padding:4px 8px;border-radius:6px;display:flex;align-items:center;gap:4px;backdrop-filter:blur(4px)}
.fr-card-cat{position:absolute;top:10px;right:10px;background:var(--fr-primary);color:#fff;font-size:10px;font-weight:700;padding:4px 9px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}
.fr-card-badge{position:absolute;bottom:10px;left:10px;background:rgba(0,0,0,.72);color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:5px;text-transform:uppercase;letter-spacing:.4px}
.fr-card-badge.new{background:var(--fr-primary)}
.fr-card-badge.ott{background:var(--fr-purple)}
.fr-card-body{padding:14px;flex:1;display:flex;flex-direction:column;gap:8px}
.fr-card-title{font-size:15px;font-weight:700;line-height:1.35;font-family:var(--fr-head)}
.fr-card-title a{color:var(--fr-text)}
.fr-card-title a:hover{color:var(--fr-primary-l)}
.fr-card-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--fr-muted);margin-top:auto}
.fr-card-meta span{display:inline-flex;align-items:center;gap:4px}

/* Horizontal list card (sidebar / list) */
.fr-list-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--fr-border)}
.fr-list-item:last-child{border-bottom:none}
.fr-list-thumb{width:78px;height:100px;flex-shrink:0;border-radius:8px;overflow:hidden;background:var(--fr-surface-2)}
.fr-list-thumb img{width:100%;height:100%;object-fit:cover}
.fr-list-body{min-width:0;display:flex;flex-direction:column;gap:5px}
.fr-list-title{font-size:14px;font-weight:600;line-height:1.4}
.fr-list-title a{color:var(--fr-text)}
.fr-list-title a:hover{color:var(--fr-primary-l)}
.fr-list-meta{font-size:11.5px;color:var(--fr-muted);display:flex;gap:8px;flex-wrap:wrap}
.fr-rank{font-family:var(--fr-head);font-size:26px;font-weight:800;color:var(--fr-border-2);flex-shrink:0;width:30px;text-align:center;line-height:1}

/* ============================================================
   6. HERO / FEATURED SLIDER
   ============================================================ */
.fr-hero{position:relative;border-radius:var(--fr-radius);overflow:hidden;margin-bottom:36px;background:var(--fr-surface);border:1px solid var(--fr-border)}
.fr-hero-grid{display:grid;grid-template-columns:2fr 1fr;gap:2px;background:var(--fr-border)}
.fr-hero-main{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--fr-surface-2)}
.fr-hero-main img{width:100%;height:100%;object-fit:cover}
.fr-hero-side{display:grid;grid-template-rows:1fr 1fr;gap:2px}
.fr-hero-cell{position:relative;overflow:hidden;background:var(--fr-surface-2);min-height:150px}
.fr-hero-cell img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.fr-hero-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.25) 55%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:22px}
.fr-hero-cell .fr-hero-overlay{padding:14px}
.fr-hero-cat{display:inline-flex;align-self:flex-start;background:var(--fr-primary);color:#fff;font-size:10.5px;font-weight:700;padding:4px 10px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}
.fr-hero-title{color:#fff;font-size:26px;font-weight:800;line-height:1.2;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.fr-hero-title a{color:#fff}
.fr-hero-cell .fr-hero-title{font-size:15px}
.fr-hero-meta{display:flex;gap:12px;color:rgba(255,255,255,.85);font-size:12.5px;margin-top:8px}

/* ============================================================
   7. RATING STARS
   ============================================================ */
.fr-stars{display:inline-flex;gap:2px;color:var(--fr-accent);font-size:16px;line-height:1}
.fr-stars .empty{color:var(--fr-border-2)}
.fr-rating-box{display:flex;align-items:center;gap:14px;background:var(--fr-surface-2);border:1px solid var(--fr-border);border-radius:var(--fr-radius);padding:16px 20px;margin:20px 0}
.fr-rating-score{font-family:var(--fr-head);font-size:40px;font-weight:800;color:var(--fr-accent);line-height:1}
.fr-rating-score small{font-size:18px;color:var(--fr-muted)}
.fr-rating-verdict{font-size:14px;color:var(--fr-text-2)}
.fr-rating-verdict strong{color:var(--fr-text);display:block;font-size:16px;font-family:var(--fr-head)}

/* ============================================================
   8. SINGLE POST / REVIEW
   ============================================================ */
.fr-article{background:var(--fr-surface);border:1px solid var(--fr-border);border-radius:var(--fr-radius);overflow:hidden}
.fr-article-hero{position:relative}
.fr-article-hero img{width:100%;max-height:460px;object-fit:cover}
.fr-article-inner{padding:28px 34px 34px}
.fr-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:7px;font-size:12.5px;color:var(--fr-muted);margin-bottom:16px}
.fr-breadcrumb a{color:var(--fr-text-2)}
.fr-breadcrumb a:hover{color:var(--fr-primary-l)}
.fr-breadcrumb .sep{opacity:.5}
.fr-article-cat{display:inline-flex;background:var(--fr-primary);color:#fff;font-size:11px;font-weight:700;padding:5px 12px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px}
.fr-article-title{font-size:34px;font-weight:800;line-height:1.18;letter-spacing:-.6px;margin-bottom:14px}
.fr-article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:16px;font-size:13px;color:var(--fr-muted);padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid var(--fr-border)}
.fr-article-meta a{color:var(--fr-text-2)}
.fr-article-meta .fr-author{display:flex;align-items:center;gap:8px}
.fr-article-meta .fr-author img{width:30px;height:30px;border-radius:50%}

/* Movie info box */
.fr-infobox{border:1px solid var(--fr-border);border-radius:var(--fr-radius);overflow:hidden;margin:24px 0}
.fr-infobox-head{background:var(--fr-surface-2);padding:12px 18px;font-weight:700;font-family:var(--fr-head);font-size:15px;display:flex;align-items:center;gap:8px}
.fr-infobox-grid{display:grid;grid-template-columns:repeat(2,1fr)}
.fr-infobox-item{display:flex;flex-direction:column;gap:3px;padding:12px 18px;border-top:1px solid var(--fr-border)}
.fr-infobox-item:nth-child(odd){border-right:1px solid var(--fr-border)}
.fr-infobox-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--fr-muted)}
.fr-infobox-value{font-size:14px;font-weight:600;color:var(--fr-text)}

/* Table of contents */
.fr-toc{background:var(--fr-surface-2);border:1px solid var(--fr-border);border-radius:var(--fr-radius);padding:16px 20px;margin:24px 0}
.fr-toc-title{font-weight:700;font-family:var(--fr-head);font-size:15px;margin-bottom:10px;display:flex;align-items:center;gap:8px;cursor:pointer}
.fr-toc ol{list-style:none;counter-reset:toc;columns:2;column-gap:26px}
.fr-toc ol li{counter-increment:toc;margin:6px 0;font-size:13.5px;break-inside:avoid}
.fr-toc ol li a{color:var(--fr-text-2);display:flex;gap:8px}
.fr-toc ol li a::before{content:counter(toc);color:var(--fr-primary-l);font-weight:700}
.fr-toc ol li a:hover{color:var(--fr-text)}

/* Prose */
.fr-prose{font-size:16.5px;line-height:1.85;color:var(--fr-text-2)}
.fr-prose>*{margin-bottom:18px}
.fr-prose h2{font-size:25px;color:var(--fr-text);margin:34px 0 14px;scroll-margin-top:80px;padding-left:14px;border-left:4px solid var(--fr-primary)}
.fr-prose h3{font-size:20px;color:var(--fr-text);margin:26px 0 10px;scroll-margin-top:80px}
.fr-prose h4{font-size:17px;color:var(--fr-text);margin:20px 0 8px}
.fr-prose p{margin-bottom:18px}
.fr-prose a{color:var(--fr-link);text-decoration:underline;text-underline-offset:2px}
.fr-prose ul,.fr-prose ol{margin:0 0 18px 22px}
.fr-prose ul li{list-style:disc;margin-bottom:8px}
.fr-prose ol li{list-style:decimal;margin-bottom:8px}
.fr-prose img{border-radius:var(--fr-radius);margin:22px auto}
.fr-prose figure{margin:22px 0}
.fr-prose figcaption{text-align:center;font-size:12.5px;color:var(--fr-muted);margin-top:8px}
.fr-prose blockquote{border-left:4px solid var(--fr-accent);background:var(--fr-surface-2);padding:14px 20px;border-radius:0 8px 8px 0;font-style:italic;color:var(--fr-text)}
.fr-prose table{width:100%;border-collapse:collapse;font-size:14.5px;margin:22px 0;border:1px solid var(--fr-border);border-radius:8px;overflow:hidden}
.fr-prose table th,.fr-prose table td{border:1px solid var(--fr-border);padding:11px 14px;text-align:left}
.fr-prose table thead th{background:var(--fr-surface-2);font-weight:700;color:var(--fr-text)}
.fr-prose table tbody tr:nth-child(even){background:rgba(255,255,255,.02)}
.fr-prose h2 + h3{margin-top:14px}

/* Pros / cons */
.fr-proscons{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}
.fr-pc{border:1px solid var(--fr-border);border-radius:var(--fr-radius);overflow:hidden}
.fr-pc-head{padding:11px 16px;font-weight:700;font-family:var(--fr-head);font-size:15px;display:flex;align-items:center;gap:8px}
.fr-pc.pros .fr-pc-head{background:rgba(33,192,122,.14);color:var(--fr-green)}
.fr-pc.cons .fr-pc-head{background:rgba(229,9,20,.14);color:var(--fr-primary-l)}
.fr-pc ul{padding:14px 16px}
.fr-pc ul li{position:relative;padding-left:24px;margin-bottom:9px;font-size:14.5px;color:var(--fr-text-2)}
.fr-pc.pros ul li::before{content:"✓";position:absolute;left:0;color:var(--fr-green);font-weight:800}
.fr-pc.cons ul li::before{content:"✕";position:absolute;left:0;color:var(--fr-primary-l);font-weight:800}

/* Cast grid */
.fr-cast-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:14px;margin:20px 0}
.fr-cast-item{text-align:center}
.fr-cast-photo{aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--fr-surface-2);margin-bottom:8px}
.fr-cast-photo img{width:100%;height:100%;object-fit:cover}
.fr-cast-name{font-size:13px;font-weight:600;color:var(--fr-text)}
.fr-cast-role{font-size:11.5px;color:var(--fr-muted)}

/* Verdict banner */
.fr-verdict{background:linear-gradient(135deg,var(--fr-surface-2),var(--fr-surface));border:1px solid var(--fr-border-2);border-radius:var(--fr-radius);padding:24px;margin:28px 0;position:relative;overflow:hidden}
.fr-verdict::before{content:"";position:absolute;top:0;left:0;width:5px;height:100%;background:linear-gradient(180deg,var(--fr-accent),var(--fr-primary))}
.fr-verdict-title{font-family:var(--fr-head);font-size:20px;font-weight:800;margin-bottom:10px;display:flex;align-items:center;gap:10px}

/* Trailer embed */
.fr-embed{position:relative;aspect-ratio:16/9;border-radius:var(--fr-radius);overflow:hidden;margin:24px 0;background:#000}
.fr-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* FAQ */
.fr-faq{margin:24px 0}
.fr-faq-item{border:1px solid var(--fr-border);border-radius:var(--fr-radius-sm);margin-bottom:10px;overflow:hidden;background:var(--fr-surface)}
.fr-faq-q{width:100%;text-align:left;background:var(--fr-surface-2);border:none;color:var(--fr-text);padding:15px 18px;font-weight:600;font-size:15.5px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.fr-faq-q::after{content:"+";font-size:22px;color:var(--fr-primary-l);flex-shrink:0;transition:transform .2s}
.fr-faq-item.open .fr-faq-q::after{content:"\2212"}
.fr-faq-a{display:none;padding:16px 18px;font-size:15px;line-height:1.75;color:var(--fr-text-2);border-top:1px solid var(--fr-border)}
.fr-faq-item.open .fr-faq-a{display:block}

/* Share bar */
.fr-share{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:26px 0;padding:16px 0;border-top:1px solid var(--fr-border);border-bottom:1px solid var(--fr-border)}
.fr-share-label{font-weight:700;font-size:13px;color:var(--fr-muted);margin-right:4px}
.fr-share a{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;font-size:12.5px;font-weight:600;color:#fff}
.fr-share a.wa{background:#25d366}
.fr-share a.fb{background:#1877f2}
.fr-share a.tw{background:#111}
.fr-share a.tg{background:#0088cc}
.fr-share a.cp{background:var(--fr-surface-2);color:var(--fr-text)}
.fr-share a:hover{opacity:.88;color:#fff}
.fr-share a.cp:hover{color:var(--fr-text)}

/* Tags */
.fr-tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.fr-tags a{background:var(--fr-surface-2);border:1px solid var(--fr-border);color:var(--fr-text-2);padding:5px 12px;border-radius:999px;font-size:12.5px}
.fr-tags a:hover{background:var(--fr-primary);color:#fff;border-color:var(--fr-primary)}

/* Author box */
.fr-author-box{display:flex;gap:16px;background:var(--fr-surface-2);border:1px solid var(--fr-border);border-radius:var(--fr-radius);padding:20px;margin:26px 0}
.fr-author-box img{width:66px;height:66px;border-radius:50%;flex-shrink:0}
.fr-author-box .name{font-family:var(--fr-head);font-size:16px;font-weight:700}
.fr-author-box .role{font-size:12.5px;color:var(--fr-primary-l);margin-bottom:6px}
.fr-author-box .bio{font-size:13.5px;color:var(--fr-text-2);line-height:1.6}

/* ============================================================
   9. SIDEBAR WIDGETS
   ============================================================ */
.fr-widget{background:var(--fr-surface);border:1px solid var(--fr-border);border-radius:var(--fr-radius);padding:18px;margin-bottom:24px}
.fr-widget-title{font-family:var(--fr-head);font-size:16px;font-weight:800;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--fr-border);display:flex;align-items:center;gap:8px}
.fr-widget-title::before{content:"";width:4px;height:16px;background:var(--fr-primary);border-radius:2px}
.fr-widget ul li{padding:7px 0}
.fr-cat-chips{display:flex;flex-wrap:wrap;gap:8px}
.fr-cat-chips a{background:var(--fr-surface-2);border:1px solid var(--fr-border);color:var(--fr-text-2);padding:6px 13px;border-radius:999px;font-size:12.5px;display:flex;align-items:center;gap:6px}
.fr-cat-chips a:hover{background:var(--fr-primary);color:#fff;border-color:var(--fr-primary)}
.fr-cat-chips .count{background:var(--fr-bg);border-radius:999px;padding:0 7px;font-size:11px;color:var(--fr-muted)}

/* ============================================================
   10. ADS
   ============================================================ */
.fr-ad{margin:22px 0;text-align:center;overflow:hidden;clear:both}
.fr-ad-label{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--fr-muted);margin-bottom:4px}
.fr-ad ins.adsbygoogle{display:block}
.fr-sticky-ad{position:fixed;bottom:0;left:0;right:0;z-index:950;background:var(--fr-bg-2);border-top:1px solid var(--fr-border);text-align:center;padding:6px;display:none}
.fr-sticky-ad .close{position:absolute;top:-24px;right:8px;background:var(--fr-bg-2);border:1px solid var(--fr-border);color:var(--fr-text);width:24px;height:24px;border-radius:6px 6px 0 0}

/* ============================================================
   11. PAGINATION / BUTTONS
   ============================================================ */
.fr-btn{display:inline-flex;align-items:center;gap:8px;background:var(--fr-primary);color:#fff;padding:11px 22px;border-radius:999px;font-weight:700;font-size:14px;border:none}
.fr-btn:hover{background:var(--fr-primary-d);color:#fff}
.fr-btn.ghost{background:transparent;border:1px solid var(--fr-border-2);color:var(--fr-text)}
.fr-btn.ghost:hover{background:var(--fr-surface-2);color:var(--fr-text)}
.fr-loadmore-wrap{text-align:center;margin:30px 0}
.fr-pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin:34px 0}
.fr-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;border:1px solid var(--fr-border);border-radius:10px;color:var(--fr-text-2);font-weight:600}
.fr-pagination .page-numbers.current,.fr-pagination .page-numbers:hover{background:var(--fr-primary);color:#fff;border-color:var(--fr-primary)}

/* ============================================================
   12. FOOTER
   ============================================================ */
.fr-footer{background:var(--fr-bg-2);border-top:1px solid var(--fr-border);margin-top:40px}
.fr-footer-top{padding:44px 0 30px}
.fr-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:32px}
.fr-footer-col h4{font-family:var(--fr-head);font-size:14px;text-transform:uppercase;letter-spacing:.6px;color:var(--fr-text);margin-bottom:16px}
.fr-footer-col p{font-size:13.5px;color:var(--fr-text-2);line-height:1.7}
.fr-footer-links li{margin-bottom:9px}
.fr-footer-links a{font-size:13.5px;color:var(--fr-text-2)}
.fr-footer-links a:hover{color:var(--fr-primary-l)}
.fr-footer-bottom{border-top:1px solid var(--fr-border);padding:18px 0}
.fr-footer-bottom .fr-wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.fr-footer-copy{font-size:12.5px;color:var(--fr-muted)}
.fr-footer-disc{font-size:11.5px;color:var(--fr-muted);max-width:760px;margin-top:14px;line-height:1.6}

/* ============================================================
   13. BACK TO TOP + MISC
   ============================================================ */
.fr-btt{position:fixed;right:20px;bottom:20px;width:46px;height:46px;border-radius:50%;background:var(--fr-primary);color:#fff;border:none;display:none;align-items:center;justify-content:center;box-shadow:var(--fr-shadow);z-index:940}
.fr-btt:hover{background:var(--fr-primary-d)}
.fr-notice{background:var(--fr-surface-2);border:1px solid var(--fr-border);border-left:4px solid var(--fr-accent);border-radius:0 8px 8px 0;padding:14px 18px;margin:18px 0;font-size:14px;color:var(--fr-text-2)}
.fr-empty{text-align:center;padding:60px 20px;color:var(--fr-muted)}
.fr-empty svg{margin:0 auto 16px;opacity:.5}

/* ============================================================
   14. RESPONSIVE
   ============================================================ */
@media(max-width:1024px){
  .fr-layout{grid-template-columns:1fr}
  .fr-sidebar{position:static;order:3}
  .fr-grid-5{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:820px){
  .fr-hero-grid{grid-template-columns:1fr}
  .fr-hero-side{grid-template-rows:none;grid-template-columns:1fr 1fr}
  .fr-grid-4,.fr-grid-5{grid-template-columns:repeat(3,1fr)}
  .fr-footer-grid{grid-template-columns:1fr 1fr}
  .fr-article-title{font-size:27px}
  .fr-article-inner{padding:22px}
}
@media(max-width:640px){
  body{font-size:15px}
  .fr-header-search{display:none}
  .fr-hamburger{display:flex}
  .fr-nav{display:none;flex-direction:column;width:100%;position:absolute;top:100%;left:0;background:var(--fr-bg-2);border:1px solid var(--fr-border);border-radius:0 0 12px 12px;box-shadow:var(--fr-shadow)}
  .fr-nav.open{display:flex}
  .fr-nav>li{width:100%}
  .fr-nav>li>a{border-bottom:1px solid var(--fr-border);border-left:3px solid transparent;text-transform:none}
  .fr-nav .sub-menu{position:static;border:none;box-shadow:none;background:var(--fr-surface);padding-left:12px}
  .fr-grid-3,.fr-grid-4,.fr-grid-5{grid-template-columns:repeat(2,1fr)}
  .fr-proscons,.fr-infobox-grid,.fr-toc ol{grid-template-columns:1fr;columns:1}
  .fr-footer-grid{grid-template-columns:1fr}
  .fr-hero-side{grid-template-columns:1fr}
  .fr-article-title{font-size:23px}
  .fr-rating-box{flex-wrap:wrap}
}
@media(max-width:400px){
  .fr-grid-2,.fr-grid-3,.fr-grid-4,.fr-grid-5{grid-template-columns:1fr 1fr}
  .fr-hero-side{grid-template-columns:1fr}
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* Print */
@media print{
  .fr-topbar,.fr-nav-wrap,.fr-sidebar,.fr-share,.fr-ad,.fr-footer,.fr-btt,.fr-sticky-ad{display:none!important}
  .fr-layout{grid-template-columns:1fr}
}
