/*
Theme Name: MyGSM
Theme URI: https://mygsm.fr
Author: MyGSM
Description: Thème moderne pour MyGSM.fr — Actualités, tests et astuces smartphones.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: mygsm
Tags: blog, news, technology, smartphone, responsive, dark
*/

/* ============================================================
   VARIABLES & RESET
============================================================ */
:root {
  --clr-bg:       #0a0c10;
  --clr-surface:  #111520;
  --clr-card:     #161b28;
  --clr-border:   #1f2738;
  --clr-accent:   #00d4ff;
  --clr-accent2:  #7c3aed;
  --clr-text:     #e2e8f0;
  --clr-muted:    #8892a4;
  --clr-white:    #ffffff;
  --ff-display:   'Inter', sans-serif;
  --ff-body:      'Inter', sans-serif;
  --ff-mono:      'JetBrains Mono', monospace;
  --radius-sm:    6px;
  --radius-md:    12px;
  --radius-lg:    20px;
  --radius-full:  9999px;
  --shadow-card:  0 4px 24px rgba(0,0,0,.4);
  --shadow-glow:  0 0 30px rgba(0,212,255,.15);
  --transition:   all .2s cubic-bezier(.4,0,.2,1);
  --max-width:    1280px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--ff-body);background:var(--clr-bg);color:var(--clr-text);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--clr-accent);text-decoration:none;transition:var(--transition)}
a:hover{color:var(--clr-white)}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}

/* ============================================================
   LAYOUT
============================================================ */
.container{max-width:var(--max-width);margin:0 auto;padding:0 20px}
.site-wrapper{min-height:100vh;display:flex;flex-direction:column}
.site-content{flex:1}

/* ============================================================
   HEADER
============================================================ */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(10,12,16,.92);backdrop-filter:blur(20px);border-bottom:1px solid var(--clr-border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px;gap:24px}
.site-logo{display:flex;align-items:center;gap:10px;font-family:var(--ff-display);font-size:1.5rem;font-weight:800;color:var(--clr-white);letter-spacing:-1px;white-space:nowrap}
.site-logo span{color:var(--clr-accent)}
.logo-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--clr-accent),var(--clr-accent2));border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:.85rem}
/* titres un peu plus marqués avec Inter */
.section-title,
.card-title,
.post-header h1,
.post-body h2,
.post-body h3,
#reply-title,
.widget-title,
.footer-col h4,
.featured-post .post-content h2 {
  font-weight: 800;
  letter-spacing: -.03em;
}

