/*
Theme Name: Лаборатория отношений
Theme URI: https://lab-otnosheniy.ru
Description: Тема для школы практической психологии «Лаборатория отношений» — лендинг, страница «Натальные карты», блог и контакты. Светлая палитра, шрифты Lora + Onest. Контент захардкожен в шаблонах, блог — на нативных постах WordPress.
Author: Cropas
Version: 1.1.3
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: lab-otnosheniy
*/

/* ============ TOKENS ============ */
:root{
  --bg:#fafaf8;            /* фон страницы */
  --warm:#f2f1ed;          /* тёплые секции */
  --card:#ffffff;          /* карточки/бейджи/форма */
  --green:#5f7560;         /* акцент / кнопки */
  --green-d:#516350;       /* акцент hover */
  --ink:#2c2b26;           /* заголовки */
  --text:#6a685e;          /* основной текст */
  --muted:#9a978b;         /* подписи */
  --card-text:#56544c;     /* текст на карточках */
  --border:#e8e2d6;        /* рамки */
  --border-warm:#e7dfd0;   /* рамки на тёплом */
  --footer:#23282c;        /* футер */
  --radius:14px;
}

/* ============ RESET ============ */
*{margin:0;box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{background:var(--bg);color:var(--ink);font-family:Onest,system-ui,sans-serif;line-height:1.5}
img{max-width:100%;height:auto}
::selection{background:rgba(95,117,96,.22);color:var(--ink)}
a{color:inherit;text-decoration:none}
a[href]{transition:color .15s,background .15s,border-color .15s}
:focus-visible{outline:2px solid var(--green);outline-offset:2px}
summary{list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
summary svg{transition:transform .25s ease}
details[open] summary svg.qplus{transform:rotate(45deg)}
input,textarea,button,select{font-family:inherit;color:inherit}
input::placeholder,textarea::placeholder{color:#aba89c}
textarea{resize:vertical}
input:focus,textarea:focus{border-color:var(--green) !important;box-shadow:0 0 0 3px rgba(95,117,96,.13)}

/* ============ HOVER / FOCUS STATES ============ */
.nav-a:hover{color:var(--green)}
.btn-acc:hover{background:var(--green-d)}
.btn-out:hover{background:#f6f2ea}
.foot-a:hover{color:#ece9e1}
.foot-menu ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.foot-menu a{font:400 15px Onest,sans-serif;color:#b3b4ae}
.foot-menu a:hover{color:#ece9e1}
.crumb:hover{color:var(--green)}
.pg:hover{background:#efe9df;border-color:#d8cfbd}
.tcard,.pcard,.icard,.ccard{transition:transform .2s,box-shadow .2s}
.tcard:hover,.pcard:hover,.icard:hover,.ccard:hover{transform:translateY(-3px);box-shadow:0 18px 38px -24px rgba(80,70,50,.32)}
.pcard:hover h3{color:var(--green)}

/* ============ HEADER + MOBILE BURGER ============ */
.site-header{position:sticky;top:0;z-index:50;background:rgba(250,250,248,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.hdr-inner{max-width:1240px;margin:0 auto;padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:14px 24px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:13px}
.hdr-nav{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:14px 26px}
.hdr-nav nav{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px}
.hdr-nav nav ul{list-style:none;display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px;margin:0;padding:0}
.hdr-nav nav a{font:500 15px Onest,sans-serif;color:#56544c}
.hdr-nav nav a:hover,.hdr-nav nav .current-menu-item>a,.hdr-nav nav .current_page_item>a{color:#5f7560}
.nav-toggle{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.burger{display:none}
@media (max-width:880px){
  .burger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:11px;border:1px solid #e2dccf;background:#fff;color:var(--ink);cursor:pointer;margin-left:auto}
  .hdr-nav{display:none;flex-basis:100%;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:14px;padding:6px 0 4px}
  .nav-toggle:checked ~ .hdr-nav{display:flex}
  .hdr-nav nav{flex-direction:column;align-items:flex-start;gap:4px;width:100%}
  .hdr-nav nav ul{flex-direction:column;align-items:flex-start;gap:4px;width:100%}
  .hdr-nav nav a{padding:8px 0;display:block}
  .nav-a{padding:8px 0}
}

/* ============ DROPDOWN SUBMENU ============ */
.hdr-nav nav li{position:relative}
.hdr-nav nav .menu-item-has-children>a{display:inline-flex;align-items:center;gap:6px}
.hdr-nav nav .menu-item-has-children>a::after{content:"";width:7px;height:7px;border-right:1.7px solid currentColor;border-bottom:1.7px solid currentColor;transform:rotate(45deg) translateY(-1px);opacity:.55;transition:transform .2s,opacity .2s}
.hdr-nav nav .menu-item-has-children:hover>a::after,
.hdr-nav nav .menu-item-has-children:focus-within>a::after{transform:rotate(-135deg) translateY(1px);opacity:.85}
.hdr-nav nav .sub-menu{position:absolute;top:100%;left:0;min-width:236px;margin:10px 0 0;padding:8px;list-style:none;display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 42px -22px rgba(80,70,50,.4);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease;z-index:60}
.hdr-nav nav .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px} /* мост, чтобы hover не прерывался в зазоре */
.hdr-nav nav li:hover>.sub-menu,
.hdr-nav nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.hdr-nav nav .sub-menu li{position:static}
.hdr-nav nav .sub-menu a{display:block;padding:9px 14px;border-radius:9px;font:500 14.5px Onest,sans-serif;color:#56544c;white-space:nowrap}
.hdr-nav nav .sub-menu a:hover,
.hdr-nav nav .sub-menu .current-menu-item>a{background:#f0f3ec;color:var(--green)}
@media (max-width:880px){
  /* в мобильном меню подпункты раскрыты под родителем (без наведения) */
  .hdr-nav nav .menu-item-has-children>a::after{display:none}
  .hdr-nav nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;min-width:0;margin:2px 0 4px;padding:0 0 0 14px;background:transparent;border:none;box-shadow:none;border-radius:0;border-left:2px solid var(--border)}
  .hdr-nav nav .sub-menu::before{display:none}
  .hdr-nav nav .sub-menu a{padding:7px 0}
}

/* ============ ARTICLE (single post) RHYTHM ============ */
.post p{font:400 18px/1.78 Onest,sans-serif;color:#48463f;margin:22px 0 0}
.post h2{font:600 27px/1.25 Lora,serif;color:var(--ink);letter-spacing:-.01em;margin:44px 0 0}
.post h3{font:600 22px/1.3 Lora,serif;color:var(--ink);margin:34px 0 0}
.post p:first-child{margin-top:0}
.post strong{font-weight:600;color:var(--ink)}
.post ul,.post ol{margin:18px 0 0;padding-left:24px;color:#48463f;font:400 18px/1.78 Onest,sans-serif}
.post li{margin:8px 0 0}
.post a{color:var(--green);text-decoration:underline}
.post img{border-radius:16px;margin:28px 0 0}
.post blockquote{margin:40px 0 0;padding:4px 0 4px 26px;border-left:3px solid #c2cdb4}
.post blockquote p{font:italic 500 23px/1.45 Lora,serif;color:#3c4a37;margin:0}

/* ============ FORM NOTICE ============ */
.form-notice{border-radius:14px;padding:14px 18px;font:500 15px/1.5 Onest,sans-serif;margin:0 0 18px}
.form-notice.ok{background:#eef3e7;border:1px solid #c2cdb4;color:#3c4a37}
.form-notice.err{background:#f7eee9;border:1px solid #e6c6b6;color:#8a4b32}

/* ============ WP CORE CLASSES ============ */
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.wp-pagination{display:flex;justify-content:center;align-items:center;gap:9px;margin:48px 0 0;flex-wrap:wrap}
.wp-pagination .page-numbers{display:flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 10px;border-radius:12px;background:#fff;border:1px solid #e2dccf;font:500 15px Onest,sans-serif;color:var(--card-text)}
.wp-pagination .page-numbers.current{background:var(--green);border-color:var(--green);color:#fff;font-weight:600}
.wp-pagination a.page-numbers:hover{background:#efe9df;border-color:#d8cfbd}

/* ============ PROSE (блочный SEO-текст на лендингах) ============ */
.prose p{font:400 17px/1.78 Onest,sans-serif;color:#56544c;margin:20px 0 0}
.prose p:first-child{margin-top:0}
.prose h3{font:600 25px/1.28 Lora,serif;color:var(--ink);letter-spacing:-.01em;margin:38px 0 0}
.prose h4{font:600 19px/1.35 Onest,sans-serif;color:var(--ink);margin:28px 0 0}
.prose strong{font-weight:600;color:var(--ink)}
.prose em{font-style:italic;color:var(--green)}
.prose ul,.prose ol{margin:16px 0 0;padding-left:24px;color:#56544c;font:400 17px/1.78 Onest,sans-serif}
.prose li{margin:9px 0 0}
.prose li::marker{color:var(--green)}
.prose a{color:var(--green);text-decoration:underline}

/* ============ ЗОНА ВИДЖЕТА (шорткод калькулятора) ============ */
.natal-widget{margin:36px 0 0}
.natal-widget > *:first-child{margin-top:0}
.natal-widget-hint{background:#f6f8f3;border:1px dashed #c2cdb4;border-radius:18px;padding:30px 28px;text-align:center}
.natal-widget-hint p{font:500 15px/1.6 Onest,sans-serif;color:#566b4a;margin:0}
.natal-widget-hint code{font:600 13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;background:#fff;border:1px solid #d6dec8;border-radius:7px;padding:2px 8px;color:#3c4a37}
