/*
Theme Name: GTAside
Theme URI: https://gtaside.com
Author: GTAside
Description: Theme officiel du blog gtaside.com - identite neon reprise du site statique (Bebas Neue, Barlow, dark #0c1018, neons cyan/rose/jaune).
Version: 1.0.0
License: Proprietary
Text Domain: gtaside
*/

  :root {
    --pink: #ff2d78;
    --cyan: #00f5ff;
    --yellow: #ffe600;
    --dark: #0c1018;
    --dark2: #151e2a;
    --dark3: #1a2535;
    --surface: #1c2535;
    --border: rgba(255,255,255,0.07);
    --text: #e8eef5;
    --muted: #6b7a8d;
  }

  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; }
  body {
    background: var(--dark);
    color: var(--text);
    font-family: 'Barlow', sans-serif;
    font-weight: 300;
    overflow-x: hidden;
  }

  /* ─── NAV ─── */
  nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 100;
    display: flex; align-items: center; justify-content: center;
    padding: 16px 5vw;
    background: transparent;
  }
  .nav-inner {
    display: flex; align-items: center; justify-content: space-between;
    width: 100%; max-width: 1200px;
    padding: 0 28px;
    height: 52px;
    background: rgba(255,255,255,0.07);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border: 1px solid rgba(255,255,255,0.13);
    border-radius: 40px;
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  }
  nav.scrolled {
    padding: 0 0;
    background: rgba(7,10,15,0.92);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }
  nav.scrolled .nav-inner {
    max-width: 100%;
    border-radius: 0;
    border: none;
    background: transparent;
    padding: 0 5vw;
    height: 60px;
    backdrop-filter: none;
  }
  .nav-logo { font-family: 'Bebas Neue', sans-serif; font-size: 1.6rem; letter-spacing: 3px; color: var(--text); text-decoration: none; }
  .nav-logo span { color: var(--pink); }
  .nav-links { display: flex; gap: 2rem; list-style: none; align-items: center; }
  .nav-links a { font-family: 'Barlow Condensed', sans-serif; font-size: 0.8rem; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,0.88); text-decoration: none; transition: color 0.2s; }
  .nav-links a:hover { color: var(--cyan); }
  .nav-links a.active { color: var(--pink); }
  .nav-cta { background: var(--pink); color: #000 !important; padding: 8px 18px; border-radius: 3px; font-weight: 700 !important; }

  .nav-mobile-btns { display: none; align-items: center; gap: 8px; }
  .nav-mobile-btns a { font-family: 'Barlow Condensed', sans-serif; font-size: 0.65rem; letter-spacing: 1.5px; text-transform: uppercase; text-decoration: none; padding: 6px 10px; border-radius: 3px; border: 1px solid var(--border); color: var(--text); white-space: nowrap; }
  .nav-mobile-btns a.hot { background: var(--pink); color: #000; border-color: var(--pink); }
  .burger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 6px; background: none; border: none; margin-left: 8px; }
  .burger span { display: block; width: 22px; height: 2px; background: var(--text); border-radius: 2px; transition: all 0.3s; }
  .burger.open span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
  .burger.open span:nth-child(2) { opacity: 0; }
  .burger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }
  .mobile-menu { display: none; position: fixed; top: 64px; left: 0; right: 0; background: rgba(7,10,15,0.98); backdrop-filter: blur(20px); border-bottom: 1px solid var(--border); z-index: 99; padding: 16px 5vw 24px; flex-direction: column; gap: 4px; }
  .mobile-menu.open { display: flex; }
  .mobile-menu a { font-family: 'Barlow Condensed', sans-serif; font-size: 1rem; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); text-decoration: none; padding: 12px 0; border-bottom: 1px solid var(--border); transition: color 0.2s; display: flex; align-items: center; gap: 10px; }
  .mobile-menu a:hover { color: var(--cyan); }
  .mobile-menu a:last-child { border-bottom: none; color: var(--pink); }

  /* ─── HERO ─── */
  .page-hero {
    padding: 140px 5vw 80px;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid var(--border);
    min-height: 420px;
    display: flex;
    align-items: flex-end;
  }
  .hero-bg {
    position: absolute; inset: 0; z-index: 0;
  }
  .hero-bg img {
    width: 100%; height: 100%;
    object-fit: cover;
    object-position: center 40%;
    filter: brightness(0.9) saturate(1.05);
  }
  .hero-bg::after {
    content: '';
    position: absolute; inset: 0;
    background:
      linear-gradient(180deg, rgba(7,10,15,0.5) 0%, rgba(7,10,15,0.1) 30%, rgba(7,10,15,0.6) 100%),
      linear-gradient(90deg, rgba(7,10,15,0.65) 0%, rgba(7,10,15,0.1) 50%, transparent 70%);
  }
  .page-hero::after {
    content: '';
    position: absolute; bottom: 0; left: 0; right: 0; height: 2px;
    background: linear-gradient(90deg, transparent, rgba(255,45,120,0.6), rgba(0,245,255,0.4), transparent);
    z-index: 2;
  }
  .hero-inner { max-width: 1200px; margin: 0 auto; position: relative; z-index: 2; width: 100%; }
  .hero-eyebrow { font-family: 'Barlow Condensed', sans-serif; font-size: 0.7rem; letter-spacing: 4px; text-transform: uppercase; color: var(--cyan); margin-bottom: 12px; text-shadow: 0 1px 8px rgba(0,0,0,1); }
  .hero-title { font-family: 'Bebas Neue', sans-serif; font-size: clamp(3rem, 7vw, 6rem); letter-spacing: 2px; line-height: 1; margin-bottom: 16px; text-shadow: 0 2px 20px rgba(0,0,0,0.9), 0 4px 40px rgba(0,0,0,0.7); }
  .hero-title span { color: var(--pink); }
  .hero-sub { color: rgba(232,238,245,0.95); font-size: 1rem; max-width: 520px; line-height: 1.7; text-shadow: 0 1px 8px rgba(0,0,0,0.9); font-weight: 400; }

  /* ─── FILTERS ─── */
  .filters-wrap {
    max-width: 1200px; margin: 0 auto;
    padding: 56px 5vw 0;
    display: flex; gap: 10px; flex-wrap: wrap; align-items: center;
  }
  .filter-label { font-family: 'Barlow Condensed', sans-serif; font-size: 0.7rem; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); margin-right: 8px; }
  .filter-btn {
    font-family: 'Barlow Condensed', sans-serif; font-size: 0.72rem; letter-spacing: 2px; text-transform: uppercase;
    padding: 7px 16px; border-radius: 3px; cursor: pointer;
    border: 1px solid var(--border); background: transparent; color: var(--muted); transition: all 0.2s;
  }
  .filter-btn:hover { border-color: var(--pink); color: var(--pink); }
  .filter-btn.active { background: var(--pink); color: #000; border-color: var(--pink); font-weight: 700; }

  /* ─── SEARCH ─── */
  .search-wrap { max-width: 1200px; margin: 0 auto; padding: 20px 5vw 0; }
  .search-input {
    width: 100%; max-width: 440px;
    background: var(--surface); border: 1px solid var(--border);
    color: var(--text); font-family: 'Barlow', sans-serif; font-size: 0.9rem;
    padding: 12px 18px; border-radius: 5px; outline: none; transition: border-color 0.2s;
  }
  .search-input::placeholder { color: var(--muted); }
  .search-input:focus { border-color: rgba(255,45,120,0.5); }

  /* ─── FEATURED ARTICLE ─── */
  .featured-section { max-width: 1200px; margin: 0 auto; padding: 64px 5vw 0; }
  .featured-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 10px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 420px;
    position: relative;
    transition: border-color 0.3s;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
  }
  .featured-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, var(--pink), var(--cyan)); }
  .featured-card:hover { border-color: rgba(255,45,120,0.4); }
  .featured-img {
    background: var(--dark3);
    display: flex; align-items: center; justify-content: center;
    font-size: 4rem;
    position: relative; overflow: hidden;
  }
  .featured-img img { width: 100%; height: 100%; object-fit: cover; }
  .featured-img-placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; font-size: 5rem; background: linear-gradient(135deg, #1a0530, #0d1525); }
  .featured-body { padding: 56px 48px; display: flex; flex-direction: column; justify-content: center; }
  .featured-label { font-family: 'Barlow Condensed', sans-serif; font-size: 0.65rem; letter-spacing: 3px; text-transform: uppercase; color: var(--pink); margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }
  .featured-label span { background: var(--pink); color: #000; padding: 2px 8px; border-radius: 2px; font-weight: 700; }
  .featured-title { font-family: 'Bebas Neue', sans-serif; font-size: clamp(1.5rem, 3vw, 2.5rem); letter-spacing: 1px; line-height: 1.1; margin-bottom: 16px; }
  .featured-excerpt { color: var(--muted); font-size: 0.9rem; line-height: 1.7; margin-bottom: 24px; }
  .featured-meta { display: flex; align-items: center; gap: 16px; font-family: 'Barlow Condensed', sans-serif; font-size: 0.72rem; letter-spacing: 1px; color: var(--muted); text-transform: uppercase; }
  .featured-read { color: var(--cyan); font-weight: 700; margin-left: auto; }

  /* ─── ARTICLE GRID ─── */
  .articles-section { max-width: 1200px; margin: 0 auto; padding: 64px 5vw 100px; }
  .section-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 40px; flex-wrap: wrap; gap: 12px; }
  .section-title-sm { font-family: 'Bebas Neue', sans-serif; font-size: 1.8rem; letter-spacing: 1px; }
  .articles-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 28px; }

  /* ─── ARTICLE CARD ─── */
  .article-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.3s, border-color 0.3s;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    display: block;
  }
  .article-card:hover { transform: translateY(-4px); border-color: rgba(255,45,120,0.3); }
  .article-img {
    width: 100%; aspect-ratio: 16/8;
    background: var(--dark3);
    display: flex; align-items: center; justify-content: center;
    font-size: 2.5rem;
    position: relative; overflow: hidden;
  }
  .article-img img { width: 100%; height: 100%; object-fit: cover; }
  .article-cat-badge {
    position: absolute; bottom: 10px; left: 10px;
    font-family: 'Barlow Condensed', sans-serif; font-size: 0.6rem; letter-spacing: 1.5px; text-transform: uppercase;
    padding: 3px 8px; border-radius: 3px; font-weight: 700;
    background: var(--pink); color: #000;
  }
  .article-body { padding: 24px; }
  .article-cat { font-family: 'Barlow Condensed', sans-serif; font-size: 0.65rem; letter-spacing: 2px; text-transform: uppercase; color: var(--pink); margin-bottom: 8px; }
  .article-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 1.05rem; line-height: 1.3; margin-bottom: 10px; }
  .article-excerpt { font-size: 0.82rem; color: var(--muted); line-height: 1.6; margin-bottom: 14px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .article-meta { display: flex; align-items: center; justify-content: space-between; font-family: 'Barlow Condensed', sans-serif; font-size: 0.68rem; letter-spacing: 1px; text-transform: uppercase; color: var(--muted); }
  .article-read { color: var(--cyan); }

  /* ─── LOADING / STATES ─── */
  .loading-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 20px; }
  .skeleton-card { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
  .skeleton-img { width: 100%; aspect-ratio: 16/9; background: linear-gradient(90deg, var(--dark3) 25%, var(--surface) 50%, var(--dark3) 75%); background-size: 200% 100%; animation: shimmer 1.5s infinite; }
  .skeleton-body { padding: 20px; }
  .skeleton-line { height: 10px; border-radius: 5px; background: linear-gradient(90deg, var(--dark3) 25%, var(--surface) 50%, var(--dark3) 75%); background-size: 200% 100%; animation: shimmer 1.5s infinite; margin-bottom: 10px; }
  .skeleton-line.w80 { width: 80%; }
  .skeleton-line.w60 { width: 60%; }
  .skeleton-line.w40 { width: 40%; }
  @keyframes shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

  .empty-state { text-align: center; padding: 80px 20px; grid-column: 1/-1; }
  .empty-state .icon { font-size: 3rem; margin-bottom: 16px; }
  .empty-state h3 { font-family: 'Bebas Neue', sans-serif; font-size: 1.8rem; letter-spacing: 1px; margin-bottom: 8px; }
  .empty-state p { color: var(--muted); font-size: 0.9rem; }

  /* ─── PAGINATION ─── */
  .pagination { display: flex; justify-content: center; gap: 8px; margin-top: 48px; flex-wrap: wrap; }
  .page-btn {
    font-family: 'Barlow Condensed', sans-serif; font-size: 0.8rem; letter-spacing: 1px;
    padding: 8px 16px; border-radius: 4px; border: 1px solid var(--border);
    background: transparent; color: var(--muted); cursor: pointer; transition: all 0.2s;
  }
  .page-btn:hover { border-color: var(--pink); color: var(--pink); }
  .page-btn.active { background: var(--pink); color: #000; border-color: var(--pink); font-weight: 700; }
  .page-btn:disabled { opacity: 0.3; cursor: not-allowed; }

  /* ─── SIDEBAR / TAGS ─── */
  .main-layout { display: grid; grid-template-columns: 1fr 300px; gap: 56px; max-width: 1200px; margin: 0 auto; padding: 64px 5vw 120px; }
  .sidebar { display: flex; flex-direction: column; gap: 24px; }
  .sidebar-block { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 24px; }
  .sidebar-title { font-family: 'Bebas Neue', sans-serif; font-size: 1.2rem; letter-spacing: 1px; margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid var(--border); }
  .tag-cloud { display: flex; flex-wrap: wrap; gap: 8px; }
  .tag { font-family: 'Barlow Condensed', sans-serif; font-size: 0.7rem; letter-spacing: 1.5px; text-transform: uppercase; padding: 5px 12px; border-radius: 3px; border: 1px solid var(--border); color: var(--muted); cursor: pointer; transition: all 0.2s; }
  .tag:hover { border-color: var(--cyan); color: var(--cyan); }
  .trending-item { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--border); cursor: pointer; transition: opacity 0.2s; text-decoration: none; color: inherit; }
  .trending-item:last-child { border-bottom: none; padding-bottom: 0; }
  .trending-item:hover { opacity: 0.75; }
  .trending-num { font-family: 'Bebas Neue', sans-serif; font-size: 1.5rem; color: var(--pink); line-height: 1; flex-shrink: 0; width: 24px; }
  .trending-title { font-size: 0.82rem; line-height: 1.4; }
  .newsletter-sidebar input { width: 100%; background: var(--dark3); border: 1px solid var(--border); color: var(--text); font-family: 'Barlow', sans-serif; font-size: 0.85rem; padding: 10px 14px; border-radius: 4px; outline: none; margin-bottom: 10px; }
  .newsletter-sidebar input::placeholder { color: var(--muted); }
  .newsletter-sidebar button { width: 100%; background: var(--pink); color: #000; font-family: 'Barlow Condensed', sans-serif; font-size: 0.8rem; letter-spacing: 2px; text-transform: uppercase; font-weight: 700; padding: 11px; border-radius: 4px; border: none; cursor: pointer; transition: background 0.2s; }
  .newsletter-sidebar button:hover { background: #fff; }

  
  /* ─── RESPONSIVE ─── */
  @media (max-width: 900px) {
    .main-layout { grid-template-columns: 1fr; }
    .sidebar { display: none; }
    .featured-card { grid-template-columns: 1fr; }
    .featured-img { min-height: 200px; }
  }
  @media (max-width: 768px) {
    .nav-links { display: none; }
    .nav-mobile-btns { display: flex; }
    .burger { display: flex; }
    .articles-grid { grid-template-columns: 1fr; }
  }

  /* Reveal */
  .reveal { opacity: 0; transform: translateY(16px); transition: opacity 0.6s, transform 0.6s; }
  .revealed { opacity: 1; transform: translateY(0); }

  
  /* ─── ARTICLE DETAIL ─── */
  .article-detail { display: none; max-width: 800px; margin: 0 auto; padding: 64px 5vw 100px; }
  .article-detail.active { display: block; }
  .article-back { display: inline-flex; align-items: center; gap: 8px; font-family: 'Barlow Condensed', sans-serif; font-size: 0.75rem; letter-spacing: 2px; text-transform: uppercase; color: var(--pink); text-decoration: none; margin-bottom: 32px; cursor: pointer; transition: opacity 0.2s; }
  .article-back:hover { opacity: 0.7; }
  .article-detail-cat { font-family: 'Barlow Condensed', sans-serif; font-size: 0.65rem; letter-spacing: 2px; text-transform: uppercase; color: var(--pink); margin-bottom: 12px; }
  .article-detail-title { font-family: 'Bebas Neue', sans-serif; font-size: clamp(2rem, 5vw, 3rem); letter-spacing: 2px; line-height: 1.1; margin-bottom: 16px; }
  .article-detail-meta { font-family: 'Barlow Condensed', sans-serif; font-size: 0.72rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--muted); margin-bottom: 32px; display: flex; gap: 16px; }
  .article-detail-img { width: 100%; border-radius: 10px; overflow: hidden; margin-bottom: 32px; border: 1px solid var(--border); }
  .article-detail-img img { width: 100%; display: block; }
  .article-detail-content { font-size: 0.95rem; line-height: 1.9; color: rgba(232,238,245,0.88); }
  .article-detail-content p { margin-bottom: 18px; }
  .article-detail-content h2 { font-family: 'Bebas Neue', sans-serif; font-size: 1.6rem; letter-spacing: 2px; margin: 32px 0 12px; color: var(--text); }
  .article-detail-content h3 { font-family: 'Barlow Condensed', sans-serif; font-size: 1.1rem; letter-spacing: 1px; font-weight: 700; margin: 24px 0 10px; color: var(--cyan); }
  .article-detail-content img { max-width: 100%; border-radius: 8px; margin: 16px 0; }
  .article-detail-content a { color: var(--pink); text-decoration: underline; }
  .article-detail-content blockquote { border-left: 3px solid var(--pink); padding: 12px 20px; margin: 20px 0; background: rgba(255,45,120,0.05); border-radius: 0 6px 6px 0; font-style: italic; color: var(--muted); }
  .article-detail-content ul, .article-detail-content ol { padding-left: 24px; margin-bottom: 18px; }
  .article-detail-content li { margin-bottom: 8px; }

  /* ─── FOOTER ─── */
  footer {
    background: var(--dark2); border-top: 1px solid var(--border);
    padding: 40px 5vw 28px;
  }

  .footer-inner { max-width: 1200px; margin: 0 auto; }

  .footer-top {
    display: flex; justify-content: space-between;
    align-items: flex-start; flex-wrap: wrap; gap: 32px;
    padding-bottom: 32px; border-bottom: 1px solid var(--border); margin-bottom: 24px;
  }

  .footer-logo {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 1.6rem; letter-spacing: 3px; margin-bottom: 10px;
  }
  .footer-logo span { color: var(--pink); }

  .footer-tagline { font-size: 0.82rem; color: var(--muted); line-height: 1.6; max-width: 260px; }

  .footer-links { display: flex; gap: 48px; flex-wrap: wrap; }
  .footer-col-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.7rem; letter-spacing: 3px; text-transform: uppercase;
    color: var(--text); margin-bottom: 14px;
  }
  .footer-col ul { list-style: none; }
  .footer-col li { margin-bottom: 8px; }
  .footer-col a {
    font-size: 0.83rem; color: var(--muted); text-decoration: none; transition: color 0.2s;
  }
  .footer-col a:hover { color: var(--pink); }

  .footer-bottom {
    display: flex; justify-content: space-between;
    align-items: center; flex-wrap: wrap; gap: 12px;
  }
  .footer-copy { font-size: 0.76rem; color: var(--muted); }
  .footer-disclaimer { font-size: 0.7rem; color: rgba(107,122,141,0.55); max-width: 480px; text-align: right; line-height: 1.5; }

  @media (max-width: 768px) {
    .footer-links { gap: 24px; }
    .footer-disclaimer { text-align: left; max-width: 100%; }
  }

  /* ─── DROPDOWN NAV ─── */
  .nav-links li { position: relative; }
  .nav-links li:hover > .dropdown { display: block; }
  .dropdown {
    display: none;
    position: absolute; top: 100%; left: 50%;
    transform: translateX(-50%);
    background: rgba(12,16,24,0.98);
    backdrop-filter: blur(20px);
    border: 1px solid var(--border);
    border-top: 2px solid var(--pink);
    border-radius: 0 0 8px 8px;
    padding: 8px 0;
    min-width: 180px;
    z-index: 200;
    box-shadow: 0 20px 40px rgba(0,0,0,0.4);
  }
  .dropdown a {
    display: block !important;
    padding: 9px 18px !important;
    font-family: 'Barlow Condensed', sans-serif !important;
    font-size: 0.75rem !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: var(--muted) !important;
    text-decoration: none !important;
    white-space: nowrap;
    transition: all 0.15s !important;
    border-bottom: 1px solid var(--border);
  }
  .dropdown a:last-child { border-bottom: none; }
  .dropdown a:hover { color: var(--pink) !important; background: rgba(255,45,120,0.06); padding-left: 22px !important; }
  .dropdown a.soon { opacity: 0.45; pointer-events: none; }
  .dropdown a.soon::after { content: ' — Bientôt'; font-size: 0.6rem; color: var(--yellow); }
  .nav-links > li > a.has-dropdown::after { content: ' ▾'; font-size: 0.6rem; }

/* ===== Blog (theme WordPress) ===== */
.blog-wrap{max-width:1200px;margin:0 auto;padding:110px 24px 60px}
.blog-hero{text-align:center;margin-bottom:44px}
.blog-hero h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.6rem,6vw,4.2rem);letter-spacing:2px;color:var(--text)}
.blog-hero h1 span{color:var(--cyan)}
.blog-hero p{color:var(--muted);font-family:'Barlow',sans-serif;margin-top:6px}
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px}
.post-card{background:var(--surface);border:1px solid rgba(0,245,255,0.12);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:transform .15s ease,border-color .15s ease}
.post-card:hover{transform:translateY(-3px);border-color:rgba(0,245,255,0.45)}
.post-card .thumb{aspect-ratio:16/9;background:#0d1421 center/cover no-repeat;display:block}
.post-card .body{padding:18px 18px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.post-card .cat,.post-featured .cat{align-self:flex-start;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--yellow);border:1px solid rgba(255,230,0,.35);padding:2px 8px;border-radius:3px}
.post-card h2{font-family:'Bebas Neue',sans-serif;font-size:1.45rem;letter-spacing:1px;line-height:1.1}
.post-card h2 a{color:var(--text);text-decoration:none}
.post-card h2 a:hover{color:var(--cyan)}
.post-card .excerpt,.post-featured .excerpt{color:var(--muted);font-family:'Barlow',sans-serif;font-size:.92rem;line-height:1.5;flex:1}
.post-card .meta,.post-featured .meta{color:var(--muted);font-family:'Barlow Condensed',sans-serif;font-size:.8rem;letter-spacing:1px;text-transform:uppercase}
.gt-article{max-width:820px;margin:0 auto;padding:110px 24px 70px}
.gt-article .crumbs{font-family:'Barlow Condensed',sans-serif;font-size:.85rem;letter-spacing:1px;text-transform:uppercase;margin-bottom:18px}
.gt-article .crumbs a{color:var(--cyan);text-decoration:none}
.gt-article h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.2rem,5vw,3.4rem);letter-spacing:1.5px;line-height:1.05;color:var(--text);margin-bottom:14px}
.gt-article .a-meta{display:flex;flex-wrap:wrap;gap:14px;color:var(--muted);font-family:'Barlow Condensed',sans-serif;font-size:.85rem;letter-spacing:1px;text-transform:uppercase;border-bottom:1px solid rgba(0,245,255,.15);padding-bottom:16px;margin-bottom:26px}
.gt-article .a-meta b{color:var(--yellow);font-weight:700}
.a-thumb{width:100%;border-radius:10px;margin-bottom:26px;border:1px solid rgba(0,245,255,.15)}
.prose{font-family:'Barlow',sans-serif;color:var(--text);font-size:1.05rem;line-height:1.75}
.prose p{margin:0 0 1.1em}
.prose h2{font-family:'Bebas Neue',sans-serif;color:var(--cyan);font-size:1.9rem;letter-spacing:1.5px;margin:1.6em 0 .5em}
.prose h3{font-family:'Bebas Neue',sans-serif;color:var(--text);font-size:1.4rem;letter-spacing:1px;margin:1.4em 0 .4em}
.prose a{color:var(--cyan)}
.prose img{max-width:100%;border-radius:8px;border:1px solid rgba(0,245,255,.15)}
.prose blockquote{border-left:3px solid var(--pink);margin:1.2em 0;padding:.4em 0 .4em 1em;color:var(--muted);font-style:italic}
.prose ul,.prose ol{margin:0 0 1.1em 1.4em}
.prose li{margin:.35em 0}
.prose table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:.95rem}
.prose th,.prose td{border:1px solid rgba(0,245,255,.15);padding:8px 12px;text-align:left}
.prose th{background:rgba(0,245,255,.07);font-family:'Barlow Condensed',sans-serif;letter-spacing:1px;text-transform:uppercase}
.prose code{background:#0d1421;border:1px solid rgba(0,245,255,.15);border-radius:4px;padding:1px 6px;font-size:.9em}
.a-nav{display:flex;justify-content:space-between;gap:16px;margin-top:44px;padding-top:22px;border-top:1px solid rgba(0,245,255,.15);font-family:'Barlow Condensed',sans-serif;letter-spacing:1px;text-transform:uppercase;font-size:.9rem}
.a-nav a{color:var(--cyan);text-decoration:none;max-width:46%}
.a-nav a:hover{color:var(--pink)}
.blog-pagination{display:flex;justify-content:center;gap:10px;margin-top:40px;font-family:'Barlow Condensed',sans-serif;letter-spacing:1px;text-transform:uppercase}
.blog-pagination a,.blog-pagination span{color:var(--cyan);border:1px solid rgba(0,245,255,.25);border-radius:6px;padding:8px 14px;text-decoration:none}
.blog-pagination span.current{color:var(--dark);background:var(--cyan);font-weight:700}
.updated-badge{color:var(--muted)}

/* Visuel de secours : jamais de carte nue (degrades neon + icone) */
.thumb-fb{display:flex;align-items:center;justify-content:center;position:relative;text-decoration:none}
.thumb-fb .fb-ico{font-size:2.6rem;filter:drop-shadow(0 2px 10px rgba(0,0,0,.45))}
.thumb-fb::after{content:'GTASIDE';position:absolute;bottom:8px;right:12px;font-family:'Bebas Neue',sans-serif;letter-spacing:3px;font-size:.7rem;color:rgba(255,255,255,.4)}
.fb-0{background:linear-gradient(135deg,#00c3cc 0%,#0a2d5e 100%)}
.fb-1{background:linear-gradient(135deg,#ff2d78 0%,#4a1140 100%)}
.fb-2{background:linear-gradient(135deg,#ffb800 0%,#7a2d00 100%)}
.fb-3{background:linear-gradient(135deg,#00f5ff 0%,#ff2d78 100%)}
/* Carte vedette : premier article du hub en pleine largeur */
.post-featured{grid-column:1/-1;display:grid;grid-template-columns:1.15fr 1fr;background:var(--surface);border:1px solid rgba(0,245,255,0.18);border-radius:12px;overflow:hidden;transition:border-color .15s ease}
.post-featured:hover{border-color:rgba(0,245,255,0.5)}
.post-featured .thumb{aspect-ratio:auto;min-height:280px;background-position:center;background-size:cover}
.post-featured .body{padding:28px;display:flex;flex-direction:column;gap:12px;justify-content:center}
.post-featured .fbadge{align-self:flex-start;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--dark);background:var(--yellow);padding:3px 10px;border-radius:3px}
.post-featured h2{font-family:'Bebas Neue',sans-serif;font-size:2.1rem;letter-spacing:1.2px;line-height:1.05}
.post-featured h2 a{color:var(--text);text-decoration:none}
.post-featured h2 a:hover{color:var(--cyan)}
@media(max-width:760px){.post-featured{grid-template-columns:1fr}.post-featured .thumb{min-height:200px}}

/* Filtres par categorie : pills neon retravaillees */
.filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 18px}
.f-pill{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.88rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:9px 20px;border:1px solid rgba(232,238,245,.14);border-radius:999px;transition:all .15s ease;background:rgba(28,37,53,.55)}
.f-pill:hover{color:var(--cyan);border-color:rgba(0,245,255,.5);box-shadow:0 0 14px rgba(0,245,255,.12)}
.f-pill.active{color:var(--dark);background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 18px rgba(0,245,255,.35)}
.blog-search{display:flex;justify-content:center;gap:0;max-width:520px;margin:0 auto 40px}
.blog-search input{flex:1;background:rgba(28,37,53,.7);border:1px solid rgba(232,238,245,.14);border-right:none;border-radius:999px 0 0 999px;padding:12px 22px;color:var(--text);font-family:'Barlow',sans-serif;font-size:.95rem;outline:none;transition:border-color .15s}
.blog-search input:focus{border-color:rgba(0,245,255,.55)}
.blog-search button{font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:2px;text-transform:uppercase;background:var(--pink);color:#fff;border:none;border-radius:0 999px 999px 0;padding:12px 26px;cursor:pointer;transition:filter .15s}
.blog-search button:hover{filter:brightness(1.15)}