.nav-primary{display:flex;align-items:center;flex:1;justify-content:center}
.nav-primary > ul{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.nav-primary > ul > li{position:relative}
.nav-primary > ul > li > a{display:block;color:var(--clr-muted);font-size:.875rem;font-weight:500;padding:7px 14px;border-radius:var(--radius-full);transition:var(--transition);white-space:nowrap;line-height:1}
.nav-primary > ul > li > a:hover,
.nav-primary > ul > li.current-menu-item > a,
.nav-primary > ul > li.current-menu-ancestor > a{color:var(--clr-white);background:var(--clr-border)}
/* sous-menus */
.nav-primary ul ul{display:none;position:absolute;top:calc(100% + 8px);left:0;min-width:200px;background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:8px;z-index:100;box-shadow:var(--shadow-card)}
.nav-primary ul ul li a{display:block;padding:8px 14px;font-size:.85rem;color:var(--clr-muted);border-radius:var(--radius-sm);transition:var(--transition)}
.nav-primary ul ul li a:hover{color:var(--clr-accent);background:rgba(0,212,255,.06)}
.nav-primary ul li:hover > ul{display:block}
.header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.btn-search{background:none;border:1px solid var(--clr-border);color:var(--clr-muted);width:38px;height:38px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:var(--transition)}
.btn-search:hover{border-color:var(--clr-accent);color:var(--clr-accent)}
.btn-newsletter{background:linear-gradient(135deg,var(--clr-accent),var(--clr-accent2));color:var(--clr-bg)!important;font-size:.8rem;font-weight:700;padding:8px 18px;border-radius:var(--radius-full);letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}
.btn-newsletter:hover{opacity:.85;transform:translateY(-1px)}

/* Theme toggle button */
.btn-theme-toggle{background:none;border:1px solid var(--clr-border);color:var(--clr-muted);width:38px;height:38px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:var(--transition)}
.btn-theme-toggle:hover{border-color:var(--clr-accent);color:var(--clr-accent)}

.menu-toggle{display:none;background:none;border:1px solid var(--clr-border);color:var(--clr-text);width:38px;height:38px;border-radius:var(--radius-sm);cursor:pointer;font-size:1.1rem;align-items:center;justify-content:center;transition:var(--transition)}

/* ============================================================
   HERO
============================================================ */
.hero-section{padding:48px 0 40px;background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(0,212,255,.08) 0%,transparent 70%)}
.hero-grid{display:grid;grid-template-columns:1fr 340px;gap:24px;align-items:start}
.featured-post{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--clr-card);border:1px solid var(--clr-border);transition:var(--transition)}
.featured-post:hover{transform:translateY(-4px);box-shadow:var(--shadow-glow);border-color:rgba(0,212,255,.3)}
.featured-post .post-thumbnail{aspect-ratio:16/9;overflow:hidden}
.featured-post .post-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.featured-post:hover .post-thumbnail img{transform:scale(1.04)}
.featured-post .post-thumbnail-placeholder{aspect-ratio:16/9;background:linear-gradient(135deg,#111520,#1a2035);display:flex;align-items:center;justify-content:center;font-size:4rem}
.featured-post .post-content{padding:28px}
.featured-badge{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--clr-accent);margin-bottom:12px}
.featured-badge::before{content:'';width:6px;height:6px;background:var(--clr-accent);border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.hero-sidebar{display:flex;flex-direction:column;gap:12px}
.sidebar-post{display:flex;gap:14px;align-items:center;padding:14px;background:var(--clr-card);border:1px solid var(--clr-border);border-radius:var(--radius-md);transition:var(--transition)}
.sidebar-post:hover{border-color:rgba(0,212,255,.3);transform:translateX(4px)}
.sidebar-post .thumb{width:80px;height:60px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;background:var(--clr-surface);display:flex;align-items:center;justify-content:center;font-size:1.5rem}
.sidebar-post .thumb img{width:100%;height:100%;object-fit:cover}
.sidebar-post .info{flex:1;min-width:0}
.sidebar-post .info h4{font-size:.85rem;font-weight:600;color:var(--clr-text);line-height:1.35;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sidebar-post:hover .info h4{color:var(--clr-accent)}

/* ============================================================
   CATEGORIES BAR
============================================================ */
.categories-bar{padding:16px 0;border-bottom:1px solid var(--clr-border);overflow-x:auto;scrollbar-width:none}
.categories-bar::-webkit-scrollbar{display:none}
.categories-list{display:flex;gap:10px;align-items:center;flex-wrap:nowrap;white-space:nowrap}
.cat-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;border-radius:var(--radius-full);font-size:.8rem;font-weight:600;border:1px solid var(--clr-border);color:var(--clr-muted);background:var(--clr-card);transition:var(--transition)}
.cat-chip:hover,.cat-chip.active{background:var(--clr-accent);color:var(--clr-bg);border-color:var(--clr-accent)}

/* ============================================================
   POSTS GRID
============================================================ */
.posts-section{padding:40px 0}
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid var(--clr-border)}
.section-title{font-family:var(--ff-display);font-size:1.4rem;font-weight:700;color:var(--clr-white);display:flex;align-items:center;gap:10px}
.section-title::after{content:'';width:30px;height:3px;background:var(--clr-accent);border-radius:2px}
.see-all{font-size:.8rem;font-weight:600;color:var(--clr-accent);text-transform:uppercase;letter-spacing:.5px;border:1px solid rgba(0,212,255,.3);padding:6px 14px;border-radius:var(--radius-full);transition:var(--transition)}
.see-all:hover{background:rgba(0,212,255,.1)}
.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

/* Post Card */
.post-card{background:var(--clr-card);border:1px solid var(--clr-border);border-radius:var(--radius-md);overflow:hidden;transition:var(--transition);display:flex;flex-direction:column}
.post-card:hover{border-color:rgba(0,212,255,.3);transform:translateY(-4px);box-shadow:var(--shadow-card),0 0 20px rgba(0,212,255,.08)}
.post-card .card-thumb{aspect-ratio:16/9;overflow:hidden;background:var(--clr-surface);display:flex;align-items:center;justify-content:center;font-size:2.5rem;position:relative}
.post-card .card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.post-card:hover .card-thumb img{transform:scale(1.06)}
.card-body{padding:20px;flex:1;display:flex;flex-direction:column}
.card-meta{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.card-cat{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;padding:3px 10px;border-radius:var(--radius-full);background:rgba(0,212,255,.1);color:var(--clr-accent)}
.card-date{font-size:.75rem;color:var(--clr-muted);font-family:var(--ff-mono)}
.card-title{font-family:var(--ff-display);font-size:1rem;font-weight:700;color:var(--clr-white);line-height:1.4;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:var(--transition)}
.post-card:hover .card-title{color:var(--clr-accent)}
.card-excerpt{font-size:.85rem;color:var(--clr-muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:16px;flex:1}
.card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--clr-border)}
.card-author{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--clr-muted)}
.author-avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--clr-accent),var(--clr-accent2));display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--clr-bg);font-weight:700}
.card-read-time{font-size:.75rem;color:var(--clr-muted);font-family:var(--ff-mono)}
.score-badge{position:absolute;top:12px;right:12px;background:linear-gradient(135deg,var(--clr-accent),var(--clr-accent2));color:var(--clr-bg);font-family:var(--ff-display);font-size:1.1rem;font-weight:800;width:48px;height:48px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;z-index:1}

