/*
Theme Name: FutureByte Pro
Theme URI: https://futurebyte.pk
Author: FutureByte
Author URI: https://futurebyte.pk
Description: Custom Elementor Pro powered theme for FutureByte.pk — tech reviews, AI tools and PTA guides for Pakistan. Ships with Theme Builder templates (Header, Footer, Archive, Single) and a ready-made Home page that import automatically on activation, plus one-click content block patterns for article writing.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
Requires Plugins: elementor
Text Domain: futurebyte-pro
*/

/* ===================================================================
   BRAND TOKENS
   =================================================================== */
:root{
  --fb-blue:#0142A6;
  --fb-cyan:#01FAF9;
  --fb-dark:#07111F;
  --fb-text:#101828;
  --fb-muted:#667085;
  --fb-light:#F4F7FB;
  --fb-border:#E6ECF5;
  --fb-radius:18px;
  --fb-shadow:0 14px 40px rgba(7,17,31,.08);
}

body{ font-family:"Inter",Arial,sans-serif; color:var(--fb-text); }
h1,h2,h3,h4,.elementor-heading-title{ font-family:"Exo 2",Arial,sans-serif; letter-spacing:-.02em; }

.accent{ color:var(--fb-blue); }
.fb-muted-text{ color:var(--fb-muted); }

/* -------------------- HEADER -------------------- */
.fb-topbar-row{ display:flex; justify-content:space-between; gap:20px; color:#fff; font-size:13px; padding:10px 0; flex-wrap:wrap; }
.fb-header-row{ box-shadow:0 1px 0 var(--fb-border); position:sticky; top:0; z-index:99; }
.fb-nav .elementor-nav-menu{ gap:22px; }
.fb-nav .elementor-item{ font-weight:700; font-family:"Exo 2",Arial,sans-serif; color:var(--fb-text); }
.fb-nav .elementor-item:hover{ color:var(--fb-blue); }
.fb-btn .elementor-button{ background:var(--fb-blue); border-radius:10px; font-family:"Exo 2",Arial,sans-serif; font-weight:700; }
.fb-btn .elementor-button:hover{ background:var(--fb-cyan); color:var(--fb-dark); }
.fb-btn-outline .elementor-button{ background:transparent; border:1px solid var(--fb-blue); color:var(--fb-blue); border-radius:10px; font-family:"Exo 2",Arial,sans-serif; font-weight:700; }
.fb-btn-outline .elementor-button:hover{ background:var(--fb-cyan); border-color:var(--fb-cyan); color:var(--fb-dark); }

/* -------------------- FOOTER -------------------- */
.fb-footer-grid h4{ font-family:"Exo 2",Arial,sans-serif; margin-bottom:14px; }
.fb-foot-col a{ display:block; color:var(--fb-muted); margin-bottom:8px; text-decoration:none; }
.fb-foot-col a:hover{ color:var(--fb-blue); }
.fb-foot-logo img{ width:160px; margin-bottom:14px; }
.fb-copy{ text-align:center; color:var(--fb-muted); font-size:13px; border-top:1px solid var(--fb-border); padding-top:18px; }

/* -------------------- HOME -------------------- */
.kicker{ display:inline-flex; gap:9px; align-items:center; padding:7px 12px; background:rgba(1,66,166,.08); color:var(--fb-blue); border:1px solid rgba(1,66,166,.12); border-radius:999px; font-weight:800; font-family:"Exo 2",Arial,sans-serif; font-size:13px; }
.kicker:before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--fb-cyan); box-shadow:0 0 16px var(--fb-cyan); }
.hero-lead{ font-size:19px; color:var(--fb-muted); max-width:690px; margin:0 0 10px; }

