/*
Theme Name: icl.org.ua Editorial
Theme URI: https://icl.org.ua
Author: ICL
Description: Dark luxury editorial theme for ICL — lifestyle & relationships blog, 18+. Угольный фон, шампанское-золото, Cormorant Garamond + Manrope.
Version: 1.0
Text Domain: icl-editorial
*/

/* ============ Google Fonts (cyrillic subsets) ============ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;0,800;1,400;1,600&family=Manrope:wght@400;500;600;700&display=swap&subset=cyrillic,cyrillic-ext,latin');

/* ============ palette (dark luxury — champagne gold) ============ */
:root{
  --bg:#14110f;
  --surface:#1e1a18;
  --surface-2:#252018;
  --ink:#ece7df;
  --muted:#a09485;
  --accent:#c8a45c;
  --accent-dim:rgba(200,164,92,.18);
  --accent-glow:0 0 28px rgba(200,164,92,.22);
  --accent-ink:#14110f;
  --dark:#0d0b09;
  --dark-ink:#ece7df;
  --line:rgba(200,164,92,.16);
  --line-strong:rgba(200,164,92,.32);
  --chip-bg:transparent;
  --chip-color:var(--accent);
  --radius:10px;
  --shadow:0 16px 44px rgba(0,0,0,.54);
  --shadow-card:0 4px 20px rgba(0,0,0,.42);
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --maxw:1180px;
  --gold-line:3px solid var(--accent);
}

/* ============ reset & base ============ */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-size:18px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none;transition:color .18s ease}
a:hover{color:#e0be80;text-decoration:underline}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}

/* ============ header ============ */
.site-head{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(20,17,15,.94);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.site-head-in{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:14px 22px;
  max-width:var(--maxw);
  margin:0 auto;
}

/* logo lockup */
.brand{display:inline-flex;align-items:center;gap:12px}
.brand:hover{text-decoration:none}
.logo-mark{display:inline-flex;flex:0 0 auto;line-height:0}
.logo-mark svg{display:block}
.logo-word{
  font-family:var(--serif);
  font-weight:700;
  font-size:28px;
  line-height:1;
  color:var(--ink);
  letter-spacing:.01em;
}
.logo-word .wm-accent{color:var(--accent)}

/* nav */
.nav{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.nav a{
  color:var(--muted);
  font-size:14px;
  font-weight:500;
  padding:7px 14px;
  border-radius:999px;
  transition:color .18s ease,background .18s ease;
  letter-spacing:.01em;
}
.nav a:hover{
  background:var(--accent-dim);
  color:var(--accent);
  text-decoration:none;
}

/* mobile toggle */
.mnav-btn{
  display:none;
  flex:0 0 auto;
  cursor:pointer;
  user-select:none;
  font-size:26px;
  line-height:1;
  color:var(--ink);
  padding:4px 10px;
  border-radius:8px;
  border:1px solid var(--line-strong);
  background:var(--surface);
  transition:color .18s,border-color .18s;
}
.mnav-btn:hover{color:var(--accent);border-color:var(--accent)}

/* ============ hero — dramatic dark serif ============ */
.hero{padding:72px 0 32px;position:relative}
/* thin gold accent bar above heading */
.hero-copy::before{
  content:'';
  display:block;
  width:52px;
  height:2px;
  background:var(--accent);
  margin-bottom:20px;
}
.hero-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:56px;
  align-items:center;
}
.hero-copy .kicker{
  color:var(--accent);
  font-weight:600;
  font-family:var(--sans);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.22em;
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:4px;
}
.hero-copy .kicker::before,.hero-copy .kicker::after{
  content:'·';
  color:var(--accent);
  opacity:.7;
  font-size:16px;
  line-height:1;
}
.hero h1{
  font-family:var(--serif);
  font-weight:800;
  font-size:clamp(2.4rem,1.2rem+3.8vw,4.2rem);
  line-height:1.03;
  letter-spacing:-.01em;
  margin:.2em 0 .35em;
  color:var(--ink);
}
.hero p.lead{
  font-size:18px;
  color:var(--muted);
  max-width:38ch;
  margin:0 0 28px;
  line-height:1.65;
}
.hero-feat{
  position:relative;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  aspect-ratio:4/3.2;
  display:block;
  transition:box-shadow .28s ease;
}
.hero-feat:hover{
  text-decoration:none;
  box-shadow:var(--shadow),var(--accent-glow);
}
.hero-feat img{width:100%;height:100%;object-fit:cover}
.hero-feat .cap{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:28px 24px 22px;
  background:linear-gradient(transparent,rgba(13,11,9,.90));
  color:var(--ink);
}
.hero-feat .cap .c{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:var(--accent);
  font-weight:600;
  font-family:var(--sans);
  display:block;
  margin-bottom:6px;
}
.hero-feat .cap .ht{
  font-family:var(--serif);
  font-weight:700;
  font-size:24px;
  margin:0;
  line-height:1.18;
  display:block;
  color:var(--ink);
}

/* ============ section head — gold left rule ============ */
.section{padding:38px 0}
.sec-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  margin:0 0 28px;
  padding-left:18px;
  border-left:var(--gold-line);
  border-bottom:none;
}
.sec-head h2{
  font-family:var(--serif);
  font-weight:700;
  font-size:26px;
  margin:0;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:var(--ink);
}
.sec-head a{
  font-size:13px;
  font-weight:600;
  white-space:nowrap;
  color:var(--accent);
  letter-spacing:.04em;
  text-transform:uppercase;
  font-family:var(--sans);
  transition:opacity .18s;
}
.sec-head a:hover{opacity:.7;text-decoration:none}

/* ============ chip — gold border, transparent fill ============ */
.chip{
  align-self:flex-start;
  font-size:11px;
  font-weight:600;
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--accent);
  background:var(--chip-bg);
  border:1px solid var(--line-strong);
  padding:4px 12px;
  border-radius:999px;
  margin-bottom:12px;
  display:inline-block;
  transition:background .18s,border-color .18s;
}
.chip:hover{
  background:var(--accent-dim);
  border-color:var(--accent);
  text-decoration:none;
}

