/*
Theme Name: Priority Express Editorial
Theme URI: https://priority-express.com.ua
Author: Priority Express
Description: Premium editorial theme for Priority Express — modern sexology, dating & the rhythm of city life.
Version: 1.0
Text Domain: priority-express-editorial
*/

/* ===== palette: warm emerald editorial ===== */
:root{
  --bg:#f4f0e7;
  --surface:#fffdf7;
  --ink:#1b1a16;
  --muted:#6c6656;
  --soft:#8d8674;
  --accent:#1e6f5b;      /* deep emerald */
  --accent-dk:#154d40;
  --gold:#b5893f;
  --line:#e5ddca;
  --line-soft:#efe8d6;
  --maxw:1180px;
  --serif:"DM Serif Display",Georgia,"Times New Roman",serif;
  --sans:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --shadow:0 18px 44px rgba(21,77,64,.12);
  --shadow-sm:0 3px 14px rgba(27,26,22,.06);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.68;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-dk)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}
.kick{font-size:12.5px;font-weight:700;letter-spacing:.19em;text-transform:uppercase;color:var(--accent)}

/* ===== header ===== */
.site-head{position:sticky;top:0;z-index:40;background:rgba(244,240,231,.9);backdrop-filter:none;border-bottom:1px solid var(--line)}
.head-in{max-width:var(--maxw);margin:0 auto;padding:17px 26px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:12px}
.brand .mark{width:40px;height:40px;flex:0 0 40px}
.brand .wm{font-family:var(--serif);font-size:25px;line-height:1;color:var(--ink);letter-spacing:.005em}
.brand .wm em{font-style:normal;color:var(--accent)}
.nav{display:flex;gap:4px;flex-wrap:wrap}
.nav a{color:var(--ink);font-size:14.5px;font-weight:500;padding:8px 13px;border-radius:8px;transition:.16s}
.nav a:hover{background:var(--surface);color:var(--accent)}
/* mobile menu toggle: hidden on desktop, shown <=780px */
.mnav-btn{display:none;cursor:pointer;line-height:1;font-size:30px;color:var(--accent);width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:var(--surface);user-select:none;transition:.16s}
.mnav-btn:hover{color:var(--accent-dk);border-color:var(--accent)}

