/*
Theme Name: AI on Purpose
Theme URI: https://aionpurpose.tech
Author: Youssef Franci
Description: Conversations at the intersection of technology, ethics, and intent.
Version: 1.0.0
Requires at least: 5.9
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aop
Tags: podcast, minimal, dark, custom-colors, custom-menu, featured-images
*/

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Caveat:wght@700&display=swap');

/* ─── RESET ─────────────────────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

/* ─── TOKENS ─────────────────────────────────────────── */
:root {
  --font: 'Space Grotesk', Arial, Helvetica, sans-serif;
  --caveat: 'Caveat', cursive;
  --red: #e63946;
  --dark: #111111;
  --gray-50: #fafafa;
  --gray-100: #f5f5f5;
  --gray-200: #e5e5e5;
  --gray-300: #d4d4d4;
  --gray-400: #a3a3a3;
  --gray-500: #737373;
  --gray-600: #525252;
  --gray-700: #404040;
  --gray-800: #262626;
  --gray-900: #171717;
  --max-w: 1120px;
  --radius: 16px;
  --radius-sm: 10px;
  --radius-lg: 24px;
  --radius-xl: 32px;
}
html { scroll-behavior: smooth; }
body { font-family:var(--font); color:var(--dark); background:#fff; line-height:1.6; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; height:auto; display:block; }
p { margin-bottom:1em; }

/* ─── NAVIGATION ─────────────────────────────────────── */
.aop-nav { position:sticky; top:0; z-index:100; background:rgba(255,255,255,0.92); backdrop-filter:blur(12px); border-bottom:1px solid var(--gray-200); }
.aop-nav-inner { max-width:var(--max-w); margin:0 auto; padding:0 40px; height:72px; display:flex; align-items:center; justify-content:space-between; }
.aop-nav-logo { display:flex; align-items:center; gap:14px; }
.aop-nav-logo-text { display:flex; flex-direction:column; line-height:1; }
.aop-nav-logo-text .aop-logo-top { display:flex; align-items:baseline; }
.aop-nav-logo-text .aop-logo-ai { font-size:18px; font-weight:700; color:var(--dark); letter-spacing:-0.03em; }
.aop-nav-logo-text .aop-logo-on { font-family:var(--caveat); font-size:12px; font-weight:700; color:var(--red); margin-left:3px; }
.aop-nav-logo-text .aop-logo-purpose { font-size:11px; font-weight:700; color:var(--dark); letter-spacing:0.08em; margin-top:1px; }
.aop-nav-links { display:flex; align-items:center; gap:32px; }
.aop-nav-links a { font-size:13px; font-weight:600; color:var(--gray-500); transition:color 0.2s; }
.aop-nav-links a:hover, .aop-nav-links a.current-menu-item { color:var(--dark); }
.aop-nav-cta { font-size:12px; font-weight:700; color:#fff !important; background:var(--dark); padding:10px 24px; border-radius:var(--radius-sm); transition:background 0.2s; }
.aop-nav-cta:hover { background:var(--gray-800) !important; }
.aop-mobile-toggle { display:none; background:none; border:none; cursor:pointer; padding:8px; }
.aop-mobile-menu { display:none; background:#fff; border-top:1px solid var(--gray-200); padding:16px 20px; flex-direction:column; gap:4px; }
.aop-mobile-menu a { display:block; font-size:14px; font-weight:600; color:var(--gray-500); padding:10px 0; border-bottom:1px solid var(--gray-100); }
.aop-mobile-menu a.aop-nav-cta { margin-top:8px; text-align:center; border-bottom:none; border-radius:10px; background:var(--dark); color:#fff; padding:12px 24px; }
.aop-mobile-menu.is-open { display:flex; }

/* ─── FOOTER ─────────────────────────────────────────── */
.aop-footer { background:var(--dark); color:#fff; padding:64px 40px 40px; }
.aop-footer-inner { max-width:var(--max-w); margin:0 auto; }
.aop-footer-top { display:flex; justify-content:space-between; align-items:flex-start; gap:40px; flex-wrap:wrap; margin-bottom:48px; }
.aop-footer-brand { max-width:320px; }
.aop-footer-brand-logo { display:flex; align-items:center; gap:12px; }
.aop-footer-tagline { font-size:13px; color:var(--gray-500); margin-top:12px; line-height:1.6; }
.aop-footer-col h4 { font-size:10px; font-weight:700; color:var(--gray-500); letter-spacing:0.2em; text-transform:uppercase; margin-bottom:16px; }
.aop-footer-col a { display:block; font-size:13px; font-weight:500; color:var(--gray-400); margin-bottom:10px; transition:color 0.2s; }
.aop-footer-col a:hover { color:#fff; }
.aop-footer-bottom { border-top:1px solid var(--gray-800); padding-top:24px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; }
.aop-footer-bottom span { font-size:11px; color:var(--gray-600); font-weight:500; }
.aop-footer-admin-link { font-size:11px; color:var(--gray-700); }

/* ─── UTILITIES ─────────────────────────────────────────── */
.aop-container { max-width:var(--max-w); margin:0 auto; padding:0 40px; }
.aop-section { padding:96px 0; }
.aop-section-sm { padding:64px 0; }
.aop-tag { display:inline-block; font-size:10px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--red); background:rgba(230,57,70,0.08); padding:6px 16px; border-radius:100px; }
.aop-tag-dark { background:rgba(230,57,70,0.15); }
.aop-btn { display:inline-flex; align-items:center; gap:8px; font-family:var(--font); font-size:14px; font-weight:700; padding:14px 32px; border-radius:var(--radius-sm); border:none; cursor:pointer; transition:all 0.2s; line-height:1; }
.aop-btn-primary { background:var(--red); color:#fff; }
.aop-btn-primary:hover { background:#d32f3e; transform:translateY(-1px); }
.aop-btn-dark { background:var(--dark); color:#fff; }
.aop-btn-dark:hover { background:var(--gray-800); }
.aop-btn-outline { background:transparent; color:var(--dark); border:2px solid var(--gray-200); }
.aop-btn-outline:hover { border-color:var(--dark); }
.aop-btn-outline-light { background:transparent; color:#fff; border:2px solid var(--gray-700); }
.aop-btn-outline-light:hover { border-color:#fff; }
.aop-red-dot { display:inline-block; width:5px; height:5px; border-radius:50%; background:var(--red); flex-shrink:0; }
.aop-card { border:1px solid var(--gray-200); border-radius:var(--radius-lg); background:#fff; transition:border-color 0.2s, transform 0.2s; }
.aop-card:hover { border-color:var(--red); transform:translateY(-2px); }
.aop-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.aop-grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }

/* ─── HERO (DARK) ─────────────────────────────────────── */
.aop-hero-dark { background:var(--dark); color:#fff; position:relative; overflow:hidden; padding:120px 0 96px; }
.aop-hero-dark::before { content:''; position:absolute; top:-200px; right:-200px; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle,rgba(230,57,70,0.12) 0%,transparent 70%); pointer-events:none; }
.aop-hero-dark-line { position:absolute; width:3px; height:400px; background:var(--red); opacity:0.08; transform:rotate(-28deg); border-radius:2px; }
.aop-hero-dark h1 { font-size:clamp(2.5rem,5.5vw,4rem); font-weight:700; line-height:1.05; letter-spacing:-0.03em; max-width:700px; }
.aop-hero-dark p.sub { font-size:16px; font-weight:500; color:var(--gray-400); line-height:1.7; max-width:520px; margin:24px 0 0; }
.aop-hero-dark .aop-hero-btns { display:flex; gap:12px; margin-top:40px; flex-wrap:wrap; }
.aop-hero-caveat { font-family:var(--caveat); color:var(--red); font-size:0.6em; position:relative; top:-0.05em; margin:0 4px; }

/* ─── HOME PAGE ─────────────────────────────────────────── */
.aop-episodes-header { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:40px; flex-wrap:wrap; gap:16px; }
.aop-episodes-header h2 { font-size:28px; font-weight:700; margin-top:16px; }
.aop-ep-card { padding:32px; }
.aop-ep-card-number { font-size:10px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--red); margin-bottom:12px; }
.aop-ep-card-title { font-size:18px; font-weight:700; color:var(--dark); line-height:1.3; margin-bottom:8px; }
.aop-ep-card-desc { font-size:13px; color:var(--gray-500); line-height:1.6; }
.aop-ep-card-meta { display:flex; align-items:center; gap:12px; margin-top:16px; font-size:11px; font-weight:600; color:var(--gray-400); flex-wrap:wrap; }
.aop-home-about { background:var(--gray-50); }
.aop-home-about-inner { display:flex; align-items:center; gap:80px; }
.aop-home-about-image { width:380px; height:380px; border-radius:var(--radius-xl); background:var(--gray-100); flex-shrink:0; display:flex; align-items:center; justify-content:center; max-width:100%; }
.aop-home-cta-box { background:var(--dark); color:#fff; border-radius:var(--radius-xl); padding:64px; text-align:center; position:relative; overflow:hidden; }
.aop-home-cta-box::before { content:''; position:absolute; bottom:-100px; left:50%; transform:translateX(-50%); width:400px; height:400px; border-radius:50%; background:radial-gradient(circle,rgba(230,57,70,0.15) 0%,transparent 70%); pointer-events:none; }
.aop-home-cta-box h2 { font-size:28px; font-weight:700; margin-bottom:12px; position:relative; z-index:1; }
.aop-home-cta-box p { font-size:14px; color:var(--gray-400); max-width:480px; margin:0 auto 32px; position:relative; z-index:1; }
.aop-home-cta-box .aop-btn { position:relative; z-index:1; }

/* ─── ABOUT PAGE ─────────────────────────────────────────── */
.aop-about-hero-inner { display:flex; align-items:center; gap:80px; }
.aop-about-hero-image { width:320px; height:400px; border-radius:var(--radius-xl); flex-shrink:0; display:flex; align-items:center; justify-content:center; background:#1a1a1a; border:1px solid var(--gray-800); }
.aop-values-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin:40px 0; }
.aop-value-card { padding:36px; background:var(--gray-50); border:1px solid var(--gray-200); border-radius:var(--radius-lg); }
.aop-value-num { font-size:32px; font-weight:700; color:var(--red); margin-bottom:8px; }
.aop-value-title { font-size:16px; font-weight:700; margin-bottom:8px; }
.aop-value-desc { font-size:14px; color:var(--gray-500); line-height:1.6; margin:0; }
.aop-stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin:40px 0; }
.aop-stat-card { text-align:center; padding:32px; background:var(--gray-50); border:1px solid var(--gray-200); border-radius:var(--radius-lg); }
.aop-stat-n { font-size:36px; font-weight:700; color:var(--red); }
.aop-stat-l { font-size:12px; font-weight:600; color:var(--gray-500); margin-top:4px; }
.aop-host-section { display:flex; gap:48px; align-items:flex-start; }
.aop-host-image { width:200px; height:200px; border-radius:var(--radius-xl); background:var(--gray-100); flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.aop-social-pills { display:flex; gap:12px; margin-top:20px; flex-wrap:wrap; }
.aop-social-pill { font-size:12px; font-weight:600; color:var(--gray-400); border:1px solid var(--gray-200); padding:8px 16px; border-radius:8px; transition:border-color 0.2s; }
.aop-social-pill:hover { border-color:var(--dark); }
.aop-divider-red { width:40px; height:3px; background:var(--red); border-radius:2px; margin:56px 0; }
.aop-blockquote { border-left:3px solid var(--red); padding:20px 28px; margin:32px 0; background:var(--gray-50); border-radius:0 var(--radius) var(--radius) 0; font-size:17px; font-style:italic; color:var(--gray-600); line-height:1.7; }

/* ─── EPISODES PAGE ─────────────────────────────────────── */
.aop-ep-list-card { display:flex; gap:24px; padding:28px; border:1px solid var(--gray-200); border-radius:var(--radius-lg); background:#fff; transition:border-color 0.2s, transform 0.2s; margin-bottom:16px; }
.aop-ep-list-card:hover { border-color:var(--red); transform:translateY(-2px); }
.aop-ep-number-box { width:80px; height:80px; border-radius:var(--radius); background:var(--dark); display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:700; color:var(--red); flex-shrink:0; }
.aop-ep-list-meta { display:flex; justify-content:space-between; margin-bottom:8px; flex-wrap:wrap; gap:8px; }
.aop-ep-list-title { font-size:18px; font-weight:700; line-height:1.3; margin-bottom:6px; }
.aop-ep-list-desc { font-size:13px; color:var(--gray-500); line-height:1.6; margin-bottom:16px; }
.aop-ep-list-footer { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.aop-guest-mini { display:flex; align-items:center; gap:10px; }
.aop-guest-avatar { width:28px; height:28px; border-radius:50%; background:var(--gray-100); display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; color:var(--gray-500); flex-shrink:0; }
.aop-guest-mini-name { font-size:12px; font-weight:700; color:var(--dark); }
.aop-guest-mini-role { font-size:11px; font-weight:500; color:var(--gray-400); }
.aop-ep-topic { display:inline-block; font-size:10px; font-weight:600; color:var(--gray-500); border:1px solid var(--gray-200); background:var(--gray-50); padding:4px 10px; border-radius:6px; }
.aop-filter-bar { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:32px; }
.aop-filter-btn { font-size:12px; font-weight:600; padding:8px 20px; border-radius:100px; border:1px solid var(--gray-200); background:#fff; color:var(--gray-500); cursor:pointer; font-family:var(--font); transition:all 0.2s; }
.aop-filter-btn:hover, .aop-filter-btn.active { background:var(--dark); color:#fff; border-color:var(--dark); }
.aop-page-hero { background:var(--gray-50); padding:80px 0 64px; border-bottom:1px solid var(--gray-200); }
.aop-page-hero h1 { font-size:36px; font-weight:700; line-height:1.15; margin-top:16px; }
.aop-page-hero p { font-size:15px; color:var(--gray-500); margin-top:12px; max-width:560px; }
.aop-stats-row { display:flex; gap:32px; margin-top:28px; }
.aop-stat-inline { display:flex; align-items:baseline; gap:6px; }
.aop-stat-inline .n { font-size:24px; font-weight:700; color:var(--red); }
.aop-stat-inline .l { font-size:12px; font-weight:600; color:var(--gray-400); }

/* ─── GUESTS PAGE ─────────────────────────────────────────── */
.aop-guest-card { padding:36px; }
.aop-guest-avatar-lg { width:56px; height:56px; border-radius:50%; background:var(--dark); color:#fff; display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:700; margin-bottom:20px; }
.aop-guest-topic { font-size:10px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:var(--red); margin-bottom:10px; }
.aop-guest-name { font-size:18px; font-weight:700; line-height:1.3; margin-bottom:4px; }
.aop-guest-role { font-size:12px; font-weight:600; color:var(--gray-400); margin-bottom:12px; }
.aop-guest-bio { font-size:13px; color:var(--gray-500); line-height:1.6; margin-bottom:20px; }
.aop-guest-eps { padding-top:16px; border-top:1px solid var(--gray-100); font-size:11px; font-weight:600; color:var(--gray-400); }
.aop-guest-ep-link { display:flex; align-items:center; gap:8px; margin-bottom:6px; transition:color 0.2s; }
.aop-guest-ep-link:hover { color:var(--red); }

/* ─── BLOG ─────────────────────────────────────────── */
.aop-featured-post { display:flex; gap:48px; align-items:center; background:var(--dark); color:#fff; padding:48px; border-radius:var(--radius-xl); margin-bottom:48px; }
.aop-featured-image { width:360px; height:240px; border-radius:var(--radius); flex-shrink:0; background:#1a1a1a; display:flex; align-items:center; justify-content:center; max-width:100%; }
.aop-featured-label { font-size:10px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--red); margin-bottom:12px; }
.aop-featured-title { font-size:24px; font-weight:700; line-height:1.3; margin-bottom:12px; }
.aop-featured-excerpt { font-size:14px; color:var(--gray-400); line-height:1.6; margin-bottom:20px; }
.aop-featured-meta { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--gray-500); font-weight:500; }
.aop-post-card { border-radius:var(--radius-lg); border:1px solid var(--gray-200); overflow:hidden; transition:border-color 0.2s, transform 0.2s; }
.aop-post-card:hover { border-color:var(--red); transform:translateY(-2px); }
.aop-post-image { height:200px; background:var(--gray-100); display:flex; align-items:center; justify-content:center; }
.aop-post-body { padding:28px; }
.aop-post-category { font-size:10px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:var(--red); margin-bottom:10px; }
.aop-post-title { font-size:17px; font-weight:700; line-height:1.35; margin-bottom:8px; }
.aop-post-excerpt { font-size:13px; color:var(--gray-500); line-height:1.6; }
.aop-post-footer { padding:16px 28px; border-top:1px solid var(--gray-100); display:flex; justify-content:space-between; font-size:11px; color:var(--gray-400); font-weight:500; }

/* ─── SINGLE POST ─────────────────────────────────────────── */
.aop-single-hero { padding:80px 0 48px; border-bottom:1px solid var(--gray-200); }
.aop-single-content { max-width:720px; margin:0 auto; padding:0 40px; }
.aop-single-article { padding:48px 0; }
.aop-single-article h2 { font-size:26px; font-weight:700; margin:48px 0 16px; }
.aop-single-article h3 { font-size:20px; font-weight:700; margin:40px 0 12px; }
.aop-single-article p { font-size:16px; color:var(--gray-600); line-height:1.85; margin-bottom:16px; }
.aop-single-article ul, .aop-single-article ol { padding-left:24px; margin-bottom:24px; }
.aop-single-article li { font-size:15px; color:var(--gray-600); line-height:1.8; margin-bottom:8px; }
.aop-single-article blockquote { border-left:3px solid var(--red); padding:20px 28px; margin:32px 0; background:var(--gray-50); border-radius:0 var(--radius) var(--radius) 0; font-size:17px; font-style:italic; color:var(--gray-600); line-height:1.7; }
.aop-single-article .aop-callout { background:rgba(230,57,70,0.06); border:1px solid rgba(230,57,70,0.15); border-radius:var(--radius); padding:24px 28px; margin:32px 0; }
.aop-single-article img { border-radius:var(--radius); margin:32px auto; }
.aop-author-card { display:flex; gap:16px; align-items:center; padding:24px; border:1px solid var(--gray-200); border-radius:var(--radius); margin:32px 0; }
.aop-share-bar { display:flex; align-items:center; gap:12px; padding-bottom:64px; }
.aop-share-btn { width:36px; height:36px; border-radius:8px; background:var(--gray-100); display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; color:var(--gray-500); transition:all 0.2s; }
.aop-share-btn:hover { background:var(--dark); color:#fff; }
.aop-related { background:var(--gray-50); padding:96px 0; }
.aop-related h2 { font-size:22px; font-weight:700; margin-bottom:32px; }

/* ─── SINGLE EPISODE ─────────────────────────────────────── */
.aop-ep-single-hero { background:var(--dark); color:#fff; padding:80px 0 64px; }
.aop-ep-single-hero .aop-container { max-width:780px; }
.aop-ep-single-number { font-size:10px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--red); margin-bottom:16px; }
.aop-ep-single-title { font-size:clamp(28px,4vw,40px); font-weight:700; line-height:1.15; margin-bottom:16px; }
.aop-ep-single-meta { display:flex; align-items:center; gap:16px; font-size:13px; color:var(--gray-400); font-weight:500; flex-wrap:wrap; margin-top:24px; }
.aop-ep-single-body { max-width:780px; margin:0 auto; padding:48px 40px; }
.aop-ep-listen-bar { display:flex; gap:12px; flex-wrap:wrap; margin-top:32px; }
.aop-ep-listen-btn { display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:700; padding:10px 20px; border-radius:8px; border:1px solid rgba(255,255,255,0.15); color:#fff; transition:background 0.2s; }
.aop-ep-listen-btn:hover { background:rgba(255,255,255,0.1); }
.aop-ep-guest-card { background:var(--gray-50); border:1px solid var(--gray-200); border-radius:var(--radius-lg); padding:32px; margin:32px 0; }
.aop-ep-guest-card-inner { display:flex; gap:20px; align-items:flex-start; }
.aop-ep-topics { display:flex; gap:8px; flex-wrap:wrap; margin:24px 0; }

/* ─── CONTACT PAGE ─────────────���───────────────────────────── */
.aop-contact-grid { display:grid; grid-template-columns:1fr 380px; gap:64px; }
.aop-contact-form-box { background:var(--gray-50); border:1px solid var(--gray-200); border-radius:var(--radius-xl); padding:40px; }
.aop-contact-sidebar { display:flex; flex-direction:column; gap:24px; }
.aop-contact-info-card { background:var(--gray-50); border:1px solid var(--gray-200); border-radius:var(--radius-lg); padding:32px; }
.aop-faq-item { padding:16px 0; border-top:1px solid var(--gray-200); }
.aop-faq-q { font-size:13px; font-weight:700; color:var(--dark); margin-bottom:6px; }
.aop-faq-a { font-size:13px; color:var(--gray-500); line-height:1.6; }
/* CF7 / WPForms styling */
.wpcf7-form label, .wpforms-field-label { display:block; font-size:11px; font-weight:700; color:var(--gray-500); letter-spacing:0.1em; text-transform:uppercase; margin-bottom:8px; }
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea,
.wpcf7-form select,
.wpforms-field input,
.wpforms-field textarea,
.wpforms-field select { width:100%; padding:14px 16px; border:1px solid var(--gray-200); border-radius:var(--radius-sm); font-family:var(--font); font-size:14px; font-weight:500; background:#fff; outline:none; transition:border-color 0.2s; }
.wpcf7-form input:focus,
.wpcf7-form textarea:focus,
.wpcf7-form select:focus { border-color:var(--red); }
.wpcf7-form input[type="submit"],
.wpforms-submit { width:100%; padding:16px; background:var(--red); color:#fff; border:none; border-radius:var(--radius-sm); font-family:var(--font); font-size:14px; font-weight:700; cursor:pointer; transition:background 0.2s; margin-top:8px; }
.wpcf7-form input[type="submit"]:hover,
.wpforms-submit:hover { background:#d32f3e; }

/* ─── 404 ─────────────────────────────────────────── */
.aop-404 { text-align:center; padding:160px 40px; }
.aop-404-code { font-size:120px; font-weight:700; color:var(--red); line-height:1; }
.aop-404-title { font-size:28px; font-weight:700; margin:16px 0 12px; }
.aop-404-desc { font-size:15px; color:var(--gray-500); margin-bottom:40px; }

/* ─── PAGINATION ─────────────────────────────────────── */
.aop-pagination { display:flex; justify-content:center; gap:8px; margin-top:48px; flex-wrap:wrap; }
.aop-pagination .page-numbers { font-size:13px; font-weight:600; padding:10px 18px; border:1px solid var(--gray-200); border-radius:8px; color:var(--gray-500); transition:all 0.2s; }
.aop-pagination .page-numbers:hover, .aop-pagination .page-numbers.current { background:var(--dark); color:#fff; border-color:var(--dark); }
.aop-pagination .prev, .aop-pagination .next { padding:10px 20px; }

/* ─── SEARCH FORM ─────────────────────────────────────── */
.aop-search-form { display:flex; gap:8px; max-width:480px; margin-bottom:40px; }
.aop-search-form input[type="search"] { flex:1; padding:12px 16px; border:1px solid var(--gray-200); border-radius:10px; font-family:var(--font); font-size:14px; outline:none; transition:border-color 0.2s; }
.aop-search-form input[type="search"]:focus { border-color:var(--red); }
.aop-search-form button { padding:12px 24px; background:var(--dark); color:#fff; border:none; border-radius:10px; font-family:var(--font); font-size:13px; font-weight:700; cursor:pointer; transition:background 0.2s; }
.aop-search-form button:hover { background:var(--gray-800); }

/* ─── CUSTOMIZER PAGE BUILDER ─────────────────────────────── */
.wp-block-group { margin-bottom:32px; }
.entry-content > * { margin-bottom:24px; }
.entry-content h2 { font-size:26px; font-weight:700; margin:48px 0 16px; }
.entry-content h3 { font-size:20px; font-weight:700; margin:40px 0 12px; }
.entry-content p { font-size:16px; color:var(--gray-600); line-height:1.85; }
.entry-content ul, .entry-content ol { padding-left:24px; }
.entry-content li { font-size:15px; color:var(--gray-600); line-height:1.8; margin-bottom:8px; }

/* ─── WIDGET STYLES ─────────────────────────────────── */
.widget { margin-bottom:32px; }
.widget:last-child { margin-bottom:0; }
.widget-title { font-size:14px; font-weight:700; color:var(--dark); margin-bottom:16px; padding-bottom:12px; border-bottom:2px solid var(--red); }
.widget ul { list-style:none; padding:0; margin:0; }
.widget ul li { padding:8px 0; border-bottom:1px solid var(--gray-200); }
.widget ul li:last-child { border-bottom:none; }
.widget ul li a { font-size:13px; font-weight:500; color:var(--gray-500); transition:color 0.2s; }
.widget ul li a:hover { color:var(--red); }
.widget_search input[type="search"] { width:100%; padding:12px 16px; border:1px solid var(--gray-200); border-radius:var(--radius-sm); font-family:var(--font); font-size:14px; }
.widget_search button { margin-top:8px; width:100%; }
.aop-sidebar { background:var(--gray-50); border-radius:var(--radius-xl); padding:32px; position:sticky; top:96px; }

/* ─── BREADCRUMB ─────────────────────────────────────── */
.aop-breadcrumb { font-size:12px; color:var(--gray-500); margin-bottom:24px; }
.aop-breadcrumb a { color:var(--gray-500); transition:color 0.2s; }
.aop-breadcrumb a:hover { color:var(--red); }

/* ─── RESPONSIVE ─────────────────────────────────────── */
@media (max-width:1024px) {
  .aop-grid-3, .aop-values-grid, .aop-stats-grid, .aop-contact-grid { grid-template-columns:repeat(2,1fr); }
  .aop-home-about-inner, .aop-about-hero-inner { flex-direction:column; gap:40px; }
  .aop-home-about-image, .aop-about-hero-image { width:100%; max-width:380px; height:280px; }
  .aop-featured-post { flex-direction:column; }
  .aop-featured-image { width:100%; max-width:100%; height:200px; }
  .aop-host-section { flex-direction:column; }
  .aop-ep-list-card { flex-direction:column; }
}
@media (max-width:768px) {
  .aop-container { padding:0 20px; }
  .aop-section { padding:64px 0; }
  .aop-section-sm { padding:40px 0; }
  .aop-nav-inner { padding:0 20px; }
  .aop-nav-links { display:none; }
  .aop-mobile-toggle { display:block; }
  .aop-hero-dark { padding:80px 0 64px; }
  .aop-hero-dark h1 { font-size:2.2rem; }
  .aop-grid-3, .aop-grid-2, .aop-values-grid, .aop-stats-grid, .aop-contact-grid { grid-template-columns:1fr; }
  .aop-home-about-inner { gap:32px; }
  .aop-home-cta-box { padding:40px 24px; }
  .aop-stats-row { gap:20px; }
  .aop-footer { padding:40px 20px 32px; }
  .aop-footer-top { flex-direction:column; }
  .aop-single-content { padding:0 20px; }
  .aop-ep-single-body { padding:40px 20px; }
  .aop-page-hero { padding:60px 0 48px; }
}