/* meta */
.meta{font-size:13px;color:var(--muted);display:flex;gap:10px;align-items:center}
.meta .dot{width:3px;height:3px;border-radius:50%;background:var(--muted);opacity:.5}

/* ============ EDITORIAL SPLIT ============ */
.editorial-split{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:start}

.lead-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow-card);
  transition:box-shadow .28s ease;
}
.lead-card:hover{box-shadow:var(--shadow),var(--accent-glow)}

.lead-thumb{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--surface-2)}
.lead-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.lead-thumb:hover img{transform:scale(1.04)}

.lead-body{padding:22px 24px 28px}
.lead-body h3{
  font-family:var(--serif);
  font-weight:700;
  font-size:26px;
  line-height:1.2;
  margin:0 0 10px;
  letter-spacing:-.005em;
}
.lead-body h3 a{color:var(--ink);transition:color .18s}
.lead-body h3 a:hover{color:var(--accent);text-decoration:none}
.lead-body p{color:var(--muted);font-size:15.5px;line-height:1.6;margin:0 0 18px}

/* index list */
.index-list{list-style:none;margin:0;padding:0;counter-reset:none}
.index-list li{
  display:flex;
  gap:16px;
  padding:16px 0;
  border-top:1px solid var(--line);
  transition:padding-left .18s;
}
.index-list li:first-child{border-top:0;padding-top:2px}
.index-list li:hover{padding-left:4px}

