/*
Theme Name: Decoded Psychology
Theme URI: https://decodedpsychology.com
Author: Decoded Psychology
Author URI: https://decodedpsychology.com
Description: A professional, SEO-optimized psychology blog theme with affiliate marketing, social media integration (Pinterest & Facebook), modern animations, and worldwide audience targeting. Built for Decoded Psychology.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: decoded-psychology
Tags: blog, psychology, affiliate, seo, responsive, modern, animations
*/

/* =============================================
   GOOGLE FONTS
   ============================================= */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&family=Inter:wght@300;400;500;600;700&display=swap');

/* =============================================
   CSS VARIABLES
   ============================================= */
:root {
    --primary-dark: #0D1B3E;
    --primary: #1a2f6e;
    --secondary: #6B21A8;
    --accent: #9333EA;
    --accent-light: #EDE9FE;
    --highlight: #F59E0B;
    --highlight-dark: #D97706;
    --green: #10B981;
    --red: #EF4444;
    --text-dark: #0F172A;
    --text: #334155;
    --text-light: #64748B;
    --text-xlight: #94A3B8;
    --bg: #FFFFFF;
    --bg-light: #F8FAFC;
    --bg-purple: #F5F3FF;
    --bg-dark: #0D1B3E;
    --border: #E2E8F0;
    --gradient-main: linear-gradient(135deg, #0D1B3E 0%, #6B21A8 100%);
    --gradient-purple: linear-gradient(135deg, #6B21A8 0%, #9333EA 100%);
    --gradient-hero: linear-gradient(135deg, #0D1B3E 0%, #1a2f6e 50%, #6B21A8 100%);
    --shadow-sm: 0 1px 3px rgba(0,0,0,0.12);
    --shadow-md: 0 4px 6px rgba(0,0,0,0.1);
    --shadow-lg: 0 10px 25px rgba(0,0,0,0.12);
    --shadow-xl: 0 20px 50px rgba(0,0,0,0.18);
    --shadow-purple: 0 10px 30px rgba(107,33,168,0.25);
    --shadow-card: 0 4px 20px rgba(0,0,0,0.08);
    --radius-sm: 6px;
    --radius-md: 12px;
    --radius-lg: 20px;
    --radius-xl: 30px;
    --radius-full: 9999px;
    --transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
    --font-heading: 'Poppins', sans-serif;
    --font-body: 'Inter', sans-serif;
    --container-max: 1280px;
    --container-pad: 1.5rem;
    --header-h: 80px;
}

/* =============================================
   RESET & BASE
   ============================================= */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body { font-family: var(--font-body); color: var(--text); background: var(--bg); line-height: 1.7; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; transition: var(--transition); }
ul, ol { list-style: none; }
button { cursor: pointer; border: none; background: none; font-family: var(--font-body); }
input, textarea, select { font-family: var(--font-body); }

/* =============================================
   TYPOGRAPHY
   ============================================= */
h1,h2,h3,h4,h5,h6 { font-family: var(--font-heading); font-weight: 700; line-height: 1.2; color: var(--text-dark); }
h1 { font-size: clamp(2rem,5vw,3.5rem); }
h2 { font-size: clamp(1.5rem,3vw,2.5rem); }
h3 { font-size: clamp(1.2rem,2.5vw,1.8rem); }
h4 { font-size: 1.25rem; }
p { margin-bottom: 1rem; line-height: 1.8; }

/* =============================================
   UTILITY
   ============================================= */
.container { max-width: var(--container-max); margin: 0 auto; padding: 0 var(--container-pad); width: 100%; }
.section { padding: 5rem 0; }
.section-sm { padding: 3rem 0; }
.section-header { text-align: center; margin-bottom: 4rem; }
.section-label { display: inline-block; font-family: var(--font-heading); font-size: 0.78rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent); background: var(--accent-light); padding: 0.4rem 1.2rem; border-radius: var(--radius-full); margin-bottom: 1rem; }
.section-title { font-size: clamp(1.8rem,3vw,2.8rem); color: var(--text-dark); margin-bottom: 1rem; font-weight: 800; }
.section-subtitle { font-size: 1.05rem; color: var(--text-light); max-width: 580px; margin: 0 auto; line-height: 1.8; }
.text-white { color: #fff !important; }
.text-center { text-align: center; }
.bg-light { background: var(--bg-light); }
.bg-purple { background: var(--bg-purple); }
.bg-dark { background: var(--bg-dark); }

/* BUTTONS */
.btn { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.8rem 2rem; border-radius: var(--radius-full); font-family: var(--font-heading); font-weight: 600; font-size: 0.95rem; transition: var(--transition); cursor: pointer; border: 2px solid transparent; text-decoration: none; position: relative; overflow: hidden; }
.btn::after { content: ''; position: absolute; top: 50%; left: 50%; width: 0; height: 0; background: rgba(255,255,255,0.15); border-radius: 50%; transform: translate(-50%,-50%); transition: width 0.5s, height 0.5s; }
.btn:active::after { width: 300px; height: 300px; }
.btn-primary { background: var(--gradient-purple); color: #fff; box-shadow: var(--shadow-purple); }
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 15px 40px rgba(107,33,168,0.38); color: #fff; }
.btn-outline { background: transparent; color: #fff; border-color: rgba(255,255,255,0.5); }
.btn-outline:hover { background: rgba(255,255,255,0.15); border-color: #fff; color: #fff; transform: translateY(-2px); }
.btn-gold { background: linear-gradient(135deg,var(--highlight),var(--highlight-dark)); color: #fff; box-shadow: 0 8px 25px rgba(245,158,11,0.35); }
.btn-gold:hover { transform: translateY(-2px); box-shadow: 0 15px 40px rgba(245,158,11,0.45); color: #fff; }
.btn-dark { background: var(--primary-dark); color: #fff; }
.btn-dark:hover { background: var(--primary); transform: translateY(-2px); color: #fff; }
.btn-sm { padding: 0.5rem 1.2rem; font-size: 0.85rem; }
.btn-lg { padding: 1rem 2.5rem; font-size: 1rem; }
.btn-white { background: #fff; color: var(--secondary); }
.btn-white:hover { background: var(--accent-light); color: var(--secondary); transform: translateY(-2px); }

/* =============================================
   ANIMATIONS
   ============================================= */
@keyframes fadeInUp { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:translateY(0); } }
@keyframes fadeInDown { from { opacity:0; transform:translateY(-30px); } to { opacity:1; transform:translateY(0); } }
@keyframes fadeInLeft { from { opacity:0; transform:translateX(-30px); } to { opacity:1; transform:translateX(0); } }
@keyframes fadeInRight { from { opacity:0; transform:translateX(30px); } to { opacity:1; transform:translateX(0); } }
@keyframes float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-20px); } }
@keyframes pulse { 0%,100% { transform:scale(1); opacity:1; } 50% { transform:scale(1.05); opacity:0.85; } }
@keyframes brainGlow { 0%,100% { filter:drop-shadow(0 0 15px rgba(147,51,234,0.4)); } 50% { filter:drop-shadow(0 0 35px rgba(147,51,234,0.8)); } }
@keyframes particleRise { 0% { transform:translateY(0) rotate(0deg); opacity:0; } 10% { opacity:0.8; } 90% { opacity:0.8; } 100% { transform:translateY(-100vh) rotate(720deg); opacity:0; } }
@keyframes gradShift { 0%,100% { background-position:0% 50%; } 50% { background-position:100% 50%; } }
@keyframes spin { from { transform:rotate(0); } to { transform:rotate(360deg); } }
@keyframes shimmer { 0% { background-position:-1000px 0; } 100% { background-position:1000px 0; } }
@keyframes slideDown { from { opacity:0; transform:translateY(-10px); } to { opacity:1; transform:translateY(0); } }
@keyframes ripple { 0% { transform:scale(0); opacity:0.6; } 100% { transform:scale(4); opacity:0; } }

/* =============================================
   HEADER / NAV
   ============================================= */
#masthead { position:fixed; top:0; left:0; right:0; z-index:1000; height:var(--header-h); transition:var(--transition); }
#masthead.transparent { background:transparent; }
#masthead.scrolled { background:rgba(13,27,62,0.96); backdrop-filter:blur(20px); box-shadow:0 4px 30px rgba(0,0,0,0.2); height:68px; }
.header-inner { display:flex; align-items:center; justify-content:space-between; height:100%; padding:0 var(--container-pad); max-width:var(--container-max); margin:0 auto; }

/* Logo */
.site-logo { display:flex; align-items:center; gap:0.75rem; text-decoration:none; }
.logo-icon { width:44px; height:44px; background:var(--gradient-purple); border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center; font-size:1.3rem; box-shadow:var(--shadow-purple); flex-shrink:0; }
.logo-text { display:flex; flex-direction:column; line-height:1.2; }
.logo-name { font-family:var(--font-heading); font-size:1.05rem; font-weight:800; color:#fff; letter-spacing:-0.02em; }
.logo-tagline { font-size:0.62rem; font-weight:500; color:rgba(255,255,255,0.55); letter-spacing:0.1em; text-transform:uppercase; }

/* Nav */
.main-nav ul { display:flex; align-items:center; gap:0.2rem; }
.main-nav li { position:relative; }
.main-nav a { color:rgba(255,255,255,0.85); font-family:var(--font-heading); font-size:0.88rem; font-weight:500; padding:0.5rem 0.85rem; border-radius:var(--radius-sm); transition:var(--transition); display:flex; align-items:center; gap:0.3rem; }
.main-nav a:hover, .main-nav .current-menu-item>a { color:#fff; background:rgba(255,255,255,0.1); }
.main-nav .sub-menu { position:absolute; top:calc(100% + 0.5rem); left:50%; transform:translateX(-50%) translateY(-8px); background:#fff; border-radius:var(--radius-md); box-shadow:var(--shadow-xl); min-width:200px; padding:0.5rem; opacity:0; visibility:hidden; transition:var(--transition); z-index:100; border:1px solid var(--border); }
.main-nav li:hover .sub-menu { opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
.main-nav .sub-menu a { color:var(--text-dark); padding:0.6rem 1rem; border-radius:var(--radius-sm); font-size:0.875rem; width:100%; }
.main-nav .sub-menu a:hover { background:var(--bg-light); color:var(--accent); }

/* Header actions */
.header-actions { display:flex; align-items:center; gap:0.75rem; }
.search-toggle { color:rgba(255,255,255,0.8); width:38px; height:38px; border-radius:var(--radius-sm); transition:var(--transition); display:flex; align-items:center; justify-content:center; }
.search-toggle:hover { background:rgba(255,255,255,0.1); color:#fff; }
.search-overlay { display:none; position:absolute; top:calc(100% + 0.5rem); right:0; background:#fff; border-radius:var(--radius-md); padding:1rem; box-shadow:var(--shadow-xl); width:300px; z-index:100; animation:slideDown 0.2s ease; }
.search-overlay.open { display:block; }
.search-overlay input { width:100%; padding:0.7rem 1rem; border:2px solid var(--border); border-radius:var(--radius-full); font-size:0.9rem; outline:none; }
.search-overlay input:focus { border-color:var(--accent); }

/* Mobile toggle */
.mobile-toggle { display:none; flex-direction:column; gap:5px; width:42px; height:42px; align-items:center; justify-content:center; background:rgba(255,255,255,0.1); border-radius:var(--radius-sm); }
.mobile-toggle span { display:block; width:22px; height:2px; background:#fff; border-radius:2px; transition:var(--transition); }
.mobile-toggle.active span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.mobile-toggle.active span:nth-child(2) { opacity:0; }
.mobile-toggle.active span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

/* =============================================
   HERO SECTION
   ============================================= */
.hero-section { min-height:100vh; display:flex; align-items:center; position:relative; background:var(--gradient-hero); overflow:hidden; padding-top:var(--header-h); }
.hero-bg { position:absolute; inset:0; overflow:hidden; }
.hero-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.03) 1px,transparent 1px); background-size:60px 60px; }
.hero-glow { position:absolute; border-radius:50%; filter:blur(80px); pointer-events:none; }
.hero-glow-1 { width:500px; height:500px; background:rgba(107,33,168,0.4); top:-10%; right:-5%; }
.hero-glow-2 { width:350px; height:350px; background:rgba(147,51,234,0.3); bottom:10%; left:5%; }
.hero-content { position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; padding:5rem 0; }
.hero-text { animation:fadeInLeft 0.8s ease 0.3s both; }
.hero-badge { display:inline-flex; align-items:center; gap:0.5rem; background:rgba(255,255,255,0.1); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,0.2); color:rgba(255,255,255,0.9); padding:0.5rem 1.25rem; border-radius:var(--radius-full); font-size:0.82rem; font-weight:600; font-family:var(--font-heading); margin-bottom:1.5rem; letter-spacing:0.05em; }
.hero-badge-dot { width:8px; height:8px; background:#10B981; border-radius:50%; animation:pulse 2s ease-in-out infinite; }
.hero-title { font-size:clamp(2.2rem,5.5vw,3.8rem); font-weight:900; color:#fff; line-height:1.15; margin-bottom:1.5rem; letter-spacing:-0.03em; }
.hero-title .hl { background:linear-gradient(135deg,#F59E0B,#FCD34D); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.hero-subtitle { font-size:1.1rem; color:rgba(255,255,255,0.72); margin-bottom:2.5rem; line-height:1.8; max-width:460px; }
.hero-btns { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:2.5rem; }
.hero-proof { display:flex; align-items:center; gap:1rem; padding-top:2rem; border-top:1px solid rgba(255,255,255,0.12); }
.hero-avatars { display:flex; }
.hero-av { width:34px; height:34px; border-radius:50%; border:2px solid #fff; background:var(--gradient-purple); display:flex; align-items:center; justify-content:center; font-size:0.7rem; font-weight:700; color:#fff; margin-left:-10px; overflow:hidden; }
.hero-av:first-child { margin-left:0; }
.hero-proof-text { font-size:0.82rem; color:rgba(255,255,255,0.65); }
.hero-proof-text strong { color:#fff; }

/* Hero Visual */
.hero-visual { display:flex; justify-content:center; align-items:center; animation:fadeInRight 0.8s ease 0.5s both; position:relative; }
.brain-wrap { position:relative; text-align:center; }
.brain-glow-bg { position:absolute; inset:-30%; background:radial-gradient(circle,rgba(147,51,234,0.2) 0%,transparent 70%); border-radius:50%; animation:pulse 4s ease-in-out infinite; }
.brain-emoji { font-size:clamp(8rem,15vw,13rem); display:block; animation:float 6s ease-in-out infinite, brainGlow 3s ease-in-out infinite; line-height:1; }
.float-tag { position:absolute; background:rgba(255,255,255,0.12); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,0.2); border-radius:var(--radius-md); padding:0.6rem 1rem; font-size:0.78rem; font-weight:600; color:#fff; white-space:nowrap; animation:float ease-in-out infinite; }
.float-tag:nth-child(1) { top:5%; left:-5%; animation-duration:4s; }
.float-tag:nth-child(2) { bottom:15%; left:-10%; animation-duration:5s; animation-delay:1s; }
.float-tag:nth-child(3) { top:20%; right:-5%; animation-duration:4.5s; animation-delay:0.5s; }

/* Scroll indicator */
.hero-scroll { position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:0.5rem; color:rgba(255,255,255,0.5); font-size:0.7rem; letter-spacing:0.12em; text-transform:uppercase; animation:fadeInUp 1s ease 1s both; }
.scroll-mouse { width:24px; height:38px; border:2px solid rgba(255,255,255,0.35); border-radius:12px; display:flex; justify-content:center; padding-top:6px; }
.scroll-wheel { width:3px; height:8px; background:rgba(255,255,255,0.5); border-radius:2px; animation:float 2s ease-in-out infinite; }

/* =============================================
   STATS SECTION
   ============================================= */
.stats-section { padding:3rem 0; background:var(--bg-light); border-bottom:1px solid var(--border); }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; text-align:center; }
.stat-item { padding:1.5rem; position:relative; }
.stat-item::after { content:''; position:absolute; right:0; top:25%; height:50%; width:1px; background:var(--border); }
.stat-item:last-child::after { display:none; }
.stat-icon { font-size:2rem; margin-bottom:0.5rem; }
.stat-num { font-family:var(--font-heading); font-size:2.3rem; font-weight:900; color:var(--primary-dark); line-height:1; margin-bottom:0.4rem; }
.stat-num .suf { color:var(--accent); }
.stat-label { font-size:0.875rem; color:var(--text-light); font-weight:500; }

/* =============================================
   FEATURED POSTS
   ============================================= */
.posts-grid { display:grid; grid-template-columns:1.5fr 1fr; gap:2rem; }
.posts-side { display:flex; flex-direction:column; gap:1.5rem; }
.post-card { border-radius:var(--radius-lg); overflow:hidden; background:#fff; box-shadow:var(--shadow-card); transition:var(--transition); border:1px solid var(--border); }
.post-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-xl); }
.post-img { position:relative; overflow:hidden; }
.post-img img { width:100%; height:240px; object-fit:cover; transition:transform 0.5s ease; }
.post-img-ph { width:100%; height:240px; background:var(--gradient-main); display:flex; align-items:center; justify-content:center; font-size:4rem; }
.post-card:hover .post-img img { transform:scale(1.06); }
.post-cat-badge { position:absolute; top:1rem; left:1rem; }
.post-body { padding:1.5rem; }
.post-meta { display:flex; align-items:center; gap:1rem; margin-bottom:0.6rem; font-size:0.78rem; color:var(--text-light); }
.post-meta span { display:flex; align-items:center; gap:0.3rem; }
.post-title { font-family:var(--font-heading); font-size:1.15rem; font-weight:700; color:var(--text-dark); margin-bottom:0.6rem; line-height:1.4; transition:var(--transition); display:block; }
.post-title:hover { color:var(--accent); }
.post-excerpt { font-size:0.875rem; color:var(--text-light); line-height:1.7; margin-bottom:1rem; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.post-footer { display:flex; align-items:center; justify-content:space-between; padding-top:1rem; border-top:1px solid var(--border); }
.post-author { display:flex; align-items:center; gap:0.5rem; font-size:0.78rem; font-weight:500; }
.post-av { width:26px; height:26px; border-radius:50%; background:var(--gradient-purple); display:flex; align-items:center; justify-content:center; font-size:0.65rem; font-weight:700; color:#fff; }
.read-more { font-size:0.78rem; font-weight:600; color:var(--accent); display:flex; align-items:center; gap:0.3rem; transition:var(--transition); }
.read-more:hover { gap:0.6rem; color:var(--secondary); }

/* Small horizontal card */
.post-card-sm { display:flex; gap:0.85rem; background:#fff; border-radius:var(--radius-md); padding:0.85rem; box-shadow:var(--shadow-sm); border:1px solid var(--border); transition:var(--transition); align-items:flex-start; }
.post-card-sm:hover { box-shadow:var(--shadow-lg); transform:translateX(4px); }
.post-thumb { width:85px; height:75px; border-radius:var(--radius-sm); overflow:hidden; flex-shrink:0; }
.post-thumb img { width:100%; height:100%; object-fit:cover; }
.post-thumb-ph { width:100%; height:100%; background:var(--gradient-main); display:flex; align-items:center; justify-content:center; font-size:1.6rem; }
.post-info-sm .post-cat { font-size:0.68rem; font-weight:600; color:var(--accent); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:0.25rem; }
.post-info-sm .post-ttl { font-family:var(--font-heading); font-size:0.9rem; font-weight:700; color:var(--text-dark); line-height:1.4; margin-bottom:0.25rem; transition:var(--transition); display:block; }
.post-info-sm .post-ttl:hover { color:var(--accent); }
.post-info-sm .post-dt { font-size:0.72rem; color:var(--text-xlight); }

/* =============================================
   CATEGORIES
   ============================================= */
.cats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }
.cat-card { background:#fff; border-radius:var(--radius-lg); padding:2rem 1.5rem; text-align:center; border:1px solid var(--border); transition:var(--transition); position:relative; overflow:hidden; text-decoration:none; display:block; }
.cat-card::before { content:''; position:absolute; inset:0; background:var(--gradient-main); opacity:0; transition:var(--transition); }
.cat-card:hover::before { opacity:1; }
.cat-card:hover { transform:translateY(-8px); box-shadow:var(--shadow-xl); border-color:transparent; }
.cat-icon { font-size:2.5rem; margin-bottom:0.85rem; display:block; position:relative; z-index:1; transition:var(--transition); }
.cat-name { font-family:var(--font-heading); font-size:0.95rem; font-weight:700; color:var(--text-dark); margin-bottom:0.25rem; transition:var(--transition); position:relative; z-index:1; display:block; }
.cat-count { font-size:0.78rem; color:var(--text-light); transition:var(--transition); position:relative; z-index:1; display:block; }
.cat-card:hover .cat-name, .cat-card:hover .cat-count { color:#fff; }

/* =============================================
   BOOKS / AFFILIATE
   ============================================= */
.books-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }
.book-card { background:#fff; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-card); border:1px solid var(--border); transition:var(--transition); display:flex; flex-direction:column; }
.book-card:hover { transform:translateY(-8px); box-shadow:var(--shadow-xl); }
.book-cover { height:175px; background:var(--gradient-main); display:flex; align-items:center; justify-content:center; font-size:3.5rem; position:relative; overflow:hidden; }
.book-cover img { width:100%; height:100%; object-fit:cover; }
.book-badge { position:absolute; top:0.75rem; right:0.75rem; }
.badge { display:inline-flex; align-items:center; padding:0.22rem 0.7rem; border-radius:var(--radius-full); font-size:0.72rem; font-weight:600; font-family:var(--font-heading); }
.badge-gold { background:#FEF3C7; color:#D97706; }
.badge-purple { background:var(--accent-light); color:var(--secondary); }
.badge-dark { background:var(--primary-dark); color:#fff; }
.book-body { padding:1.2rem; flex:1; display:flex; flex-direction:column; }
.book-stars { color:var(--highlight); font-size:0.82rem; margin-bottom:0.4rem; }
.book-rating-n { font-size:0.75rem; font-weight:600; color:var(--text-light); }
.book-ttl { font-family:var(--font-heading); font-size:0.95rem; font-weight:700; color:var(--text-dark); margin-bottom:0.2rem; line-height:1.3; }
.book-author { font-size:0.78rem; color:var(--text-light); margin-bottom:0.6rem; }
.book-desc { font-size:0.82rem; color:var(--text-light); line-height:1.6; flex:1; margin-bottom:0.85rem; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.book-price { font-family:var(--font-heading); font-size:1.05rem; font-weight:800; color:var(--accent); margin-bottom:0.75rem; }
.book-btn { width:100%; text-align:center; justify-content:center; }
.affiliate-note { text-align:center; margin-top:2rem; font-size:0.78rem; color:var(--text-xlight); padding:0.85rem; background:var(--bg-light); border-radius:var(--radius-md); border:1px solid var(--border); }

/* =============================================
   RESOURCES / TOOLS
   ============================================= */
.res-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.res-card { background:#fff; border-radius:var(--radius-lg); padding:2rem; border:1px solid var(--border); transition:var(--transition); }
.res-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); border-color:var(--accent); }
.res-icon { width:58px; height:58px; background:var(--accent-light); border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center; font-size:1.7rem; margin-bottom:1.15rem; }
.res-name { font-family:var(--font-heading); font-size:1.05rem; font-weight:700; color:var(--text-dark); margin-bottom:0.2rem; }
.res-type { font-size:0.72rem; font-weight:600; color:var(--accent); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:0.6rem; }
.res-desc { font-size:0.875rem; color:var(--text-light); line-height:1.7; margin-bottom:1.1rem; }
.res-commission { display:inline-flex; align-items:center; gap:0.4rem; font-size:0.78rem; color:var(--green); font-weight:600; margin-bottom:1rem; padding:0.3rem 0.75rem; background:rgba(16,185,129,0.1); border-radius:var(--radius-full); }

/* =============================================
   QUIZ SECTION
   ============================================= */
.quiz-section { padding:5rem 0; background:var(--gradient-main); position:relative; overflow:hidden; }
.quiz-section::before { content:''; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.03) 1px,transparent 1px); background-size:40px 40px; }
.quiz-inner { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.quiz-text .section-title { color:#fff; }
.quiz-text .section-subtitle { color:rgba(255,255,255,0.72); max-width:100%; }
.quiz-text .section-label { background:rgba(255,255,255,0.15); color:#fff; }
.quiz-preview { background:rgba(255,255,255,0.1); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,0.2); border-radius:var(--radius-lg); padding:2rem; }
.quiz-q { font-family:var(--font-heading); font-size:1.05rem; font-weight:700; color:#fff; margin-bottom:1.25rem; line-height:1.5; }
.quiz-opts { display:flex; flex-direction:column; gap:0.65rem; }
.quiz-opt { padding:0.8rem 1.1rem; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.15); border-radius:var(--radius-md); color:rgba(255,255,255,0.85); font-size:0.875rem; cursor:pointer; transition:var(--transition); text-align:left; }
.quiz-opt:hover { background:rgba(255,255,255,0.18); border-color:rgba(255,255,255,0.35); color:#fff; transform:translateX(6px); }

/* =============================================
   ABOUT SECTION
   ============================================= */
.about-content { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.about-visual { position:relative; }
.about-img-wrap { border-radius:var(--radius-xl); overflow:hidden; }
.about-img-ph { width:100%; height:430px; background:var(--gradient-main); display:flex; align-items:center; justify-content:center; font-size:8rem; border-radius:var(--radius-xl); }
.about-img-ph img { width:100%; height:430px; object-fit:cover; border-radius:var(--radius-xl); }
.about-float { position:absolute; bottom:-1.5rem; right:-1.5rem; background:#fff; border-radius:var(--radius-lg); padding:1.1rem 1.35rem; box-shadow:var(--shadow-xl); display:flex; align-items:center; gap:0.85rem; border:1px solid var(--border); }
.about-float-icon { width:48px; height:48px; background:var(--gradient-purple); border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center; font-size:1.4rem; flex-shrink:0; }
.about-float strong { display:block; font-family:var(--font-heading); font-size:1rem; font-weight:800; color:var(--text-dark); }
.about-float span { font-size:0.78rem; color:var(--text-light); }
.about-text .section-header { text-align:left; }
.about-text .section-subtitle { margin:0 0 1.5rem; }
.about-features { display:flex; flex-direction:column; gap:1rem; margin-bottom:2rem; }
.about-feat { display:flex; align-items:flex-start; gap:0.85rem; }
.feat-check { width:28px; height:28px; background:var(--accent-light); border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; font-size:0.82rem; flex-shrink:0; margin-top:2px; }
.feat-text strong { display:block; font-family:var(--font-heading); font-size:0.9rem; font-weight:700; color:var(--text-dark); margin-bottom:0.15rem; }
.feat-text span { font-size:0.82rem; color:var(--text-light); line-height:1.6; }

/* =============================================
   TESTIMONIALS
   ============================================= */
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.testi-card { background:#fff; border-radius:var(--radius-lg); padding:2rem; box-shadow:var(--shadow-card); border:1px solid var(--border); transition:var(--transition); position:relative; }
.testi-card::before { content:'"'; position:absolute; top:0.75rem; right:1.25rem; font-size:5rem; font-family:Georgia,serif; color:var(--accent-light); line-height:1; font-weight:700; }
.testi-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); border-color:var(--accent); }
.testi-stars { color:var(--highlight); font-size:0.95rem; margin-bottom:0.85rem; letter-spacing:2px; }
.testi-text { font-size:0.9rem; color:var(--text); line-height:1.8; margin-bottom:1.25rem; font-style:italic; }
.testi-author { display:flex; align-items:center; gap:0.75rem; }
.testi-av { width:44px; height:44px; border-radius:50%; background:var(--gradient-purple); display:flex; align-items:center; justify-content:center; font-size:1rem; font-weight:700; color:#fff; flex-shrink:0; }
.testi-info strong { display:block; font-family:var(--font-heading); font-size:0.9rem; font-weight:700; color:var(--text-dark); }
.testi-info span { font-size:0.78rem; color:var(--text-light); }

/* =============================================
   NEWSLETTER
   ============================================= */
.nl-section { padding:4rem 0; background:var(--bg-dark); position:relative; overflow:hidden; }
.nl-section::before { content:''; position:absolute; top:50%; left:-10%; width:400px; height:400px; background:rgba(107,33,168,0.2); border-radius:50%; filter:blur(80px); transform:translateY(-50%); }
.nl-inner { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.nl-text h2 { color:#fff; font-size:2rem; margin-bottom:0.85rem; }
.nl-text p { color:rgba(255,255,255,0.65); margin:0; }
.nl-form-wrap { display:flex; flex-direction:column; gap:0.85rem; }
.nl-form { display:flex; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.15); border-radius:var(--radius-full); overflow:hidden; padding:0.3rem; }
.nl-form input { flex:1; padding:0.8rem 1.2rem; background:transparent; border:none; color:#fff; font-size:0.92rem; outline:none; }
.nl-form input::placeholder { color:rgba(255,255,255,0.35); }
.nl-form button { padding:0.8rem 1.6rem; background:var(--gradient-purple); color:#fff; border-radius:var(--radius-full); font-family:var(--font-heading); font-weight:600; font-size:0.875rem; cursor:pointer; white-space:nowrap; transition:var(--transition); border:none; }
.nl-form button:hover { box-shadow:var(--shadow-purple); }
.nl-note { font-size:0.72rem; color:rgba(255,255,255,0.35); display:flex; align-items:center; gap:0.3rem; }

/* =============================================
   SOCIAL SECTION
   ============================================= */
.social-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.social-card { background:#fff; border-radius:var(--radius-lg); padding:2rem; text-align:center; border:1px solid var(--border); transition:var(--transition); text-decoration:none; display:block; }
.social-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); }
.social-card.fb:hover { border-color:#1877F2; }
.social-card.pin:hover { border-color:#E60023; }
.social-card.blog:hover { border-color:var(--accent); }
.social-icon-wrap { width:64px; height:64px; border-radius:var(--radius-lg); display:flex; align-items:center; justify-content:center; font-size:1.8rem; margin:0 auto 1rem; transition:var(--transition); }
.social-card.fb .social-icon-wrap { background:#E8F0FE; color:#1877F2; }
.social-card.pin .social-icon-wrap { background:#FEE2E2; color:#E60023; }
.social-card.blog .social-icon-wrap { background:var(--accent-light); color:var(--accent); }
.social-card:hover .social-icon-wrap { color:#fff; }
.social-card.fb:hover .social-icon-wrap { background:#1877F2; }
.social-card.pin:hover .social-icon-wrap { background:#E60023; }
.social-card.blog:hover .social-icon-wrap { background:var(--accent); }
.social-platform { font-family:var(--font-heading); font-size:1.05rem; font-weight:700; color:var(--text-dark); margin-bottom:0.3rem; }
.social-desc { font-size:0.82rem; color:var(--text-light); margin-bottom:1rem; line-height:1.6; }
.social-follow { display:inline-flex; align-items:center; gap:0.4rem; padding:0.45rem 1.1rem; border-radius:var(--radius-full); font-size:0.82rem; font-weight:600; border:1px solid var(--border); transition:var(--transition); }
.social-card.fb .social-follow { color:#1877F2; border-color:rgba(24,119,242,0.3); }
.social-card.pin .social-follow { color:#E60023; border-color:rgba(230,0,35,0.3); }
.social-card.blog .social-follow { color:var(--accent); border-color:rgba(147,51,234,0.3); }

/* =============================================
   CONTACT SECTION
   ============================================= */
.contact-grid { display:grid; grid-template-columns:1fr 1.6fr; gap:4rem; align-items:start; }
.contact-info h2 { margin-bottom:0.85rem; }
.contact-info p { color:var(--text-light); margin-bottom:2rem; line-height:1.8; }
.contact-details { display:flex; flex-direction:column; gap:0.85rem; }
.contact-item { display:flex; align-items:center; gap:0.85rem; padding:0.85rem; background:var(--bg-light); border-radius:var(--radius-md); border:1px solid var(--border); }
.contact-item-icon { width:42px; height:42px; background:var(--accent-light); border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0; }
.contact-item-text strong { display:block; font-family:var(--font-heading); font-size:0.82rem; font-weight:600; color:var(--text-dark); margin-bottom:0.1rem; }
.contact-item-text a, .contact-item-text span { font-size:0.875rem; color:var(--accent); }
.contact-form-box { background:var(--bg-light); border-radius:var(--radius-xl); padding:2.25rem; border:1px solid var(--border); }
.contact-form-box h3 { font-size:1.35rem; margin-bottom:1.5rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-group { margin-bottom:1.15rem; }
.form-group label { display:block; font-size:0.82rem; font-weight:600; font-family:var(--font-heading); color:var(--text-dark); margin-bottom:0.35rem; }
.form-group input, .form-group textarea, .form-group select { width:100%; padding:0.8rem 1rem; border:2px solid var(--border); border-radius:var(--radius-md); font-size:0.875rem; color:var(--text-dark); background:#fff; transition:var(--transition); outline:none; resize:vertical; }
.form-group input:focus, .form-group textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(147,51,234,0.1); }
.form-group textarea { min-height:120px; }
.form-submit { width:100%; text-align:center; justify-content:center; }
.form-msg { padding:0.8rem 1rem; border-radius:var(--radius-md); font-size:0.875rem; font-weight:500; margin-top:0.85rem; display:none; }
.form-msg.success { background:rgba(16,185,129,0.1); color:var(--green); border:1px solid rgba(16,185,129,0.3); display:block; }
.form-msg.error { background:rgba(239,68,68,0.1); color:var(--red); border:1px solid rgba(239,68,68,0.3); display:block; }

/* =============================================
   LEGAL PAGES (Privacy / T&C)
   ============================================= */
.legal-hero { background:var(--gradient-main); padding:5rem 0 3rem; text-align:center; margin-top:0; padding-top:calc(5rem + var(--header-h)); }
.legal-hero h1 { color:#fff; margin-bottom:0.85rem; }
.legal-hero p { color:rgba(255,255,255,0.7); }
.legal-body { padding:4rem 0; max-width:860px; margin:0 auto; }
.legal-body h2 { font-size:1.45rem; color:var(--text-dark); margin:2.5rem 0 0.85rem; padding-bottom:0.5rem; border-bottom:2px solid var(--accent-light); }
.legal-body h3 { font-size:1.1rem; color:var(--text-dark); margin:1.5rem 0 0.6rem; }
.legal-body p, .legal-body li { color:var(--text); line-height:1.9; margin-bottom:0.7rem; font-size:0.95rem; }
.legal-body ul, .legal-body ol { list-style:disc; padding-left:1.5rem; margin-bottom:1rem; }
.legal-body a { color:var(--accent); text-decoration:underline; }
.legal-updated { background:var(--bg-light); border-left:3px solid var(--accent); padding:0.85rem 1.15rem; border-radius:0 var(--radius-md) var(--radius-md) 0; margin-bottom:2rem; font-size:0.82rem; color:var(--text-light); }

/* =============================================
   SINGLE POST
   ============================================= */
.single-hero { background:var(--gradient-main); padding:5rem 0 3rem; margin-top:0; padding-top:calc(5rem + var(--header-h)); }
.single-hero h1 { color:#fff; max-width:800px; margin-bottom:1.25rem; font-size:clamp(1.6rem,4vw,2.6rem); }
.post-hero-meta { display:flex; align-items:center; gap:1.25rem; flex-wrap:wrap; }
.post-hero-meta span { display:flex; align-items:center; gap:0.4rem; color:rgba(255,255,255,0.7); font-size:0.82rem; }
.single-layout { display:grid; grid-template-columns:1fr 320px; gap:3rem; padding:3rem 0; }
.post-content { font-size:1.02rem; line-height:1.9; color:var(--text); }
.post-content h2 { font-size:1.65rem; margin:2.5rem 0 0.85rem; color:var(--text-dark); padding-left:1rem; border-left:4px solid var(--accent); }
.post-content h3 { font-size:1.25rem; margin:2rem 0 0.6rem; color:var(--text-dark); }
.post-content p { margin-bottom:1.2rem; }
.post-content img { width:100%; border-radius:var(--radius-lg); margin:1.5rem 0; box-shadow:var(--shadow-lg); }
.post-content blockquote { margin:2rem 0; padding:1.4rem 2rem; background:var(--bg-purple); border-left:4px solid var(--accent); border-radius:0 var(--radius-md) var(--radius-md) 0; font-style:italic; font-size:1.05rem; color:var(--secondary); }
.post-content ul { list-style:disc; padding-left:1.5rem; margin-bottom:1.2rem; }
.post-content ol { list-style:decimal; padding-left:1.5rem; margin-bottom:1.2rem; }
.post-content li { margin-bottom:0.45rem; }
.post-content a { color:var(--accent); text-decoration:underline; }

/* Share buttons */
.share-box { background:var(--bg-light); border-radius:var(--radius-lg); padding:1.4rem; margin:2rem 0; border:1px solid var(--border); }
.share-title { font-family:var(--font-heading); font-size:0.82rem; font-weight:600; color:var(--text-dark); margin-bottom:0.85rem; text-transform:uppercase; letter-spacing:0.06em; }
.share-btns { display:flex; gap:0.65rem; flex-wrap:wrap; }
.share-btn { display:inline-flex; align-items:center; gap:0.45rem; padding:0.55rem 1.1rem; border-radius:var(--radius-full); font-size:0.82rem; font-weight:600; cursor:pointer; transition:var(--transition); text-decoration:none; }
.share-btn:hover { transform:translateY(-2px); box-shadow:0 5px 15px rgba(0,0,0,0.2); }
.sb-fb { background:#1877F2; color:#fff; }
.sb-pin { background:#E60023; color:#fff; }
.sb-tw { background:#000; color:#fff; }
.sb-copy { background:var(--bg-dark); color:#fff; }

/* Tags */
.post-tags { display:flex; gap:0.5rem; flex-wrap:wrap; margin:1.25rem 0; }
.post-tag { padding:0.28rem 0.8rem; background:var(--bg-light); border:1px solid var(--border); border-radius:var(--radius-full); font-size:0.78rem; font-weight:500; color:var(--text-light); transition:var(--transition); }
.post-tag:hover { background:var(--accent-light); color:var(--accent); border-color:var(--accent); }

/* Author box */
.author-box { background:var(--bg-light); border-radius:var(--radius-xl); padding:1.75rem; margin:2rem 0; display:flex; gap:1.25rem; border:1px solid var(--border); }
.author-av { width:75px; height:75px; border-radius:50%; background:var(--gradient-purple); display:flex; align-items:center; justify-content:center; font-size:1.8rem; font-weight:700; color:#fff; flex-shrink:0; overflow:hidden; }
.author-av img { width:100%; height:100%; object-fit:cover; }
.author-info h4 { font-size:1rem; margin-bottom:0.2rem; }
.author-role { font-size:0.75rem; color:var(--accent); font-weight:600; margin-bottom:0.6rem; }
.author-info p { font-size:0.875rem; color:var(--text-light); margin:0; line-height:1.7; }

/* FAQ */
.faq-box { margin:2rem 0; border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--border); }
.faq-heading { font-family:var(--font-heading); font-size:1.35rem; font-weight:700; padding:1.35rem 1.5rem; background:var(--bg-dark); color:#fff; margin:0; }
.faq-item { border-bottom:1px solid var(--border); }
.faq-item:last-child { border-bottom:none; }
.faq-q { padding:1.1rem 1.5rem; font-family:var(--font-heading); font-weight:600; font-size:0.95rem; cursor:pointer; display:flex; justify-content:space-between; align-items:center; background:#fff; transition:var(--transition); color:var(--text-dark); }
.faq-q:hover { background:var(--bg-light); }
.faq-ico { width:24px; height:24px; background:var(--accent-light); border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; font-size:0.8rem; color:var(--accent); flex-shrink:0; transition:var(--transition); }
.faq-item.open .faq-ico { background:var(--accent); color:#fff; transform:rotate(45deg); }
.faq-ans { max-height:0; overflow:hidden; transition:max-height 0.4s ease; }
.faq-ans-inner { padding:0 1.5rem 1.25rem; font-size:0.9rem; color:var(--text-light); line-height:1.8; }
.faq-item.open .faq-ans { max-height:500px; }

/* Related posts */
.related-section { margin:2rem 0; padding:2rem 0; border-top:1px solid var(--border); }
.related-title { font-size:1.25rem; margin-bottom:1.25rem; }
.related-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }

/* =============================================
   SIDEBAR
   ============================================= */
.sidebar { display:flex; flex-direction:column; gap:1.5rem; }
.widget { background:#fff; border-radius:var(--radius-lg); padding:1.5rem; box-shadow:var(--shadow-sm); border:1px solid var(--border); }
.widget-title { font-family:var(--font-heading); font-size:0.95rem; font-weight:700; color:var(--text-dark); margin-bottom:1.1rem; padding-bottom:0.7rem; border-bottom:2px solid var(--accent-light); display:flex; align-items:center; gap:0.5rem; }
.widget-title::before { content:''; width:4px; height:16px; background:var(--gradient-purple); border-radius:2px; }
.aff-widget { background:var(--gradient-main); border-radius:var(--radius-lg); padding:1.5rem; color:#fff; text-align:center; }
.aff-widget h4 { color:#fff; margin-bottom:0.4rem; font-size:1rem; }
.aff-widget p { color:rgba(255,255,255,0.7); font-size:0.82rem; margin-bottom:0.85rem; }
.aff-price { font-size:1.4rem; font-weight:900; color:var(--highlight); margin-bottom:0.85rem; }
.pop-post { display:flex; gap:0.7rem; padding:0.7rem 0; border-bottom:1px solid var(--border); }
.pop-post:last-child { border-bottom:none; }
.pop-num { width:26px; height:26px; background:var(--accent-light); border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; font-size:0.72rem; font-weight:800; color:var(--accent); flex-shrink:0; }
.pop-title { font-size:0.82rem; font-weight:600; color:var(--text-dark); line-height:1.4; transition:var(--transition); }
.pop-title:hover { color:var(--accent); }
.widget-cats li { display:flex; justify-content:space-between; align-items:center; padding:0.55rem 0; border-bottom:1px solid var(--border); font-size:0.875rem; }
.widget-cats li:last-child { border-bottom:none; }
.widget-cats a { color:var(--text); font-weight:500; transition:var(--transition); }
.widget-cats a:hover { color:var(--accent); }
.cat-cnt { background:var(--accent-light); color:var(--accent); padding:0.18rem 0.5rem; border-radius:var(--radius-full); font-size:0.72rem; font-weight:600; }

/* =============================================
   ARCHIVE / BLOG PAGE
   ============================================= */
.archive-hero { background:var(--gradient-main); padding:5rem 0 3rem; text-align:center; padding-top:calc(5rem + var(--header-h)); }
.archive-hero h1 { color:#fff; }
.archive-hero p { color:rgba(255,255,255,0.7); margin-top:0.5rem; }
.archive-layout { display:grid; grid-template-columns:1fr 320px; gap:3rem; padding:3rem 0; }
.archive-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; }
.pagination { display:flex; justify-content:center; align-items:center; gap:0.5rem; margin-top:3rem; flex-wrap:wrap; }
.page-numbers { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:var(--radius-sm); font-family:var(--font-heading); font-weight:600; font-size:0.875rem; color:var(--text); border:1px solid var(--border); transition:var(--transition); }
.page-numbers:hover, .page-numbers.current { background:var(--gradient-purple); color:#fff; border-color:transparent; }

/* =============================================
   SEARCH PAGE
   ============================================= */
.search-hero { background:var(--gradient-main); padding:5rem 0 3rem; text-align:center; padding-top:calc(5rem + var(--header-h)); }
.search-hero h1 { color:#fff; }
.search-form-big { max-width:600px; margin:1.5rem auto 0; display:flex; background:#fff; border-radius:var(--radius-full); overflow:hidden; padding:0.3rem; box-shadow:var(--shadow-xl); }
.search-form-big input { flex:1; padding:0.8rem 1.4rem; border:none; font-size:0.95rem; outline:none; color:var(--text-dark); background:transparent; }
.search-form-big button { padding:0.8rem 1.6rem; background:var(--gradient-purple); color:#fff; border:none; border-radius:var(--radius-full); font-weight:600; cursor:pointer; }
.search-layout { display:grid; grid-template-columns:1fr 320px; gap:3rem; padding:3rem 0; }
.search-results-grid { display:flex; flex-direction:column; gap:1.25rem; }

/* =============================================
   404 PAGE
   ============================================= */
.error-404-wrap { min-height:70vh; display:flex; align-items:center; justify-content:center; text-align:center; padding:5rem 0; margin-top:var(--header-h); }
.error-404-wrap .err-code { font-family:var(--font-heading); font-size:7rem; font-weight:900; background:var(--gradient-main); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; line-height:1; margin-bottom:1rem; }
.error-404-wrap h2 { margin-bottom:0.85rem; }
.error-404-wrap p { color:var(--text-light); margin-bottom:2rem; }

/* =============================================
   FOOTER
   ============================================= */
.site-footer { background:var(--bg-dark); color:rgba(255,255,255,0.7); }
.footer-top { padding:5rem 0; border-bottom:1px solid rgba(255,255,255,0.08); }
.footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:3rem; }
.footer-brand-desc { font-size:0.875rem; line-height:1.8; color:rgba(255,255,255,0.5); margin:1.2rem 0; max-width:270px; }
.footer-socials { display:flex; gap:0.65rem; margin-top:1.25rem; }
.footer-social-btn { width:38px; height:38px; background:rgba(255,255,255,0.08); border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; font-size:0.95rem; transition:var(--transition); color:rgba(255,255,255,0.65); border:1px solid rgba(255,255,255,0.1); }
.footer-social-btn:hover { background:var(--accent); border-color:var(--accent); color:#fff; transform:translateY(-3px); }
.footer-col-title { font-family:var(--font-heading); font-size:0.82rem; font-weight:700; color:#fff; letter-spacing:0.08em; text-transform:uppercase; margin-bottom:1.2rem; }
.footer-links { display:flex; flex-direction:column; gap:0.55rem; }
.footer-links a { font-size:0.84rem; color:rgba(255,255,255,0.5); transition:var(--transition); display:flex; align-items:center; gap:0.3rem; }
.footer-links a:hover { color:var(--accent); padding-left:4px; }
.footer-nl-form { display:flex; flex-direction:column; gap:0.65rem; }
.footer-nl-form input { padding:0.65rem 0.95rem; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12); border-radius:var(--radius-md); color:#fff; font-size:0.82rem; outline:none; transition:var(--transition); }
.footer-nl-form input:focus { border-color:var(--accent); }
.footer-nl-form input::placeholder { color:rgba(255,255,255,0.3); }
.footer-bottom { padding:1.4rem 0; }
.footer-bottom-inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; }
.footer-copy { font-size:0.78rem; color:rgba(255,255,255,0.35); }
.footer-legal { display:flex; gap:1.25rem; }
.footer-legal a { font-size:0.78rem; color:rgba(255,255,255,0.35); transition:var(--transition); }
.footer-legal a:hover { color:var(--accent); }
.footer-aff-disc { padding:1rem 0; text-align:center; font-size:0.72rem; color:rgba(255,255,255,0.28); border-top:1px solid rgba(255,255,255,0.05); line-height:1.7; max-width:750px; margin:0 auto; }

/* =============================================
   BACK TO TOP + COOKIE
   ============================================= */
#back-top { position:fixed; bottom:2rem; right:2rem; width:46px; height:46px; background:var(--gradient-purple); color:#fff; border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center; font-size:1.1rem; cursor:pointer; z-index:100; box-shadow:var(--shadow-purple); opacity:0; visibility:hidden; transform:translateY(15px); transition:var(--transition); border:none; }
#back-top.show { opacity:1; visibility:visible; transform:translateY(0); }
#back-top:hover { transform:translateY(-3px); }

.cookie-bar { position:fixed; bottom:0; left:0; right:0; background:rgba(13,27,62,0.97); backdrop-filter:blur(20px); color:rgba(255,255,255,0.8); padding:1.1rem var(--container-pad); z-index:999; transform:translateY(100%); transition:transform 0.4s ease; border-top:1px solid rgba(255,255,255,0.08); }
.cookie-bar.show { transform:translateY(0); }
.cookie-bar-inner { max-width:var(--container-max); margin:0 auto; display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap; }
.cookie-txt { flex:1; font-size:0.82rem; line-height:1.6; }
.cookie-txt a { color:var(--accent); text-decoration:underline; }
.cookie-actions { display:flex; gap:0.65rem; }

/* =============================================
   SKIP LINK & ACCESSIBILITY
   ============================================= */
.skip-link { position:absolute; top:-100%; left:1rem; background:var(--accent); color:#fff; padding:0.5rem 1rem; border-radius:0 0 var(--radius-md) var(--radius-md); font-weight:600; z-index:9999; }
.skip-link:focus { top:0; }
:focus-visible { outline:2px solid var(--accent); outline-offset:3px; border-radius:3px; }

/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width:1200px) {
    .books-grid { grid-template-columns:repeat(3,1fr); }
    .cats-grid { grid-template-columns:repeat(3,1fr); }
    .footer-grid { grid-template-columns:1fr 1fr; gap:2rem; }
}
@media (max-width:1024px) {
    .hero-content { grid-template-columns:1fr; text-align:center; gap:2rem; padding:4rem 0; }
    .hero-visual { order:-1; }
    .brain-emoji { font-size:9rem; }
    .float-tag { display:none; }
    .hero-subtitle { margin:0 auto 2rem; }
    .hero-btns { justify-content:center; }
    .hero-proof { justify-content:center; }
    .stats-grid { grid-template-columns:repeat(2,1fr); }
    .posts-grid { grid-template-columns:1fr; }
    .about-content { grid-template-columns:1fr; gap:2.5rem; }
    .about-float { display:none; }
    .nl-inner { grid-template-columns:1fr; gap:2rem; }
    .contact-grid { grid-template-columns:1fr; }
    .single-layout { grid-template-columns:1fr; }
    .archive-layout { grid-template-columns:1fr; }
    .search-layout { grid-template-columns:1fr; }
    .quiz-inner { grid-template-columns:1fr; }
    .res-grid { grid-template-columns:repeat(2,1fr); }
    .testi-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px) {
    :root { --header-h:65px; }
    .mobile-toggle { display:flex; }
    .main-nav { display:none; position:fixed; top:var(--header-h); left:0; right:0; bottom:0; background:var(--primary-dark); z-index:999; padding:2rem; overflow-y:auto; }
    .main-nav.open { display:block; animation:fadeInDown 0.3s ease; }
    .main-nav ul { flex-direction:column; gap:0.25rem; align-items:stretch; }
    .main-nav a { font-size:1.05rem; padding:0.75rem 1rem; }
    .main-nav .sub-menu { position:static; transform:none; opacity:1; visibility:visible; box-shadow:none; background:rgba(255,255,255,0.05); }
    .main-nav .sub-menu a { color:rgba(255,255,255,0.7); }
    .cats-grid { grid-template-columns:repeat(2,1fr); }
    .books-grid { grid-template-columns:repeat(2,1fr); }
    .testi-grid { grid-template-columns:1fr; }
    .social-cards { grid-template-columns:1fr; }
    .form-row { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:1fr; }
    .footer-bottom-inner { flex-direction:column; text-align:center; }
    .archive-grid { grid-template-columns:1fr; }
    .related-grid { grid-template-columns:1fr; }
    .res-grid { grid-template-columns:1fr; }
    .stat-item::after { display:none; }
}
@media (max-width:480px) {
    :root { --container-pad:1rem; }
    .hero-title { font-size:1.8rem; }
    .hero-btns { flex-direction:column; }
    .hero-btns .btn { text-align:center; justify-content:center; }
    .books-grid { grid-template-columns:1fr; }
    .nl-form { flex-direction:column; padding:0.5rem; border-radius:var(--radius-lg); }
    .nl-form button { border-radius:var(--radius-md); }
    .share-btns { flex-direction:column; }
    .error-404-wrap .err-code { font-size:5rem; }
}
@media (prefers-reduced-motion:reduce) {
    *, *::before, *::after { animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; }
}