.fb-stats .stat{ background:#fff; border:1px solid var(--fb-border); border-radius:16px; padding:16px; box-shadow:0 8px 24px rgba(7,17,31,.04); }
.fb-stats .stat strong{ display:block; color:var(--fb-blue); font-size:24px; }
.fb-stats .stat span{ font-size:13px; color:var(--fb-muted); }

.feature-card{ border-radius:28px !important; padding:28px !important; color:#fff; box-shadow:var(--fb-shadow); }
.feature-card h3{ color:#fff !important; }
.feature-card p{ color:#D0D5DD; }
.fb-feature-logo img{ width:200px; margin:0 auto 20px; filter:drop-shadow(0 14px 26px rgba(1,250,249,.18)); }
.feature-card .badges{ display:flex; gap:9px; flex-wrap:wrap; margin-top:18px; }
.feature-card .badge{ border:1px solid rgba(255,255,255,.18); border-radius:999px; padding:6px 10px; font-size:12px; color:#E6ECF5; background:rgba(255,255,255,.06); }

.grid-4 .category-tile{ display:block; min-height:178px; border-radius:22px; padding:24px; border:1px solid var(--fb-border); background:#fff; box-shadow:0 10px 30px rgba(7,17,31,.05); text-decoration:none; }
.grid-4 .category-tile .icon{ font-size:34px; margin-bottom:16px; }
.grid-4 .category-tile h3{ color:var(--fb-dark); }
.grid-4 .category-tile p{ color:var(--fb-muted); margin:0; }

.banner{ border-radius:30px; padding:42px; color:#fff; display:grid; grid-template-columns:1fr auto; align-items:center; gap:26px; background:linear-gradient(135deg,rgba(7,17,31,.96),rgba(1,66,166,.95)),radial-gradient(circle at 90% 10%,rgba(1,250,249,.4),transparent 32%); }
.banner p{ color:#D0D5DD; margin:0; max-width:680px; }
.banner .btn{ display:inline-flex; align-items:center; border-radius:10px; padding:13px 20px; font-family:"Exo 2",Arial,sans-serif; font-weight:700; background:var(--fb-cyan); color:var(--fb-dark); text-decoration:none; }
@media(max-width:767px){ .banner{ grid-template-columns:1fr; } }

.fb-newsletter .fb-news-form{ display:flex; gap:10px; background:#fff; padding:8px; border:1px solid var(--fb-border); border-radius:14px; }
.fb-newsletter .fb-news-form input{ border:0; outline:0; flex:1; padding:0 10px; font:inherit; }
.fb-newsletter .fb-news-form .btn{ border:0; border-radius:10px; padding:13px 20px; background:var(--fb-blue); color:#fff; font-family:"Exo 2",Arial,sans-serif; font-weight:700; cursor:pointer; }

/* -------------------- POSTS WIDGET (Home / Archive / Related) -------------------- */
.elementor-widget-posts .elementor-post{ border:1px solid var(--fb-border) !important; border-radius:var(--fb-radius) !important; overflow:hidden; box-shadow:0 10px 30px rgba(7,17,31,.05) !important; background:#fff; }
.elementor-widget-posts .elementor-post__title a{ font-family:"Exo 2",Arial,sans-serif; color:var(--fb-dark); }
.elementor-widget-posts .elementor-post__title a:hover{ color:var(--fb-blue); }
.elementor-widget-posts .elementor-post__meta-data{ color:var(--fb-blue); font-weight:700; font-size:12px; font-family:"Exo 2",Arial,sans-serif; }
.elementor-widget-posts .elementor-post__excerpt{ color:var(--fb-muted); }
.elementor-widget-posts .elementor-post__read-more{ color:var(--fb-blue) !important; font-weight:800; font-family:"Exo 2",Arial,sans-serif; }

/* -------------------- ARCHIVE -------------------- */
.side-card{ background:#fff; border:1px solid var(--fb-border); border-radius:18px; padding:20px; box-shadow:0 8px 24px rgba(7,17,31,.04); }
.fb-sidebar > .elementor-widget-wrap > * { margin-bottom:18px; }
.side-card h3{ font-size:18px; margin-top:0; font-family:"Exo 2",Arial,sans-serif; }
.tag-cloud{ display:flex; gap:8px; flex-wrap:wrap; }
.tag-cloud a{ font-size:12px; background:var(--fb-light); padding:7px 9px; border-radius:999px; color:var(--fb-blue); font-weight:700; text-decoration:none; }
.elementor-search-form__container{ border:1px solid var(--fb-border) !important; border-radius:12px !important; }
.read{ color:var(--fb-blue); font-weight:800; font-family:"Exo 2",Arial,sans-serif; text-decoration:none; }
.fb-side-dark{ background:var(--fb-dark) !important; color:#fff; }
.fb-side-dark h3{ color:#fff; }
.fb-side-dark p{ color:#D0D5DD; }
.fb-side-dark .btn, .btn{ display:inline-flex; align-items:center; border-radius:10px; padding:12px 18px; font-family:"Exo 2",Arial,sans-serif; font-weight:700; background:var(--fb-blue); color:#fff; text-decoration:none; }

/* -------------------- SINGLE ARTICLE -------------------- */
.fb-article-title h1, .fb-article-title{ font-size:clamp(32px,5vw,52px) !important; letter-spacing:-.03em; color:var(--fb-dark) !important; }
.fb-article-excerpt{ font-size:18px; color:var(--fb-muted); }
.fb-article-meta{ color:var(--fb-muted); font-size:14px; }
.fb-article-cover img{ border-radius:22px; }
.elementor-widget-theme-post-content h2{ color:var(--fb-blue) !important; margin-top:34px; margin-bottom:12px; }
.elementor-widget-theme-post-content h3{ color:var(--fb-dark) !important; margin-top:24px; margin-bottom:8px; }
.elementor-widget-theme-post-content table{ width:100%; border-collapse:collapse; margin:20px 0; border-radius:16px; overflow:hidden; border:1px solid var(--fb-border); }
.elementor-widget-theme-post-content table th, .elementor-widget-theme-post-content table td{ border-bottom:1px solid var(--fb-border); padding:13px 14px; text-align:left; }
.elementor-widget-theme-post-content table th{ width:34%; background:var(--fb-light); }
.elementor-author-box{ border-top:1px solid var(--fb-border) !important; margin-top:20px; padding-top:24px !important; }

/* -------------------- ARTICLE CONTENT BLOCK PATTERNS -------------------- */
.note-box{ border-left:5px solid var(--fb-cyan); background:#F0FDFF; padding:18px 20px; border-radius:14px; margin:24px 0; }
.disclosure{ font-size:13px; color:var(--fb-muted); background:#FFF8E8; border:1px solid #FADFA7; padding:14px; border-radius:14px; }
.review-box{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin:22px 0; }
.review-box .pros, .review-box .cons{ border:1px solid var(--fb-border); border-radius:18px; padding:20px; background:var(--fb-light); }
.review-box .pros h3, .review-box .cons h3{ margin-top:0; }
.rating-card{ background:var(--fb-dark); color:#fff; border-radius:22px; padding:26px; margin:28px 0; }
.rating-card h2{ color:#fff !important; margin-top:0; }
.rating-card .score{ font-family:"Exo 2",Arial,sans-serif; font-size:54px; line-height:1; font-weight:800; color:var(--fb-cyan); }
.article-cta{ color:#fff; padding:28px; border-radius:22px; margin-top:28px; background:linear-gradient(135deg,rgba(7,17,31,.96),rgba(1,66,166,.96)); }
.article-cta h2{ color:#fff !important; margin-top:0; }
.article-cta p{ color:#D0D5DD; }
.related-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:22px; }
.related-card{ border:1px solid var(--fb-border); border-radius:18px; padding:18px; background:#fff; display:block; text-decoration:none; }
.related-card h3{ font-size:18px; margin:0 0 8px; color:var(--fb-dark) !important; }
.toc a{ display:block; padding:9px 0; border-bottom:1px solid var(--fb-border); color:var(--fb-text); text-decoration:none; }
.toc a:hover{ color:var(--fb-blue); }

/* -------------------- BASIC FALLBACK MARKUP (used only if Elementor Pro
   Theme Builder templates aren't active yet) -------------------- */
.fb-fallback-header{ padding:18px 24px; border-bottom:1px solid var(--fb-border); }
.fb-fallback-footer{ padding:24px; text-align:center; color:var(--fb-muted); border-top:1px solid var(--fb-border); margin-top:40px; }
.fb-fallback-notice{ background:#FFF8E8; border:1px solid #FADFA7; padding:14px 18px; margin:20px; border-radius:12px; font-size:14px; }

@media(max-width:767px){
  .review-box, .related-grid{ grid-template-columns:1fr; }
  .fb-topbar-row{ justify-content:center; text-align:center; }
}