.ix-num{
  font-family:var(--serif);
  font-weight:700;
  font-size:20px;
  color:var(--accent);
  line-height:1;
  min-width:34px;
  padding-top:2px;
  opacity:.9;
}
.ix-body{flex:1}
.ix-cat{
  font-size:11px;
  font-weight:600;
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--muted);
  display:block;
  margin-bottom:5px;
}
.index-list h3{
  font-family:var(--serif);
  font-weight:700;
  font-size:19px;
  line-height:1.28;
  margin:0 0 6px;
}
.index-list h2{
  font-family:var(--serif);
  font-weight:700;
  font-size:21px;
  line-height:1.24;
  margin:0 0 8px;
}
.index-list h3 a,.index-list h2 a{color:var(--ink);transition:color .18s}
.index-list h3 a:hover,.index-list h2 a:hover{color:var(--accent);text-decoration:none}
.ix-meta{font-size:12.5px;color:var(--muted)}

/* archive wide variant */
.index-list--wide li{gap:22px;padding:22px 0;align-items:center}
.ix-thumb{
  flex:0 0 190px;
  aspect-ratio:16/10;
  overflow:hidden;
  border-radius:10px;
  background:var(--surface-2);
  display:block;
}
.ix-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .38s ease}
.ix-thumb:hover img{transform:scale(1.05)}
.index-list--wide .ix-body p{
  color:var(--muted);
  font-size:15px;
  line-height:1.58;
  margin:6px 0 8px;
  max-width:62ch;
}

/* ============ BENTO ============ */
.bento{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-auto-rows:1fr;
  gap:20px;
}
.bento-tile{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow:var(--shadow-card);
  transition:box-shadow .28s ease,border-color .28s ease;
}
.bento-tile:hover{
  box-shadow:var(--shadow),var(--accent-glow);
  border-color:rgba(200,164,92,.35);
}
.bento-feature{grid-column:span 2;grid-row:span 2;flex-direction:column}

.bt-thumb{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--surface-2)}
.bento-feature .bt-thumb{aspect-ratio:16/9}
.bt-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.bt-thumb:hover img{transform:scale(1.04)}

.bt-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.bento-tile h3{
  font-family:var(--serif);
  font-weight:700;
  font-size:18px;
  line-height:1.28;
  margin:0 0 8px;
  color:var(--ink);
}
.bento-feature h3{font-size:26px;line-height:1.15}
.bento-tile h3 a{color:var(--ink);transition:color .18s}
.bento-tile h3 a:hover{color:var(--accent);text-decoration:none}
.bento-tile p{color:var(--muted);font-size:15px;line-height:1.58;margin:0 0 12px}
.bt-meta{margin-top:auto;font-size:12.5px;color:var(--muted)}

/* ============ single article ============ */
.article{
  background:var(--surface);
  max-width:900px;
  margin:44px auto;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
  border:1px solid var(--line);
}
.article .head{padding:48px 60px 10px}

.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:20px;font-family:var(--sans)}
.breadcrumb a{color:var(--muted);transition:color .18s}
.breadcrumb a:hover{color:var(--accent)}

.article h1{
  font-family:var(--serif);
  font-weight:800;
  font-size:clamp(2rem,1.2rem+2.6vw,3.2rem);
  line-height:1.08;
  letter-spacing:-.01em;
  margin:.15em 0 .4em;
  color:var(--ink);
}
/* gold line above article h1 */
.article .head .chip + h1::before,
.article h1{
  position:relative;
}
.article .head::after{
  content:'';
  display:block;
  width:40px;
  height:2px;
  background:var(--accent);
  margin:18px 0 14px;
}

.art-meta{
  display:flex;
  align-items:center;
  gap:14px;
  color:var(--muted);
  font-size:14px;
  font-family:var(--sans);
  padding-bottom:22px;
  border-bottom:1px solid var(--line);
  margin-bottom:0;
}
.art-meta .av{
  width:38px;
  height:38px;
  border-radius:50%;
  object-fit:cover;
  background:var(--surface-2);
  border:2px solid var(--line-strong);
}
.art-meta b{color:var(--ink);font-weight:600}

.article .lead-img{margin:28px 0 0;aspect-ratio:16/8;overflow:hidden}
.article .lead-img img{width:100%;height:100%;object-fit:cover}