/* ===== hero (centered editorial: kicker + serif display h1 + hairline + lead, featured image stacked below) ===== */
.hero{padding:84px 0 30px}
.hero-stack{display:flex;flex-direction:column;gap:46px}
.hero-lede{max-width:960px;margin:0 auto;text-align:center}
/* emerald kicker above the title */
.hero-lede::before{content:"Priority Express \00B7 \0416\0443\0440\043D\0430\043B";display:block;font-family:var(--sans);font-size:12.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin-bottom:22px}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.7rem,1.5rem+4.1vw,4.8rem);line-height:1.02;letter-spacing:-.014em;margin:0 auto;color:var(--ink);max-width:15ch}
/* refined emerald->gold hairline between title and lead */
.hero h1::after{content:"";display:block;width:62px;height:3px;background:linear-gradient(90deg,var(--accent),var(--gold));border-radius:3px;margin:28px auto 26px}
.hero .lead{font-size:21px;line-height:1.6;color:var(--muted);max-width:58ch;margin:0 auto}
.hero-feat{position:relative;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:16/7;display:block}
.hero-feat img{width:100%;height:100%;object-fit:cover;transition:.7s ease}
.hero-feat:hover img{transform:scale(1.045)}
.hero-feat .cap{position:absolute;inset:auto 0 0 0;padding:26px 24px 22px;background:linear-gradient(transparent,rgba(18,40,34,.9))}
.hero-feat .cap .c{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#e9c98b}
.hero-feat .cap .t{display:block;font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.16;margin:8px 0 0;color:#fff}

/* ===== section ===== */
.section{padding:46px 0}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 26px;padding-bottom:14px;border-bottom:1px solid var(--line);position:relative}
.sec-head::after{content:"";position:absolute;left:0;bottom:-1px;width:64px;height:3px;background:var(--gold)}
.sec-head h2{font-family:var(--serif);font-weight:400;font-size:31px;line-height:1;margin:0;letter-spacing:-.005em}
.sec-head .more{font-size:14px;font-weight:600;white-space:nowrap;color:var(--accent)}
.sec-head .more:hover{color:var(--accent-dk)}

/* ===== cards ===== */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.grid.two{grid-template-columns:repeat(2,1fr)}
.grid.feat{grid-template-columns:1.7fr 1fr 1fr}

/* editorial home layout: uniform 3-column magazine grid (all cards equal) */
.ed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
@media(max-width:900px){.ed-grid{grid-template-columns:repeat(2,1fr);gap:22px}}
@media(max-width:600px){.ed-grid{grid-template-columns:1fr}}
/* wide lead story */
.leadstory{display:grid;grid-template-columns:1.15fr .85fr;gap:0;background:var(--surface);border:1px solid var(--line-soft);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm);margin-bottom:8px}
.leadstory .ls-ph{overflow:hidden;min-height:340px}
.leadstory .ls-ph img{width:100%;height:100%;object-fit:cover;transition:.6s}
.leadstory:hover .ls-ph img{transform:scale(1.04)}
.leadstory .ls-b{padding:36px 40px;display:flex;flex-direction:column;justify-content:center}
.leadstory h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.7rem,1.2rem+1.4vw,2.4rem);line-height:1.12;margin:12px 0 12px}
.leadstory h2 a{color:var(--ink)}.leadstory h2 a:hover{color:var(--accent)}
.leadstory p{color:var(--muted);font-size:16.5px;margin:0 0 18px}
@media(max-width:900px){.leadstory{grid-template-columns:1fr}.leadstory .ls-ph{min-height:220px;aspect-ratio:16/9}.leadstory .ls-b{padding:26px}}
.card{background:var(--surface);border:1px solid var(--line-soft);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:.24s ease;box-shadow:var(--shadow-sm)}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.card .ph{overflow:hidden;background:var(--line-soft);aspect-ratio:16/10}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:.55s ease}
.card:hover .ph img{transform:scale(1.05)}
.card .cb{padding:19px 21px 22px;display:flex;flex-direction:column;flex:1}
.clabel{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin-bottom:11px}
.card h3{font-family:var(--serif);font-weight:400;line-height:1.2;margin:0 0 10px;font-size:21px}
.card h3 a{color:var(--ink)}
.card h3 a:hover{color:var(--accent)}
.card p{color:var(--muted);font-size:15px;line-height:1.58;margin:0 0 16px}
.meta{margin-top:auto;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--soft)}
.meta .av{width:26px;height:26px;border-radius:50%;overflow:hidden;flex:0 0 26px}
.meta .dot{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.6}