/* ============================================================
   SINGLE POST
============================================================ */
.single-post{padding:48px 0 60px}
.post-layout{display:grid;grid-template-columns:1fr 320px;gap:48px;align-items:start}
.post-header{margin-bottom:32px}
.post-header .post-meta{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.post-header h1{font-family:var(--ff-display);font-size:2.4rem;font-weight:800;color:var(--clr-white);line-height:1.25;letter-spacing:-1px;margin-bottom:20px}
.post-featured-image{border-radius:var(--radius-lg);overflow:hidden;margin-bottom:40px;border:1px solid var(--clr-border)}
.post-featured-image img{width:100%}
.post-body{font-size:1.05rem;line-height:1.8;color:var(--clr-text)}
.post-body h2{font-family:var(--ff-display);font-size:1.6rem;font-weight:700;color:var(--clr-white);margin:40px 0 16px;letter-spacing:-.5px}
.post-body h3{font-family:var(--ff-display);font-size:1.25rem;font-weight:600;color:var(--clr-white);margin:28px 0 12px}
.post-body p{margin-bottom:20px}
.post-body a{color:var(--clr-accent)}
.post-body ul,.post-body ol{margin:0 0 20px 24px;list-style:initial}
.post-body li{margin-bottom:8px}
.post-body blockquote{border-left:3px solid var(--clr-accent);background:var(--clr-card);padding:20px 24px;border-radius:0 var(--radius-md) var(--radius-md) 0;margin:28px 0;font-style:italic;color:var(--clr-muted)}
.post-body pre{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:20px;overflow-x:auto;font-family:var(--ff-mono);font-size:.875rem;margin:20px 0}
.post-body img{border-radius:var(--radius-md);margin:24px 0}
.post-tags{margin-top:32px;padding-top:24px;border-top:1px solid var(--clr-border)}
.tags-list{display:flex;gap:8px;flex-wrap:wrap}
.tag-chip{padding:5px 14px;font-size:.8rem;background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-full);color:var(--clr-muted);transition:var(--transition)}
.tag-chip:hover{border-color:var(--clr-accent);color:var(--clr-accent)}