/* prose */
.prose{
  padding:28px 60px 52px;
  font-size:18.5px;
  line-height:1.8;
  color:var(--ink);
  font-family:var(--sans);
}
.prose p{margin:0 0 1.3em}
.prose h2{
  font-family:var(--serif);
  font-weight:700;
  font-size:30px;
  line-height:1.14;
  margin:1.7em 0 .5em;
  letter-spacing:-.008em;
  color:var(--ink);
  padding-left:16px;
  border-left:var(--gold-line);
}
.prose h3{
  font-family:var(--serif);
  font-weight:700;
  font-size:23px;
  margin:1.4em 0 .4em;
  color:var(--ink);
}
.prose figure{margin:2em 0}
.prose figure img{
  border-radius:10px;
  width:100%;
  aspect-ratio:3/2;
  object-fit:cover;
  object-position:center 35%;
}
.prose figcaption{
  font-size:13.5px;
  color:var(--muted);
  text-align:center;
  margin-top:10px;
  font-style:italic;
}
.prose a{
  color:var(--accent);
  border-bottom:1px solid rgba(200,164,92,.35);
  transition:color .18s,border-color .18s;
}
.prose a:hover{
  color:#e0be80;
  border-color:rgba(224,190,128,.6);
  text-decoration:none;
}
.prose blockquote{
  margin:1.8em 0;
  padding:10px 0 10px 28px;
  border-left:3px solid var(--accent);
  font-family:var(--serif);
  font-size:23px;
  line-height:1.42;
  color:var(--ink);
  font-style:italic;
  opacity:.9;
}

/* ============ related ============ */
.related{max-width:900px;margin:14px auto 64px;padding:0 22px}
.rel-label{
  font-family:var(--serif);
  font-weight:700;
  font-size:22px;
  color:var(--ink);
  margin:0 0 20px;
  padding-bottom:12px;
  padding-left:16px;
  border-left:var(--gold-line);
  border-bottom:none;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.rel-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rel-item{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow:var(--shadow-card);
  transition:box-shadow .28s ease,border-color .28s ease;
}
.rel-item:hover{
  box-shadow:var(--shadow),var(--accent-glow);
  border-color:rgba(200,164,92,.35);
}
.rel-thumb{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--surface-2)}
.rel-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .38s ease}
.rel-thumb:hover img{transform:scale(1.05)}
.rel-body{padding:14px 16px 18px;display:flex;flex-direction:column;gap:6px}
.rel-num{
  font-family:var(--serif);
  font-weight:700;
  font-size:14px;
  color:var(--accent);
  opacity:.9;
}
.rel-title{
  font-family:var(--serif);
  font-weight:700;
  font-size:18px;
  line-height:1.26;
  color:var(--ink);
  transition:color .18s;
}
.rel-title:hover{color:var(--accent);text-decoration:none}
.rel-meta{font-size:12.5px;color:var(--muted)}

/* ============ page lead (archive/search) ============ */
.page-lead{
  padding:56px 0 8px;
  border-bottom:1px solid var(--line);
  margin-bottom:4px;
}
.page-lead .kicker{
  color:var(--accent);
  font-weight:600;
  font-family:var(--sans);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.2em;
}
.page-lead h1{
  font-family:var(--serif);
  font-weight:800;
  font-size:clamp(2rem,1.2rem+2.8vw,3.2rem);
  line-height:1.07;
  letter-spacing:-.01em;
  margin:.2em 0 .25em;
  color:var(--ink);
}
.page-lead .lead{font-size:18px;color:var(--muted);max-width:60ch;line-height:1.6}

.pager{margin-top:36px;text-align:center}
.pager .page-numbers{
  display:inline-block;
  padding:8px 16px;
  border-radius:8px;
  color:var(--muted);
  font-family:var(--sans);
  font-size:14px;
  font-weight:500;
  transition:background .18s,color .18s;
}
.pager .page-numbers.current,.pager .page-numbers:hover{
  background:var(--accent-dim);
  color:var(--accent);
  text-decoration:none;
}

