/*
Theme Name: Irey Tech Console
Theme URI: https://irey.com.ua/
Author: Ольга Соколова
Description: Dark tech-editorial theme for Irey — charcoal console UI, teal signal accent, solid panels and an asymmetric editorial index layout. Built for irey.com.ua.
Version: 1.1
Text Domain: irey-tech
*/

/* ============================================================
   Irey Tech Console — dark app-like editorial
   Distinct namespace: everything is prefixed .ix-
   Performance pass: no backdrop-filter, no scroll-repaint layers,
   no infinite animations. Solid panels, smooth scroll.
   ============================================================ */

:root{
  --ix-bg:#14171c;
  --ix-bg-2:#181c22;
  --ix-panel:#1b2027;
  --ix-panel-2:#1f252d;
  --ix-line:rgba(255,255,255,.08);
  --ix-line-2:rgba(45,212,191,.22);
  --ix-ink:#e8ecf1;
  --ix-ink-dim:#9aa6b2;
  --ix-ink-faint:#67727e;
  --ix-accent:#2dd4bf;
  --ix-accent-2:#14b8a6;
  --ix-r:8px;
  --ix-r-lg:12px;
  --ix-shadow:0 1px 0 rgba(255,255,255,.03) inset, 0 24px 60px -30px rgba(0,0,0,.8);
  --ix-mono:"Space Grotesk", ui-monospace, "SF Mono", "JetBrains Mono", monospace;
  --ix-display:"Space Grotesk", system-ui, sans-serif;
  --ix-body:"Inter", system-ui, -apple-system, sans-serif;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  /* static, non-fixed background — a single subtle top glow that scrolls with the page (no repaint on scroll) */
  background:var(--ix-bg);
  color:var(--ix-ink);
  font-family:var(--ix-body);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* one lightweight static header glow, painted once at the very top of the document (not fixed) */
.ix-top{
  background:
    radial-gradient(900px 300px at 82% -140%, rgba(45,212,191,.10), transparent 70%),
    rgba(20,23,28,.94);
}

a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--ix-display);font-weight:600;line-height:1.12;letter-spacing:-.015em;margin:0}

.ix-shell{position:relative;max-width:1180px;margin:0 auto;padding:0 24px}

/* mono label — the signature meta treatment */
.ix-mono{
  font-family:var(--ix-mono);
  font-size:.7rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--ix-accent);
  font-weight:500;
}
.ix-mono-dim{color:var(--ix-ink-faint)}

/* ---------- header / top console bar ---------- */
.ix-top{
  position:sticky;top:0;z-index:50;
  border-bottom:1px solid var(--ix-line);
}
.ix-top-in{
  max-width:1180px;margin:0 auto;padding:0 24px;
  height:64px;display:flex;align-items:center;gap:28px;
}
.ix-brand{display:flex;align-items:center;flex-shrink:0}

/* logo lockup: emblem MARK + styled wordmark */
.ix-logo{display:inline-flex;align-items:center;gap:11px}
.ix-logo .ix-mark{display:block;flex-shrink:0}
.ix-logo .ix-word{font-family:var(--ix-display);font-weight:700;font-size:1.2rem;letter-spacing:-.02em;color:var(--ix-ink);line-height:1}
.ix-logo .ix-word b{color:var(--ix-accent);font-weight:700}

.ix-nav{display:flex;align-items:center;gap:4px;margin-left:auto;flex-wrap:wrap}
.ix-nav a{
  font-family:var(--ix-mono);font-size:.72rem;letter-spacing:.06em;
  color:var(--ix-ink-dim);padding:7px 12px;border-radius:6px;
  transition:color .18s ease, background .18s ease;
}
.ix-nav a:hover,.ix-nav a:focus-visible{color:var(--ix-accent);background:rgba(45,212,191,.08);outline:none}
.ix-nav a.ix-home{color:var(--ix-ink)}