/* Sidebar */
.sidebar-widget{background:var(--clr-card);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:24px;margin-bottom:24px}
.widget-title{font-family:var(--ff-display);font-size:1rem;font-weight:700;color:var(--clr-white);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--clr-border);display:flex;align-items:center;gap:8px}
.score-ring{width:100px;height:100px;border-radius:50%;background:conic-gradient(var(--clr-accent) var(--score-pct,0%),var(--clr-surface) 0%);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;position:relative}
.score-ring::before{content:'';position:absolute;inset:8px;background:var(--clr-card);border-radius:50%}
.score-value{font-family:var(--ff-display);font-size:1.6rem;font-weight:800;color:var(--clr-accent);position:relative;z-index:1}
.criteria-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--clr-border);font-size:.85rem}
.criteria-item:last-child{border:none}
.criteria-bar{width:80px;height:4px;background:var(--clr-surface);border-radius:2px;overflow:hidden}
.criteria-bar-fill{height:100%;background:linear-gradient(90deg,var(--clr-accent),var(--clr-accent2));border-radius:2px}

/* ============================================================
   NEWSLETTER
============================================================ */
.newsletter-section{padding:60px 0;background:linear-gradient(135deg,rgba(0,212,255,.05),rgba(124,58,237,.05));border-top:1px solid var(--clr-border);border-bottom:1px solid var(--clr-border)}
.newsletter-inner{max-width:560px;margin:0 auto;text-align:center}
.newsletter-icon{font-size:2.5rem;margin-bottom:16px}
.newsletter-inner h2{font-family:var(--ff-display);font-size:1.8rem;font-weight:800;color:var(--clr-white);margin-bottom:10px}
.newsletter-inner p{color:var(--clr-muted);margin-bottom:28px}
.newsletter-form{display:flex;gap:10px;justify-content:center}
.newsletter-form input{flex:1;max-width:320px;padding:12px 18px;background:var(--clr-card);border:1px solid var(--clr-border);border-radius:var(--radius-full);color:var(--clr-text);font-family:var(--ff-body);font-size:.9rem;outline:none;transition:var(--transition)}
.newsletter-form input:focus{border-color:var(--clr-accent)}
.newsletter-form input::placeholder{color:var(--clr-muted)}
.btn-subscribe{background:linear-gradient(135deg,var(--clr-accent),var(--clr-accent2));color:var(--clr-bg);border:none;padding:12px 24px;border-radius:var(--radius-full);font-family:var(--ff-body);font-size:.9rem;font-weight:700;cursor:pointer;transition:var(--transition)}
.btn-subscribe:hover{opacity:.85;transform:translateY(-1px)}

/* ============================================================
   FOOTER
============================================================ */
.site-footer{background:var(--clr-surface);border-top:1px solid var(--clr-border);padding:48px 0 24px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
.footer-brand p{font-size:.875rem;color:var(--clr-muted);margin:12px 0 20px;line-height:1.7}
.social-links{display:flex;gap:10px}
.social-link{width:38px;height:38px;background:var(--clr-card);border:1px solid var(--clr-border);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--clr-muted);font-size:.9rem;transition:var(--transition)}
.social-link:hover{background:rgba(0,212,255,.1);border-color:var(--clr-accent);color:var(--clr-accent)}
.footer-col h4{font-family:var(--ff-display);font-size:.95rem;font-weight:700;color:var(--clr-white);margin-bottom:16px}
.footer-col ul li{margin-bottom:10px}
.footer-col ul li a{font-size:.875rem;color:var(--clr-muted);transition:var(--transition)}
.footer-col ul li a:hover{color:var(--clr-accent);padding-left:4px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:24px;border-top:1px solid var(--clr-border);font-size:.8rem;color:var(--clr-muted)}

/* ============================================================
   BREADCRUMB / PAGINATION / SEARCH
============================================================ */
.breadcrumb{padding:16px 0;border-bottom:1px solid var(--clr-border);font-size:.8rem;color:var(--clr-muted)}
.breadcrumb a{color:var(--clr-muted)}
.breadcrumb a:hover{color:var(--clr-accent)}
.breadcrumb span.sep{margin:0 8px}
.pagination{display:flex;gap:8px;justify-content:center;margin-top:48px}
.page-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;background:var(--clr-card);border:1px solid var(--clr-border);color:var(--clr-muted);transition:var(--transition)}
.page-btn:hover,.page-btn.active{background:var(--clr-accent);color:var(--clr-bg);border-color:var(--clr-accent)}
.search-overlay{position:fixed;inset:0;background:rgba(10,12,16,.95);z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:80px;opacity:0;pointer-events:none;transition:opacity .2s ease}
.search-overlay.open{opacity:1;pointer-events:all}
.search-box{width:100%;max-width:680px;position:relative}
.search-box input{width:100%;padding:18px 60px 18px 24px;font-family:var(--ff-display);font-size:1.4rem;background:var(--clr-card);border:2px solid var(--clr-accent);border-radius:var(--radius-lg);color:var(--clr-white);outline:none}
.search-box input::placeholder{color:var(--clr-muted)}
.search-close{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--clr-muted);font-size:1.3rem;cursor:pointer}

