/*
Theme Name: TrueWoman Lite
Theme URI: https://true-woman.ru
Description: Лёгкая elegant-editorial тема для true-woman.ru. Mobile-first, один style.css, ноль JS-фреймворков, self-hosted Playfair Display.
Author: truewoman
Version: 1.0.0
Requires PHP: 7.4
*/

/* ---------- SELF-HOSTED FONTS (Playfair Display, variable 400–700) ---------- */
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400 700;font-display:swap;
  src:url(fonts/playfair-cyrillic.woff2) format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400 700;font-display:swap;
  src:url(fonts/playfair-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:400 700;font-display:swap;
  src:url(fonts/playfair-cyrillic-italic.woff2) format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:400 700;font-display:swap;
  src:url(fonts/playfair-latin-italic.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

:root{
  --paper:#FBF7F4;--ink:#1E1A18;--muted:#8A817C;--accent:#A8385A;--accent-deep:#8C2A48;
  --blush:#F4E9EC;--hair:#ECE2DE;
  --serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --maxw:1200px;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}

/* ---------- placeholder photos / real images (CLS=0) ---------- */
.ph{display:block;position:relative;width:100%;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,#EFE3DD 0%,#E7D5CE 55%,#DFC7BE 100%);}
.ph::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 78% 18%,rgba(255,255,255,.55),transparent 60%),radial-gradient(90% 70% at 18% 92%,rgba(168,56,90,.10),transparent 55%);}
.ph svg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:34px;height:34px;color:rgba(30,26,24,.22);z-index:1;}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 28%;border-radius:inherit;z-index:2;display:block;}
.ph.r32{aspect-ratio:3/2;}
.ph.r11{aspect-ratio:1/1;}
.ph.t-rose{background:linear-gradient(135deg,#F4E1E7 0%,#EAC9D4 60%,#DDB1BF 100%);}
.ph.t-sand{background:linear-gradient(135deg,#F1E8DD 0%,#E8D8C5 60%,#DDC8AE 100%);}
.ph.t-clay{background:linear-gradient(135deg,#EEDFD8 0%,#E2C8BC 60%,#D2AE9E 100%);}
.ph.t-mauve{background:linear-gradient(135deg,#ECE3E6 0%,#D9C6CE 60%,#C6AAB6 100%);}
.ph.t-stone{background:linear-gradient(135deg,#EFEAE5 0%,#E0D6CC 60%,#CFC2B5 100%);}

.kicker{font-family:var(--sans);font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);}
.kicker.muted{color:var(--muted);}

/* ---------- header ---------- */
.site-head{position:sticky;top:0;z-index:60;background:rgba(251,247,244,.92);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--hair);}
.head-inner{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding:10px 12px;gap:8px;}
.icon-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--ink);cursor:pointer;border-radius:50%;-webkit-tap-highlight-color:transparent;}
.icon-btn:hover{background:var(--blush);color:var(--accent);}
.icon-btn svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.brand{text-align:center;line-height:1;}
.brand .logo{font-family:var(--serif);font-weight:600;font-size:27px;letter-spacing:.01em;color:var(--ink);display:inline-block;}
.brand .logo b{font-weight:700;}
.brand .tag{display:block;font-family:var(--serif);font-style:italic;font-weight:400;font-size:12.5px;color:var(--accent);margin-top:3px;letter-spacing:.02em;}
.desk-nav{display:none;}
.desk-search{display:none;}

#navtoggle,#searchtoggle{position:absolute;opacity:0;pointer-events:none;}
.scrim{position:fixed;inset:0;background:rgba(30,26,24,.42);z-index:70;opacity:0;visibility:hidden;transition:opacity .28s ease;}
.drawer{position:fixed;top:0;left:0;bottom:0;width:80%;max-width:320px;z-index:80;background:var(--paper);transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:2px 0 40px rgba(30,26,24,.14);}
#navtoggle:checked ~ .scrim{opacity:1;visibility:visible;}
#navtoggle:checked ~ .drawer{transform:translateX(0);}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 16px;border-bottom:1px solid var(--hair);}
.drawer-head .logo{font-family:var(--serif);font-weight:600;font-size:22px;}
.drawer-nav{list-style:none;margin:0;padding:8px 0;flex:1;overflow-y:auto;}
.drawer-nav li{border-bottom:1px solid var(--hair);}
.drawer-nav a{display:flex;align-items:center;justify-content:space-between;font-family:var(--serif);font-size:20px;font-weight:500;padding:15px 20px;min-height:44px;}
.drawer-nav a:hover{color:var(--accent);background:var(--blush);}
.drawer-foot{padding:18px 20px;border-top:1px solid var(--hair);color:var(--muted);font-size:13px;}
.close-x{cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;}
.close-x:hover{background:var(--blush);color:var(--accent);}
.close-x svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;}

.search-panel{position:fixed;top:0;left:0;right:0;z-index:90;background:var(--paper);border-bottom:1px solid var(--hair);transform:translateY(-100%);transition:transform .28s ease;box-shadow:0 12px 40px rgba(30,26,24,.10);}
#searchtoggle:checked ~ .search-panel{transform:translateY(0);}
#searchtoggle:checked ~ .scrim.s-scrim{opacity:1;visibility:visible;}
.search-inner{max-width:760px;margin:0 auto;padding:18px 16px;display:flex;align-items:center;gap:12px;}
.search-inner svg{width:22px;height:22px;stroke:var(--muted);stroke-width:1.5;fill:none;flex-shrink:0;}
.search-inner input{flex:1;border:none;background:transparent;font-family:var(--serif);font-size:22px;color:var(--ink);outline:none;padding:6px 0;}
.search-inner input::placeholder{color:var(--muted);}
.search-inner label{cursor:pointer;color:var(--muted);font-size:13px;white-space:nowrap;}
.search-inner label:hover{color:var(--accent);}

/* ---------- ads ---------- */
.ad{display:flex;align-items:center;justify-content:center;flex-direction:column;background:none;border:none;color:var(--muted);font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;gap:3px;}
.ad-leader{width:100%;min-height:100px;}
.ad-rect{width:300px;min-height:250px;max-width:100%;margin:0 auto;}
.ad-wrap{max-width:var(--maxw);margin:0 auto;padding:14px 16px;}
.ad-inline{padding:22px 16px;display:flex;justify-content:center;}

/* ---------- layout ---------- */
.shell{max-width:var(--maxw);margin:0 auto;padding:0 16px;}
.cols{display:block;}
.main-col{min-width:0;}

/* ---------- hero ---------- */
.hero{padding:8px 0 4px;}
.hero .ph{margin-bottom:14px;box-shadow:0 8px 26px rgba(30,26,24,.07);}
.hero h1{font-family:var(--serif);font-weight:700;font-size:30px;line-height:1.12;margin:9px 0 8px;letter-spacing:-.01em;text-wrap:balance;}
.hero .meta{font-size:13px;color:var(--muted);margin:0 0 10px;}
.hero .meta b{color:var(--ink);font-weight:600;}
.hero .lead{font-size:17px;color:#3a342f;margin:0;line-height:1.62;}

/* ---------- feed ---------- */
.feed{margin-top:22px;}
.card{padding:22px 0;border-top:1px solid var(--hair);}
.card .ph{margin-bottom:12px;}
.card h3{font-family:var(--serif);font-weight:600;font-size:20px;line-height:1.2;margin:8px 0 7px;letter-spacing:-.005em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.card .meta{font-size:12.5px;color:var(--muted);margin:0;}
.card .meta .dot{margin:0 6px;opacity:.6;}
.card:hover h3{color:var(--accent);}
.card .ph,.card h3{transition:transform .25s ease,color .2s ease;}
.card:hover .ph{transform:translateY(-2px);box-shadow:0 10px 24px rgba(30,26,24,.09);}
.card.feature h3{font-size:25px;}
.card .excerpt{display:none;font-size:15px;color:#534b45;margin:8px 0 0;}
.card.feature .excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

.sec-head{display:flex;align-items:center;gap:14px;margin:40px 0 4px;}
.sec-head h2{font-family:var(--serif);font-weight:600;font-size:22px;margin:0;white-space:nowrap;}
.sec-head .rule{flex:1;height:1px;background:var(--hair);}

/* ---------- pagination ---------- */
.pager{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;padding:30px 0 10px;border-top:1px solid var(--hair);margin-top:8px;}
.pager a,.pager span{min-width:44px;height:44px;padding:0 12px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:15px;font-weight:600;color:var(--ink);}
.pager a.prev,.pager a.next{color:var(--muted);font-weight:500;}
.pager a:hover{background:var(--blush);color:var(--accent);}
.pager .current{background:var(--accent);color:#fff;}
.pager .dots{min-width:auto;padding:0 6px;color:var(--muted);}

/* ---------- popular widget ---------- */
.widget{margin:36px 0 14px;}
.widget-head{font-family:var(--serif);font-weight:600;font-size:21px;margin:0;padding-bottom:12px;border-bottom:2px solid var(--accent);display:inline-block;}
.pop-list{list-style:none;margin:14px 0 0;padding:0;}
.pop-item{display:flex;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--hair);}
.pop-num{font-family:var(--serif);font-weight:700;font-size:30px;color:var(--accent);line-height:1;width:30px;flex-shrink:0;text-align:center;}
.pop-thumb{width:62px;height:62px;flex-shrink:0;border-radius:10px;}
.pop-body{min-width:0;}
.pop-body h4{font-family:var(--serif);font-weight:500;font-size:16px;line-height:1.22;margin:0 0 4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pop-item:hover h4{color:var(--accent);}
.pop-views{font-size:12px;color:var(--muted);}

/* ---------- article ---------- */
.crumbs{font-size:12.5px;color:var(--muted);padding:14px 0 2px;}
.crumbs a:hover{color:var(--accent);}
.crumbs .sep{margin:0 7px;opacity:.5;}
.art-head{padding:6px 0 4px;}
.art-head h1{font-family:var(--serif);font-weight:700;font-size:31px;line-height:1.12;margin:10px 0 12px;letter-spacing:-.01em;text-wrap:balance;}
.byline{display:flex;align-items:center;gap:12px;font-size:13.5px;color:var(--muted);padding:6px 0 4px;flex-wrap:wrap;}
.byline .av{width:42px;height:42px;border-radius:50%;flex-shrink:0;}
.byline b{color:var(--ink);font-weight:600;display:block;font-size:14.5px;}
.byline .bx{line-height:1.35;}
.byline .read{margin-left:auto;font-size:12.5px;}
.lead-fig{margin:18px 0 8px;}
.lead-fig .ph{box-shadow:0 8px 26px rgba(30,26,24,.07);}
figcaption{font-family:var(--serif);font-style:italic;font-size:13.5px;color:var(--muted);margin-top:9px;line-height:1.5;}
.body p{margin:0 0 20px;line-height:1.7;}
.body > p:first-of-type::first-letter{font-family:var(--serif);font-weight:700;font-size:62px;line-height:.78;float:left;padding:6px 12px 0 0;color:var(--accent);}
.body h2{font-family:var(--serif);font-weight:600;font-size:26px;line-height:1.2;margin:38px 0 14px;letter-spacing:-.005em;}
.body h3{font-family:var(--serif);font-weight:600;font-size:20px;margin:30px 0 10px;}
.body a{color:var(--accent);border-bottom:1px solid rgba(168,56,90,.35);}
.body a:hover{border-bottom-color:var(--accent);}
.body ul{list-style:none;margin:0 0 22px;padding:0;}
.body ul li{position:relative;padding-left:26px;margin-bottom:11px;line-height:1.6;}
.body ul li::before{content:"";position:absolute;left:4px;top:11px;width:7px;height:7px;border-radius:50%;background:var(--accent);}
.body ol{margin:0 0 22px;padding-left:24px;}
.body ol li{margin-bottom:11px;line-height:1.6;padding-left:6px;}
.body ol li::marker{font-family:var(--serif);font-weight:700;color:var(--accent);}
.body img{width:100%;height:auto;border-radius:10px;margin:18px 0;}
.body blockquote{margin:32px 0;padding:6px 0 6px 26px;border-left:3px solid var(--accent);font-family:var(--serif);font-style:italic;font-weight:500;font-size:24px;line-height:1.35;color:#2a2420;}
.body blockquote cite{display:block;font-family:var(--sans);font-style:normal;font-weight:600;font-size:13px;color:var(--muted);margin-top:14px;letter-spacing:.02em;}
.art-ad{margin:34px 0;display:flex;justify-content:center;}
.art-tags{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0;}
.art-tags a{font-size:13px;color:#4a423d;border:1px solid var(--hair);border-radius:20px;padding:7px 15px;}
.art-tags a:hover{border-color:var(--accent);color:var(--accent);background:var(--blush);}
.also{display:grid;grid-template-columns:1fr;gap:0;}
.also .card{padding:20px 0;border-top:1px solid var(--hair);}
.also .card .ph{margin-bottom:11px;}
.also .card h3{font-size:19px;}

/* ---------- footer ---------- */
.site-foot{background:#F3EBE5;border-top:1px solid var(--hair);margin-top:40px;padding:34px 0 26px;}
.foot-inner{max-width:var(--maxw);margin:0 auto;padding:0 16px;}
.foot-brand{text-align:center;margin-bottom:8px;}
.foot-brand .logo{font-family:var(--serif);font-weight:600;font-size:26px;}
.foot-brand .tag{display:block;font-family:var(--serif);font-style:italic;font-size:13px;color:var(--accent);margin-top:2px;}
.foot-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 0;list-style:none;padding:18px 0;margin:18px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);}
.foot-nav li{padding:0 14px;border-right:1px solid var(--hair);}
.foot-nav li:last-child{border-right:none;}
.foot-nav a{font-size:14px;color:#4a423d;}
.foot-nav a:hover{color:var(--accent);}
.foot-ad{margin:22px 0;display:flex;justify-content:center;}
.copy{text-align:center;font-size:12.5px;color:var(--muted);line-height:1.7;}

/* ============ DESKTOP REFLOW ============ */
@media(min-width:1000px){
  body{font-size:18px;}
  .icon-btn.burger,.icon-btn.searchm{display:none;}
  .head-inner{grid-template-columns:1fr auto 1fr;padding:16px 24px;}
  .brand{grid-column:2;}
  .brand .logo{font-size:30px;}
  .desk-nav{display:flex;grid-column:1/2;grid-row:1;justify-self:start;}
  .desk-search{grid-column:3;justify-self:end;display:flex;}
  .desk-nav ul{display:flex;gap:20px;list-style:none;margin:0;padding:0;}
  .desk-nav a{font-size:13px;font-weight:600;letter-spacing:.04em;color:#4a423d;padding:6px 0;position:relative;}
  .desk-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:var(--accent);transition:right .25s ease;}
  .desk-nav a:hover{color:var(--accent);}
  .desk-nav a:hover::after{right:0;}

  .shell{padding:0 24px;}
  .cols{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:start;}
  .aside-col{position:sticky;top:96px;}

  .hero{padding:20px 0 6px;}
  .hero h1{font-size:44px;margin-top:18px;}
  .hero .lead{font-size:19px;}

  .feed{display:grid;grid-template-columns:1fr 1fr;gap:0 36px;margin-top:30px;grid-auto-flow:row dense;}
  .card{border-top:none;padding:26px 0;position:relative;}
  .card::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--hair);}
  .card.feature{grid-column:1/-1;display:grid;grid-template-columns:1.15fr 1fr;gap:32px;align-items:center;}
  .card.feature .ph{margin-bottom:0;}
  .card.feature .ctxt{align-self:center;}
  .card h3{font-size:21px;}
  .card.feature h3{font-size:30px;}
  .card .excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
  .pager{grid-column:1/-1;justify-content:center;}

  .ad-inline.mob-only{display:none;}
  .widget{margin-top:0;}

  .art-col{max-width:760px;justify-self:center;width:100%;}
  .art-head h1{font-size:46px;margin-top:14px;}
  .body{font-size:19px;}
  .body p{margin-bottom:22px;}
  .body blockquote{font-size:28px;margin:38px 0;}
  .also{grid-template-columns:1fr 1fr 1fr;gap:28px;}
  .also .card{border-top:none;}
  .also .card::before{content:"";display:block;height:1px;background:var(--hair);margin-bottom:16px;}
  .art-ad.mob-only{display:none;}
  .ad-leader{min-height:120px;}
}