/* ===== single article ===== */
.article{background:var(--surface);max-width:900px;margin:42px auto;border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.article .ah{padding:46px 58px 6px}
.crumb{font-size:13px;color:var(--soft);margin-bottom:18px}
.crumb a{color:var(--soft)}
.article h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.1rem,1.4rem+2.3vw,3.1rem);line-height:1.1;letter-spacing:-.01em;margin:.12em 0 .34em}
.amt{display:flex;align-items:center;gap:13px;color:var(--muted);font-size:14.5px;padding-bottom:22px;border-bottom:1px solid var(--line);}
.amt .av{width:38px;height:38px;border-radius:50%;overflow:hidden;flex:0 0 38px}
.amt b{color:var(--ink);font-weight:600}
.lead-img{aspect-ratio:16/8;overflow:hidden}
.lead-img img{width:100%;height:100%;object-fit:cover}
.prose{padding:28px 58px 50px;font-size:18.5px;line-height:1.8;color:#2a2822}
.prose p{margin:0 0 1.25em}
.prose h2{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.16;margin:1.55em 0 .45em}
.prose h3{font-family:var(--serif);font-weight:400;font-size:23px;margin:1.35em 0 .4em}
.prose figure{margin:1.9em 0}
.prose figure img{border-radius:12px;width:100%}
.prose figcaption{font-size:13.5px;color:var(--soft);text-align:center;margin-top:9px}
.prose a{border-bottom:1px solid rgba(30,111,91,.4)}
.prose blockquote{margin:1.6em 0;padding:4px 0 4px 24px;border-left:3px solid var(--gold);font-family:var(--serif);font-size:23px;line-height:1.4;color:var(--accent-dk)}

/* related (NOT headings) */
.related{max-width:1180px;margin:6px auto 64px;padding:0 26px}
.rel-label{font-family:var(--serif);font-size:24px;margin:0 0 22px;padding-bottom:12px;border-bottom:1px solid var(--line);position:relative}
.rel-label::after{content:"";position:absolute;left:0;bottom:-1px;width:56px;height:3px;background:var(--gold)}
.rel-title{font-family:var(--serif);font-size:20px;line-height:1.22;margin:0}
.rel-title a{color:var(--ink)}
.rel-title a:hover{color:var(--accent)}

/* ===== footer ===== */
.site-foot{background:var(--accent-dk);color:#dce9e2;margin-top:44px;padding:52px 0 28px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:start}
.foot-brand{display:flex;align-items:flex-start;gap:16px}
.foot-brand .mark{width:44px;height:44px;flex:0 0 44px}
.site-foot .fwm{font-family:var(--serif);font-size:26px;color:#fff;margin-bottom:6px;line-height:1}
.foot-brand p{color:#a9c4b8;font-size:15px;line-height:1.62;max-width:46ch;margin:0}
.site-foot .foot-h{font-size:12px;line-height:1.4;text-transform:uppercase;letter-spacing:.14em;color:#7fb3a0;max-width:none;margin:0 0 14px;font-weight:600}
.site-foot ul{list-style:none;margin:0;padding:0}
.site-foot li{margin:0 0 10px}
.site-foot a{color:#d7e7df;font-size:15px}
.site-foot a:hover{color:#fff}
.foot-bot{border-top:1px solid rgba(255,255,255,.13);margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:#8fb2a4;font-size:13.5px}

/* ===== responsive ===== */
html,body{overflow-x:hidden}
@media(max-width:900px){
  .hero{padding:52px 0 10px}
  .hero-stack{gap:32px}
  .hero-lede::before{margin-bottom:16px}
  .hero h1::after{margin:22px auto 20px}
  .hero .lead{font-size:18.5px}
  .grid,.grid.feat{grid-template-columns:repeat(2,1fr);gap:20px}
  .article .ah{padding:32px 26px 4px}
  .prose{padding:24px 26px 40px;font-size:17.5px}
  .foot-grid{grid-template-columns:1fr 1fr}
}
/* ===== mobile menu (checkbox-hack, no JS) ===== */
@media(max-width:780px){
  .head-in{position:relative;flex-wrap:wrap}
  .mnav-btn{display:inline-flex}
  .nav{display:none;order:3;flex-basis:100%;flex-direction:column;gap:2px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
  .mnav-cbx:checked ~ .nav{display:flex}
  .nav a{font-size:16px;padding:13px 14px;border-radius:10px;background:var(--surface);border:1px solid var(--line-soft)}
  .nav a:hover{background:var(--bg);color:var(--accent)}
  .hero-feat{aspect-ratio:16/10}
}
@media(max-width:600px){
  body{font-size:17px}
  .grid,.grid.feat{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .amt{flex-wrap:wrap;gap:9px}
  .hero{padding:40px 0 6px}
  .hero-lede::before{font-size:11.5px;letter-spacing:.2em;margin-bottom:14px}
  .hero h1{max-width:none}
  .hero h1::after{margin:20px auto 18px}
  .hero .lead{font-size:17.5px}
  .hero-feat{aspect-ratio:4/3}
  .hero-feat .cap .t{font-size:20px}
}

/* TZ partner block */
.foot-grid{display:flex !important;flex-wrap:wrap;gap:24px 40px;align-items:flex-start}
.foot-grid>*{flex:1 1 160px}
.foot-grid>*:first-child{flex:2 1 220px}
.tz-plogo{max-height:40px;width:auto;display:block;background:#fff;padding:4px 7px;border-radius:6px}
