/*
Theme Name: GeneratePress Cyber
Template: generatepress
Description: Habillage cybersécurité (sombre, accents cyan) du blog SecOps. Thème enfant de GeneratePress.
Version: 1.0.0
Text Domain: generatepress-cyber
*/

:root{
  --contrast:#e6edf7; --contrast-2:#b4c2d8; --contrast-3:#8291ab;
  --base:#111a2e; --base-2:#0b1120; --base-3:#080d19; --accent:#22d3ee;
  --cy-green:#34d399; --cy-red:#f87171; --cy-line:#1e2b47;
  --cy-mono:ui-monospace,"SF Mono","Cascadia Code",Menlo,Consolas,"DejaVu Sans Mono",monospace;
}
html{background:#080d19}
body{
  color:var(--contrast-2);
  background-color:#0b1120;
  background-image:
    radial-gradient(1200px 500px at 85% -10%,rgba(34,211,238,.10),transparent 60%),
    linear-gradient(rgba(34,211,238,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(34,211,238,.035) 1px,transparent 1px);
  background-size:auto,48px 48px,48px 48px;
}
::selection{background:rgba(34,211,238,.35);color:#fff}
a{color:var(--accent)}
a:hover,a:focus{color:#7ee7f5}

/* En-tête */
.site-header{background:rgba(8,13,25,.82)}
.main-navigation,.main-navigation ul ul{background:transparent}
.site-header{border-bottom:1px solid var(--cy-line);box-shadow:0 1px 0 rgba(34,211,238,.15),0 10px 40px rgba(0,0,0,.35);backdrop-filter:blur(8px)}
.main-title,.main-title a{font-family:var(--cy-mono);font-weight:700;letter-spacing:.02em;color:#fff;text-transform:lowercase}
.main-title a::before{content:">_ ";color:var(--accent)}
.site-description{font-family:var(--cy-mono);color:var(--contrast-3);font-size:12px}
.main-navigation .main-nav ul li a{font-family:var(--cy-mono);font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--contrast-2)}
.main-navigation .main-nav ul li:hover>a,.main-navigation .main-nav ul li.current-menu-item>a{color:var(--accent);background:transparent}
.main-navigation .main-nav ul li.current-menu-item>a{text-shadow:0 0 12px rgba(34,211,238,.6)}
.menu-toggle{color:var(--accent)}

/* Bandeau d'accueil */
.cy-hero{padding:72px 0 40px;text-align:left}
.cy-hero .cy-in{max-width:1200px;margin:0 auto;padding:0 40px}
.cy-eyebrow{font-family:var(--cy-mono);color:var(--cy-green);font-size:14px;letter-spacing:.06em;margin:0 0 14px}
.cy-hero h1{font-size:clamp(30px,5vw,54px);line-height:1.08;color:#fff;margin:0 0 18px;font-weight:800}
.cy-hero h1 span{color:var(--accent);text-shadow:0 0 30px rgba(34,211,238,.35)}
.cy-hero h1 span::after{content:"_";animation:cy-blink 1.1s steps(1) infinite;margin-left:2px}
.cy-lead{max-width:640px;font-size:18px;color:var(--contrast-2);margin:0 0 22px}
.cy-chips a{display:inline-block;font-family:var(--cy-mono);font-size:13px;padding:6px 14px;margin:0 8px 8px 0;border:1px solid var(--accent);border-radius:999px;color:var(--accent);text-decoration:none;background:rgba(34,211,238,.06)}
.cy-chips a:hover{background:var(--accent);color:#06121a}
@keyframes cy-blink{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){.cy-hero h1 span::after{animation:none}}

/* Cartes */
.separate-containers .inside-article,.separate-containers .comments-area,.separate-containers .page-header,.separate-containers .paging-navigation,.one-container .container{
  background:var(--base);border:1px solid var(--cy-line);border-radius:14px;
  box-shadow:0 0 0 1px rgba(34,211,238,.03),0 14px 44px rgba(0,0,0,.4)}
.separate-containers .inside-article:hover{border-color:rgba(34,211,238,.35)}
.separate-containers .site-main>*{margin-bottom:28px}
.entry-title,.entry-title a,h1,h2,h3,h4,h5,h6{color:#fff}
.entry-title a:hover{color:var(--accent)}
.entry-content h2,.entry-content h3{margin-top:1.8em}
.entry-content h2{padding-bottom:.35em;border-bottom:1px solid var(--cy-line)}
.entry-content h2::before{content:"## ";font-family:var(--cy-mono);color:var(--accent);font-weight:400}
.entry-content h3::before{content:"### ";font-family:var(--cy-mono);color:var(--cy-green);font-weight:400}
.entry-content p,.entry-content li{color:var(--contrast-2)}
.entry-content strong{color:#fff}
.entry-content li::marker{color:var(--accent)}
.entry-meta,.entry-meta a,.entry-footer,.entry-footer a{font-family:var(--cy-mono);font-size:12.5px;color:var(--contrast-3)}
.byline,.entry-meta .author,.posted-on .updated{display:none}
.cat-links a,.tags-links a{display:inline-block;padding:2px 10px;margin:0 4px 4px 0;border:1px solid var(--cy-line);border-radius:999px;text-decoration:none;color:var(--accent);background:rgba(34,211,238,.05)}
.cat-links a:hover,.tags-links a:hover{border-color:var(--accent)}
.read-more,.wp-block-button__link,.button,button,html input[type=button],input[type=reset],input[type=submit]{
  font-family:var(--cy-mono);background:transparent;border:1px solid var(--accent);color:var(--accent);border-radius:8px;text-decoration:none}
.read-more:hover,.wp-block-button__link:hover,.button:hover,button:hover,input[type=submit]:hover{background:var(--accent);color:#06121a}
.post-image img,.wp-block-image img{border-radius:12px;border:1px solid var(--cy-line)}
figcaption,.wp-element-caption{font-family:var(--cy-mono);font-size:12.5px;color:var(--contrast-3);text-align:center}

/* Blocs */
.wp-block-quote,blockquote{background:rgba(34,211,238,.06);border-left:3px solid var(--accent);border-radius:0 10px 10px 0;padding:14px 20px;color:var(--contrast)}
code,kbd,pre,samp{font-family:var(--cy-mono);background:#060a14;color:#7ee7f5;border:1px solid var(--cy-line);border-radius:6px}
pre{padding:16px;overflow:auto}
hr{background:var(--cy-line);height:1px;border:0}
table,th,td{border:1px solid var(--cy-line)}
th{background:#0b1426;color:#fff}
input[type=text],input[type=email],input[type=search],textarea,select{background:#0b1120;border:1px solid var(--cy-line);color:var(--contrast)}
input:focus,textarea:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 2px rgba(34,211,238,.25)}

/* Article */
.single #primary{width:100%;min-width:0;max-width:900px;margin-left:auto;margin-right:auto}
.single .inside-article{padding:44px}
@media (max-width:768px){.single .inside-article{padding:24px 20px}.cy-hero{padding-top:44px}.cy-hero .cy-in{padding:0 20px}}

/* Pied de page */
.site-footer,.site-info{background:#060a14;color:var(--contrast-3)}
.site-footer{border-top:1px solid var(--cy-line)}
.site-info{font-family:var(--cy-mono);font-size:12.5px;text-align:center}
.site-info a{color:var(--accent)}

/* Logo SecOps */
.site-logo .header-image{height:72px;width:auto;max-width:100%}
.site-branding .main-title,.site-branding .site-description{display:none}
@media (max-width:768px){.site-logo .header-image{height:52px}}

/* Tableaux larges : défilement horizontal limité au tableau (mobile) */
.wp-block-table{overflow-x:auto;-webkit-overflow-scrolling:touch}
.wp-block-table table{min-width:640px}