/* ---------- hero ---------- */
.ix-hero{position:relative;padding:74px 0 34px}
.ix-hero-status{display:flex;align-items:center;gap:9px;margin-bottom:22px}
.ix-hero h1{
  font-size:clamp(2.6rem,1.4rem+4.4vw,5.4rem);
  font-weight:700;letter-spacing:-.03em;line-height:.98;
  max-width:16ch;margin:0 0 .3em;
}
.ix-hero h1 em{font-style:normal;color:var(--ix-accent)}
.ix-hero .ix-lead{
  font-size:clamp(1.02rem,.95rem+.4vw,1.2rem);
  color:var(--ix-ink-dim);max-width:56ch;line-height:1.6;margin:0;
}

/* featured console panel — solid, no blur */
.ix-feature{
  margin-top:44px;
  display:grid;grid-template-columns:1.15fr .85fr;gap:0;
  border:1px solid var(--ix-line);border-radius:var(--ix-r-lg);
  overflow:hidden;background:var(--ix-panel);
  box-shadow:var(--ix-shadow);
}
.ix-feature .ix-fimg{position:relative;min-height:320px;background:var(--ix-bg-2);overflow:hidden}
.ix-feature .ix-fimg img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .5s ease}
.ix-feature:hover .ix-fimg img{transform:scale(1.04)}
.ix-feature .ix-fimg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,rgba(24,28,34,.55))}
.ix-feature .ix-fbody{padding:38px 40px;display:flex;flex-direction:column;justify-content:center;gap:16px;border-left:1px solid var(--ix-line)}
.ix-feature .ix-ftag{display:flex;align-items:center;gap:10px}
.ix-feature h2{font-size:clamp(1.4rem,1.1rem+1vw,2rem);letter-spacing:-.02em}
.ix-feature h2 a{background:linear-gradient(var(--ix-accent),var(--ix-accent)) 0 100%/0 1px no-repeat;transition:background-size .3s ease}
.ix-feature:hover h2 a,.ix-feature h2 a:hover{background-size:100% 1px}
.ix-feature p{color:var(--ix-ink-dim);margin:0;font-size:.96rem}
.ix-feature .ix-fmeta{display:flex;align-items:center;gap:12px;margin-top:6px;color:var(--ix-ink-faint);font-family:var(--ix-mono);font-size:.7rem;letter-spacing:.08em}
.ix-feature .ix-sep{color:var(--ix-line-2)}