/* ============================================================
   RESPONSIVE
============================================================ */
@media(max-width:1024px){
  .hero-grid{grid-template-columns:1fr}
  .hero-sidebar{display:grid;grid-template-columns:1fr 1fr}
  .posts-grid{grid-template-columns:1fr 1fr}
  .post-layout{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .nav-primary{display:none}
  .nav-primary.open{display:flex;position:absolute;top:64px;left:0;right:0;background:var(--clr-surface);padding:12px 16px;border-bottom:1px solid var(--clr-border);z-index:999}
  .nav-primary.open > ul{display:flex;flex-direction:column;width:100%;gap:2px}
  .nav-primary.open > ul > li > a{padding:10px 14px;border-radius:var(--radius-md)}
  .menu-toggle{display:flex}
  .btn-newsletter{display:none}
  .posts-grid{grid-template-columns:1fr}
  .hero-sidebar{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .post-header h1{font-size:1.8rem}
  .newsletter-form{flex-direction:column;align-items:center}
  .newsletter-form input{max-width:100%}
}
@media(max-width:480px){
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:8px;text-align:center}
}

/* ============================================================
   LIGHT MODE
============================================================ */
body { transition: background .3s ease, color .3s ease; }

body.light-mode {
  --clr-bg:       #f4f6fb;
  --clr-surface:  #eaecf4;
  --clr-card:     #ffffff;
  --clr-border:   #d0d5e8;
  --clr-accent:   #0099cc;
  --clr-accent2:  #6d28d9;
  --clr-text:     #1a202c;
  --clr-muted:    #5a6480;
  --clr-white:    #0a0c10;
}
body.light-mode .site-header { background: rgba(244,246,251,.94); }
body.light-mode .search-overlay { background: rgba(244,246,251,.97); }
body.light-mode .hero-section { background: radial-gradient(ellipse 80% 50% at 50% -10%, rgba(0,153,204,.08) 0%, transparent 70%); }
body.light-mode .site-logo { color: #0a0c10; }
body.light-mode .card-title { color: #0a0c10; }
body.light-mode .post-body h2,
body.light-mode .post-body h3,
body.light-mode .post-header h1,
body.light-mode .section-title,
body.light-mode .widget-title,
body.light-mode .footer-col h4 { color: #0a0c10; }
body.light-mode .nav-primary > ul > li > a:hover,
body.light-mode .nav-primary > ul > li.current-menu-item > a { color: #0a0c10; background: var(--clr-border); }
body.light-mode .score-ring { background: conic-gradient(var(--clr-accent) var(--score-pct,0%), var(--clr-surface) 0%); }
body.light-mode .score-ring::before { background: var(--clr-card); }
body.light-mode .btn-subscribe,
body.light-mode .comment-form #submit,
body.light-mode .btn-newsletter { color: #ffffff !important; }

/* Toggle button */
.btn-theme-toggle {
  background: none;
  border: 1px solid var(--clr-border);
  color: var(--clr-muted);
  width: 38px;
  height: 38px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  transition: var(--transition);
  flex-shrink: 0;
}
.btn-theme-toggle:hover { border-color: var(--clr-accent); color: var(--clr-accent); }

/* ============================================================
   COMMENTAIRES
============================================================ */
#comments {
  margin-top: 56px;
  padding-top: 40px;
  border-top: 2px solid var(--clr-border);
}

/* Liste des commentaires */
#comments .comment-list { list-style: none; margin: 0 0 48px; padding: 0; }
#comments .comment-list > li + li { margin-top: 16px; }
#comments .comment-list .children {
  padding-left: 32px;
  margin-top: 12px;
  border-left: 2px solid var(--clr-border);
}

/* ── Formulaire — carte conteneur ── */
#respond {
  background: var(--clr-card);
  border: 1px solid var(--clr-border);
  border-radius: var(--radius-lg);
  padding: 36px;
}

/* Titre du formulaire */
#reply-title {
  font-family: var(--ff-display);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--clr-white);
  margin: 0 0 8px !important;
  display: flex;
  align-items: center;
  gap: 10px;
}
#reply-title small { font-size: .75rem; font-weight: 400; margin-left: 8px; }
#reply-title small a { color: var(--clr-muted); font-family: var(--ff-body); }

/* Note obligatoire */
.comment-notes {
  font-size: .85rem;
  color: var(--clr-muted);
  margin: 0 0 28px !important;
  padding: 0;
}

/* Chaque <p> du formulaire */
.comment-form p {
  margin: 0 0 20px !important;
  padding: 0;
}

/* Labels — toujours AU-DESSUS du champ */
.comment-form label {
  display: block !important;
  font-size: .78rem;
  font-weight: 600;
  color: var(--clr-muted);
  text-transform: uppercase;
  letter-spacing: .6px;
  margin-bottom: 8px !important;
  line-height: 1;
}

/* Inputs & textarea */
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
  display: block;
  width: 100%;
  padding: 13px 16px;
  background: var(--clr-surface);
  border: 1px solid var(--clr-border);
  border-radius: var(--radius-md);
  color: var(--clr-text);
  font-family: var(--ff-body);
  font-size: .95rem;
  line-height: 1.5;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease;
  -webkit-appearance: none;
}
.comment-form input[type="text"]:focus,
.comment-form input[type="email"]:focus,
.comment-form textarea:focus {
  border-color: var(--clr-accent);
  box-shadow: 0 0 0 3px rgba(0,212,255,.1);
}