/* ============ footer (dark, no plum) ============ */
.site-foot{
  background:var(--dark);
  color:var(--dark-ink);
  margin-top:44px;
  padding:56px 0 28px;
  border-top:1px solid var(--line);
}
.foot-cols{
  display:flex !important;
  flex-wrap:wrap;
  gap:24px 40px;
  align-items:flex-start;
  padding-bottom:8px;
}
.foot-cols>*{flex:1 1 160px}
.foot-cols>*:first-child{flex:2 1 220px}

.foot-brandcol{display:flex;flex-direction:column;gap:14px}
.foot-brand{display:inline-flex;align-items:center;gap:12px}
.site-foot .foot-brand .name{
  font-family:var(--serif);
  font-weight:700;
  font-size:26px;
  color:var(--ink);
  letter-spacing:.01em;
}
.site-foot p.foot-desc{
  color:var(--muted);
  font-size:15.5px;
  line-height:1.65;
  max-width:46ch;
  margin:0;
}

.foot-navcol{display:flex;flex-direction:column;gap:12px}
.foot-coltitle{
  margin:0;
  font-family:var(--sans);
  font-weight:600;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--accent);
}
.foot-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:9px;
}
.foot-list li{margin:0}
.site-foot a{
  color:var(--muted);
  font-size:15px;
  font-family:var(--sans);
  transition:color .18s;
}
.site-foot a:hover{color:var(--ink)}

.foot-bottom{
  border-top:1px solid var(--line);
  margin-top:30px;
  padding-top:22px;
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
  gap:8px 18px;
  flex-wrap:wrap;
  color:var(--muted);
  font-size:13px;
  font-family:var(--sans);
}

/* partner logo */
.tz-plogo{
  max-height:38px;
  width:auto;
  display:block;
  background:var(--surface);
  padding:4px 7px;
  border-radius:6px;
  border:1px solid var(--line);
}

/* ============ responsive ============ */
@media(max-width:960px){
  .hero-grid{grid-template-columns:1fr;gap:28px}
  .hero{padding:44px 0 12px}
  .hero-copy::before{margin-bottom:16px}
  .editorial-split{grid-template-columns:1fr;gap:26px}
  .bento{grid-template-columns:repeat(2,1fr)}
  .bento-feature{grid-column:span 2;grid-row:auto}
  .rel-list{grid-template-columns:repeat(2,1fr)}
  .article .head{padding:32px 28px 6px}
  .article .head::after{margin:12px 0 10px}
  .prose{padding:22px 28px 40px;font-size:17.5px}
}

/* ---- mobile menu (checkbox-hack, no JS) ---- */
@media(max-width:780px){
  .mnav-btn{display:inline-flex;align-items:center;justify-content:center}
  .site-head-in{flex-wrap:wrap;row-gap:0}
  .nav{
    display:none;
    order:3;
    flex-basis:100%;
    width:100%;
    flex-direction:column;
    gap:0;
    flex-wrap:nowrap;
    margin:0 -22px;
    padding:0;
    border-top:1px solid var(--line);
    background:rgba(20,17,15,.97);
  }
  .mnav-cbx:checked ~ .nav{display:flex}
  .nav a{
    display:block;
    width:100%;
    font-size:16px;
    padding:14px 22px;
    border-radius:0;
    border-bottom:1px solid var(--line);
    color:var(--ink);
  }
  .nav a:hover{background:var(--accent-dim);color:var(--accent)}
}

@media(max-width:600px){
  body{font-size:17px}
  .bento,.rel-list{grid-template-columns:1fr}
  .bento-feature{grid-column:auto}
  .index-list--wide li{flex-wrap:wrap}
  .ix-thumb{flex:0 0 100%}
  .art-meta{flex-wrap:wrap;gap:8px}
  .logo-word{font-size:24px}
  .foot-cols{grid-template-columns:1fr;gap:28px}
  .article .head{padding:24px 18px 4px}
  .prose{padding:18px 18px 32px;font-size:17px}
  .hero h1{font-size:clamp(1.9rem,1.4rem+3.5vw,3rem)}
}