/* ---------- category feed sections ---------- */
.ix-feed{padding:56px 0}
.ix-sec-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:20px;
  padding-bottom:18px;margin-bottom:30px;border-bottom:1px solid var(--ix-line);
}
.ix-sec-head .ix-sec-t{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.ix-sec-head h2{font-size:clamp(1.4rem,1.1rem+1vw,1.9rem)}
.ix-sec-head .ix-idx{font-family:var(--ix-mono);font-size:.72rem;color:var(--ix-accent);letter-spacing:.1em}
.ix-sec-head .ix-all{
  font-family:var(--ix-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ix-ink-dim);white-space:nowrap;transition:color .18s;
}
.ix-sec-head .ix-all:hover{color:var(--ix-accent)}

/* the signature editorial split: a large LEAD card + a numbered INDEX list (asymmetric, not a card grid) */
.ix-split{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:start}

/* lead card */
.ix-lead-card{
  border:1px solid var(--ix-line);border-radius:var(--ix-r-lg);overflow:hidden;
  background:var(--ix-panel);display:flex;flex-direction:column;
  transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.ix-lead-card:hover{border-color:var(--ix-line-2);transform:translateY(-2px);box-shadow:0 20px 44px -30px rgba(0,0,0,.8)}
.ix-lead-thumb{aspect-ratio:16/9;background:var(--ix-bg-2);overflow:hidden;position:relative;display:block}
.ix-lead-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.ix-lead-card:hover .ix-lead-thumb img{transform:scale(1.04)}
.ix-lead-thumb.ix-empty{display:grid;place-items:center;color:var(--ix-ink-faint);font-family:var(--ix-mono);font-size:2.4rem}
.ix-lead-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:12px}
.ix-lead-body h3{font-size:1.34rem;line-height:1.22;letter-spacing:-.015em}
.ix-lead-body h3 a{color:var(--ix-ink)}
.ix-lead-body h3 a:hover{color:var(--ix-accent)}
.ix-lead-body p{color:var(--ix-ink-dim);font-size:.94rem;margin:0}
.ix-lead-body .ix-imeta{margin-top:2px;display:flex;align-items:center;gap:8px;font-family:var(--ix-mono);font-size:.66rem;letter-spacing:.06em;color:var(--ix-ink-faint)}
.ix-lead-body .ix-imeta .ix-sep{color:var(--ix-line-2)}

/* chip */
.ix-chip{
  align-self:flex-start;
  font-family:var(--ix-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ix-accent);padding:3px 8px;border:1px solid var(--ix-line-2);border-radius:4px;
  background:rgba(45,212,191,.06);
}

/* numbered index list — the distinctive editorial device */
.ix-index{list-style:none;margin:0;padding:0;border-top:1px solid var(--ix-line)}
.ix-index-row{border-bottom:1px solid var(--ix-line)}
.ix-index-row a{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;padding:16px 6px;transition:background .18s ease}
.ix-index-row a:hover{background:rgba(45,212,191,.05)}
.ix-index-n{font-family:var(--ix-mono);font-size:.8rem;color:var(--ix-accent);letter-spacing:.08em;padding-top:2px}
.ix-index-main{display:flex;flex-direction:column;gap:6px;min-width:0}
.ix-index-title{font-family:var(--ix-display);font-weight:600;font-size:1.02rem;line-height:1.32;color:var(--ix-ink);letter-spacing:-.01em}
.ix-index-row a:hover .ix-index-title{color:var(--ix-accent)}
.ix-index-meta{font-family:var(--ix-mono);font-size:.64rem;letter-spacing:.08em;color:var(--ix-ink-faint)}

/* ---------- archive / index grid ---------- */
.ix-page-head{padding:64px 0 8px;position:relative}
.ix-page-head h1{font-size:clamp(2rem,1.4rem+2.6vw,3.4rem);letter-spacing:-.025em;margin:.25em 0 .35em}
.ix-page-head .ix-desc{color:var(--ix-ink-dim);max-width:60ch}
.ix-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
  padding:28px 0 60px;position:relative;
}
.ix-card{
  display:flex;flex-direction:column;
  border:1px solid var(--ix-line);border-radius:var(--ix-r);overflow:hidden;
  background:var(--ix-panel);
  transition:border-color .2s, transform .2s, box-shadow .2s;
}
.ix-card:hover{border-color:var(--ix-line-2);transform:translateY(-3px);box-shadow:0 22px 44px -30px rgba(0,0,0,.8)}
.ix-card .ix-cthumb{aspect-ratio:16/10;background:var(--ix-bg-2);overflow:hidden;position:relative}
.ix-card .ix-cthumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.ix-card:hover .ix-cthumb img{transform:scale(1.05)}
.ix-card .ix-cbody{padding:18px 18px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.ix-card h3{font-size:1.1rem;line-height:1.26}
.ix-card h3 a:hover{color:var(--ix-accent)}
.ix-card p{color:var(--ix-ink-dim);font-size:.9rem;margin:0}
.ix-card .ix-cmeta{margin-top:auto;padding-top:8px;display:flex;align-items:center;gap:8px;font-family:var(--ix-mono);font-size:.66rem;color:var(--ix-ink-faint);letter-spacing:.06em}

/* ---------- single article ---------- */
.ix-article{max-width:760px;margin:0 auto;padding:52px 24px 30px;position:relative}
.ix-crumb{font-family:var(--ix-mono);font-size:.68rem;letter-spacing:.08em;color:var(--ix-ink-faint);margin-bottom:22px;display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.ix-crumb a{color:var(--ix-ink-dim)}
.ix-crumb a:hover{color:var(--ix-accent)}
.ix-crumb .ix-crumb-cur{color:var(--ix-ink-dim);opacity:.7}
.ix-art-chip{display:inline-flex;font-family:var(--ix-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ix-accent);padding:4px 10px;border:1px solid var(--ix-line-2);border-radius:5px;background:rgba(45,212,191,.06);margin-bottom:16px}
.ix-article h1{font-size:clamp(2rem,1.4rem+2.4vw,3.2rem);letter-spacing:-.025em;line-height:1.06;margin-bottom:22px}
.ix-byline{display:flex;align-items:center;gap:12px;padding:16px 0;border-top:1px solid var(--ix-line);border-bottom:1px solid var(--ix-line)}
.ix-byline .ix-av{width:40px;height:40px;border-radius:9px;flex-shrink:0;box-shadow:0 0 0 1px var(--ix-line-2)}
.ix-byline .ix-bname{font-family:var(--ix-display);font-weight:600;color:var(--ix-ink);font-size:.95rem}
.ix-byline .ix-bmeta{font-family:var(--ix-mono);font-size:.68rem;letter-spacing:.06em;color:var(--ix-ink-faint);display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ix-byline .ix-bmeta .ix-sep{color:var(--ix-line-2)}

.ix-lead-img{margin:30px 0;border-radius:var(--ix-r-lg);overflow:hidden;border:1px solid var(--ix-line)}
.ix-lead-img img{width:100%}

.ix-prose{font-size:1.06rem;line-height:1.78;color:#d3dae2}
.ix-prose > *{margin:0 0 1.25em}
.ix-prose h2{font-size:1.7rem;margin:1.7em 0 .5em;letter-spacing:-.02em;color:var(--ix-ink)}
.ix-prose h2::before{content:"// ";color:var(--ix-accent);font-family:var(--ix-mono);font-size:1rem;font-weight:500}
.ix-prose h3{font-size:1.28rem;margin:1.5em 0 .4em;color:var(--ix-ink)}
.ix-prose a{color:var(--ix-accent);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--ix-line-2)}
.ix-prose a:hover{text-decoration-color:var(--ix-accent)}
.ix-prose strong{color:var(--ix-ink);font-weight:600}
.ix-prose ul,.ix-prose ol{padding-left:1.3em}
.ix-prose li{margin-bottom:.55em}
.ix-prose ul li::marker{color:var(--ix-accent)}
.ix-prose blockquote{
  margin:1.6em 0;padding:18px 24px;border-left:2px solid var(--ix-accent);
  background:var(--ix-panel);border-radius:0 var(--ix-r) var(--ix-r) 0;
  color:var(--ix-ink-dim);font-style:italic;
}
.ix-prose figure{margin:1.8em 0}
.ix-prose figure img{border-radius:var(--ix-r);border:1px solid var(--ix-line);width:100%}
.ix-prose figcaption{font-family:var(--ix-mono);font-size:.7rem;letter-spacing:.06em;color:var(--ix-ink-faint);margin-top:9px;text-align:center}
.ix-prose img{border-radius:var(--ix-r)}

/* ---------- related block (NOT headings — styled label + link list) ---------- */
.ix-related{max-width:760px;margin:52px auto 0;padding:0 24px}
.ix-related-head{display:flex;align-items:center;gap:12px;padding-bottom:16px;margin-bottom:8px;border-bottom:1px solid var(--ix-line)}
.ix-related-head .ix-idx{font-family:var(--ix-mono);font-size:1rem;color:var(--ix-accent);line-height:1}
.ix-related-label{
  margin:0;font-family:var(--ix-mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ix-ink-dim);font-weight:500;
}
.ix-rel-list{display:flex;flex-direction:column}
.ix-rel-item{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;padding:16px 6px;border-bottom:1px solid var(--ix-line);transition:background .18s ease}
.ix-rel-item:hover{background:rgba(45,212,191,.05)}
.ix-rel-num{font-family:var(--ix-mono);font-size:.8rem;color:var(--ix-accent);letter-spacing:.08em;padding-top:3px}
.ix-rel-body{display:flex;flex-direction:column;gap:6px;min-width:0}
.ix-rel-cat{font-family:var(--ix-mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ix-ink-faint)}
.ix-rel-title{font-family:var(--ix-display);font-weight:600;font-size:1.06rem;line-height:1.3;color:var(--ix-ink);letter-spacing:-.01em}
.ix-rel-item:hover .ix-rel-title{color:var(--ix-accent)}
.ix-rel-meta{font-family:var(--ix-mono);font-size:.64rem;letter-spacing:.08em;color:var(--ix-ink-faint)}

/* pagination */
.ix-pag{display:flex;justify-content:center;gap:8px;padding:20px 0 40px;position:relative}
.ix-pag .page-numbers{
  font-family:var(--ix-mono);font-size:.78rem;
  min-width:38px;height:38px;display:grid;place-items:center;padding:0 10px;
  border:1px solid var(--ix-line);border-radius:6px;color:var(--ix-ink-dim);
  transition:all .18s;
}
.ix-pag .page-numbers:hover{border-color:var(--ix-line-2);color:var(--ix-accent)}
.ix-pag .page-numbers.current{background:var(--ix-accent);color:#0b1013;border-color:var(--ix-accent);font-weight:600}

/* empty state */
.ix-empty-state{padding:60px 0;color:var(--ix-ink-dim);font-family:var(--ix-mono);letter-spacing:.05em}

/* ---------- footer ---------- */
.ix-foot{
  margin-top:70px;position:relative;
  border-top:1px solid var(--ix-line);
  background:var(--ix-bg-2);
}
.ix-foot-in{max-width:1180px;margin:0 auto;padding:52px 24px 30px;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px}
.ix-foot .ix-fbrand{display:flex;align-items:center;margin-bottom:14px}
.ix-foot p{color:var(--ix-ink-dim);max-width:44ch;font-size:.9rem;margin:0}
.ix-foot h4{font-family:var(--ix-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ix-ink-faint);margin:0 0 14px}
.ix-foot ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}
.ix-foot ul a{color:var(--ix-ink-dim);font-size:.92rem;transition:color .18s}
.ix-foot ul a:hover{color:var(--ix-accent)}
.ix-foot-bottom{max-width:1180px;margin:0 auto;padding:20px 24px 40px;border-top:1px solid var(--ix-line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-family:var(--ix-mono);font-size:.68rem;letter-spacing:.06em;color:var(--ix-ink-faint)}
.ix-foot-bottom .ix-tag18{color:var(--ix-accent)}

/* ---------- responsive ---------- */
@media(max-width:940px){
  .ix-feature{grid-template-columns:1fr}
  .ix-feature .ix-fimg{min-height:220px}
  .ix-feature .ix-fbody{border-left:0;border-top:1px solid var(--ix-line)}
  .ix-split{grid-template-columns:1fr;gap:26px}
  .ix-grid{grid-template-columns:repeat(2,1fr)}
  .ix-foot-in{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .ix-shell{padding:0 18px}
  .ix-top-in{padding:0 18px;gap:14px}
  .ix-nav{gap:2px}
  .ix-nav a{padding:6px 8px;font-size:.66rem}
  .ix-grid{grid-template-columns:1fr}
  .ix-foot-in{grid-template-columns:1fr;gap:28px}
  .ix-article{padding:36px 18px 24px}
  .ix-related{padding:0 18px}
  .ix-hero{padding:48px 0 24px}
}
@media(max-width:480px){
  .ix-logo .ix-word{font-size:1.06rem}
  .ix-lead-body h3{font-size:1.2rem}
}

/* reduced motion */
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}

/* WP core classes */
.aligncenter{margin-left:auto;margin-right:auto}
.alignleft{float:left;margin:0 1.5em 1em 0}
.alignright{float:right;margin:0 0 1em 1.5em}
.wp-caption{max-width:100%}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