/* Textarea commentaire — grande et confortable */
.comment-form textarea#comment {
  min-height: 180px;
  resize: vertical;
  line-height: 1.7;
  font-size: .95rem;
}

/* Grille nom + email 2 colonnes */
.comment-form-fields-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.comment-form-fields-row p { margin: 0 !important; }

/* Checkbox cookies */
.comment-form-cookies-consent {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  margin-top: -4px !important;
}
.comment-form-cookies-consent input[type="checkbox"] {
  width: 16px;
  height: 16px;
  min-width: 16px;
  margin-top: 2px;
  accent-color: var(--clr-accent);
  cursor: pointer;
}
.comment-form-cookies-consent label {
  font-size: .82rem !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
  color: var(--clr-muted);
  line-height: 1.5;
  cursor: pointer;
}

/* Bouton soumettre */
.comment-form .form-submit { margin: 0 !important; }
.comment-form #submit {
  display: inline-block;
  background: linear-gradient(135deg, var(--clr-accent), var(--clr-accent2));
  color: #fff !important;
  border: none;
  padding: 14px 36px;
  border-radius: var(--radius-full);
  font-family: var(--ff-body);
  font-size: .95rem;
  font-weight: 700;
  cursor: pointer;
  transition: var(--transition);
  letter-spacing: .3px;
}
.comment-form #submit:hover {
  opacity: .88;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,212,255,.28);
}

/* Info connecté (quand l'user est logged in) */
.logged-in-as {
  font-size: .875rem;
  color: var(--clr-muted);
  margin: 0 0 24px !important;
  padding: 12px 16px;
  background: var(--clr-surface);
  border-radius: var(--radius-md);
  border: 1px solid var(--clr-border);
}
.logged-in-as a { color: var(--clr-accent); }

/* Akismet notice */
#comments .akismet_comment_form_privacy_notice {
  font-size: .78rem;
  color: var(--clr-muted);
  margin-top: 16px;
}
#comments .akismet_comment_form_privacy_notice a { color: var(--clr-muted); text-decoration: underline; }

@media(max-width:600px) {
  #respond { padding: 24px 20px; }
  .comment-form-fields-row { grid-template-columns: 1fr; }
}
